@eightyfourthousand/lib-editing 2026.5.4 → 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 (99) 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 +131 -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/Mantra/Mantra.js +12 -17
  22. package/lib/components/editor/extensions/Mantra/Mantra.js.map +1 -1
  23. package/lib/components/editor/extensions/Mention/Mention.js +5 -1
  24. package/lib/components/editor/extensions/Mention/Mention.js.map +1 -1
  25. package/lib/components/editor/extensions/Mention/Mention.ssr.js +6 -4
  26. package/lib/components/editor/extensions/Mention/Mention.ssr.js.map +1 -1
  27. package/lib/components/editor/extensions/Passage/Passage.js +1 -1
  28. package/lib/components/editor/extensions/Passage/Passage.js.map +1 -1
  29. package/lib/components/editor/extensions/Passage/PassageNode.js +60 -3
  30. package/lib/components/editor/extensions/Passage/PassageNode.js.map +1 -1
  31. package/lib/components/editor/extensions/PipeNotItalic.d.ts +2 -0
  32. package/lib/components/editor/extensions/PipeNotItalic.js +90 -0
  33. package/lib/components/editor/extensions/PipeNotItalic.js.map +1 -0
  34. package/lib/components/editor/extensions/translationSSRExtensions.js +2 -0
  35. package/lib/components/editor/extensions/translationSSRExtensions.js.map +1 -1
  36. package/lib/components/editor/hooks/useTranslationExtensions.d.ts +10 -1
  37. package/lib/components/editor/hooks/useTranslationExtensions.js +2 -0
  38. package/lib/components/editor/hooks/useTranslationExtensions.js.map +1 -1
  39. package/lib/components/editor/menus/EmptyBubbleMenu.js +6 -2
  40. package/lib/components/editor/menus/EmptyBubbleMenu.js.map +1 -1
  41. package/lib/components/editor/menus/MainBubbleMenu.js +6 -2
  42. package/lib/components/editor/menus/MainBubbleMenu.js.map +1 -1
  43. package/lib/components/editor/menus/TranslationBubbleMenu.js +6 -2
  44. package/lib/components/editor/menus/TranslationBubbleMenu.js.map +1 -1
  45. package/lib/components/editor/menus/index.d.ts +1 -0
  46. package/lib/components/editor/menus/index.js +1 -0
  47. package/lib/components/editor/menus/index.js.map +1 -1
  48. package/lib/components/editor/menus/useDismissBubbleMenu.d.ts +8 -0
  49. package/lib/components/editor/menus/useDismissBubbleMenu.js +35 -0
  50. package/lib/components/editor/menus/useDismissBubbleMenu.js.map +1 -0
  51. package/lib/components/reader/ReaderBackMatterPage.js +2 -2
  52. package/lib/components/reader/ReaderBackMatterPage.js.map +1 -1
  53. package/lib/components/reader/ReaderBackMatterPanel.d.ts +3 -1
  54. package/lib/components/reader/ReaderBackMatterPanel.js +3 -3
  55. package/lib/components/reader/ReaderBackMatterPanel.js.map +1 -1
  56. package/lib/components/reader/ReaderBodyPage.js +5 -4
  57. package/lib/components/reader/ReaderBodyPage.js.map +1 -1
  58. package/lib/components/reader/ReaderBodyPanel.d.ts +5 -2
  59. package/lib/components/reader/ReaderBodyPanel.js +24 -5
  60. package/lib/components/reader/ReaderBodyPanel.js.map +1 -1
  61. package/lib/components/reader/ReaderLayout.d.ts +3 -1
  62. package/lib/components/reader/ReaderLayout.js +2 -3
  63. package/lib/components/reader/ReaderLayout.js.map +1 -1
  64. package/lib/components/reader/TranslationReader.d.ts +1 -1
  65. package/lib/components/reader/TranslationReader.js +2 -2
  66. package/lib/components/reader/TranslationReader.js.map +1 -1
  67. package/lib/components/reader/TranslationSSRContent.js +6 -2
  68. package/lib/components/reader/TranslationSSRContent.js.map +1 -1
  69. package/lib/components/shared/BackMatterPanel.d.ts +3 -1
  70. package/lib/components/shared/BackMatterPanel.js +3 -1
  71. package/lib/components/shared/BackMatterPanel.js.map +1 -1
  72. package/lib/components/shared/BodyPanel.d.ts +5 -3
  73. package/lib/components/shared/BodyPanel.js +17 -25
  74. package/lib/components/shared/BodyPanel.js.map +1 -1
  75. package/lib/components/shared/FocusToggleButton.d.ts +1 -0
  76. package/lib/components/shared/FocusToggleButton.js +13 -0
  77. package/lib/components/shared/FocusToggleButton.js.map +1 -0
  78. package/lib/components/shared/NavigationContext.d.ts +2 -0
  79. package/lib/components/shared/NavigationContext.js +2 -0
  80. package/lib/components/shared/NavigationContext.js.map +1 -1
  81. package/lib/components/shared/NavigationProvider.d.ts +3 -1
  82. package/lib/components/shared/NavigationProvider.js +7 -2
  83. package/lib/components/shared/NavigationProvider.js.map +1 -1
  84. package/lib/components/shared/SourceReader.js +249 -27
  85. package/lib/components/shared/SourceReader.js.map +1 -1
  86. package/lib/components/shared/ThreeColumnRenderer.d.ts +2 -1
  87. package/lib/components/shared/ThreeColumnRenderer.js +6 -5
  88. package/lib/components/shared/ThreeColumnRenderer.js.map +1 -1
  89. package/lib/components/shared/TranslationPlaceholder.d.ts +4 -0
  90. package/lib/components/shared/TranslationPlaceholder.js +13 -0
  91. package/lib/components/shared/TranslationPlaceholder.js.map +1 -0
  92. package/lib/components/shared/index.d.ts +1 -0
  93. package/lib/components/shared/index.js +1 -0
  94. package/lib/components/shared/index.js.map +1 -1
  95. package/lib/components/shared/types.d.ts +14 -0
  96. package/lib/components/shared/types.js.map +1 -1
  97. package/lib/exporters/mantra.js +6 -2
  98. package/lib/exporters/mantra.js.map +1 -1
  99. package/package.json +33 -33
@@ -6,39 +6,29 @@ import { cn } from '@eightyfourthousand/lib-utils';
6
6
  import { useNavigation } from './NavigationProvider';
7
7
  import { SourceReader } from './SourceReader';
8
8
  import { Imprint } from './Imprint';
9
+ import { TranslationPlaceholder } from './TranslationPlaceholder';
9
10
  import { TitleDetails } from './titles';
10
11
  import { capturePassageAnchor, findScrollParent, usePassageAnchorRestore, useScrollPositionRestore, } from './hooks/useScrollPositionRestore';
11
- export const BodyPanel = ({ titles, frontMatter, body, renderTitles, renderTranslation, limitWhenNoTranslation = false, }) => {
12
+ export const BodyPanel = ({ titles, frontMatter, body, frontMatterHasMore, bodyHasMore, renderTitles, renderTranslation, translationState = 'content', }) => {
12
13
  const { panels, imprint, showOuterContent, updatePanel, setHasTranslationContent, } = useNavigation();
13
14
  const tabsRef = useRef(null);
14
15
  const scrollContainerRef = useRef(null);
15
- const hasTranslationContent = useMemo(() => {
16
- if (!limitWhenNoTranslation) {
17
- return true;
18
- }
19
- if (Array.isArray(body)) {
20
- return body.length > 0;
21
- }
22
- return Boolean(body);
23
- }, [body, limitWhenNoTranslation]);
24
- const activeTab = panels.main.tab || (hasTranslationContent ? 'translation' : 'source');
25
- const safeTab = !hasTranslationContent &&
26
- (activeTab === 'translation' || activeTab === 'compare')
27
- ? 'source'
28
- : activeTab;
16
+ const hasContent = translationState === 'content';
17
+ const activeTab = panels.main.tab || 'translation';
18
+ // The translation tab is always available (it shows a placeholder message
19
+ // when there's no content); only redirect away from the compare tab when
20
+ // there's nothing to compare against.
21
+ const safeTab = !hasContent && activeTab === 'compare' ? 'translation' : activeTab;
29
22
  const hasAlignments = useMemo(() => {
30
- if (!hasTranslationContent) {
23
+ if (!hasContent) {
31
24
  return false;
32
25
  }
33
26
  const passages = body;
34
27
  return passages.some((item) => Object.keys(item.attrs?.alignments || {}).length > 0);
35
- }, [body, hasTranslationContent]);
28
+ }, [body, hasContent]);
36
29
  useEffect(() => {
37
- if (!limitWhenNoTranslation) {
38
- return;
39
- }
40
- setHasTranslationContent(hasTranslationContent);
41
- }, [hasTranslationContent, limitWhenNoTranslation, setHasTranslationContent]);
30
+ setHasTranslationContent(hasContent);
31
+ }, [hasContent, setHasTranslationContent]);
42
32
  const tabsRefCallback = useCallback((node) => {
43
33
  tabsRef.current = node;
44
34
  // Only track scroll for visible instances (skip the hidden mobile duplicate)
@@ -64,18 +54,20 @@ export const BodyPanel = ({ titles, frontMatter, body, renderTitles, renderTrans
64
54
  passageAnchorRef.current = capturePassageAnchor(scrollContainerRef.current);
65
55
  }
66
56
  updatePanel({ name: 'main', state: { open: true, tab } });
67
- }, defaultValue: hasTranslationContent ? 'translation' : 'source', className: "px-12 w-full", children: [_jsx("div", { className: "sticky top-0.75 -mt-28 z-10 w-full overflow-x-auto text-center pointer-events-none", children: _jsxs(TabsList, { className: "w-fit inline-flex pointer-events-auto", children: [_jsx(TabsTrigger, { value: "front", children: "Front" }), hasTranslationContent && (_jsx(TabsTrigger, { value: "translation", children: "Translation" })), hasTranslationContent && hasAlignments && (_jsx(TabsTrigger, { value: "compare", children: "Compare" })), _jsx(TabsTrigger, { value: "source", children: "Source" })] }) }), showOuterContent && safeTab === 'front' ? theTitles : null, _jsx(TabsContent, { value: "front", forceMount: true, className: cn(safeTab !== 'front' && 'hidden'), children: _jsxs("div", { className: "w-full max-w-readable mx-auto", children: [showOuterContent ? (_jsxs("div", { className: "mb-12", children: [imprint && _jsx(TitleDetails, { imprint: imprint }), _jsx(Imprint, { imprint: imprint })] })) : null, renderTranslation({
57
+ }, defaultValue: "translation", className: "px-12 w-full", children: [_jsx("div", { className: "sticky top-0.75 -mt-28 z-10 overflow-x-auto text-center pointer-events-none me-12 sm:me-0 md:w-full", children: _jsxs(TabsList, { className: "w-fit inline-flex pointer-events-auto", children: [_jsx(TabsTrigger, { value: "front", children: "Front" }), _jsx(TabsTrigger, { value: "translation", children: "Translation" }), hasAlignments && (_jsx(TabsTrigger, { value: "compare", children: "Compare" })), _jsx(TabsTrigger, { value: "source", children: "Source" })] }) }), showOuterContent && safeTab === 'front' ? theTitles : null, _jsx(TabsContent, { value: "front", forceMount: true, className: cn(safeTab !== 'front' && 'hidden'), children: _jsxs("div", { className: "w-full max-w-readable mx-auto", children: [showOuterContent ? (_jsxs("div", { className: "mb-12", children: [imprint && _jsx(TitleDetails, { imprint: imprint }), _jsx(Imprint, { imprint: imprint })] })) : null, renderTranslation({
68
58
  content: frontMatter,
69
59
  className: 'block',
70
60
  name: 'front',
71
61
  panel: 'main',
72
- })] }) }), hasTranslationContent && (_jsx(TabsContent, { value: "translation", forceMount: true, className: cn(safeTab !== 'translation' && safeTab !== 'compare' && 'hidden'), children: _jsx("div", { className: cn('w-full mx-auto mt-8', safeTab === 'compare'
62
+ hasMoreAfter: frontMatterHasMore,
63
+ })] }) }), _jsx(TabsContent, { value: "translation", forceMount: true, className: cn(safeTab !== 'translation' && safeTab !== 'compare' && 'hidden'), children: hasContent ? (_jsx("div", { className: cn('w-full mx-auto mt-8', safeTab === 'compare'
73
64
  ? '2xl:max-w-7xl max-w-5xl'
74
65
  : 'max-w-readable'), children: renderTranslation({
75
66
  content: body,
76
67
  className: 'block',
77
68
  name: 'translation',
78
69
  panel: 'main',
79
- }) }) })), _jsx(TabsContent, { value: "source", forceMount: true, className: "pb-2 data-[state=inactive]:hidden", children: _jsx(SourceReader, {}) })] }));
70
+ hasMoreAfter: bodyHasMore,
71
+ }) })) : (_jsx(TranslationPlaceholder, { state: translationState })) }), _jsx(TabsContent, { value: "source", forceMount: true, className: "pb-2 data-[state=inactive]:hidden", children: _jsx(SourceReader, {}) })] }));
80
72
  };
81
73
  //# sourceMappingURL=BodyPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BodyPanel.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/BodyPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BodyPanel.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/BodyPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const FocusToggleButton: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Button } from '@eightyfourthousand/design-system';
4
+ import { cn } from '@eightyfourthousand/lib-utils';
5
+ import { Glasses } from 'lucide-react';
6
+ import { useNavigation } from './NavigationProvider';
7
+ export const FocusToggleButton = () => {
8
+ const { focusMode, setFocusMode } = useNavigation();
9
+ return (_jsxs(Button, { variant: "ghost", size: "icon", "aria-pressed": focusMode, className: cn('cursor-pointer [&_svg]:size-5 md:[&_svg]:size-7 size-6 md:size-9 [&_svg]:stroke-1 transition-all', focusMode
10
+ ? 'bg-accent text-accent-foreground hover:bg-accent/90'
11
+ : 'text-accent hover:text-accent hover:bg-muted'), onClick: () => setFocusMode(!focusMode), children: [_jsx(Glasses, {}), _jsx("span", { className: "sr-only", children: "Toggle non-distracted view" })] }));
12
+ };
13
+ //# sourceMappingURL=FocusToggleButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusToggleButton.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/FocusToggleButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAAC;IAEpD,OAAO,CACL,MAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,kBACG,SAAS,EACvB,SAAS,EAAE,EAAE,CACX,kGAAkG,EAClG,SAAS;YACP,CAAC,CAAC,qDAAqD;YACvD,CAAC,CAAC,8CAA8C,CACnD,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,aAEvC,KAAC,OAAO,KAAG,EACX,eAAM,SAAS,EAAC,SAAS,2CAAkC,IACpD,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -7,9 +7,11 @@ export interface NavigationState {
7
7
  toh?: TohokuCatalogEntry;
8
8
  showOuterContent: boolean;
9
9
  hasTranslationContent: boolean;
10
+ focusMode: boolean;
10
11
  setToh: (toh: TohokuCatalogEntry) => void;
11
12
  setShowOuterContent: (withTitles: boolean) => void;
12
13
  setHasTranslationContent: (hasTranslationContent: boolean) => void;
14
+ setFocusMode: (focusMode: boolean) => void;
13
15
  updatePanel: (params: {
14
16
  name: PanelName;
15
17
  state: PanelState;
@@ -10,10 +10,12 @@ export const NavigationContext = createContext({
10
10
  panels: DEFAULT_PANELS,
11
11
  showOuterContent: true,
12
12
  hasTranslationContent: true,
13
+ focusMode: false,
13
14
  updatePanel: () => { throw new Error('Not implemented'); },
14
15
  setToh: () => { throw new Error('Not implemented'); },
15
16
  setShowOuterContent: () => { throw new Error('Not implemented'); },
16
17
  setHasTranslationContent: () => { throw new Error('Not implemented'); },
18
+ setFocusMode: () => { throw new Error('Not implemented'); },
17
19
  fetchBibliographyEntry: async () => { throw new Error('Not implemented'); },
18
20
  fetchEndNote: async () => { throw new Error('Not implemented'); },
19
21
  fetchGlossaryTerm: async () => { throw new Error('Not implemented'); },
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationContext.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/NavigationContext.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAUb,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAyBlD,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE;IAChC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE;IACvC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAkB;IAC9D,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,cAAc;IACtB,gBAAgB,EAAE,IAAI;IACtB,qBAAqB,EAAE,IAAI;IAC3B,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrD,mBAAmB,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAClE,wBAAwB,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvE,sBAAsB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC3E,YAAY,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACjE,iBAAiB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACtE,YAAY,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACjE,SAAS,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAC/D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"NavigationContext.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/NavigationContext.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAUb,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA2BlD,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE;IAChC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE;IACvC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAkB;IAC9D,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,cAAc;IACtB,gBAAgB,EAAE,IAAI;IACtB,qBAAqB,EAAE,IAAI;IAC3B,SAAS,EAAE,KAAK;IAChB,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrD,mBAAmB,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAClE,wBAAwB,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvE,YAAY,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC3D,sBAAsB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC3E,YAAY,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACjE,iBAAiB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACtE,YAAY,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACjE,SAAS,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAC/D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1,8 +1,10 @@
1
+ import type { TohokuCatalogEntry } from '@eightyfourthousand/data-access';
1
2
  import { ReactNode } from 'react';
2
3
  export { NavigationContext, useNavigation } from './NavigationContext';
3
4
  export type { NavigationState } from './NavigationContext';
4
- export declare const NavigationProvider: ({ uuid, initialHasTranslationContent, children, }: {
5
+ export declare const NavigationProvider: ({ uuid, initialToh, initialHasTranslationContent, children, }: {
5
6
  uuid: string;
7
+ initialToh?: TohokuCatalogEntry;
6
8
  initialHasTranslationContent?: boolean;
7
9
  children: ReactNode;
8
10
  }) => import("react/jsx-runtime").JSX.Element;
@@ -30,14 +30,15 @@ const parsePanelParams = (params) => {
30
30
  const toh = params.get('toh') || undefined;
31
31
  return { toh, panels };
32
32
  };
33
- export const NavigationProvider = ({ uuid, initialHasTranslationContent = true, children, }) => {
33
+ export const NavigationProvider = ({ uuid, initialToh, initialHasTranslationContent = true, children, }) => {
34
34
  const graphqlClient = createGraphQLClient();
35
35
  const query = useSearchParams();
36
36
  const isMobile = useIsMobile();
37
37
  const [panels, setPanels] = useState(parsePanelParams(query).panels || DEFAULT_PANELS);
38
38
  const isPanelTransitioning = useRef(false);
39
- const [toh, setToh] = useState();
39
+ const [toh, setToh] = useState(parsePanelParams(query).toh || initialToh);
40
40
  const [showOuterContent, setShowOuterContent] = useState(true);
41
+ const [focusMode, setFocusMode] = useState(false);
41
42
  const [hasTranslationContent, setHasTranslationContent] = useState(initialHasTranslationContent);
42
43
  const [imprint, setImprint] = useState();
43
44
  const bibliographyCache = useRef({});
@@ -258,9 +259,11 @@ export const NavigationProvider = ({ uuid, initialHasTranslationContent = true,
258
259
  toh,
259
260
  showOuterContent,
260
261
  hasTranslationContent,
262
+ focusMode,
261
263
  setToh,
262
264
  setShowOuterContent,
263
265
  setHasTranslationContent,
266
+ setFocusMode,
264
267
  updatePanel,
265
268
  fetchBibliographyEntry,
266
269
  fetchEndNote,
@@ -274,9 +277,11 @@ export const NavigationProvider = ({ uuid, initialHasTranslationContent = true,
274
277
  toh,
275
278
  showOuterContent,
276
279
  hasTranslationContent,
280
+ focusMode,
277
281
  setToh,
278
282
  setShowOuterContent,
279
283
  setHasTranslationContent,
284
+ setFocusMode,
280
285
  updatePanel,
281
286
  fetchBibliographyEntry,
282
287
  fetchEndNote,
@@ -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;