cursedbelt 5.3.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -377,6 +377,15 @@ export interface FileTreeProps {
377
377
  */
378
378
  onDraftCommit?: (name: string, wrap?: readonly string[]) => void;
379
379
  onDraftCancel?: () => void;
380
+ /**
381
+ * Hint text in the {@link draft} row's empty field. Omit for none.
382
+ *
383
+ * For a consumer whose draft is not a folder: `apps/desk`'s makes a FILE whose kind is
384
+ * decided by the extension typed (*"the new file can be named with the extension that
385
+ * shows what type it is"*), and `name.md` in the field is how a person learns that without
386
+ * being told.
387
+ */
388
+ draftPlaceholder?: string;
380
389
  /**
381
390
  * **⌃⌘N** on a focused row — *make a folder around this*. Wiring it is what puts the chord
382
391
  * on the keyboard at all, and a consumer that does not is byte-for-byte unchanged.
@@ -451,6 +460,18 @@ export interface FileTreeProps {
451
460
  * An app whose privacy model has its own name passes its own words.
452
461
  */
453
462
  accessCopy?: AccessMarkCopy;
463
+ /**
464
+ * Whether a row's NAME carries a hover tooltip with its full text. Default `true`.
465
+ *
466
+ * 🔴 `false` is `apps/desk`'s, on its owner's ruling (2026-09-07): *"in the sidebar let's
467
+ * remove the tooltip for hovering over items because they block other directories and
468
+ * files."* A bubble anchored to a row in a list of rows covers the rows either side of it,
469
+ * so the hint on the row being pointed at hides the rows being pointed PAST. A consumer
470
+ * that turns it off still gets the ellipsis, and the full name is one click away in
471
+ * whatever the row opens. {@link unavailableReason}'s tooltip is unaffected: a control
472
+ * that cannot work says why, whatever the density.
473
+ */
474
+ nameTooltips?: boolean;
454
475
  /** Narrow the tree to matching rows, keeping the folders on the way to each. */
455
476
  filter?: string;
456
477
  /** What to show when there are no rows — differs between "nothing here" and "no match". */
@@ -458,5 +479,5 @@ export interface FileTreeProps {
458
479
  ariaLabel?: string;
459
480
  className?: string;
460
481
  }
461
- export declare function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelectionChange, onOpen, collapsed: collapsedProp, onCollapsedChange, expandOnReveal, onRevealExpand, pinnedIds, onPinnedChange, pinnedLabel, onMove, onMoveMany, allowReorder, lockedReason, canDrop, unavailableReason, renamingId, onRenameStart, onRename, onRenameCancel, onDelete, onDeleteMany, onCopy, canCopy, draft, onDraftCommit, onDraftCancel, onWrapStart, canWrap, onRowMenu, renderTools, renderIcon, renderAccessory, onDropExternal, acceptsExternalDrag, accessCopy, filter, empty, ariaLabel, className, }: FileTreeProps): JSX.Element;
482
+ export declare function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelectionChange, onOpen, collapsed: collapsedProp, onCollapsedChange, expandOnReveal, onRevealExpand, pinnedIds, onPinnedChange, pinnedLabel, onMove, onMoveMany, allowReorder, lockedReason, canDrop, unavailableReason, renamingId, onRenameStart, onRename, onRenameCancel, onDelete, onDeleteMany, onCopy, canCopy, draft, onDraftCommit, onDraftCancel, draftPlaceholder, onWrapStart, canWrap, onRowMenu, renderTools, renderIcon, renderAccessory, onDropExternal, acceptsExternalDrag, accessCopy, nameTooltips, filter, empty, ariaLabel, className, }: FileTreeProps): JSX.Element;
462
483
  //# sourceMappingURL=FileTree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileTree.d.ts","sourceRoot":"","sources":["../../../src/react/file-tree/FileTree.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileTree.d.ts","sourceRoot":"","sources":["../../../src/react/file-tree/FileTree.tsx"],"names":[],"mappings":"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"}
@@ -86,7 +86,7 @@ function RowGlyph({ node, open, renderIcon, }) {
86
86
  return icon;
87
87
  return (_jsx("img", { ref: ref, className: 'cbft-thumb', src: seen || inView ? src : undefined, alt: '', "aria-hidden": 'true', loading: 'lazy', decoding: 'async', draggable: false, onError: () => setFailed(src) }, src));
88
88
  }
89
- export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelectionChange, onOpen, collapsed: collapsedProp, onCollapsedChange, expandOnReveal = false, onRevealExpand, pinnedIds, onPinnedChange, pinnedLabel = 'Pinned', onMove, onMoveMany, allowReorder = false, lockedReason, canDrop, unavailableReason, renamingId, onRenameStart, onRename, onRenameCancel, onDelete, onDeleteMany, onCopy, canCopy, draft, onDraftCommit, onDraftCancel, onWrapStart, canWrap, onRowMenu, renderTools, renderIcon, renderAccessory, onDropExternal, acceptsExternalDrag, accessCopy, filter, empty = 'Nothing here yet.', ariaLabel = 'Files', className, }) {
89
+ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelectionChange, onOpen, collapsed: collapsedProp, onCollapsedChange, expandOnReveal = false, onRevealExpand, pinnedIds, onPinnedChange, pinnedLabel = 'Pinned', onMove, onMoveMany, allowReorder = false, lockedReason, canDrop, unavailableReason, renamingId, onRenameStart, onRename, onRenameCancel, onDelete, onDeleteMany, onCopy, canCopy, draft, onDraftCommit, onDraftCancel, draftPlaceholder, onWrapStart, canWrap, onRowMenu, renderTools, renderIcon, renderAccessory, onDropExternal, acceptsExternalDrag, accessCopy, nameTooltips = true, filter, empty = 'Nothing here yet.', ariaLabel = 'Files', className, }) {
90
90
  const scrollRef = useRef(null);
91
91
  const rowRefs = useRef(new Map());
92
92
  /**
@@ -1310,14 +1310,14 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
1310
1310
  const draftRow = (depth) => (_jsxs("div", { className: 'cbft-row cbft-row-draft', style: { '--cbft-depth': depth }, children: [_jsx("span", { className: 'cbft-slot', "aria-hidden": 'true', children: renderIcon ? (renderIcon({ id: '', name: '', kind: 'folder' })) : (_jsx(DefaultIcon, { node: { id: '', name: '', kind: 'folder' }, open: false })) }), nameField(wrapping?.name ?? '', (value) => commitDraft(value), () => onDraftCancel?.(),
1311
1311
  // A suggested name that comes back unchanged is the person AGREEING with it. Cancelling
1312
1312
  // there would make Enter mean "no" on the one field where it obviously means "yes".
1313
- wrapping ? 'commit' : 'cancel')] }));
1313
+ wrapping ? 'commit' : 'cancel', wrapping ? undefined : draftPlaceholder)] }));
1314
1314
  const nameField = (initial, commit, cancel,
1315
1315
  /**
1316
1316
  * What a name that came back UNCHANGED means. A rename to the name a row already has is a
1317
1317
  * no-op, so it cancels and nothing is written; a pre-filled draft is the opposite — see
1318
1318
  * just above. An EMPTY field always cancels, whichever this is.
1319
1319
  */
1320
- unchanged = 'cancel') => {
1320
+ unchanged = 'cancel', placeholder) => {
1321
1321
  const done = (value) => {
1322
1322
  const name = value.trim();
1323
1323
  if (!name || (name === initial && unchanged === 'cancel'))
@@ -1325,7 +1325,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
1325
1325
  else
1326
1326
  commit(name);
1327
1327
  };
1328
- return (_jsx(Input, { className: 'cbft-name-input', defaultValue: initial, autoFocus: true, "aria-label": 'Name', onFocus: (event) => event.currentTarget.select(), onClick: (event) => event.stopPropagation(), onPointerDown: (event) => event.stopPropagation(), onBlur: (event) => done(event.currentTarget.value), onKeyDown: (event) => {
1328
+ return (_jsx(Input, { className: 'cbft-name-input', defaultValue: initial, autoFocus: true, "aria-label": 'Name', ...(placeholder ? { placeholder } : {}), onFocus: (event) => event.currentTarget.select(), onClick: (event) => event.stopPropagation(), onPointerDown: (event) => event.stopPropagation(), onBlur: (event) => done(event.currentTarget.value), onKeyDown: (event) => {
1329
1329
  event.stopPropagation();
1330
1330
  if (event.key === 'Escape') {
1331
1331
  event.preventDefault();
@@ -1393,7 +1393,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
1393
1393
  refs.current.set(node.id, el);
1394
1394
  else
1395
1395
  refs.current.delete(node.id);
1396
- }, key: node.id, className: 'cbft-row', "data-selected": isSelected || undefined, "data-cut": cut?.has(node.id) || undefined, "data-dragged": isDragged || undefined, "data-into": isDropTarget || undefined, "data-marker": marker ?? undefined, "data-pinned": isPinned || undefined, "data-pinned-copy": pinnedCopy || undefined, "data-ancestor": openPath.path.has(node.id) || undefined, "data-holds-open": (row.expandable && !row.expanded && openPath.holder === node.id) || undefined, "data-access": node.access && node.access !== 'normal' ? node.access : undefined, style: { '--cbft-depth': row.depth }, onPointerDown: (event) => {
1396
+ }, key: node.id, className: 'cbft-row', "data-selected": isSelected || undefined, "data-cut": cut?.has(node.id) || undefined, "data-dragged": isDragged || undefined, "data-into": isDropTarget || undefined, "data-marker": marker ?? undefined, "data-pinned": isPinned || undefined, "data-pinned-copy": pinnedCopy || undefined, "data-ancestor": openPath.path.has(node.id) || undefined, "data-holds-open": (row.expandable && !row.expanded && openPath.holder === node.id) || undefined, "data-access": node.access && node.access !== 'normal' ? node.access : undefined, "data-matched": node.matched || undefined, style: { '--cbft-depth': row.depth }, onPointerDown: (event) => {
1397
1397
  if (inTools(event.target))
1398
1398
  return;
1399
1399
  beginDrag(event, node);
@@ -1417,7 +1417,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
1417
1417
  event.stopPropagation();
1418
1418
  toggle(node.id);
1419
1419
  }, children: _jsx("svg", { viewBox: '0 0 24 24', width: '12', height: '12', fill: 'none', stroke: 'currentColor', strokeWidth: '2.2', strokeLinecap: 'round', strokeLinejoin: 'round', focusable: 'false', "aria-hidden": 'true', children: _jsx("path", { d: 'm9 6 6 6-6 6' }) }) })) : (_jsx("span", { className: 'cbft-slot', "aria-hidden": 'true', children: _jsx(RowGlyph, { node: node, open: row.expanded, ...(renderIcon ? { renderIcon } : {}) }) })),
1420
- isRenaming && onRename ? (nameField(node.name, (value) => onRename(node, value), () => onRenameCancel?.())) : (_jsx(Tooltip, { content: node.name, children: _jsx("span", { className: 'cbft-name', children: node.name }) })),
1420
+ isRenaming && onRename ? (nameField(node.name, (value) => onRename(node, value), () => onRenameCancel?.())) : (_jsx(Tooltip, { content: nameTooltips ? node.name : undefined, children: _jsx("span", { className: 'cbft-name', children: node.name }) })),
1421
1421
  node.access === 'private' || node.access === 'locked' ? (_jsx(Tooltip, { content: accessMarkCopy(node.access, accessCopy), children: _jsx("span", { className: 'cbft-access', role: 'img', "aria-label": 'Private', children: "\uD83D\uDD12" }) })) : null,
1422
1422
  renderAccessory ? renderAccessory(node) : null,
1423
1423
  node.count !== undefined ? _jsx("span", { className: 'cbft-count', children: node.count }) : null,
@@ -1 +1 @@
1
- {"version":3,"file":"FileTree.js","sourceRoot":"","sources":["../../../src/react/file-tree/FileTree.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileTree.js","sourceRoot":"","sources":["../../../src/react/file-tree/FileTree.tsx"],"names":[],"mappings":"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"}
@@ -89,9 +89,12 @@
89
89
  *
90
90
  * `:where()` keeps this at zero specificity so an app can still say something different
91
91
  * without an `!important` war. `.dark` is the class the theme switches on (never
92
- * `prefers-color-scheme` — see `theme.css`'s header for why).
92
+ * `prefers-color-scheme` — see `theme.css`'s header for why). `[data-theme='dark']` is the
93
+ * other spelling a consumer's root may carry — `apps/desk` switches themes on
94
+ * `.cs-root[data-theme="dark"]` and has no `.dark` class to set — and it costs this rule
95
+ * nothing, since `:where()` still adds no specificity.
93
96
  */
94
- :where(.dark) .cbft {
97
+ :where(.dark, [data-theme='dark']) .cbft {
95
98
  --cbft-fg: color-mix(in srgb, var(--foreground) 78%, var(--background));
96
99
  /*
97
100
  * The other half of "thinner". On a dark ground macOS's default stem-darkening renders
@@ -595,6 +598,11 @@
595
598
  white-space: nowrap;
596
599
  }
597
600
 
601
+ /* A row whose own name hit the consumer's search — see `FileTreeNode.matched`. */
602
+ .cbft-row[data-matched] .cbft-name {
603
+ font-weight: 700;
604
+ }
605
+
598
606
  .cbft-name-input {
599
607
  flex: 1 1 auto;
600
608
  min-inline-size: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cursedbelt",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "description": "The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.",
@@ -433,6 +433,7 @@
433
433
  "./styles-areas/emoji.css": "./src/styles-areas/emoji.css",
434
434
  "./styles-areas/fields.css": "./src/styles-areas/fields.css",
435
435
  "./styles-areas/file-tree.css": "./src/styles-areas/file-tree.css",
436
+ "./react/file-tree/geometry.json": "./src/react/file-tree/fileTreeGeometry.fixture.json",
436
437
  "./styles-areas/filter-rail.css": "./src/styles-areas/filter-rail.css",
437
438
  "./styles-areas/folder-tree.css": "./src/styles-areas/folder-tree.css",
438
439
  "./styles-areas/keep-awake.css": "./src/styles-areas/keep-awake.css",
@@ -742,7 +743,7 @@
742
743
  "class-variance-authority": "^0.7.1",
743
744
  "clsx": "^2.1.1",
744
745
  "cmdk": "^1.1.1",
745
- "cursedbelt-core": "^2.1.1",
746
+ "cursedbelt-core": "^2.4.0",
746
747
  "cwip": "^4.6.0",
747
748
  "lucide-react": "^1.21.0",
748
749
  "react-hook-form": "^7.80.0",
@@ -1,7 +1,7 @@
1
1
  import { describe, expect, test } from 'bun:test';
2
2
  import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
3
3
  import { tmpdir } from 'node:os';
4
- import { join } from 'node:path';
4
+ import { dirname, join } from 'node:path';
5
5
  import {
6
6
  cascadeFaults,
7
7
  checkAreaStyles,
@@ -12,6 +12,7 @@ import {
12
12
  onlyInMergeTables,
13
13
  readBeltSheets,
14
14
  readThemeVariables,
15
+ scanLeaks,
15
16
  themeVariablesIn,
16
17
  tokensInJs,
17
18
  undefinedThemeVariables,
@@ -19,6 +20,12 @@ import {
19
20
  } from './checkAreaStyles';
20
21
  import { compileStylesheet } from './generateUtilityStyles';
21
22
 
23
+ /**
24
+ * The CLI also runs the scan-leak check over its cwd. These fixtures live in a temp dir — which this
25
+ * repo's test preload puts under `.agent.noindex/` — so tell git the temp dir is in NO work tree.
26
+ */
27
+ const noRepoEnv = (dir: string) => ({ ...process.env, GIT_CEILING_DIRECTORIES: dirname(dir) });
28
+
22
29
  const BELT = {
23
30
  union: `@layer utilities { .flex { display: flex } .rounded-full { border-radius: 9999px } .hover\\:bg-muted { &:hover { @media (hover: hover) { background: var(--muted) } } } .recharts-tip { opacity: .5; } }`,
24
31
  areas: {
@@ -86,7 +93,7 @@ describe('checkAreaStyles', () => {
86
93
  const dir = mkdtempSync(join(tmpdir(), 'belt-area-check-'));
87
94
  try {
88
95
  const run = () =>
89
- Bun.spawnSync(['bun', join(import.meta.dir, 'checkAreaStyles.ts'), dir], { stdout: 'pipe', stderr: 'pipe' });
96
+ Bun.spawnSync(['bun', join(import.meta.dir, 'checkAreaStyles.ts'), dir], { cwd: dir, env: noRepoEnv(dir), stdout: 'pipe', stderr: 'pipe' });
90
97
  expect(run().exitCode).toBe(2);
91
98
  const { union } = readBeltSheets();
92
99
  // `truncate` is a core utility in every build of the union.
@@ -222,7 +229,7 @@ describe('🔴 the ORDER check — a base utility after a variant that sets the
222
229
  mkdirSync(join(dir, 'assets'));
223
230
  writeFileSync(join(dir, 'assets', 'index.js'), 'const c="truncate";');
224
231
  writeFileSync(join(dir, 'assets', 'index.css'), '@layer utilities{@media(min-width:40rem){.sm\\:flex{display:flex}}.truncate{overflow:hidden}.hidden{display:none}}');
225
- const r = Bun.spawnSync(['bun', join(import.meta.dir, 'checkAreaStyles.ts'), dir], { stdout: 'pipe', stderr: 'pipe' });
232
+ const r = Bun.spawnSync(['bun', join(import.meta.dir, 'checkAreaStyles.ts'), dir], { cwd: dir, env: noRepoEnv(dir), stdout: 'pipe', stderr: 'pipe' });
226
233
  expect(r.exitCode).toBe(1);
227
234
  expect(r.stderr.toString()).toContain('.hidden (later) overrides .sm:flex');
228
235
  } finally {
@@ -284,7 +291,7 @@ describe('🔴 the THEME VARIABLE check — a `var()` of a theme variable no bui
284
291
  mkdirSync(join(dir, 'assets'));
285
292
  writeFileSync(join(dir, 'assets', 'index.js'), `const c="truncate";${STATION_JS}`);
286
293
  writeFileSync(join(dir, 'assets', 'index.css'), '@layer theme{:root{--color-muted:var(--muted);--color-accent:var(--accent)}}@layer utilities{.truncate{overflow:hidden}}');
287
- const r = Bun.spawnSync(['bun', join(import.meta.dir, 'checkAreaStyles.ts'), dir], { stdout: 'pipe', stderr: 'pipe' });
294
+ const r = Bun.spawnSync(['bun', join(import.meta.dir, 'checkAreaStyles.ts'), dir], { cwd: dir, env: noRepoEnv(dir), stdout: 'pipe', stderr: 'pipe' });
288
295
  expect(r.exitCode).toBe(1);
289
296
  expect(r.stderr.toString()).toContain('--color-card');
290
297
  expect(r.stderr.toString()).not.toContain('--color-muted');
@@ -293,3 +300,116 @@ describe('🔴 the THEME VARIABLE check — a `var()` of a theme variable no bui
293
300
  }
294
301
  });
295
302
  });
303
+
304
+ describe('🔴 the SCAN-LEAK check — a scanned file ignored only by the global gitignore (5.3.1, family 0a298a5)', () => {
305
+ /** A git repo whose "machine-global" excludes file is a temp file — the real ~/.gitignore_global is never read. */
306
+ function fixture() {
307
+ const base = mkdtempSync(join(tmpdir(), 'belt-scan-leak-'));
308
+ const repo = join(base, 'app');
309
+ mkdirSync(repo);
310
+ const globalIgnore = join(base, 'gitignore_global');
311
+ writeFileSync(globalIgnore, '.DS_Store\n.agent.noindex/\n*.agent.*\nnode_modules\n');
312
+ const gitconfig = join(base, 'gitconfig');
313
+ writeFileSync(gitconfig, `[core]\n\texcludesFile = ${globalIgnore}\n`);
314
+ const env = { ...process.env, GIT_CONFIG_GLOBAL: gitconfig, GIT_CONFIG_NOSYSTEM: '1' };
315
+ expect(Bun.spawnSync(['git', 'init', '-q', repo], { env }).exitCode).toBe(0);
316
+ writeFileSync(join(repo, '.gitignore'), 'dist/\n');
317
+ mkdirSync(join(repo, 'src'));
318
+ writeFileSync(join(repo, 'src', 'App.tsx'), 'export const A = () => <div className="flex" />;');
319
+ // The scratch that made family's "core only" build look complete.
320
+ mkdirSync(join(repo, '.agent.noindex'));
321
+ writeFileSync(join(repo, '.agent.noindex', 'compare-styles.agent.ts'), 'const c = "truncate rounded-full grid-cols-3";');
322
+ writeFileSync(join(repo, 'src', 'probe.agent.tsx'), '<p className="sr-only" />');
323
+ // Globally ignored but nothing an extractor reads: binary, and inside node_modules.
324
+ writeFileSync(join(repo, '.DS_Store'), Buffer.from([0, 0, 0, 1, 66, 117, 100, 49, 0]));
325
+ mkdirSync(join(repo, 'node_modules', 'x'), { recursive: true });
326
+ writeFileSync(join(repo, 'node_modules', 'x', 'index.js'), 'const c = "flex";');
327
+ // Ignored by the repo itself — Tailwind skips it too.
328
+ mkdirSync(join(repo, 'dist'));
329
+ writeFileSync(join(repo, 'dist', 'index.js'), 'const c="truncate";');
330
+ return { base, repo, env, globalIgnore };
331
+ }
332
+
333
+ test('RED: each globally-ignored TEXT path is named with the file and pattern that matched', () => {
334
+ const { base, repo, env, globalIgnore } = fixture();
335
+ try {
336
+ const leaks = scanLeaks(repo, env);
337
+ expect(leaks?.map((l) => l.path)).toEqual(['.agent.noindex/', 'src/probe.agent.tsx']);
338
+ // `*.agent.*` (line 3) matches `.agent.noindex/` too, and the LAST match in a file decides.
339
+ expect(leaks?.[0]?.source).toBe(`${globalIgnore}:3`);
340
+ expect(leaks?.[0]?.textFiles).toBe(1);
341
+ expect(leaks?.[1]?.pattern).toBe('*.agent.*');
342
+ // From a SUBDIRECTORY root, only what is under it.
343
+ expect(scanLeaks(join(repo, 'src'), env)?.map((l) => l.path)).toEqual(['probe.agent.tsx']);
344
+ } finally {
345
+ rmSync(base, { recursive: true, force: true });
346
+ }
347
+ });
348
+
349
+ test("GREEN once the repo's OWN .gitignore names them — the global file still matches, but no longer decides", () => {
350
+ const { base, repo, env } = fixture();
351
+ try {
352
+ writeFileSync(join(repo, '.gitignore'), 'dist/\n.agent.noindex/\n*.agent.*\n');
353
+ expect(scanLeaks(repo, env)).toEqual([]);
354
+ } finally {
355
+ rmSync(base, { recursive: true, force: true });
356
+ }
357
+ });
358
+
359
+ test('.git/info/exclude is not the repo\'s .gitignore either — RED', () => {
360
+ const { base, repo, env } = fixture();
361
+ try {
362
+ writeFileSync(join(repo, '.gitignore'), 'dist/\n.agent.noindex/\n*.agent.*\n');
363
+ writeFileSync(join(repo, 'notes.md'), 'bg-primary');
364
+ writeFileSync(join(repo, '.git', 'info', 'exclude'), 'notes.md\n');
365
+ expect(scanLeaks(repo, env)?.map((l) => [l.path, l.source])).toEqual([['notes.md', '.git/info/exclude:1']]);
366
+ } finally {
367
+ rmSync(base, { recursive: true, force: true });
368
+ }
369
+ });
370
+
371
+ test('an app root that is itself git-ignored cannot be measured — it throws (the CLI exits 2)', () => {
372
+ const { base, repo, env } = fixture();
373
+ try {
374
+ expect(() => scanLeaks(join(repo, '.agent.noindex'), env)).toThrow(/itself git-ignored/);
375
+ } finally {
376
+ rmSync(base, { recursive: true, force: true });
377
+ }
378
+ });
379
+
380
+ test('outside any git work tree there is nothing to disagree about — null, not []', () => {
381
+ const dir = mkdtempSync(join(tmpdir(), 'belt-scan-leak-nogit-'));
382
+ try {
383
+ expect(scanLeaks(dir, noRepoEnv(dir))).toBeNull();
384
+ } finally {
385
+ rmSync(dir, { recursive: true, force: true });
386
+ }
387
+ });
388
+
389
+ test('the CLI exits 1 on a leak even when every class is styled, and 0 once the repo ignores it', () => {
390
+ const { base, repo, env } = fixture();
391
+ try {
392
+ writeFileSync(join(repo, 'dist', 'index.css'), '.truncate{overflow:hidden}');
393
+ const run = () =>
394
+ Bun.spawnSync(['bun', join(import.meta.dir, 'checkAreaStyles.ts'), 'dist'], { cwd: repo, env, stdout: 'pipe', stderr: 'pipe' });
395
+ const red = run();
396
+ expect(red.exitCode).toBe(1);
397
+ expect(red.stderr.toString()).toContain('.agent.noindex/');
398
+ expect(red.stderr.toString()).toContain('src/probe.agent.tsx');
399
+ // --root reads the same repo from anywhere.
400
+ const elsewhere = Bun.spawnSync(['bun', join(import.meta.dir, 'checkAreaStyles.ts'), join(repo, 'dist'), '--root', repo], {
401
+ cwd: base,
402
+ env,
403
+ stdout: 'pipe',
404
+ stderr: 'pipe',
405
+ });
406
+ expect(elsewhere.exitCode).toBe(1);
407
+ writeFileSync(join(repo, '.gitignore'), 'dist/\n.agent.noindex/\n*.agent.*\n');
408
+ const green = run();
409
+ expect(green.stderr.toString()).toBe('');
410
+ expect(green.exitCode).toBe(0);
411
+ } finally {
412
+ rmSync(base, { recursive: true, force: true });
413
+ }
414
+ });
415
+ });
@@ -35,15 +35,27 @@
35
35
  * component that reads one by name from a style prop is invisible to the class check above — the
36
36
  * hole station's frozen DataTable column fell through (F4, 2026-09-23). Exit 1 as well.
37
37
  *
38
- * Usage, from an app, after its build:
39
- * bun node_modules/cursedbelt/scripts/checkAreaStyles.ts dist
38
+ * ── …and whether the build could have SEEN files the repo does not own (5.3.1) ───────────
39
+ * {@link scanLeaks}: Tailwind v4's automatic source detection honours the repo's OWN `.gitignore`
40
+ * files but NOT the machine-global `core.excludesFile`. So agent scratch — `.agent.noindex/`,
41
+ * `*.agent.*`, ignored only globally — is scanned, adds its classes to the build, and every check
42
+ * above passes on a stylesheet a clean checkout cannot reproduce. Measured in apps/family
43
+ * (0a298a5, 2026-09-23): its first "core only" adoption was green, and a clean build was 65
44
+ * cursedbelt classes short. Any text file under the app root that git ignores through something
45
+ * other than a repo `.gitignore` (`git check-ignore -v` names the file that matched) is exit 1;
46
+ * the fix is the line in the repo's own `.gitignore`, which Tailwind does read.
47
+ *
48
+ * Usage, from an app ROOT (the directory Tailwind scans), after its build:
49
+ * bun node_modules/cursedbelt/scripts/checkAreaStyles.ts dist [--root <app root, default cwd>]
40
50
  * Exit 0 = complete, 1 = a class is unstyled (listed with its area), a base utility follows a
41
- * variant, or a theme variable read is declared nowhere; 2 = could not measure
51
+ * variant, a theme variable read is declared nowhere, or a scanned file is ignored only
52
+ * outside the repo's own `.gitignore`; 2 = could not measure
42
53
  * (no JS or no CSS under the directory — a check that measured nothing has not passed).
43
54
  */
44
- import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
55
+ import { spawnSync } from 'node:child_process';
56
+ import { closeSync, existsSync, lstatSync, openSync, readdirSync, readFileSync, readSync, statSync } from 'node:fs';
45
57
  import { createRequire } from 'node:module';
46
- import { basename, dirname, join, resolve } from 'node:path';
58
+ import { basename, dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
47
59
  import { fileURLToPath } from 'node:url';
48
60
 
49
61
  const HERE = dirname(fileURLToPath(import.meta.url));
@@ -354,6 +366,105 @@ export function readThemeVariables(src: string | undefined = SRC): Set<string> {
354
366
  return out;
355
367
  }
356
368
 
369
+ // ── the SCAN-LEAK check (5.3.1) ───────────────────────────────────────────────────────
370
+
371
+ export interface ScanLeak {
372
+ /** The ignored path, relative to the app root (`.agent.noindex/`, `notes.agent.md`). */
373
+ path: string;
374
+ /** The ignore file that matched — never a repo `.gitignore` — and its line and pattern. */
375
+ source: string;
376
+ pattern: string;
377
+ /** How many TEXT files it holds (what Tailwind's extractor reads). */
378
+ textFiles: number;
379
+ }
380
+
381
+ /** Tailwind never scans these; a leak inside them cannot reach the build. */
382
+ const NEVER_SCANNED = new Set(['node_modules', '.git']);
383
+
384
+ /** Text = no NUL byte in the first 8 KB — the test git and Tailwind's extractor both effectively apply. */
385
+ function isTextFile(file: string): boolean {
386
+ const fd = openSync(file, 'r');
387
+ try {
388
+ const buf = Buffer.alloc(8192);
389
+ const n = readSync(fd, buf, 0, buf.length, 0);
390
+ return !buf.subarray(0, n).includes(0);
391
+ } finally {
392
+ closeSync(fd);
393
+ }
394
+ }
395
+
396
+ /** Text files at or under `path`, not following symlinks, skipping node_modules/.git; stops counting at `cap`. */
397
+ function countTextFiles(path: string, cap = 1000): number {
398
+ let st: ReturnType<typeof lstatSync>;
399
+ try {
400
+ st = lstatSync(path);
401
+ } catch {
402
+ return 0;
403
+ }
404
+ if (st.isSymbolicLink()) return 0;
405
+ if (st.isFile()) return st.size > 0 && isTextFile(path) ? 1 : 0;
406
+ if (!st.isDirectory()) return 0;
407
+ let n = 0;
408
+ for (const entry of readdirSync(path)) {
409
+ if (NEVER_SCANNED.has(entry)) continue;
410
+ n += countTextFiles(join(path, entry), cap - n);
411
+ if (n >= cap) break;
412
+ }
413
+ return n;
414
+ }
415
+
416
+ function git(root: string, args: string[], env: NodeJS.ProcessEnv | undefined, input?: string) {
417
+ return spawnSync('git', ['-C', root, ...args], { encoding: 'utf8', input, env: env ?? process.env, maxBuffer: 64 * 1024 * 1024 });
418
+ }
419
+
420
+ /**
421
+ * 🔴 Every path under `root` that exists, would be scanned (a text file, or a directory holding
422
+ * one, outside node_modules/.git), and is ignored by git ONLY through something that is not one of
423
+ * the repo's own `.gitignore` files — `core.excludesFile` (the machine-global one) or
424
+ * `.git/info/exclude`. Tailwind v4 reads neither, so each is a source of classes a clean checkout
425
+ * does not have. `git check-ignore -v` reports the DECIDING pattern, and a repo `.gitignore` outranks
426
+ * both, so a path the repo ignores itself is never reported however the global file also matches.
427
+ *
428
+ * Returns `null` when `root` is not inside a git work tree: then no gitignore of any kind applies, to
429
+ * git or to Tailwind, and there is nothing for the two to disagree about. `env` is for tests (a
430
+ * hermetic `GIT_CONFIG_GLOBAL`).
431
+ */
432
+ export function scanLeaks(root: string, env?: NodeJS.ProcessEnv): ScanLeak[] | null {
433
+ const top = git(root, ['rev-parse', '--show-toplevel'], env);
434
+ if (top.status !== 0) return null;
435
+ const topLevel = top.stdout.trim();
436
+ const rootRel = relative(topLevel, resolve(root));
437
+ if (rootRel && git(root, ['check-ignore', '-q', '--', `${resolve(root)}/`], env).status === 0) {
438
+ // git cannot list "the ignored files under an ignored directory", and which of them Tailwind reads
439
+ // is then a question about ITS walker. An app root is never inside an ignored directory; refuse.
440
+ throw new Error(`${root} is itself git-ignored in ${topLevel} — run from the app's root`);
441
+ }
442
+ const listed = git(root, ['ls-files', '--others', '--ignored', '--exclude-standard', '--directory', '-z', '--', '.'], env);
443
+ if (listed.status !== 0) throw new Error(`git ls-files failed in ${root}: ${listed.stderr.trim()}`);
444
+ const paths = listed.stdout
445
+ .split('\0')
446
+ .filter((p) => p.length > 0)
447
+ .filter((p) => !p.split('/').some((seg) => NEVER_SCANNED.has(seg)));
448
+ if (paths.length === 0) return [];
449
+ const matched = git(root, ['check-ignore', '-v', '-z', '--stdin'], env, `${paths.join('\0')}\0`);
450
+ // Exit 1 = none of them ignored (cannot happen for ls-files -i output, but is not an error).
451
+ if (matched.status !== 0 && matched.status !== 1) throw new Error(`git check-ignore failed in ${root}: ${matched.stderr.trim()}`);
452
+ const fields = matched.stdout.split('\0');
453
+ const leaks: ScanLeak[] = [];
454
+ for (let i = 0; i + 3 < fields.length; i += 4) {
455
+ const [source, line, pattern, path] = fields.slice(i, i + 4) as [string, string, string, string];
456
+ if (!source) continue;
457
+ const abs = isAbsolute(source) ? source : resolve(root, source);
458
+ const inRepo = !relative(topLevel, abs).startsWith('..') && !isAbsolute(relative(topLevel, abs));
459
+ const inGitDir = relative(topLevel, abs).split(sep)[0] === '.git';
460
+ if (basename(abs) === '.gitignore' && inRepo && !inGitDir) continue; // the repo's own — Tailwind reads it
461
+ const textFiles = countTextFiles(join(root, path));
462
+ if (textFiles === 0) continue; // .DS_Store, a screenshot: nothing an extractor could read
463
+ leaks.push({ path, source: `${source}:${line}`, pattern, textFiles });
464
+ }
465
+ return leaks.sort((a, b) => a.path.localeCompare(b.path));
466
+ }
467
+
357
468
  function filesUnder(dir: string, ext: string, out: string[] = []): string[] {
358
469
  for (const entry of readdirSync(dir)) {
359
470
  if (entry === 'node_modules') continue;
@@ -428,7 +539,11 @@ export function checkDist(distDir: string): AreaCheckResult {
428
539
  }
429
540
 
430
541
  if (import.meta.main) {
431
- const dir = resolve(process.argv[2] ?? 'dist');
542
+ const args = process.argv.slice(2);
543
+ const rootAt = args.indexOf('--root');
544
+ const root = resolve(rootAt >= 0 ? (args[rootAt + 1] ?? '.') : '.');
545
+ if (rootAt >= 0) args.splice(rootAt, 2);
546
+ const dir = resolve(args[0] ?? 'dist');
432
547
  if (!existsSync(dir)) {
433
548
  console.error(`✗ ${dir} does not exist — build the app first. A check that measured nothing has not passed.`);
434
549
  process.exit(2);
@@ -438,6 +553,22 @@ if (import.meta.main) {
438
553
  console.error(`✗ ${dir} holds ${result.jsFiles} .js and ${result.cssFiles} .css file(s) — nothing to compare.`);
439
554
  process.exit(2);
440
555
  }
556
+ let leaks: ScanLeak[];
557
+ try {
558
+ leaks = scanLeaks(root) ?? [];
559
+ } catch (e) {
560
+ console.error(`✗ could not tell which files Tailwind scanned: ${(e as Error).message}`);
561
+ process.exit(2);
562
+ }
563
+ if (leaks.length > 0) {
564
+ console.error(
565
+ `✗ ${leaks.length} path(s) under ${root} are ignored by git only OUTSIDE the repo's own .gitignore — Tailwind v4 scans them anyway,`,
566
+ );
567
+ console.error(' so their classes are in this build and a clean checkout\'s build would be short of them (apps/family 0a298a5: 65 classes):');
568
+ for (const l of leaks.slice(0, 12)) console.error(` ${l.path} (${l.textFiles} text file(s); ${l.source} \`${l.pattern}\`)`);
569
+ if (leaks.length > 12) console.error(` … +${leaks.length - 12} more`);
570
+ console.error(" Add each pattern to the repo's own .gitignore (e.g. `.agent.noindex/` and `*.agent.*`), rebuild, and check again.");
571
+ }
441
572
  if (result.outOfOrder.length > 0) {
442
573
  console.error(`✗ ${result.outOfOrder.length} base utilit(y|ies) come AFTER a variant that sets the same property, so the base wins at every width:`);
443
574
  for (const f of result.outOfOrder.slice(0, 12)) console.error(` .${f.base} (later) overrides .${f.variant} — ${f.properties.join(', ')}`);
@@ -456,10 +587,10 @@ if (import.meta.main) {
456
587
  console.error(' in a file the app\'s Tailwind pass scans.');
457
588
  }
458
589
  if (result.missing.length === 0) {
459
- if (result.outOfOrder.length > 0 || result.undefinedVariables.length > 0) process.exit(1);
590
+ if (result.outOfOrder.length > 0 || result.undefinedVariables.length > 0 || leaks.length > 0) process.exit(1);
460
591
  console.log(
461
592
  `✓ belt area styles complete: all ${result.referenced} cursedbelt classes the build references are styled, ` +
462
- `no base utility follows a variant, and every theme variable read is declared (${result.jsFiles} js, ${result.cssFiles} css).`,
593
+ `no base utility follows a variant, every theme variable read is declared, and nothing scanned is ignored only globally (${result.jsFiles} js, ${result.cssFiles} css).`,
463
594
  );
464
595
  process.exit(0);
465
596
  }
@@ -1,5 +1,5 @@
1
1
  import { afterEach, describe, expect, jest, test } from 'bun:test';
2
- import { act, cleanup, fireEvent, render, screen } from '@testing-library/react';
2
+ import { act, cleanup, fireEvent, render, screen, waitFor } from '@testing-library/react';
3
3
  import { FileTree } from './FileTree.js';
4
4
  import type { FileTreeNode } from 'cursedbelt-core/file-tree/file-tree-model';
5
5
 
@@ -1827,3 +1827,41 @@ describe('pinned rows', () => {
1827
1827
  expect(chord.defaultPrevented).toBe(false);
1828
1828
  });
1829
1829
  });
1830
+
1831
+ /**
1832
+ * Three switches `apps/desk` needed to adopt this tree instead of keeping its own copy —
1833
+ * each off (or absent) by default, so no existing consumer moves.
1834
+ */
1835
+ describe('the three switches desk adopted this tree with', () => {
1836
+ test('🔴 nameTooltips={false} leaves every name a bare span — no hover bubble over the rows', async () => {
1837
+ const { container } = tree({ nameTooltips: false });
1838
+ // Radix stamps `data-state` on a trigger once the implementation lands; give the mount
1839
+ // effect a turn so this reads "it never arrived", not "not yet".
1840
+ await new Promise((r) => setTimeout(r, 0));
1841
+ const names = [...container.querySelectorAll('.cbft-name')];
1842
+ expect(names.length).toBeGreaterThan(0);
1843
+ for (const name of names) expect(name.getAttribute('data-state')).toBeNull();
1844
+ });
1845
+
1846
+ test('and by default the name still carries its tooltip', async () => {
1847
+ const { container } = tree();
1848
+ await waitFor(() => expect(container.querySelector('.cbft-name')?.getAttribute('data-state')).toBeTruthy());
1849
+ });
1850
+
1851
+ test('draftPlaceholder is the hint in an ordinary draft field', () => {
1852
+ tree({ draft: { parentId: null }, onDraftCommit: () => undefined, draftPlaceholder: 'name.md' });
1853
+ expect((screen.getByLabelText('Name') as HTMLInputElement).placeholder).toBe('name.md');
1854
+ });
1855
+
1856
+ test('a node the consumer marked `matched` says so on its row', () => {
1857
+ const { container } = render(
1858
+ <FileTree
1859
+ nodes={[folder('a', 'A', [{ id: 'hit', name: 'invoices', kind: 'file', matched: true }])]}
1860
+ selectedId={null}
1861
+ onSelect={() => undefined}
1862
+ />,
1863
+ );
1864
+ const rows = [...container.querySelectorAll('[role="treeitem"]')];
1865
+ expect(rows.map((row) => row.getAttribute('data-matched'))).toEqual([null, 'true']);
1866
+ });
1867
+ });
@@ -471,6 +471,15 @@ export interface FileTreeProps {
471
471
  */
472
472
  onDraftCommit?: (name: string, wrap?: readonly string[]) => void;
473
473
  onDraftCancel?: () => void;
474
+ /**
475
+ * Hint text in the {@link draft} row's empty field. Omit for none.
476
+ *
477
+ * For a consumer whose draft is not a folder: `apps/desk`'s makes a FILE whose kind is
478
+ * decided by the extension typed (*"the new file can be named with the extension that
479
+ * shows what type it is"*), and `name.md` in the field is how a person learns that without
480
+ * being told.
481
+ */
482
+ draftPlaceholder?: string;
474
483
  /**
475
484
  * **⌃⌘N** on a focused row — *make a folder around this*. Wiring it is what puts the chord
476
485
  * on the keyboard at all, and a consumer that does not is byte-for-byte unchanged.
@@ -547,6 +556,19 @@ export interface FileTreeProps {
547
556
  */
548
557
  accessCopy?: AccessMarkCopy;
549
558
 
559
+ /**
560
+ * Whether a row's NAME carries a hover tooltip with its full text. Default `true`.
561
+ *
562
+ * 🔴 `false` is `apps/desk`'s, on its owner's ruling (2026-09-07): *"in the sidebar let's
563
+ * remove the tooltip for hovering over items because they block other directories and
564
+ * files."* A bubble anchored to a row in a list of rows covers the rows either side of it,
565
+ * so the hint on the row being pointed at hides the rows being pointed PAST. A consumer
566
+ * that turns it off still gets the ellipsis, and the full name is one click away in
567
+ * whatever the row opens. {@link unavailableReason}'s tooltip is unaffected: a control
568
+ * that cannot work says why, whatever the density.
569
+ */
570
+ nameTooltips?: boolean;
571
+
550
572
  /** Narrow the tree to matching rows, keeping the folders on the way to each. */
551
573
  filter?: string;
552
574
  /** What to show when there are no rows — differs between "nothing here" and "no match". */
@@ -675,6 +697,7 @@ export function FileTree({
675
697
  draft,
676
698
  onDraftCommit,
677
699
  onDraftCancel,
700
+ draftPlaceholder,
678
701
  onWrapStart,
679
702
  canWrap,
680
703
  onRowMenu,
@@ -684,6 +707,7 @@ export function FileTree({
684
707
  onDropExternal,
685
708
  acceptsExternalDrag,
686
709
  accessCopy,
710
+ nameTooltips = true,
687
711
  filter,
688
712
  empty = 'Nothing here yet.',
689
713
  ariaLabel = 'Files',
@@ -2035,6 +2059,7 @@ export function FileTree({
2035
2059
  // A suggested name that comes back unchanged is the person AGREEING with it. Cancelling
2036
2060
  // there would make Enter mean "no" on the one field where it obviously means "yes".
2037
2061
  wrapping ? 'commit' : 'cancel',
2062
+ wrapping ? undefined : draftPlaceholder,
2038
2063
  )}
2039
2064
  </div>
2040
2065
  );
@@ -2049,6 +2074,7 @@ export function FileTree({
2049
2074
  * just above. An EMPTY field always cancels, whichever this is.
2050
2075
  */
2051
2076
  unchanged: 'cancel' | 'commit' = 'cancel',
2077
+ placeholder?: string,
2052
2078
  ) => {
2053
2079
  const done = (value: string) => {
2054
2080
  const name = value.trim();
@@ -2061,6 +2087,7 @@ export function FileTree({
2061
2087
  defaultValue={initial}
2062
2088
  autoFocus
2063
2089
  aria-label='Name'
2090
+ {...(placeholder ? { placeholder } : {})}
2064
2091
  onFocus={(event) => event.currentTarget.select()}
2065
2092
  onClick={(event) => event.stopPropagation()}
2066
2093
  onPointerDown={(event) => event.stopPropagation()}
@@ -2181,6 +2208,8 @@ export function FileTree({
2181
2208
  (row.expandable && !row.expanded && openPath.holder === node.id) || undefined
2182
2209
  }
2183
2210
  data-access={node.access && node.access !== 'normal' ? node.access : undefined}
2211
+ /* A hit in a search the consumer ran — see `FileTreeNode.matched`. */
2212
+ data-matched={node.matched || undefined}
2184
2213
  style={{ '--cbft-depth': row.depth } as React.CSSProperties}
2185
2214
  onPointerDown={(event) => {
2186
2215
  if (inTools(event.target)) return;
@@ -2276,11 +2305,12 @@ export function FileTree({
2276
2305
  () => onRenameCancel?.(),
2277
2306
  )
2278
2307
  ) : (
2279
- <Tooltip content={node.name}>
2308
+ <Tooltip content={nameTooltips ? node.name : undefined}>
2280
2309
  {/* The full name, for a row whose name the ellipsis cut. `Tooltip` rather
2281
2310
  than `title=`: this tree is used on a phone, where a native tooltip
2282
2311
  does not exist at all and a truncated folder name would have no way
2283
- of being read. */}
2312
+ of being read. `nameTooltips={false}` is a consumer's ruling against
2313
+ it — `undefined` content is `Tooltip`'s own pass-through. */}
2284
2314
  <span className='cbft-name'>{node.name}</span>
2285
2315
  </Tooltip>
2286
2316
  )}
@@ -89,9 +89,12 @@
89
89
  *
90
90
  * `:where()` keeps this at zero specificity so an app can still say something different
91
91
  * without an `!important` war. `.dark` is the class the theme switches on (never
92
- * `prefers-color-scheme` — see `theme.css`'s header for why).
92
+ * `prefers-color-scheme` — see `theme.css`'s header for why). `[data-theme='dark']` is the
93
+ * other spelling a consumer's root may carry — `apps/desk` switches themes on
94
+ * `.cs-root[data-theme="dark"]` and has no `.dark` class to set — and it costs this rule
95
+ * nothing, since `:where()` still adds no specificity.
93
96
  */
94
- :where(.dark) .cbft {
97
+ :where(.dark, [data-theme='dark']) .cbft {
95
98
  --cbft-fg: color-mix(in srgb, var(--foreground) 78%, var(--background));
96
99
  /*
97
100
  * The other half of "thinner". On a dark ground macOS's default stem-darkening renders
@@ -595,6 +598,11 @@
595
598
  white-space: nowrap;
596
599
  }
597
600
 
601
+ /* A row whose own name hit the consumer's search — see `FileTreeNode.matched`. */
602
+ .cbft-row[data-matched] .cbft-name {
603
+ font-weight: 700;
604
+ }
605
+
598
606
  .cbft-name-input {
599
607
  flex: 1 1 auto;
600
608
  min-inline-size: 0;
@@ -141,12 +141,16 @@ describe('the file tree geometry', () => {
141
141
  });
142
142
 
143
143
  it('dims and thins itself in dark mode only', () => {
144
- const dark = CSS.slice(CSS.indexOf(':where(.dark) .cbft {'));
144
+ // Under either spelling of "dark" a consumer's root carries — `.dark`, or
145
+ // `[data-theme='dark']` (apps/desk's `.cs-root`, which has no `.dark` class to set).
146
+ const RULE = ":where(.dark, [data-theme='dark']) .cbft {";
147
+ expect(CSS).toContain(RULE);
148
+ const dark = CSS.slice(CSS.indexOf(RULE));
145
149
  expect(dark).toContain('--cbft-fg: color-mix(');
146
150
  expect(dark).toContain('-webkit-font-smoothing: antialiased;');
147
151
  // Never unconditionally: on a light ground the same declaration makes 13px type too
148
152
  // faint, which is DESIGN.md §4's complaint from the other side.
149
- expect(CSS.indexOf('-webkit-font-smoothing')).toBeGreaterThan(CSS.indexOf(':where(.dark) .cbft {'));
153
+ expect(CSS.indexOf('-webkit-font-smoothing')).toBeGreaterThan(CSS.indexOf(RULE));
150
154
  });
151
155
 
152
156
  /*
@@ -58,8 +58,11 @@ describe('attachHlsSource — every road ends at something playable', () => {
58
58
  // master it cannot parse is a permanent spinner, which is worse than the slow copy.
59
59
  const el = videoEl(false);
60
60
  const detach = attachHlsSource(el, { hlsUrl: LADDER, streamUrl: REMUX });
61
- await Promise.resolve();
62
- await new Promise((r) => setTimeout(r, 0));
61
+ // Poll, not one tick: the fallback lands after the dynamic `import('hls.js')` settles, and on a
62
+ // cold module cache (publish's `gate --force`, 2026-09-23) that took longer than one macrotask.
63
+ for (const deadline = Date.now() + 5000; el.src === '' && Date.now() < deadline; ) {
64
+ await new Promise((r) => setTimeout(r, 5));
65
+ }
63
66
  expect(el.src).toBe(REMUX);
64
67
  detach();
65
68
  });