@deskwork/studio 0.12.1 → 0.13.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.
Files changed (50) hide show
  1. package/dist/components/scrapbook-item.d.ts +9 -1
  2. package/dist/components/scrapbook-item.d.ts.map +1 -1
  3. package/dist/components/scrapbook-item.js +11 -2
  4. package/dist/components/scrapbook-item.js.map +1 -1
  5. package/dist/data/glossary.json +62 -0
  6. package/dist/lib/glossary-helper.d.ts +16 -0
  7. package/dist/lib/glossary-helper.d.ts.map +1 -0
  8. package/dist/lib/glossary-helper.js +26 -0
  9. package/dist/lib/glossary-helper.js.map +1 -0
  10. package/dist/pages/chrome.d.ts +24 -13
  11. package/dist/pages/chrome.d.ts.map +1 -1
  12. package/dist/pages/chrome.js +25 -24
  13. package/dist/pages/chrome.js.map +1 -1
  14. package/dist/pages/chrome.ts +38 -27
  15. package/dist/pages/content-detail.js +1 -1
  16. package/dist/pages/content-detail.js.map +1 -1
  17. package/dist/pages/content-detail.ts +1 -1
  18. package/dist/pages/entry-review.js +2 -2
  19. package/dist/pages/entry-review.js.map +1 -1
  20. package/dist/pages/entry-review.ts +2 -2
  21. package/dist/pages/html.d.ts +2 -0
  22. package/dist/pages/html.d.ts.map +1 -1
  23. package/dist/pages/html.js +2 -0
  24. package/dist/pages/html.js.map +1 -1
  25. package/dist/pages/html.ts +4 -0
  26. package/dist/pages/layout.d.ts.map +1 -1
  27. package/dist/pages/layout.js +6 -0
  28. package/dist/pages/layout.js.map +1 -1
  29. package/dist/pages/layout.ts +7 -0
  30. package/dist/pages/review-scrapbook-drawer.d.ts +7 -0
  31. package/dist/pages/review-scrapbook-drawer.d.ts.map +1 -1
  32. package/dist/pages/review-scrapbook-drawer.js +45 -6
  33. package/dist/pages/review-scrapbook-drawer.js.map +1 -1
  34. package/dist/pages/review-scrapbook-drawer.ts +50 -6
  35. package/dist/pages/review.d.ts.map +1 -1
  36. package/dist/pages/review.js +168 -41
  37. package/dist/pages/review.js.map +1 -1
  38. package/dist/pages/review.ts +192 -41
  39. package/dist/pages/scrapbook.d.ts +7 -14
  40. package/dist/pages/scrapbook.d.ts.map +1 -1
  41. package/dist/pages/scrapbook.js +352 -193
  42. package/dist/pages/scrapbook.js.map +1 -1
  43. package/dist/pages/scrapbook.ts +390 -222
  44. package/dist/pages/shortform.js +1 -1
  45. package/dist/pages/shortform.js.map +1 -1
  46. package/dist/pages/shortform.ts +1 -1
  47. package/dist/server.d.ts.map +1 -1
  48. package/dist/server.js +10 -13
  49. package/dist/server.js.map +1 -1
  50. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/pages/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/pages/review.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,7 @@ import type { StudioContext } from '../routes/api.ts';
39
39
  import { html, unsafe, type RawHtml } from './html.ts';
40
40
  import { layout } from './layout.ts';
41
41
  import { renderEditorialFolio } from './chrome.ts';
42
- import { escapeHtml } from './html.ts';
42
+ import { escapeHtml, gloss } from './html.ts';
43
43
  import { renderScrapbookDrawer } from './review-scrapbook-drawer.ts';
44
44
  import { existsSync } from 'node:fs';
45
45
  import { resolveCalendarPath } from '@deskwork/core/paths';
@@ -200,23 +200,67 @@ function pendingSkillCmd(workflow: DraftWorkflowItem): string {
200
200
  return '';
201
201
  }
202
202
 
203
+ /**
204
+ * Wrap an action button in a `.er-shortcut-chip-wrap` span carrying a
205
+ * small chord chip beneath the button. The chord style mirrors the
206
+ * shortcuts modal's verbatim two-tap rendering (e.g. `<kbd>a</kbd>
207
+ * <kbd>a</kbd>` for approve) — the destructive-shortcut UX, post-#108,
208
+ * is bare-letter double-tap (no Cmd/Ctrl modifier; verified in the
209
+ * keybinding handler at editorial-review-client.ts).
210
+ *
211
+ * The chip is hidden on narrow viewports via the cross-surface CSS
212
+ * media query — the wrap stays in the markup at every breakpoint so
213
+ * the column flex it triggers (`.er-strip-right > *:has(.er-shortcut-chip)`)
214
+ * is consistent with the chip's visibility state.
215
+ *
216
+ * Issue 5 — keyboard-shortcut chips on action buttons.
217
+ */
218
+ function shortcutChipWrap(buttonHtml: string, letter: 'a' | 'i' | 'r'): string {
219
+ return html`<span class="er-shortcut-chip-wrap">${unsafe(buttonHtml)}<small class="er-shortcut-chip"><kbd>${letter}</kbd><kbd>${letter}</kbd></small></span>`;
220
+ }
221
+
203
222
  function renderControlsRight(workflow: DraftWorkflowItem): RawHtml {
204
223
  const isActive = workflow.state === 'open' || workflow.state === 'in-review';
205
224
  const isApproved = workflow.state === 'approved';
206
225
  const isIterating = workflow.state === 'iterating';
207
226
  const isTerminal = workflow.state === 'applied' || workflow.state === 'cancelled';
208
227
  const buttons: string[] = [];
209
- buttons.push(html`<button class="er-btn er-btn-small" data-action="toggle-edit" type="button">Edit</button>`);
228
+ // Issue 7 — emit the edit-mode disclosure label next to the Edit
229
+ // button. The client (editorial-review-client.ts) flips both the
230
+ // `data-mode` attribute AND inner text on each toggle. Initial state
231
+ // matches the surface's initial mode (preview).
232
+ buttons.push(html`<button class="er-btn er-btn-small" data-action="toggle-edit" type="button">Edit</button><span class="er-edit-mode-label" data-mode="preview">preview</span>`);
210
233
  if (isActive) {
211
- buttons.push(html`<button class="er-btn er-btn-small er-btn-approve" data-action="approve" type="button">Approve</button>`);
212
- buttons.push(html`<button class="er-btn er-btn-small" data-action="iterate" type="button">Iterate</button>`);
213
- buttons.push(html`<button class="er-btn er-btn-small er-btn-reject" data-action="reject" type="button">Reject</button>`);
234
+ // Issue 5 wrap each destructive action button with its chord chip.
235
+ buttons.push(
236
+ shortcutChipWrap(
237
+ html`<button class="er-btn er-btn-small er-btn-approve" data-action="approve" type="button">Approve</button>`,
238
+ 'a',
239
+ ),
240
+ );
241
+ buttons.push(
242
+ shortcutChipWrap(
243
+ html`<button class="er-btn er-btn-small" data-action="iterate" type="button">Iterate</button>`,
244
+ 'i',
245
+ ),
246
+ );
247
+ buttons.push(
248
+ shortcutChipWrap(
249
+ html`<button class="er-btn er-btn-small er-btn-reject" data-action="reject" type="button">Reject</button>`,
250
+ 'r',
251
+ ),
252
+ );
214
253
  }
215
254
  if (isApproved) {
216
255
  const applyCmd = pendingSkillCmd(workflow);
217
256
  buttons.push(html`<span class="er-pending-state">awaiting apply…</span>`);
218
257
  buttons.push(html`<button class="er-btn er-btn-small" data-action="copy-cmd" data-cmd="${applyCmd}" title="Copy ${applyCmd} to clipboard" type="button">copy <code>/deskwork:approve</code></button>`);
219
- buttons.push(html`<button class="er-btn er-btn-small er-btn-reject" data-action="reject" type="button">Reject</button>`);
258
+ buttons.push(
259
+ shortcutChipWrap(
260
+ html`<button class="er-btn er-btn-small er-btn-reject" data-action="reject" type="button">Reject</button>`,
261
+ 'r',
262
+ ),
263
+ );
220
264
  }
221
265
  if (isIterating) {
222
266
  const iterateCmd = pendingSkillCmd(workflow);
@@ -244,7 +288,7 @@ function renderError(
244
288
  : `/deskwork:review-start --site ${site} ${slug}`;
245
289
  const body = html`
246
290
  <div data-review-ui="longform">
247
- ${renderEditorialFolio('reviews', `longform · ${slug}`)}
291
+ ${renderEditorialFolio('longform', `longform · ${slug}`)}
248
292
  <div class="er-error">
249
293
  <h1>No galley to review.</h1>
250
294
  <p><strong>Slug:</strong> <code>${slug}</code></p>
@@ -279,6 +323,8 @@ function renderShortcutsOverlay(): RawHtml {
279
323
  <dt><kbd>i</kbd> <kbd>i</kbd></dt><dd>iterate <em>— press twice within 500ms</em></dd>
280
324
  <dt><kbd>r</kbd> <kbd>r</kbd></dt><dd>reject <em>— press twice within 500ms</em></dd>
281
325
  <dt><kbd>j</kbd> / <kbd>k</kbd></dt><dd>next / previous margin note</dd>
326
+ <dt><kbd>shift</kbd><kbd>F</kbd></dt><dd>focus mode <em>(edit mode only)</em></dd>
327
+ <dt><kbd>shift</kbd><kbd>M</kbd></dt><dd>show / hide margin notes column <em>— or click the chevron in the head when visible, or the pull tab on the right edge when stowed</em></dd>
282
328
  <dt><kbd>?</kbd></dt><dd>this panel</dd>
283
329
  <dt><kbd>esc</kbd></dt><dd>close / cancel composer</dd>
284
330
  </dl>
@@ -287,11 +333,45 @@ function renderShortcutsOverlay(): RawHtml {
287
333
  </div>`);
288
334
  }
289
335
 
336
+ /* Issue #159 — marginalia stow affordance.
337
+ *
338
+ * The toggle for "show / hide the margin-notes column" lives ON the
339
+ * marginalia component, not in a generic toolbar. Two paired
340
+ * affordances drive the same state:
341
+ *
342
+ * - `.er-marginalia-stow` — chevron button INSIDE the marginalia
343
+ * head (next to "Margin notes" label). Clicking it stows the
344
+ * column. Visible only when marginalia is visible (the head is
345
+ * inside `.er-marginalia`, which is `display: none` when stowed).
346
+ *
347
+ * - `.er-marginalia-tab` — pull tab on the right edge of the
348
+ * viewport, mirroring `.er-outline-tab` on the left edge. Visible
349
+ * ONLY when marginalia is stowed (CSS rule `body[data-marginalia=
350
+ * "hidden"] .er-marginalia-tab { display: block }`). Clicking it
351
+ * unstows.
352
+ *
353
+ * Both affordances + Shift+M dispatch through the same client-side
354
+ * toggleMarginalia handler. Mirrors the outline-drawer's pull-tab
355
+ * pattern so the project's affordance vocabulary stays consistent.
356
+ */
357
+ function renderMarginaliaTab(): RawHtml {
358
+ return unsafe(html`
359
+ <button class="er-marginalia-tab" data-action="toggle-marginalia" type="button" aria-pressed="true" aria-label="Show margin notes (Shift+M)" title="Show margin notes (Shift+M)">
360
+ <span class="er-marginalia-tab-glyph" aria-hidden="true">‹</span>
361
+ <span class="er-marginalia-tab-label">Notes</span>
362
+ </button>`);
363
+ }
364
+
290
365
  function renderMarginalia(): RawHtml {
291
366
  return unsafe(html`
292
367
  <aside class="er-marginalia" data-comments-sidebar aria-label="Margin notes">
293
- <p class="er-marginalia-head">Margin notes</p>
294
- <p class="er-marginalia-empty" data-sidebar-empty>Select text in the draft, then either click the floating <em>Mark</em> pencil above your selection — or click anywhere here in the margin to open the note.</p>
368
+ <p class="er-marginalia-head">
369
+ <button class="er-marginalia-stow" data-action="toggle-marginalia" type="button" aria-pressed="false" aria-label="Hide margin notes (Shift+M)" title="Hide margin notes (Shift+M)">
370
+ <span aria-hidden="true">›</span>
371
+ </button>
372
+ <span class="er-marginalia-head-label">Margin notes</span>
373
+ </p>
374
+ <p class="er-marginalia-empty" data-sidebar-empty>Select text in the draft to leave a <em>margin note</em>.</p>
295
375
  <section class="er-marginalia-composer" data-comment-composer hidden aria-label="New margin note">
296
376
  <p class="er-marginalia-composer-head">New mark</p>
297
377
  <div class="er-marginalia-composer-quote" data-composer-quote></div>
@@ -317,24 +397,53 @@ function renderMarginalia(): RawHtml {
317
397
  </aside>`);
318
398
  }
319
399
 
320
- function renderEditMode(outlineHasContent: boolean): RawHtml {
400
+ /**
401
+ * Issue #154 Dispatch C — the edit-mode chrome was previously a single
402
+ * `.er-edit-mode` block rendered inside `.er-draft-frame` (below
403
+ * `#draft-body`). With the page-grid in place, the natural layout is:
404
+ *
405
+ * - the toolbar (Source/Split/Preview tabs + Outline/Focus/Save/
406
+ * Cancel actions) sticks above `.er-page`, replacing the strip's
407
+ * right-side action buttons;
408
+ * - the source/preview panes take over the article column where
409
+ * `#draft-body` was.
410
+ *
411
+ * `renderEditToolbar` emits the bar that lives ABOVE `.er-page`; the
412
+ * client toggles its `[hidden]` attribute on enter/exit. Keeps
413
+ * `data-edit-toolbar` on the wrapper so `editorial-review-client.ts`'s
414
+ * existing `q('[data-edit-toolbar]')` lookup keeps working.
415
+ */
416
+ function renderEditToolbar(outlineHasContent: boolean): RawHtml {
321
417
  const outlineBtnAttrs = outlineHasContent ? '' : ' hidden';
322
418
  return unsafe(html`
323
- <div class="er-edit-mode" data-edit-toolbar hidden>
324
- <div class="er-edit-chrome">
325
- <div class="er-edit-modes" role="tablist" aria-label="Editor mode">
326
- <button class="er-edit-mode-btn" data-edit-view="source" type="button" aria-pressed="true">Source</button>
327
- <button class="er-edit-mode-btn" data-edit-view="split" type="button" aria-pressed="false">Split</button>
328
- <button class="er-edit-mode-btn" data-edit-view="preview" type="button" aria-pressed="false">Preview</button>
329
- </div>
330
- <div class="er-edit-actions">
331
- <button class="er-btn er-btn-small" data-action="outline-drawer" type="button" title="Show the outline for reference (O)" aria-pressed="false"${unsafe(outlineBtnAttrs)}>Outline ↗</button>
332
- <button class="er-btn er-btn-small" data-action="focus-mode" type="button" title="Distraction-free mode (Shift+F)" aria-pressed="false">Focus ⛶</button>
333
- <button class="er-btn er-btn-primary" data-action="save-version" type="button">Save as new version</button>
334
- <button class="er-btn" data-action="cancel-edit" type="button">Cancel</button>
335
- <span class="er-edit-hint" data-edit-hint></span>
336
- </div>
419
+ <div class="er-edit-toolbar" data-edit-toolbar hidden>
420
+ <div class="er-edit-modes" role="tablist" aria-label="Editor mode">
421
+ <button class="er-edit-mode-btn" data-edit-view="source" type="button" aria-pressed="true">Source</button>
422
+ <button class="er-edit-mode-btn" data-edit-view="split" type="button" aria-pressed="false">Split</button>
423
+ <button class="er-edit-mode-btn" data-edit-view="preview" type="button" aria-pressed="false">Preview</button>
424
+ </div>
425
+ <div class="er-edit-actions">
426
+ <button class="er-btn er-btn-small" data-action="outline-drawer" type="button" title="Show the outline for reference (O)" aria-pressed="false"${unsafe(outlineBtnAttrs)}>Outline ↗</button>
427
+ <button class="er-btn er-btn-small" data-action="focus-mode" type="button" title="Distraction-free mode (Shift+F)" aria-pressed="false">Focus ⛶</button>
428
+ <button class="er-btn er-btn-primary" data-action="save-version" type="button">Save as new version</button>
429
+ <button class="er-btn" data-action="cancel-edit" type="button">Cancel</button>
430
+ <span class="er-edit-hint" data-edit-hint></span>
337
431
  </div>
432
+ </div>`);
433
+ }
434
+
435
+ /**
436
+ * Issue #154 Dispatch C — the source/preview panes (and supporting
437
+ * focus-mode affordances + backing textarea) live inside the article
438
+ * column, replacing `#draft-body`. The wrapper keeps the
439
+ * `er-edit-mode` class so existing CSS (panes-host paper-2 background,
440
+ * focus-mode full-viewport canvas) cascades unchanged. Adds
441
+ * `data-edit-panes-host` so the client can flip `[hidden]` on the
442
+ * panes wrapper independently of the toolbar.
443
+ */
444
+ function renderEditPanes(): RawHtml {
445
+ return unsafe(html`
446
+ <div class="er-edit-mode" data-edit-panes-host hidden>
338
447
  <div class="er-edit-panes" data-edit-panes data-view="source">
339
448
  <div class="er-edit-source" data-edit-source aria-label="Markdown source"></div>
340
449
  <div class="er-edit-preview" data-edit-preview aria-label="Rendered preview"></div>
@@ -509,30 +618,72 @@ export async function renderReviewPage(
509
618
  const folioSpine = isShortform
510
619
  ? `shortform · ${workflow.platform ?? '?'}${workflow.channel ? ` · ${workflow.channel}` : ''} · ${slug}`
511
620
  : `longform · ${slug}`;
621
+ // Issue 4 — shortform reviews highlight the "Shortform" nav item;
622
+ // longform reviews don't match any nav-item (no longform desk
623
+ // exists). Pre-Issue-4, longform mistakenly highlighted shortform
624
+ // because the chrome treated all review surfaces as 'reviews'.
625
+ const folioActive: 'shortform' | 'longform' = isShortform
626
+ ? 'shortform'
627
+ : 'longform';
628
+
629
+ // Issue #154 Dispatch A — `.er-page` wraps the draft frame +
630
+ // marginalia inside a CSS Grid composition so marginalia sits next
631
+ // to the prose it annotates rather than pinned to the viewport.
632
+ // Shortform reviews skip the marginalia column (no margin-note
633
+ // workflow on shortform), so the page collapses to the draft frame
634
+ // alone for that surface — keeping the same `.er-page` shell
635
+ // preserves the desk metaphor across longform/shortform.
636
+ // Issue #154 Dispatch C — edit-mode panes-host lives inside the
637
+ // article column (in place of #draft-body when editing); the
638
+ // toolbar that drives it lives ABOVE `.er-page` (rendered below,
639
+ // outside the grid). Shortform never enters edit mode on this
640
+ // surface, so the panes-host is rendered but stays hidden — keeps
641
+ // the JS hooks present for forward compatibility without flipping
642
+ // any visible chrome.
643
+ const pageGrid = isShortform
644
+ ? html`
645
+ <div class="er-page-grid">
646
+ <div class="er-draft-frame">
647
+ <div id="draft-body" data-draft-body
648
+ title="Double-click to edit · select text to leave a margin note">${unsafe(bodyHtml)}</div>
649
+ ${renderEditPanes()}
650
+ </div>
651
+ </div>`
652
+ : html`
653
+ <div class="er-page-grid">
654
+ <div class="er-draft-frame">
655
+ <div id="draft-body" data-draft-body
656
+ title="Double-click to edit · select text to leave a margin note">${unsafe(bodyHtml)}</div>
657
+ ${renderEditPanes()}
658
+ </div>
659
+ <div class="er-page-gutter" aria-hidden="true"></div>
660
+ ${renderMarginalia()}
661
+ </div>`;
512
662
 
513
663
  const body = html`
514
664
  <div data-review-ui="${reviewUiAttr}" class="er-review-shell">
515
- ${renderEditorialFolio('reviews', folioSpine)}
665
+ ${renderEditorialFolio(folioActive, folioSpine)}
516
666
  ${shortformMeta}
517
- <div class="er-draft-frame">
518
- <div id="draft-body" data-draft-body
519
- title="Double-click to edit · select text to leave a margin note">${unsafe(bodyHtml)}</div>
520
- ${renderEditMode(outlineHtml.length > 0)}
521
- </div>
522
667
  <div class="er-strip">
523
- <a class="er-strip-back" href="/dev/editorial-studio" title="Back to the editorial studio">← studio</a>
524
- <span class="er-strip-galley">Galley <em>№ ${currentVersion.version}</em></span>
525
- <span class="er-strip-slug">${workflow.site} / ${workflow.slug}</span>
526
- ${renderVersionsStrip(versions, resolvedSite, contentKind, currentVersion)}
527
- <span class="er-strip-center">
528
- <span class="er-stamp er-stamp-big er-stamp-${workflow.state}" data-state-label>
529
- ${stateLabel(workflow.state)}
668
+ <div class="er-strip-inner">
669
+ <a class="er-strip-back" href="/dev/editorial-studio" title="Back to the editorial studio">← studio</a>
670
+ <span class="er-strip-galley">${gloss('galley')} <em>№ ${currentVersion.version}</em></span>
671
+ <span class="er-strip-slug">${workflow.site} / ${workflow.slug}</span>
672
+ ${renderVersionsStrip(versions, resolvedSite, contentKind, currentVersion)}
673
+ <span class="er-strip-center">
674
+ <span class="er-stamp er-stamp-big er-stamp-${workflow.state}" data-state-label>
675
+ ${stateLabel(workflow.state)}
676
+ </span>
677
+ <span class="er-strip-hint">select text to <span class="er-gloss" data-term="marginalia" tabindex="0" role="button" aria-describedby="glossary-marginalia">mark</span> · double-click to edit · <kbd>?</kbd> for shortcuts</span>
530
678
  </span>
531
- <span class="er-strip-hint" aria-hidden="true">select text to mark · double-click to edit · <kbd>?</kbd> for shortcuts</span>
532
- </span>
533
- ${renderControlsRight(workflow)}
679
+ ${renderControlsRight(workflow)}
680
+ </div>
534
681
  </div>
535
- ${renderMarginalia()}
682
+ ${renderEditToolbar(outlineHtml.length > 0)}
683
+ <article class="er-page">
684
+ ${unsafe(pageGrid)}
685
+ </article>
686
+ ${isShortform ? unsafe('') : renderMarginaliaTab()}
536
687
  <button class="er-pencil-btn" data-add-comment-btn hidden type="button">Mark</button>
537
688
  ${isShortform ? unsafe('') : renderOutlineDrawer(outlineHtml)}
538
689
  ${isShortform
@@ -1,20 +1,13 @@
1
1
  /**
2
- * Scrapbook viewer — `/dev/scrapbook/:site/<path>` (path may include `/`).
2
+ * Scrapbook viewer — `/dev/scrapbook/:site/<path>`.
3
3
  *
4
- * Reads the scrapbook directory at the given path and lists every
5
- * file with type chips + relative timestamps, plus secret items
6
- * (inside `scrapbook/secret/`) in a quiet second section. Empty
7
- * scrapbooks render an empty state with quick-add affordances.
4
+ * Issue #161 redesign: aside-left folder card with numbered item list,
5
+ * vertical card grid with per-kind colored ribbons + always-visible foot
6
+ * toolbar + per-kind preview rendering, drop zone, secret section,
7
+ * single-expanded card invariant, aside cross-linking.
8
8
  *
9
- * The `path` argument is the hierarchical address of the scrapbook
10
- * any slash-separated kebab-case identifier under the site's
11
- * contentDir. It does not need to correspond to a calendar entry;
12
- * organizational nodes (e.g. `the-outbound/characters` with no
13
- * own README) can host their own scrapbooks too.
14
- *
15
- * Port of `pages/dev/scrapbook/[site]/[slug].astro`. Layout swap
16
- * (Astro `<Layout>` → studio shell) and CSS link added; structurally
17
- * similar otherwise.
9
+ * Mockup: docs/superpowers/frontend-design/2026-05-02-review-redesign/scrapbook-redesign.html
10
+ * Spec: docs/superpowers/specs/2026-05-02-scrapbook-redesign-impl-spec.md
18
11
  */
19
12
  import type { StudioContext } from '../routes/api.ts';
20
13
  export declare function renderScrapbookPage(ctx: StudioContext, site: string, path: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"scrapbook.d.ts","sourceRoot":"","sources":["../../src/pages/scrapbook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA2NtD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,MAAM,CAkDR"}
1
+ {"version":3,"file":"scrapbook.d.ts","sourceRoot":"","sources":["../../src/pages/scrapbook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAoYtD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,MAAM,CAqDR"}