@eightyfourthousand/lib-editing 2026.5.5 → 2026.6.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 (95) hide show
  1. package/lib/components/editor/EditorBackMatterPage.js +7 -3
  2. package/lib/components/editor/EditorBackMatterPage.js.map +1 -1
  3. package/lib/components/editor/EditorBodyPage.js +7 -3
  4. package/lib/components/editor/EditorBodyPage.js.map +1 -1
  5. package/lib/components/editor/PaginationProvider.d.ts +2 -1
  6. package/lib/components/editor/PaginationProvider.js +40 -13
  7. package/lib/components/editor/PaginationProvider.js.map +1 -1
  8. package/lib/components/editor/TranslationBuilder.d.ts +1 -1
  9. package/lib/components/editor/TranslationBuilder.js +2 -2
  10. package/lib/components/editor/TranslationBuilder.js.map +1 -1
  11. package/lib/components/editor/extensions/DragHandle/DragHandle.d.ts +1 -1
  12. package/lib/components/editor/extensions/DragHandle/DragHandle.js.map +1 -1
  13. package/lib/components/editor/extensions/EndNoteLink/EndNoteLinkMark.js +5 -1
  14. package/lib/components/editor/extensions/EndNoteLink/EndNoteLinkMark.js.map +1 -1
  15. package/lib/components/editor/extensions/Foreign/Foreign.js +1 -1
  16. package/lib/components/editor/extensions/GlobalConfig.d.ts +3 -1
  17. package/lib/components/editor/extensions/Line/LineNode.d.ts +3 -1
  18. package/lib/components/editor/extensions/Line/LineNode.ssr.d.ts +3 -1
  19. package/lib/components/editor/extensions/LineGroup/LineGroupNode.d.ts +6 -1
  20. package/lib/components/editor/extensions/LineGroup/LineGroupNode.ssr.d.ts +6 -1
  21. package/lib/components/editor/extensions/Mention/Mention.js +5 -1
  22. package/lib/components/editor/extensions/Mention/Mention.js.map +1 -1
  23. package/lib/components/editor/extensions/Mention/Mention.ssr.js +6 -4
  24. package/lib/components/editor/extensions/Mention/Mention.ssr.js.map +1 -1
  25. package/lib/components/editor/extensions/Passage/Passage.js +1 -1
  26. package/lib/components/editor/extensions/Passage/Passage.js.map +1 -1
  27. package/lib/components/editor/extensions/Passage/PassageNode.js +60 -3
  28. package/lib/components/editor/extensions/Passage/PassageNode.js.map +1 -1
  29. package/lib/components/editor/extensions/PipeNotItalic.d.ts +2 -0
  30. package/lib/components/editor/extensions/PipeNotItalic.js +90 -0
  31. package/lib/components/editor/extensions/PipeNotItalic.js.map +1 -0
  32. package/lib/components/editor/extensions/translationSSRExtensions.js +2 -0
  33. package/lib/components/editor/extensions/translationSSRExtensions.js.map +1 -1
  34. package/lib/components/editor/hooks/useTranslationExtensions.d.ts +10 -1
  35. package/lib/components/editor/hooks/useTranslationExtensions.js +2 -0
  36. package/lib/components/editor/hooks/useTranslationExtensions.js.map +1 -1
  37. package/lib/components/editor/menus/EmptyBubbleMenu.js +6 -2
  38. package/lib/components/editor/menus/EmptyBubbleMenu.js.map +1 -1
  39. package/lib/components/editor/menus/MainBubbleMenu.js +6 -2
  40. package/lib/components/editor/menus/MainBubbleMenu.js.map +1 -1
  41. package/lib/components/editor/menus/TranslationBubbleMenu.js +6 -2
  42. package/lib/components/editor/menus/TranslationBubbleMenu.js.map +1 -1
  43. package/lib/components/editor/menus/index.d.ts +1 -0
  44. package/lib/components/editor/menus/index.js +1 -0
  45. package/lib/components/editor/menus/index.js.map +1 -1
  46. package/lib/components/editor/menus/useDismissBubbleMenu.d.ts +8 -0
  47. package/lib/components/editor/menus/useDismissBubbleMenu.js +35 -0
  48. package/lib/components/editor/menus/useDismissBubbleMenu.js.map +1 -0
  49. package/lib/components/reader/ReaderBackMatterPage.js +2 -2
  50. package/lib/components/reader/ReaderBackMatterPage.js.map +1 -1
  51. package/lib/components/reader/ReaderBackMatterPanel.d.ts +3 -1
  52. package/lib/components/reader/ReaderBackMatterPanel.js +3 -3
  53. package/lib/components/reader/ReaderBackMatterPanel.js.map +1 -1
  54. package/lib/components/reader/ReaderBodyPage.js +5 -4
  55. package/lib/components/reader/ReaderBodyPage.js.map +1 -1
  56. package/lib/components/reader/ReaderBodyPanel.d.ts +5 -2
  57. package/lib/components/reader/ReaderBodyPanel.js +24 -5
  58. package/lib/components/reader/ReaderBodyPanel.js.map +1 -1
  59. package/lib/components/reader/ReaderLayout.d.ts +3 -1
  60. package/lib/components/reader/ReaderLayout.js +2 -3
  61. package/lib/components/reader/ReaderLayout.js.map +1 -1
  62. package/lib/components/reader/TranslationReader.d.ts +1 -1
  63. package/lib/components/reader/TranslationReader.js +2 -2
  64. package/lib/components/reader/TranslationReader.js.map +1 -1
  65. package/lib/components/reader/TranslationSSRContent.js +6 -2
  66. package/lib/components/reader/TranslationSSRContent.js.map +1 -1
  67. package/lib/components/shared/BackMatterPanel.d.ts +3 -1
  68. package/lib/components/shared/BackMatterPanel.js +3 -1
  69. package/lib/components/shared/BackMatterPanel.js.map +1 -1
  70. package/lib/components/shared/BodyPanel.d.ts +5 -3
  71. package/lib/components/shared/BodyPanel.js +17 -25
  72. package/lib/components/shared/BodyPanel.js.map +1 -1
  73. package/lib/components/shared/FocusToggleButton.d.ts +1 -0
  74. package/lib/components/shared/FocusToggleButton.js +13 -0
  75. package/lib/components/shared/FocusToggleButton.js.map +1 -0
  76. package/lib/components/shared/NavigationContext.d.ts +2 -0
  77. package/lib/components/shared/NavigationContext.js +2 -0
  78. package/lib/components/shared/NavigationContext.js.map +1 -1
  79. package/lib/components/shared/NavigationProvider.d.ts +3 -1
  80. package/lib/components/shared/NavigationProvider.js +7 -2
  81. package/lib/components/shared/NavigationProvider.js.map +1 -1
  82. package/lib/components/shared/SourceReader.js +249 -27
  83. package/lib/components/shared/SourceReader.js.map +1 -1
  84. package/lib/components/shared/ThreeColumnRenderer.d.ts +2 -1
  85. package/lib/components/shared/ThreeColumnRenderer.js +6 -5
  86. package/lib/components/shared/ThreeColumnRenderer.js.map +1 -1
  87. package/lib/components/shared/TranslationPlaceholder.d.ts +4 -0
  88. package/lib/components/shared/TranslationPlaceholder.js +13 -0
  89. package/lib/components/shared/TranslationPlaceholder.js.map +1 -0
  90. package/lib/components/shared/index.d.ts +1 -0
  91. package/lib/components/shared/index.js +1 -0
  92. package/lib/components/shared/index.js.map +1 -1
  93. package/lib/components/shared/types.d.ts +14 -0
  94. package/lib/components/shared/types.js.map +1 -1
  95. package/package.json +27 -27
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationProvider.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/NavigationProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavigationProvider.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/NavigationProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,48 +1,270 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useInView } from 'motion/react';
4
- import { useCallback, useEffect, useRef, useState } from 'react';
4
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState, } from 'react';
5
5
  import { useNavigation } from './NavigationProvider';
6
- import { createGraphQLClient, getWorkFolios, } from '@eightyfourthousand/client-graphql';
6
+ import { createGraphQLClient, getWorkFolios, getWorkFoliosAround, } from '@eightyfourthousand/client-graphql';
7
7
  import { LabeledElement } from './LabeledElement';
8
8
  import { PassageSkeleton } from './PassageSkeleton';
9
- import { LotusPond } from '@eightyfourthousand/design-system';
9
+ import { isUuid, scrollToElement, useIsMobile, } from '@eightyfourthousand/lib-utils';
10
+ import { LotusPond, SHEET_ANIMATION_DURATION, } from '@eightyfourthousand/design-system';
11
+ import { findScrollParent } from './hooks/useScrollPositionRestore';
10
12
  const PAGE_SIZE = 10;
11
13
  export const SourceReader = () => {
12
- const [page, setPage] = useState(0);
13
- const [hasMore, setHasMore] = useState(true);
14
+ // Window of loaded folios plus its absolute position within the work's
15
+ // ordered folio list. `loadedStart` is the absolute index of `folios[0]`,
16
+ // so the window covers [loadedStart, loadedStart + folios.length).
14
17
  const [folios, setFolios] = useState([]);
15
- const { toh, uuid } = useNavigation();
18
+ const [loadedStart, setLoadedStart] = useState(0);
19
+ const [hasMoreBefore, setHasMoreBefore] = useState(false);
20
+ const [hasMoreAfter, setHasMoreAfter] = useState(true);
21
+ const [loadingBefore, setLoadingBefore] = useState(false);
22
+ const [loadingAfter, setLoadingAfter] = useState(false);
23
+ const [initialized, setInitialized] = useState(false);
24
+ const { toh, uuid, panels, updatePanel } = useNavigation();
25
+ const isMobile = useIsMobile();
26
+ const client = useMemo(() => createGraphQLClient(), []);
27
+ const containerRef = useRef(null);
16
28
  const loadMoreRef = useRef(null);
17
- const shouldLoadMore = useInView(loadMoreRef);
18
- const graphqlClient = createGraphQLClient();
19
- const fetchMore = useCallback(async () => {
20
- if (!toh || !uuid)
29
+ const loadMoreBeforeRef = useRef(null);
30
+ const scrollParentRef = useRef(null);
31
+ const inViewAfter = useInView(loadMoreRef);
32
+ const inViewBefore = useInView(loadMoreBeforeRef);
33
+ // Guards a deep-link navigation so sentinel-driven loads don't prepend/append
34
+ // (shifting the target) while we're scrolling to it.
35
+ const navigatingRef = useRef(false);
36
+ const processedHashRef = useRef(undefined);
37
+ // When prepending, the scroll position must be anchored so the viewport
38
+ // doesn't jump. We capture the pre-prepend metrics here and restore in a
39
+ // layout effect once the new folios have rendered.
40
+ const pendingAnchorRef = useRef(null);
41
+ // Only react to a source-tab hash (the deep-link target folio uuid).
42
+ const panelHash = panels.main?.tab === 'source' ? panels.main?.hash : undefined;
43
+ const getScrollParent = useCallback(() => {
44
+ if (!scrollParentRef.current && containerRef.current) {
45
+ scrollParentRef.current = findScrollParent(containerRef.current);
46
+ }
47
+ return scrollParentRef.current;
48
+ }, []);
49
+ // Reset when the work changes; the initialization effect will repopulate.
50
+ useEffect(() => {
51
+ setFolios([]);
52
+ setLoadedStart(0);
53
+ setHasMoreBefore(false);
54
+ setHasMoreAfter(true);
55
+ setLoadingBefore(false);
56
+ setLoadingAfter(false);
57
+ setInitialized(false);
58
+ processedHashRef.current = undefined;
59
+ scrollParentRef.current = null;
60
+ }, [toh, uuid]);
61
+ // Initial load. When there's no deep-link hash, load from the top (folio 0).
62
+ // When a hash is present, the navigation effect seeds the window around the
63
+ // target instead, so we skip the top load here.
64
+ useEffect(() => {
65
+ if (initialized || !toh || !uuid || panelHash) {
21
66
  return;
22
- const folios = await getWorkFolios({
23
- client: graphqlClient,
67
+ }
68
+ let cancelled = false;
69
+ (async () => {
70
+ const first = await getWorkFolios({
71
+ client,
72
+ uuid,
73
+ toh,
74
+ offset: 0,
75
+ size: PAGE_SIZE,
76
+ });
77
+ if (cancelled) {
78
+ return;
79
+ }
80
+ setFolios(first);
81
+ setLoadedStart(0);
82
+ setHasMoreBefore(false);
83
+ setHasMoreAfter(first.length >= PAGE_SIZE);
84
+ setInitialized(true);
85
+ })();
86
+ return () => {
87
+ cancelled = true;
88
+ };
89
+ }, [initialized, toh, uuid, panelHash, client]);
90
+ const loadAfter = useCallback(async () => {
91
+ if (!initialized ||
92
+ !toh ||
93
+ !uuid ||
94
+ loadingAfter ||
95
+ !hasMoreAfter ||
96
+ navigatingRef.current) {
97
+ return;
98
+ }
99
+ setLoadingAfter(true);
100
+ const offset = loadedStart + folios.length;
101
+ const next = await getWorkFolios({
102
+ client,
24
103
  uuid,
25
104
  toh,
26
- page,
105
+ offset,
27
106
  size: PAGE_SIZE,
28
107
  });
29
- if (folios.length) {
30
- setPage((prevPage) => prevPage + 1);
31
- setFolios((prevFolios) => [...prevFolios, ...folios]);
32
- setHasMore(folios.length >= PAGE_SIZE);
108
+ setFolios((prev) => [...prev, ...next]);
109
+ setHasMoreAfter(next.length >= PAGE_SIZE);
110
+ setLoadingAfter(false);
111
+ }, [
112
+ initialized,
113
+ toh,
114
+ uuid,
115
+ loadingAfter,
116
+ hasMoreAfter,
117
+ loadedStart,
118
+ folios.length,
119
+ client,
120
+ ]);
121
+ const loadBefore = useCallback(async () => {
122
+ if (!initialized ||
123
+ !toh ||
124
+ !uuid ||
125
+ loadingBefore ||
126
+ !hasMoreBefore ||
127
+ loadedStart <= 0 ||
128
+ navigatingRef.current) {
129
+ return;
33
130
  }
34
- }, [toh, uuid, page, graphqlClient]);
131
+ setLoadingBefore(true);
132
+ const newStart = Math.max(0, loadedStart - PAGE_SIZE);
133
+ const size = loadedStart - newStart;
134
+ const before = await getWorkFolios({
135
+ client,
136
+ uuid,
137
+ toh,
138
+ offset: newStart,
139
+ size,
140
+ });
141
+ // Capture scroll metrics immediately before the prepend so the layout
142
+ // effect can keep the viewport anchored.
143
+ const scrollEl = getScrollParent();
144
+ pendingAnchorRef.current = scrollEl
145
+ ? { prevHeight: scrollEl.scrollHeight, prevTop: scrollEl.scrollTop }
146
+ : null;
147
+ setFolios((prev) => [...before, ...prev]);
148
+ setLoadedStart(newStart);
149
+ setHasMoreBefore(newStart > 0);
150
+ setLoadingBefore(false);
151
+ }, [
152
+ initialized,
153
+ toh,
154
+ uuid,
155
+ loadingBefore,
156
+ hasMoreBefore,
157
+ loadedStart,
158
+ client,
159
+ getScrollParent,
160
+ ]);
161
+ // Restore scroll position after a prepend so the viewport stays put.
162
+ useLayoutEffect(() => {
163
+ const anchor = pendingAnchorRef.current;
164
+ const scrollEl = scrollParentRef.current;
165
+ if (anchor && scrollEl) {
166
+ scrollEl.scrollTop =
167
+ anchor.prevTop + (scrollEl.scrollHeight - anchor.prevHeight);
168
+ pendingAnchorRef.current = null;
169
+ }
170
+ }, [folios]);
35
171
  useEffect(() => {
36
- if (shouldLoadMore && hasMore) {
37
- fetchMore();
172
+ if (inViewAfter) {
173
+ loadAfter();
38
174
  }
39
- }, [shouldLoadMore, hasMore, fetchMore]);
175
+ }, [inViewAfter, loadAfter]);
40
176
  useEffect(() => {
41
- // Reset when uuid or toh changes
42
- setFolios([]);
43
- setPage(0);
44
- setHasMore(true);
45
- }, [toh, uuid]);
46
- return (_jsxs("div", { className: "pt-12 flex flex-col gap-5 mx-auto max-w-readable 2xl:max-w-380", children: [folios.map((folio, index) => (_jsx(LabeledElement, { id: folio.uuid, label: `f.${folio.folio}.${folio.side}\nvol.${folio.volume}`, className: "mt-0.5", contentType: "source", excerpt: folio.content.slice(0, 100), children: folio.content ? (_jsx("div", { className: "leading-7 min-h-8 font-tibetan text-lg 2xl:whitespace-pre-wrap whitespace-normal", children: folio.content })) : (_jsx("div", { className: "h-12 text-center text-muted-foreground", children: "[blank]" })) }, index))), _jsx("div", { ref: loadMoreRef, className: "h-0" }), hasMore ? (_jsx(_Fragment, { children: Array.from({ length: 3 }).map((_, i) => (_jsx(PassageSkeleton, {}, i))) })) : (_jsx("div", { className: "w-full pt-16 pb-6", children: _jsx(LotusPond, { className: "mx-auto w-96" }) }))] }));
177
+ if (inViewBefore) {
178
+ loadBefore();
179
+ }
180
+ }, [inViewBefore, loadBefore]);
181
+ // Deep-link navigation: scroll to a target folio, loading a window around it
182
+ // first if it isn't already in the DOM.
183
+ useEffect(() => {
184
+ const container = containerRef.current;
185
+ if (!container || !panelHash || !toh || !uuid) {
186
+ return;
187
+ }
188
+ if (processedHashRef.current === panelHash) {
189
+ return;
190
+ }
191
+ processedHashRef.current = panelHash;
192
+ const clearHash = () => {
193
+ updatePanel({
194
+ name: 'main',
195
+ state: { ...panels.main, hash: undefined },
196
+ });
197
+ };
198
+ (async () => {
199
+ navigatingRef.current = true;
200
+ try {
201
+ // On mobile, wait for the panel Sheet animation before scrolling.
202
+ if (isMobile) {
203
+ await new Promise((resolve) => setTimeout(resolve, SHEET_ANIMATION_DURATION));
204
+ }
205
+ let element = container.querySelector(`#${CSS.escape(panelHash)}`);
206
+ if (!element && isUuid(panelHash)) {
207
+ const around = await getWorkFoliosAround({
208
+ client,
209
+ uuid,
210
+ toh,
211
+ folioUuid: panelHash,
212
+ });
213
+ if (!around) {
214
+ clearHash();
215
+ return;
216
+ }
217
+ setFolios(around.folios);
218
+ setLoadedStart(around.startIndex);
219
+ setHasMoreBefore(around.hasMoreBefore);
220
+ setHasMoreAfter(around.hasMoreAfter);
221
+ setInitialized(true);
222
+ // Wait for the window to render and the target's position to settle.
223
+ await new Promise((resolve) => {
224
+ let stabilityCount = 0;
225
+ let lastTop = -1;
226
+ const checkStability = () => {
227
+ const el = container.querySelector(`#${CSS.escape(panelHash)}`);
228
+ if (!el) {
229
+ requestAnimationFrame(checkStability);
230
+ return;
231
+ }
232
+ const currentTop = el.getBoundingClientRect().top;
233
+ if (currentTop === lastTop) {
234
+ stabilityCount++;
235
+ if (stabilityCount >= 2) {
236
+ resolve();
237
+ return;
238
+ }
239
+ }
240
+ else {
241
+ stabilityCount = 0;
242
+ }
243
+ lastTop = currentTop;
244
+ requestAnimationFrame(checkStability);
245
+ };
246
+ requestAnimationFrame(checkStability);
247
+ });
248
+ element = container.querySelector(`#${CSS.escape(panelHash)}`);
249
+ }
250
+ if (!element) {
251
+ clearHash();
252
+ return;
253
+ }
254
+ await scrollToElement({ element });
255
+ clearHash();
256
+ }
257
+ catch (error) {
258
+ console.error('Folio navigation failed:', error);
259
+ }
260
+ finally {
261
+ navigatingRef.current = false;
262
+ }
263
+ })();
264
+ // `panels` is intentionally excluded: we only read its current value when
265
+ // clearing the hash. Including it would loop, since updatePanel() creates a
266
+ // new panels object on every call.
267
+ }, [panelHash, toh, uuid, isMobile, client, updatePanel]);
268
+ return (_jsxs("div", { ref: containerRef, className: "pt-12 flex flex-col gap-5 mx-auto max-w-readable 2xl:max-w-380", children: [_jsx("div", { ref: loadMoreBeforeRef, className: "h-0" }), hasMoreBefore && (_jsx(_Fragment, { children: Array.from({ length: 3 }).map((_, i) => (_jsx(PassageSkeleton, {}, `before-${i}`))) })), folios.map((folio) => (_jsx(LabeledElement, { id: folio.uuid, label: `f.${folio.folio}.${folio.side}\nvol.${folio.volume}`, className: "mt-0.5", contentType: "source", excerpt: folio.content.slice(0, 100), children: folio.content ? (_jsx("div", { className: "leading-7 min-h-8 font-tibetan text-lg 2xl:whitespace-pre-wrap whitespace-normal", children: folio.content })) : (_jsx("div", { className: "h-12 text-center text-muted-foreground", children: "[blank]" })) }, folio.uuid))), _jsx("div", { ref: loadMoreRef, className: "h-0" }), hasMoreAfter ? (_jsx(_Fragment, { children: Array.from({ length: 3 }).map((_, i) => (_jsx(PassageSkeleton, {}, `after-${i}`))) })) : (_jsx("div", { className: "w-full pt-16 pb-6", children: _jsx(LotusPond, { className: "mx-auto w-96" }) }))] }));
47
269
  };
48
270
  //# sourceMappingURL=SourceReader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SourceReader.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/SourceReader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SourceReader.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/SourceReader.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
- export declare const ThreeColumnRenderer: ({ withHeader, children, }: {
2
+ export declare const ThreeColumnRenderer: ({ withHeader, withFocusToggle, children, }: {
3
3
  withHeader?: boolean;
4
+ withFocusToggle?: boolean;
4
5
  children: ReactNode;
5
6
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,17 +1,18 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { ThreeColumns } from '@eightyfourthousand/design-system';
4
4
  import { useMemo } from 'react';
5
5
  import { useNavigation } from './NavigationProvider';
6
6
  import { cn } from '@eightyfourthousand/lib-utils';
7
7
  import { TranslationHeader } from './TranslationHeader';
8
8
  import { ReaderSearchButton } from './ReaderSearchButton';
9
+ import { FocusToggleButton } from './FocusToggleButton';
9
10
  import { GatedFeature } from '@eightyfourthousand/lib-instr';
10
- export const ThreeColumnRenderer = ({ withHeader = false, children, }) => {
11
- const { panels, updatePanel, hasTranslationContent } = useNavigation();
11
+ export const ThreeColumnRenderer = ({ withHeader = false, withFocusToggle = false, children, }) => {
12
+ const { panels, updatePanel, hasTranslationContent, focusMode } = useNavigation();
12
13
  const rightPanelEnabled = hasTranslationContent;
13
- const searchButton = useMemo(() => _jsx(ReaderSearchButton, {}), []);
14
- return (_jsxs("div", { className: cn('fixed flex flex-col size-full p-2 bg-canvas', withHeader ? 'pb-20' : ''), children: [_jsx(GatedFeature, { flag: 'show-reader-header', children: _jsx("div", { className: "pb-2.5", children: _jsx(TranslationHeader, { className: "rounded-full shadow-lg" }) }) }), _jsx(ThreeColumns, { leftPanelOpen: panels.left.open, rightPanelOpen: rightPanelEnabled ? panels.right.open : false, rightPanelEnabled: rightPanelEnabled, mainPanelActions: searchButton, onLeftPanelOpenChange: (open) => {
14
+ const mainPanelActions = useMemo(() => (_jsxs(_Fragment, { children: [_jsx(ReaderSearchButton, {}), withFocusToggle && _jsx(FocusToggleButton, {})] })), [withFocusToggle]);
15
+ return (_jsxs("div", { className: cn('fixed flex flex-col size-full p-2 bg-canvas', withHeader ? 'pb-20' : '', withFocusToggle && focusMode && 'focus-mode'), children: [_jsx(GatedFeature, { flag: "show-reader-header", children: _jsx("div", { className: "pb-2.5", children: _jsx(TranslationHeader, { className: "rounded-full shadow-lg" }) }) }), _jsx(ThreeColumns, { leftPanelOpen: panels.left.open, rightPanelOpen: rightPanelEnabled ? panels.right.open : false, rightPanelEnabled: rightPanelEnabled, mainPanelActions: mainPanelActions, onLeftPanelOpenChange: (open) => {
15
16
  updatePanel({
16
17
  name: 'left',
17
18
  state: { open, tab: panels.left.tab },
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeColumnRenderer.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/ThreeColumnRenderer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAa,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,UAAU,GAAG,KAAK,EAClB,QAAQ,GAIT,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,aAAa,EAAE,CAAC;IACvE,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;IAEhD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAC,kBAAkB,KAAG,EAAE,EAAE,CAAC,CAAC;IAE/D,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,6CAA6C,EAC7C,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAC1B,aAED,KAAC,YAAY,IAAC,IAAI,EAAC,oBAAoB,YACrC,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,iBAAiB,IAAC,SAAS,EAAC,wBAAwB,GAAG,GACpD,GACO,EACf,KAAC,YAAY,IACX,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAC/B,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAC7D,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,YAAY,EAC9B,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC9B,WAAW,CAAC;wBACV,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;qBACtC,CAAC,CAAC;gBACL,CAAC,EACD,sBAAsB,EACpB,iBAAiB;oBACf,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;wBACT,WAAW,CAAC;4BACV,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;yBACvC,CAAC,CAAC;oBACL,CAAC;oBACD,CAAC,CAAC,SAAS,YAGd,QAAQ,GACI,IACX,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ThreeColumnRenderer.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/ThreeColumnRenderer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAa,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,UAAU,GAAG,KAAK,EAClB,eAAe,GAAG,KAAK,EACvB,QAAQ,GAKT,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAC7D,aAAa,EAAE,CAAC;IAClB,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;IAEhD,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CAAC,CACJ,8BACE,KAAC,kBAAkB,KAAG,EACrB,eAAe,IAAI,KAAC,iBAAiB,KAAG,IACxC,CACJ,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,6CAA6C,EAC7C,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EACzB,eAAe,IAAI,SAAS,IAAI,YAAY,CAC7C,aAED,KAAC,YAAY,IAAC,IAAI,EAAC,oBAAoB,YACrC,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,iBAAiB,IAAC,SAAS,EAAC,wBAAwB,GAAG,GACpD,GACO,EACf,KAAC,YAAY,IACX,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAC/B,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAC7D,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC9B,WAAW,CAAC;wBACV,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;qBACtC,CAAC,CAAC;gBACL,CAAC,EACD,sBAAsB,EACpB,iBAAiB;oBACf,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;wBACP,WAAW,CAAC;4BACV,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;yBACvC,CAAC,CAAC;oBACL,CAAC;oBACH,CAAC,CAAC,SAAS,YAGd,QAAQ,GACI,IACX,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { TranslationState } from './types';
2
+ export declare const TranslationPlaceholder: ({ state, }: {
3
+ state: TranslationState;
4
+ }) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Lead, LotusPond } from '@eightyfourthousand/design-system';
3
+ const MESSAGES = {
4
+ unpublished: 'This translation is not yet published. Check again soon.',
5
+ empty: 'No translation content...',
6
+ };
7
+ export const TranslationPlaceholder = ({ state, }) => {
8
+ if (state === 'content') {
9
+ return null;
10
+ }
11
+ return (_jsxs("div", { className: "w-full max-w-readable mx-auto mt-24 text-center", children: [_jsx(Lead, { className: "italic", children: MESSAGES[state] }), _jsx("div", { className: "w-full pt-16 pb-6", children: _jsx(LotusPond, { className: "mx-auto w-96" }) })] }));
12
+ };
13
+ //# sourceMappingURL=TranslationPlaceholder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TranslationPlaceholder.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/TranslationPlaceholder.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAGpE,MAAM,QAAQ,GAAyD;IACrE,WAAW,EAAE,0DAA0D;IACvE,KAAK,EAAE,2BAA2B;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,KAAK,GAGN,EAAE,EAAE;IACH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,iDAAiD,aAC9D,KAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,YAAE,QAAQ,CAAC,KAAK,CAAC,GAAQ,EACjD,cAAK,SAAS,EAAC,mBAAmB,YAChC,KAAC,SAAS,IAAC,SAAS,EAAC,cAAc,GAAG,GAClC,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './AiSummarizerPage';
2
+ export * from './FocusToggleButton';
2
3
  export * from './NavigationProvider';
3
4
  export * from './LabeledElement';
4
5
  export * from './SuggestRevisionForm';
@@ -1,4 +1,5 @@
1
1
  export * from './AiSummarizerPage';
2
+ export * from './FocusToggleButton';
2
3
  export * from './NavigationProvider';
3
4
  export * from './LabeledElement';
4
5
  export * from './SuggestRevisionForm';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -6,6 +6,13 @@ export type EditorMenuItemType = EditorBuilderType | EditorToolsType;
6
6
  export declare const PANEL_NAMES: readonly ["left", "right", "main"];
7
7
  export type PanelName = (typeof PANEL_NAMES)[number];
8
8
  export type TabName = 'toc' | 'front' | 'translation' | 'source' | 'compare' | 'endnotes' | 'bibliography' | 'glossary' | 'abbreviations';
9
+ /**
10
+ * Display state for the translation tab body:
11
+ * - `content`: render the translation passages
12
+ * - `unpublished`: work is pre-1.0 and the viewer (a reader) may not view it yet
13
+ * - `empty`: viewer may see content, but there are no body passages
14
+ */
15
+ export type TranslationState = 'content' | 'unpublished' | 'empty';
9
16
  export interface TitlesRenderer {
10
17
  titles: Titles;
11
18
  imprint?: Imprint;
@@ -17,6 +24,13 @@ export interface TranslationRenderer {
17
24
  className?: string;
18
25
  filter?: PanelFilter;
19
26
  panel: PanelName;
27
+ /**
28
+ * Whether more passages exist after the initial `content` window. When
29
+ * `false`, pagination starts with no end cursor so the bottom loading
30
+ * skeleton isn't shown for fully-loaded short texts. Omitted/undefined
31
+ * preserves the legacy behavior (treat as "maybe more").
32
+ */
33
+ hasMoreAfter?: boolean;
20
34
  }
21
35
  export declare const TAB_FOR_SECTION: Record<string, TabName>;
22
36
  export declare const PANEL_FOR_SECTION: Record<string, PanelName>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/types.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AA2B9D,MAAM,CAAC,MAAM,eAAe,GAA4B;IACtD,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,OAAO;IACvB,QAAQ,EAAE,aAAa;IACvB,YAAY,EAAE,cAAc;IAC5B,QAAQ,EAAE,aAAa;IACvB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE,OAAO;IACrB,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,aAAa;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,aAAa,EAAE,OAAO;IACtB,cAAc,EAAE,MAAM;IACtB,QAAQ,EAAE,MAAM;IAChB,YAAY,EAAE,OAAO;IACrB,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;IACf,YAAY,EAAE,MAAM;IACpB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,MAAM;CACpB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/types.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AA0C9D,MAAM,CAAC,MAAM,eAAe,GAA4B;IACtD,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,OAAO;IACvB,QAAQ,EAAE,aAAa;IACvB,YAAY,EAAE,cAAc;IAC5B,QAAQ,EAAE,aAAa;IACvB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE,OAAO;IACrB,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,aAAa;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,aAAa,EAAE,OAAO;IACtB,cAAc,EAAE,MAAM;IACtB,QAAQ,EAAE,MAAM;IAChB,YAAY,EAAE,OAAO;IACrB,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;IACf,YAAY,EAAE,MAAM;IACpB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,MAAM;CACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eightyfourthousand/lib-editing",
3
- "version": "2026.5.5",
3
+ "version": "2026.6.0",
4
4
  "description": "Shared editing and reader components for 84000 translation workflows.",
5
5
  "private": false,
6
6
  "repository": {
@@ -23,36 +23,36 @@
23
23
  "@eightyfourthousand/lib-instr": "^2026.5.5",
24
24
  "@eightyfourthousand/lib-search": "^2026.5.5",
25
25
  "@eightyfourthousand/lib-utils": "^2026.5.5",
26
- "@floating-ui/react": "^0.27.16",
26
+ "@floating-ui/react": "^0.27.19",
27
27
  "@tanstack/react-table": "^8.21.2",
28
- "@tiptap/core": "^3.13.0",
29
- "@tiptap/extension-bold": "^3.13.0",
30
- "@tiptap/extension-collaboration": "^3.13.0",
31
- "@tiptap/extension-document": "^3.13.0",
32
- "@tiptap/extension-heading": "^3.13.0",
33
- "@tiptap/extension-image": "^3.13.0",
34
- "@tiptap/extension-italic": "^3.13.0",
35
- "@tiptap/extension-link": "^3.13.0",
36
- "@tiptap/extension-list": "^3.13.0",
37
- "@tiptap/extension-paragraph": "^3.13.0",
38
- "@tiptap/extension-subscript": "^3.13.0",
39
- "@tiptap/extension-superscript": "^3.13.0",
40
- "@tiptap/extension-table": "^3.13.0",
41
- "@tiptap/extension-text-align": "^3.13.0",
42
- "@tiptap/extension-underline": "^3.13.0",
43
- "@tiptap/extensions": "^3.13.0",
44
- "@tiptap/pm": "^3.13.0",
45
- "@tiptap/react": "^3.13.0",
46
- "@tiptap/starter-kit": "^3.13.0",
47
- "@tiptap/static-renderer": "^3.13.0",
48
- "@tiptap/suggestion": "^3.13.0",
28
+ "@tiptap/core": "^3.23.6",
29
+ "@tiptap/extension-bold": "^3.23.6",
30
+ "@tiptap/extension-collaboration": "^3.23.6",
31
+ "@tiptap/extension-document": "^3.23.6",
32
+ "@tiptap/extension-heading": "^3.23.6",
33
+ "@tiptap/extension-image": "^3.23.6",
34
+ "@tiptap/extension-italic": "^3.23.6",
35
+ "@tiptap/extension-link": "^3.23.6",
36
+ "@tiptap/extension-list": "^3.23.6",
37
+ "@tiptap/extension-paragraph": "^3.23.6",
38
+ "@tiptap/extension-subscript": "^3.23.6",
39
+ "@tiptap/extension-superscript": "^3.23.6",
40
+ "@tiptap/extension-table": "^3.23.6",
41
+ "@tiptap/extension-text-align": "^3.23.6",
42
+ "@tiptap/extension-underline": "^3.23.6",
43
+ "@tiptap/extensions": "^3.23.6",
44
+ "@tiptap/pm": "^3.23.6",
45
+ "@tiptap/react": "^3.23.6",
46
+ "@tiptap/starter-kit": "^3.23.6",
47
+ "@tiptap/static-renderer": "^3.23.6",
48
+ "@tiptap/suggestion": "^3.23.6",
49
49
  "class-variance-authority": "^0.7.1",
50
50
  "graphql-request": "^7.1.2",
51
- "lucide-react": "^0.477.0",
52
- "motion": "^12.23.24",
51
+ "lucide-react": "^1.16.0",
52
+ "motion": "^12.40.0",
53
53
  "tippy.js": "^6.3.7",
54
- "uuid": "^11.1.0",
55
- "yjs": "13.6.27"
54
+ "uuid": "^14.0.0",
55
+ "yjs": "13.6.30"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "next": "^16.0.0",