@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
@@ -103,6 +103,14 @@ export declare function renderReadOnlyScrapbookRow(address: ScrapbookAddress, it
103
103
  * Render an empty-state row for a scrapbook drawer / panel that has
104
104
  * no items. Shown faded so the operator still sees the section exists
105
105
  * for this node.
106
+ *
107
+ * Issue 6 — the empty state now invites action: it points the operator
108
+ * at the scrapbook viewer for THIS node so they can drop research notes
109
+ * directly. When `address` is supplied (drawer + content-detail
110
+ * callsites both have one in scope), the link resolves to the per-entry
111
+ * viewer URL `/dev/scrapbook/<site>/<slug>`. With no address, we fall
112
+ * back to the scrapbook index `/dev/scrapbook/` — used only by callers
113
+ * that haven't been threaded site/slug yet.
106
114
  */
107
- export declare function renderEmptyScrapbookRow(): RawHtml;
115
+ export declare function renderEmptyScrapbookRow(address?: ScrapbookAddress): RawHtml;
108
116
  //# sourceMappingURL=scrapbook-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scrapbook-item.d.ts","sourceRoot":"","sources":["../../src/components/scrapbook-item.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAM9D,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,KACb,MAAM,GAAG,IAAI,CAAC;AAEnB,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;CACxC;AASD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,MAAM,CAQR;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAIpE;AA+DD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,4BAAiC,GACtC,OAAO,CA8DT;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAKjD"}
1
+ {"version":3,"file":"scrapbook-item.d.ts","sourceRoot":"","sources":["../../src/components/scrapbook-item.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAM9D,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,KACb,MAAM,GAAG,IAAI,CAAC;AAEnB,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;CACxC;AASD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,MAAM,CAQR;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAIpE;AA+DD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,4BAAiC,GACtC,OAAO,CA8DT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAMT"}
@@ -195,11 +195,20 @@ export function renderReadOnlyScrapbookRow(address, item, opts = {}) {
195
195
  * Render an empty-state row for a scrapbook drawer / panel that has
196
196
  * no items. Shown faded so the operator still sees the section exists
197
197
  * for this node.
198
+ *
199
+ * Issue 6 — the empty state now invites action: it points the operator
200
+ * at the scrapbook viewer for THIS node so they can drop research notes
201
+ * directly. When `address` is supplied (drawer + content-detail
202
+ * callsites both have one in scope), the link resolves to the per-entry
203
+ * viewer URL `/dev/scrapbook/<site>/<slug>`. With no address, we fall
204
+ * back to the scrapbook index `/dev/scrapbook/` — used only by callers
205
+ * that haven't been threaded site/slug yet.
198
206
  */
199
- export function renderEmptyScrapbookRow() {
207
+ export function renderEmptyScrapbookRow(address) {
208
+ const href = address ? scrapbookViewerUrl(address) : '/dev/scrapbook/';
200
209
  return unsafe(html `
201
210
  <div class="scrap scrap--empty" data-state="empty">
202
- <span class="scrap__empty-text">no scrapbook items</span>
211
+ <span class="scrap__empty-text">No items yet. <a class="scrap__empty-link" href="${href}">Drop research notes →</a></span>
203
212
  </div>`);
204
213
  }
205
214
  //# sourceMappingURL=scrapbook-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scrapbook-item.js","sourceRoot":"","sources":["../../src/components/scrapbook-item.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EACL,kBAAkB,EAClB,UAAU,GAGX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAgB,MAAM,kBAAkB,CAAC;AA2C9D,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAyB,EACzB,QAAgB,EAChB,OAA6B,EAAE;IAE/B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC3C,OAAO,2BAA2B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAyB;IAC1D,oEAAoE;IACpE,gEAAgE;IAChE,OAAO,kBAAkB,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzC,SAAS,QAAQ,CAAC,QAAgB;IAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,SAAS,CAAC,IAAuB;IACxC,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,SAAS,iBAAiB,CAAC,GAAW,EAAE,KAAa;IACnD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9C,iEAAiE;IACjE,iEAAiE;IACjE,mDAAmD;IACnD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,KAAK,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;IACtE,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CACrB,QAAgB,EAChB,OAAqC;IAErC,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAC3C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,qBAAqB,IAAI,qBAAqB,CAAC;IACnE,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;AACpD,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAyB,EACzB,IAAmB,EACnB,OAAqC,EAAE;IAEvC,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjD,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,IAAI,CAAA;qEAC+C,IAAI,CAAC,IAAI;6CACjC,OAAO;6BACvB,IAAI,CAAC,IAAI;iEAC2B,OAAO;;oCAEpC,IAAI,CAAC,IAAI;oCACT,QAAQ;qCACP,SAAS;aACjC,CAAC,CAAC;IACb,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAA;qEAC+C,IAAI,CAAC,IAAI;;;8CAGhC,OAAO,oCAAoC,IAAI,CAAC,IAAI;;oCAE9D,QAAQ;qCACP,SAAS;gDACE,OAAO,sBAAsB,IAAI,CAAC,IAAI;uCAC/C,IAAI,CAAC,IAAI;aACnC,CAAC,CAAC;IACb,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,IAAI,CAAA;4DACoC,IAAI,CAAC,IAAI,oBAAoB,IAAI,CAAC,IAAI;sCAC5D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;gDAEV,OAAO,oCAAoC,IAAI,CAAC,IAAI;;sCAE9D,QAAQ;uCACP,SAAS;+CACD,MAAM;eACtC,CAAC,CAAC;QACb,CAAC;QACD,4DAA4D;IAC9D,CAAC;IAED,oEAAoE;IACpE,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iCAAiC,CAAC;IAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACxE,OAAO,MAAM,CAAC,IAAI,CAAA;oCACgB,IAAI,CAAC,IAAI,oBAAoB,IAAI,CAAC,IAAI;kCACxC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;4CAEV,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI;;kCAE/C,QAAQ;mCACP,SAAS;WACjC,CAAC,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,MAAM,CAAC,IAAI,CAAA;;;WAGT,CAAC,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"scrapbook-item.js","sourceRoot":"","sources":["../../src/components/scrapbook-item.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ {
2
+ "press-check": {
3
+ "term": "press-check",
4
+ "gloss": "The final pre-print review of a galley proof. In the studio, the longform-review surface where margin notes are added before approval.",
5
+ "seeAlso": ["galley", "proof"]
6
+ },
7
+ "galley": {
8
+ "term": "galley",
9
+ "gloss": "A column-proof of typeset copy. In the studio, the rendered article under review.",
10
+ "seeAlso": ["proof", "press-check"]
11
+ },
12
+ "compositor": {
13
+ "term": "compositor",
14
+ "gloss": "The typesetter at the press. In the studio, the operator-and-agent pair driving the editorial workflow.",
15
+ "seeAlso": []
16
+ },
17
+ "proof": {
18
+ "term": "proof",
19
+ "gloss": "A draft printed for review. In the studio, the document state passed between pipeline stages.",
20
+ "seeAlso": ["galley", "press-check"]
21
+ },
22
+ "marginalia": {
23
+ "term": "margin notes",
24
+ "gloss": "Notes written in the margins of a proof. In the studio, the comments left on the longform-review surface.",
25
+ "seeAlso": ["press-check"]
26
+ },
27
+ "stamp": {
28
+ "term": "stamp",
29
+ "gloss": "A status badge on a proof — approved, iterating, applied, etc.",
30
+ "seeAlso": []
31
+ },
32
+ "kicker": {
33
+ "term": "kicker",
34
+ "gloss": "A small label above the title of an article — typographic context for what's about to be read.",
35
+ "seeAlso": []
36
+ },
37
+ "flat-plan": {
38
+ "term": "flat plan",
39
+ "gloss": "An editorial layout-planning document showing what runs where. In the studio, the dashboard.",
40
+ "seeAlso": []
41
+ },
42
+ "desk-inset": {
43
+ "term": "desk inset",
44
+ "gloss": "A clipboard view of a single entry under inspection — the entry-review surface.",
45
+ "seeAlso": []
46
+ },
47
+ "dispatch": {
48
+ "term": "dispatch",
49
+ "gloss": "Moving a proof through pipeline stages. In the studio, the approve / iterate / publish actions.",
50
+ "seeAlso": ["proof"]
51
+ },
52
+ "stet": {
53
+ "term": "stet",
54
+ "gloss": "A proofreading mark meaning 'let it stand' — undoes a previous correction.",
55
+ "seeAlso": []
56
+ },
57
+ "scrapbook": {
58
+ "term": "scrapbook",
59
+ "gloss": "Research material kept alongside an article — clippings, screenshots, drafts. In the studio, the per-entry research store.",
60
+ "seeAlso": []
61
+ }
62
+ }
@@ -0,0 +1,16 @@
1
+ import glossary from '../data/glossary.json';
2
+ import { type RawHtml } from '../pages/html.ts';
3
+ interface GlossaryEntry {
4
+ term: string;
5
+ gloss: string;
6
+ seeAlso?: string[];
7
+ }
8
+ type GlossaryKey = Extract<keyof typeof glossary, string>;
9
+ /**
10
+ * Emit markup for inline glossary terms.
11
+ *
12
+ * Returns a `RawHtml` marker so the html template tag inlines it without escaping.
13
+ */
14
+ export declare function gloss(key: GlossaryKey): RawHtml;
15
+ export type { GlossaryKey, GlossaryEntry };
16
+ //# sourceMappingURL=glossary-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glossary-helper.d.ts","sourceRoot":"","sources":["../../src/lib/glossary-helper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,uBAAuB,CAAuB;AACnE,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAExD,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,OAAO,QAAQ,EAAE,MAAM,CAAC,CAAC;AAc1D;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAS/C;AAED,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import glossary from '../data/glossary.json' with { type: 'json' };
2
+ import { unsafe } from "../pages/html.js";
3
+ function isKey(s) {
4
+ return Object.prototype.hasOwnProperty.call(glossary, s);
5
+ }
6
+ function escapeAttr(s) {
7
+ return s
8
+ .replaceAll('&', '&amp;')
9
+ .replaceAll('<', '&lt;')
10
+ .replaceAll('>', '&gt;')
11
+ .replaceAll('"', '&quot;');
12
+ }
13
+ /**
14
+ * Emit markup for inline glossary terms.
15
+ *
16
+ * Returns a `RawHtml` marker so the html template tag inlines it without escaping.
17
+ */
18
+ export function gloss(key) {
19
+ if (!isKey(key)) {
20
+ throw new Error(`unknown glossary term: ${String(key)}`);
21
+ }
22
+ const entry = glossary[key];
23
+ const k = escapeAttr(key);
24
+ return unsafe(`<span class="er-gloss" data-term="${k}" tabindex="0" role="button" aria-describedby="glossary-${k}">${escapeAttr(entry.term)}</span>`);
25
+ }
26
+ //# sourceMappingURL=glossary-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glossary-helper.js","sourceRoot":"","sources":["../../src/lib/glossary-helper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnE,OAAO,EAAE,MAAM,EAAgB,MAAM,kBAAkB,CAAC;AAUxD,SAAS,KAAK,CAAC,CAAS;IACtB,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC;SACL,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,GAAgB;IACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,KAAK,GAAkB,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,MAAM,CACX,qCAAqC,CAAC,2DAA2D,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CACvI,CAAC;AACJ,CAAC"}
@@ -3,24 +3,35 @@
3
3
  * surface (dashboard, longform review, shortform, content view, scrapbook,
4
4
  * help, and the studio index).
5
5
  *
6
- * Three-column grid: wordmark / nav / spine. The active surface gets a
7
- * red-pencil tick mark drawn via `::before` reads like an editor
8
- * circled where you are, not a UI selected state.
6
+ * Single component, every consumer. Markup intentionally flat (no
7
+ * inner wrapper) so the folio can flex its three children — wordmark,
8
+ * spine, nav directly. The active surface is marked with a red-pencil
9
+ * underline drawn via `::after` in editorial-nav.css.
9
10
  *
10
- * Phase 17: replaces the prior `renderEditorialChrome` (Writer's Catalog
11
- * `.ed-chrome` strip), which only the bird's-eye content view used.
12
- * The folio commits to the editorial-print design language so every
13
- * surface shares one cross-page nav. CSS lives in
14
- * `plugins/deskwork-studio/public/css/editorial-nav.css` and uses the
15
- * existing `--er-*` tokens — no new variables.
11
+ * Layout invariant: the folio is `position: fixed; top: 0` and other
12
+ * fixed chrome (the review surface's `.er-strip`) sits BELOW it at
13
+ * `top: var(--er-folio-h)`. Earlier versions used `position: sticky` +
14
+ * a lower z-index, which left the folio eclipsed by the longform
15
+ * review's strip — the user couldn't see the global nav at all on
16
+ * review pages.
16
17
  */
17
18
  import { type RawHtml } from './html.ts';
18
- export type ChromeActiveLink = 'index' | 'dashboard' | 'content' | 'reviews' | 'manual';
19
+ /**
20
+ * The set of values callers can pass as the active key. The first five
21
+ * map to a nav-item that gets `class="active"`; `'longform'` is a
22
+ * special "no nav match" key for the longform review surface — it
23
+ * carries an active context (we ARE inside a review) but no nav-item
24
+ * represents that destination, so none gets highlighted. Issue 4 fixed
25
+ * the prior behaviour where the longform review highlighted the
26
+ * shortform nav-item by prefix-matching, which was misleading.
27
+ */
28
+ export type ChromeActiveLink = 'index' | 'dashboard' | 'content' | 'shortform' | 'manual' | 'longform';
19
29
  /**
20
30
  * Render the folio strip. `spineLabel` is the page-specific subtitle
21
- * shown at the right edge ("press-check", "the shape of the work",
22
- * "index of the press", etc.). Defaults to no spine when omitted —
23
- * which collapses to a 2-column layout.
31
+ * shown to the right of the wordmark ("press-check", "the shape of the
32
+ * work", "longform · <slug>", etc.). When omitted the spine renders
33
+ * empty (an `aria-hidden` placeholder so the flex layout stays balanced
34
+ * across pages).
24
35
  */
25
36
  export declare function renderEditorialFolio(active: ChromeActiveLink, spineLabel?: string): RawHtml;
26
37
  //# sourceMappingURL=chrome.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/pages/chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,WAAW,GACX,SAAS,GACT,SAAS,GACT,QAAQ,CAAC;AAgBb;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,gBAAgB,EACxB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAoBT"}
1
+ {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/pages/chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,WAAW,GACX,SAAS,GACT,WAAW,GACX,QAAQ,GACR,UAAU,CAAC;AAgBf;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,gBAAgB,EACxB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAmBT"}
@@ -3,48 +3,49 @@
3
3
  * surface (dashboard, longform review, shortform, content view, scrapbook,
4
4
  * help, and the studio index).
5
5
  *
6
- * Three-column grid: wordmark / nav / spine. The active surface gets a
7
- * red-pencil tick mark drawn via `::before` reads like an editor
8
- * circled where you are, not a UI selected state.
6
+ * Single component, every consumer. Markup intentionally flat (no
7
+ * inner wrapper) so the folio can flex its three children — wordmark,
8
+ * spine, nav directly. The active surface is marked with a red-pencil
9
+ * underline drawn via `::after` in editorial-nav.css.
9
10
  *
10
- * Phase 17: replaces the prior `renderEditorialChrome` (Writer's Catalog
11
- * `.ed-chrome` strip), which only the bird's-eye content view used.
12
- * The folio commits to the editorial-print design language so every
13
- * surface shares one cross-page nav. CSS lives in
14
- * `plugins/deskwork-studio/public/css/editorial-nav.css` and uses the
15
- * existing `--er-*` tokens — no new variables.
11
+ * Layout invariant: the folio is `position: fixed; top: 0` and other
12
+ * fixed chrome (the review surface's `.er-strip`) sits BELOW it at
13
+ * `top: var(--er-folio-h)`. Earlier versions used `position: sticky` +
14
+ * a lower z-index, which left the folio eclipsed by the longform
15
+ * review's strip — the user couldn't see the global nav at all on
16
+ * review pages.
16
17
  */
17
18
  import { html, unsafe } from "./html.js";
18
19
  const NAV_LINKS = [
19
20
  { key: 'index', href: '/dev/', label: 'Index' },
20
21
  { key: 'dashboard', href: '/dev/editorial-studio', label: 'Dashboard' },
21
22
  { key: 'content', href: '/dev/content', label: 'Content' },
22
- { key: 'reviews', href: '/dev/editorial-review-shortform', label: 'Reviews' },
23
+ { key: 'shortform', href: '/dev/editorial-review-shortform', label: 'Shortform' },
23
24
  { key: 'manual', href: '/dev/editorial-help', label: 'Manual' },
24
25
  ];
25
26
  /**
26
27
  * Render the folio strip. `spineLabel` is the page-specific subtitle
27
- * shown at the right edge ("press-check", "the shape of the work",
28
- * "index of the press", etc.). Defaults to no spine when omitted —
29
- * which collapses to a 2-column layout.
28
+ * shown to the right of the wordmark ("press-check", "the shape of the
29
+ * work", "longform · <slug>", etc.). When omitted the spine renders
30
+ * empty (an `aria-hidden` placeholder so the flex layout stays balanced
31
+ * across pages).
30
32
  */
31
33
  export function renderEditorialFolio(active, spineLabel) {
32
34
  const links = NAV_LINKS.map((link) => {
33
35
  const cls = link.key === active ? 'active' : '';
34
- return html `<a class="${cls}" href="${link.href}">${link.label}</a>`;
36
+ const aria = link.key === active ? ' aria-current="page"' : '';
37
+ return html `<a class="${cls}" href="${link.href}"${unsafe(aria)}>${link.label}</a>`;
35
38
  }).join('');
36
39
  const spine = spineLabel
37
- ? html `<div class="er-folio-spine">${spineLabel}</div>`
38
- : '<div class="er-folio-spine" aria-hidden="true"></div>';
40
+ ? html `<span class="er-folio-spine">${spineLabel}</span>`
41
+ : '<span class="er-folio-spine" aria-hidden="true"></span>';
39
42
  return unsafe(html `
40
- <header class="er-folio">
41
- <div class="er-folio-inner">
42
- <div class="er-folio-name">deskwork <em>STUDIO</em></div>
43
- <nav class="er-folio-nav" aria-label="Studio sections">
44
- ${unsafe(links)}
45
- </nav>
46
- ${unsafe(spine)}
47
- </div>
43
+ <header class="er-folio" role="banner">
44
+ <span class="er-folio-mark">deskwork</span>
45
+ ${unsafe(spine)}
46
+ <nav class="er-folio-nav" aria-label="Studio sections">
47
+ ${unsafe(links)}
48
+ </nav>
48
49
  </header>`);
49
50
  }
50
51
  //# sourceMappingURL=chrome.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/pages/chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAgB,MAAM,WAAW,CAAC;AAevD,MAAM,SAAS,GAAyB;IACtC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/C,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,EAAE;IACvE,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE;IAC1D,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,SAAS,EAAE;IAC7E,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE;CAChE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAwB,EACxB,UAAmB;IAEnB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAA,aAAa,GAAG,WAAW,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,MAAM,CAAC;IACvE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,MAAM,KAAK,GAAG,UAAU;QACtB,CAAC,CAAC,IAAI,CAAA,+BAA+B,UAAU,QAAQ;QACvD,CAAC,CAAC,uDAAuD,CAAC;IAE5D,OAAO,MAAM,CAAC,IAAI,CAAA;;;;;YAKR,MAAM,CAAC,KAAK,CAAC;;UAEf,MAAM,CAAC,KAAK,CAAC;;cAET,CAAC,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/pages/chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAgB,MAAM,WAAW,CAAC;AAyBvD,MAAM,SAAS,GAAyB;IACtC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/C,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,EAAE;IACvE,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE;IAC1D,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,WAAW,EAAE;IACjF,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE;CAChE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAwB,EACxB,UAAmB;IAEnB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAA,aAAa,GAAG,WAAW,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,MAAM,CAAC;IACtF,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,MAAM,KAAK,GAAG,UAAU;QACtB,CAAC,CAAC,IAAI,CAAA,gCAAgC,UAAU,SAAS;QACzD,CAAC,CAAC,yDAAyD,CAAC;IAE9D,OAAO,MAAM,CAAC,IAAI,CAAA;;;QAGZ,MAAM,CAAC,KAAK,CAAC;;UAEX,MAAM,CAAC,KAAK,CAAC;;cAET,CAAC,CAAC;AAChB,CAAC"}
@@ -3,29 +3,40 @@
3
3
  * surface (dashboard, longform review, shortform, content view, scrapbook,
4
4
  * help, and the studio index).
5
5
  *
6
- * Three-column grid: wordmark / nav / spine. The active surface gets a
7
- * red-pencil tick mark drawn via `::before` reads like an editor
8
- * circled where you are, not a UI selected state.
6
+ * Single component, every consumer. Markup intentionally flat (no
7
+ * inner wrapper) so the folio can flex its three children — wordmark,
8
+ * spine, nav directly. The active surface is marked with a red-pencil
9
+ * underline drawn via `::after` in editorial-nav.css.
9
10
  *
10
- * Phase 17: replaces the prior `renderEditorialChrome` (Writer's Catalog
11
- * `.ed-chrome` strip), which only the bird's-eye content view used.
12
- * The folio commits to the editorial-print design language so every
13
- * surface shares one cross-page nav. CSS lives in
14
- * `plugins/deskwork-studio/public/css/editorial-nav.css` and uses the
15
- * existing `--er-*` tokens — no new variables.
11
+ * Layout invariant: the folio is `position: fixed; top: 0` and other
12
+ * fixed chrome (the review surface's `.er-strip`) sits BELOW it at
13
+ * `top: var(--er-folio-h)`. Earlier versions used `position: sticky` +
14
+ * a lower z-index, which left the folio eclipsed by the longform
15
+ * review's strip — the user couldn't see the global nav at all on
16
+ * review pages.
16
17
  */
17
18
 
18
19
  import { html, unsafe, type RawHtml } from './html.ts';
19
20
 
21
+ /**
22
+ * The set of values callers can pass as the active key. The first five
23
+ * map to a nav-item that gets `class="active"`; `'longform'` is a
24
+ * special "no nav match" key for the longform review surface — it
25
+ * carries an active context (we ARE inside a review) but no nav-item
26
+ * represents that destination, so none gets highlighted. Issue 4 fixed
27
+ * the prior behaviour where the longform review highlighted the
28
+ * shortform nav-item by prefix-matching, which was misleading.
29
+ */
20
30
  export type ChromeActiveLink =
21
31
  | 'index'
22
32
  | 'dashboard'
23
33
  | 'content'
24
- | 'reviews'
25
- | 'manual';
34
+ | 'shortform'
35
+ | 'manual'
36
+ | 'longform';
26
37
 
27
38
  interface FolioLink {
28
- key: ChromeActiveLink;
39
+ key: Exclude<ChromeActiveLink, 'longform'>;
29
40
  href: string;
30
41
  label: string;
31
42
  }
@@ -34,15 +45,16 @@ const NAV_LINKS: readonly FolioLink[] = [
34
45
  { key: 'index', href: '/dev/', label: 'Index' },
35
46
  { key: 'dashboard', href: '/dev/editorial-studio', label: 'Dashboard' },
36
47
  { key: 'content', href: '/dev/content', label: 'Content' },
37
- { key: 'reviews', href: '/dev/editorial-review-shortform', label: 'Reviews' },
48
+ { key: 'shortform', href: '/dev/editorial-review-shortform', label: 'Shortform' },
38
49
  { key: 'manual', href: '/dev/editorial-help', label: 'Manual' },
39
50
  ];
40
51
 
41
52
  /**
42
53
  * Render the folio strip. `spineLabel` is the page-specific subtitle
43
- * shown at the right edge ("press-check", "the shape of the work",
44
- * "index of the press", etc.). Defaults to no spine when omitted —
45
- * which collapses to a 2-column layout.
54
+ * shown to the right of the wordmark ("press-check", "the shape of the
55
+ * work", "longform · <slug>", etc.). When omitted the spine renders
56
+ * empty (an `aria-hidden` placeholder so the flex layout stays balanced
57
+ * across pages).
46
58
  */
47
59
  export function renderEditorialFolio(
48
60
  active: ChromeActiveLink,
@@ -50,21 +62,20 @@ export function renderEditorialFolio(
50
62
  ): RawHtml {
51
63
  const links = NAV_LINKS.map((link) => {
52
64
  const cls = link.key === active ? 'active' : '';
53
- return html`<a class="${cls}" href="${link.href}">${link.label}</a>`;
65
+ const aria = link.key === active ? ' aria-current="page"' : '';
66
+ return html`<a class="${cls}" href="${link.href}"${unsafe(aria)}>${link.label}</a>`;
54
67
  }).join('');
55
68
 
56
69
  const spine = spineLabel
57
- ? html`<div class="er-folio-spine">${spineLabel}</div>`
58
- : '<div class="er-folio-spine" aria-hidden="true"></div>';
70
+ ? html`<span class="er-folio-spine">${spineLabel}</span>`
71
+ : '<span class="er-folio-spine" aria-hidden="true"></span>';
59
72
 
60
73
  return unsafe(html`
61
- <header class="er-folio">
62
- <div class="er-folio-inner">
63
- <div class="er-folio-name">deskwork <em>STUDIO</em></div>
64
- <nav class="er-folio-nav" aria-label="Studio sections">
65
- ${unsafe(links)}
66
- </nav>
67
- ${unsafe(spine)}
68
- </div>
74
+ <header class="er-folio" role="banner">
75
+ <span class="er-folio-mark">deskwork</span>
76
+ ${unsafe(spine)}
77
+ <nav class="er-folio-nav" aria-label="Studio sections">
78
+ ${unsafe(links)}
79
+ </nav>
69
80
  </header>`);
70
81
  }
@@ -122,7 +122,7 @@ function makeInlineTextLoaderForNode(ctx, site, node, index) {
122
122
  }
123
123
  function renderScrapbookList(site, slug, summary, loader) {
124
124
  if (!summary || (summary.items.length === 0 && summary.secretItems.length === 0)) {
125
- return renderEmptyScrapbookRow();
125
+ return renderEmptyScrapbookRow({ site, path: slug });
126
126
  }
127
127
  const itemRows = summary.items.map((item) => renderReadOnlyScrapbookRow({ site, path: slug }, item, {
128
128
  inlinePreviewLoader: loader,
@@ -1 +1 @@
1
- {"version":3,"file":"content-detail.js","sourceRoot":"","sources":["../../src/pages/content-detail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-detail.js","sourceRoot":"","sources":["../../src/pages/content-detail.ts"],"names":[],"mappings":"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"}
@@ -164,7 +164,7 @@ function renderScrapbookList(
164
164
  loader: InlineTextLoader,
165
165
  ): RawHtml {
166
166
  if (!summary || (summary.items.length === 0 && summary.secretItems.length === 0)) {
167
- return renderEmptyScrapbookRow();
167
+ return renderEmptyScrapbookRow({ site, path: slug });
168
168
  }
169
169
  const itemRows = summary.items.map((item) =>
170
170
  renderReadOnlyScrapbookRow({ site, path: slug }, item, {
@@ -110,7 +110,7 @@ function renderEntryReview(entry, artifactBody, artifactPath, affordances) {
110
110
  </main>`;
111
111
  return layout({
112
112
  title: `${entry.title} — entry review — dev`,
113
- cssHrefs: ['/static/css/editorial-review.css'],
113
+ cssHrefs: ['/static/css/editorial-review.css', '/static/css/entry-review.css'],
114
114
  bodyAttrs: 'data-review-ui="entry-review"',
115
115
  bodyHtml: body,
116
116
  scriptModules: ['entry-review-client'],
@@ -126,7 +126,7 @@ function renderNotFound(entryId, reason) {
126
126
  </main>`;
127
127
  return layout({
128
128
  title: 'Entry not found — dev',
129
- cssHrefs: ['/static/css/editorial-review.css'],
129
+ cssHrefs: ['/static/css/editorial-review.css', '/static/css/entry-review.css'],
130
130
  bodyAttrs: 'data-review-ui="entry-review-missing"',
131
131
  bodyHtml: body,
132
132
  scriptModules: [],
@@ -1 +1 @@
1
- {"version":3,"file":"entry-review.js","sourceRoot":"","sources":["../../src/pages/entry-review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-review.js","sourceRoot":"","sources":["../../src/pages/entry-review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAgB,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,oBAAoB,GAAG;IAC3B,OAAO;IACP,SAAS;IACT,WAAW;IACX,UAAU;IACV,OAAO;CACC,CAAC;AAEX,MAAM,cAAc,GAAqC;IACvD,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,2BAA2B,EAAE,kBAAkB;IAC/C,WAAW,EAAE,WAAW;IACxB,kBAAkB,EAAE,eAAe;IACnC,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,SAAS,aAAa,CAAC,OAAe,EAAE,KAAY;IAClD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;IACjD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAA,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CACxD,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAA;;+CAEyB,KAAK;oDACA,KAAK,CAAC,IAAI;YAClD,OAAO;;eAEJ,CAAC,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,2BAA2B,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAA,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CACxD,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAA;;+CAEyB,KAAK;wDACI,KAAK,CAAC,IAAI;YACtD,OAAO;;eAEJ,CAAC,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAA,6DAA6D,KAAK,SAAS,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACnC,OAAO,MAAM,CACX,IAAI,CAAA,wGAAwG,KAAK,WAAW,CAC7H,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CACX,IAAI,CAAA,yFAAyF,OAAO,sBAAsB,KAAK,CAAC,IAAI,KAAK,KAAK,WAAW,CAC1J,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAY,EAAE,WAAwB;IAC5D,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO;QACnC,CAAC,CAAC,8CAA8C;QAChD,CAAC,CAAC,+CAA+C,CAAC;IACpD,OAAO,MAAM,CAAC,IAAI,CAAA,eAAe,SAAS,iCAAiC,OAAO,QAAQ,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,OAAgB;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC,IAAI,CAAA;kFAC4D,IAAI,aAAa,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAA;8EAC0D,IAAI,QAAQ,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAY,EACZ,YAAoB,EACpB,YAAoB,EACpB,WAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,CACvB,IAAI,CAAA,4CAA4C,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,SAAS,CACnG,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU;QACjC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA,kDAAkD,KAAK,CAAC,UAAU,SAAS,CAAC;QACzF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,GAAG,IAAI,CAAA;oDACiC,KAAK,CAAC,IAAI;;;qCAGzB,KAAK,CAAC,KAAK;;YAEpC,UAAU;YACV,UAAU;wCACkB,KAAK,CAAC,IAAI;;kDAEA,YAAY;;QAEtD,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;;UAEhC,cAAc,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC;;YAE/C,CAAC;IACX,OAAO,MAAM,CAAC;QACZ,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,uBAAuB;QAC5C,QAAQ,EAAE,CAAC,kCAAkC,EAAE,8BAA8B,CAAC;QAC9E,SAAS,EAAE,+BAA+B;QAC1C,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,CAAC,qBAAqB,CAAC;KACvC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAAc;IACrD,MAAM,IAAI,GAAG,IAAI,CAAA;;;oCAGiB,OAAO;mCACR,MAAM;;YAE7B,CAAC;IACX,OAAO,MAAM,CAAC;QACZ,KAAK,EAAE,uBAAuB;QAC9B,QAAQ,EAAE,CAAC,kCAAkC,EAAE,8BAA8B,CAAC;QAC9E,SAAS,EAAE,uCAAuC;QAClD,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,EAAE;KAClB,CAAC,CAAC;AACL,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAmB,EACnB,OAAe;IAEf,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;IAChE,CAAC;IACD,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,iBAAiB,CAC5B,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,YAAY,EACrB,WAAW,CACZ,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC"}
@@ -134,7 +134,7 @@ function renderEntryReview(
134
134
  </main>`;
135
135
  return layout({
136
136
  title: `${entry.title} — entry review — dev`,
137
- cssHrefs: ['/static/css/editorial-review.css'],
137
+ cssHrefs: ['/static/css/editorial-review.css', '/static/css/entry-review.css'],
138
138
  bodyAttrs: 'data-review-ui="entry-review"',
139
139
  bodyHtml: body,
140
140
  scriptModules: ['entry-review-client'],
@@ -151,7 +151,7 @@ function renderNotFound(entryId: string, reason: string): string {
151
151
  </main>`;
152
152
  return layout({
153
153
  title: 'Entry not found — dev',
154
- cssHrefs: ['/static/css/editorial-review.css'],
154
+ cssHrefs: ['/static/css/editorial-review.css', '/static/css/entry-review.css'],
155
155
  bodyAttrs: 'data-review-ui="entry-review-missing"',
156
156
  bodyHtml: body,
157
157
  scriptModules: [],
@@ -32,4 +32,6 @@ export declare function escapeHtml(s: string): string;
32
32
  * values run through `renderValue`.
33
33
  */
34
34
  export declare function html(strings: TemplateStringsArray, ...values: unknown[]): string;
35
+ export { gloss } from '../lib/glossary-helper.ts';
36
+ export type { GlossaryKey } from '../lib/glossary-helper.ts';
35
37
  //# sourceMappingURL=html.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/pages/html.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,wCAAwC;AACxC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEzC;AAYD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO5C;AAeD;;;GAGG;AACH,wBAAgB,IAAI,CAClB,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,OAAO,EAAE,GACnB,MAAM,CAOR"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/pages/html.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,wCAAwC;AACxC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEzC;AAYD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO5C;AAeD;;;GAGG;AACH,wBAAgB,IAAI,CAClB,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,OAAO,EAAE,GACnB,MAAM,CAOR;AAGD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
@@ -70,4 +70,6 @@ export function html(strings, ...values) {
70
70
  }
71
71
  return out;
72
72
  }
73
+ // Re-export glossary helpers so page renderers can use them in template literals
74
+ export { gloss } from "../lib/glossary-helper.js";
73
75
  //# sourceMappingURL=html.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/pages/html.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AACtB,CAAC;AAED,2CAA2C;AAC3C,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,IAAI,KAAK;QAChB,OAAQ,KAA4B,CAAC,KAAK,KAAK,QAAQ,CACxD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC;SACL,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IACxE,IAAI,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACjF,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,yEAAyE;IACzE,mEAAmE;IACnE,kEAAkE;IAClE,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI,CAClB,OAA6B,EAC7B,GAAG,MAAiB;IAEpB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM;YAAE,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/pages/html.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AACtB,CAAC;AAED,2CAA2C;AAC3C,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,IAAI,KAAK;QAChB,OAAQ,KAA4B,CAAC,KAAK,KAAK,QAAQ,CACxD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC;SACL,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IACxE,IAAI,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACjF,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,yEAAyE;IACzE,mEAAmE;IACnE,kEAAkE;IAClE,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI,CAClB,OAA6B,EAC7B,GAAG,MAAiB;IAEpB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM;YAAE,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iFAAiF;AACjF,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC"}
@@ -78,3 +78,7 @@ export function html(
78
78
  }
79
79
  return out;
80
80
  }
81
+
82
+ // Re-export glossary helpers so page renderers can use them in template literals
83
+ export { gloss } from '../lib/glossary-helper.ts';
84
+ export type { GlossaryKey } from '../lib/glossary-helper.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/pages/layout.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CA8CrD"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/pages/layout.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAoDrD"}