@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.
- package/lib/components/editor/EditorBackMatterPage.js +7 -3
- package/lib/components/editor/EditorBackMatterPage.js.map +1 -1
- package/lib/components/editor/EditorBodyPage.js +7 -3
- package/lib/components/editor/EditorBodyPage.js.map +1 -1
- package/lib/components/editor/PaginationProvider.d.ts +2 -1
- package/lib/components/editor/PaginationProvider.js +40 -13
- package/lib/components/editor/PaginationProvider.js.map +1 -1
- package/lib/components/editor/TranslationBuilder.d.ts +1 -1
- package/lib/components/editor/TranslationBuilder.js +2 -2
- package/lib/components/editor/TranslationBuilder.js.map +1 -1
- package/lib/components/editor/extensions/DragHandle/DragHandle.d.ts +1 -1
- package/lib/components/editor/extensions/DragHandle/DragHandle.js.map +1 -1
- package/lib/components/editor/extensions/EndNoteLink/EndNoteLinkMark.js +131 -1
- package/lib/components/editor/extensions/EndNoteLink/EndNoteLinkMark.js.map +1 -1
- package/lib/components/editor/extensions/Foreign/Foreign.js +1 -1
- package/lib/components/editor/extensions/GlobalConfig.d.ts +3 -1
- package/lib/components/editor/extensions/Line/LineNode.d.ts +3 -1
- package/lib/components/editor/extensions/Line/LineNode.ssr.d.ts +3 -1
- package/lib/components/editor/extensions/LineGroup/LineGroupNode.d.ts +6 -1
- package/lib/components/editor/extensions/LineGroup/LineGroupNode.ssr.d.ts +6 -1
- package/lib/components/editor/extensions/Mantra/Mantra.js +12 -17
- package/lib/components/editor/extensions/Mantra/Mantra.js.map +1 -1
- package/lib/components/editor/extensions/Mention/Mention.js +5 -1
- package/lib/components/editor/extensions/Mention/Mention.js.map +1 -1
- package/lib/components/editor/extensions/Mention/Mention.ssr.js +6 -4
- package/lib/components/editor/extensions/Mention/Mention.ssr.js.map +1 -1
- package/lib/components/editor/extensions/Passage/Passage.js +1 -1
- package/lib/components/editor/extensions/Passage/Passage.js.map +1 -1
- package/lib/components/editor/extensions/Passage/PassageNode.js +60 -3
- package/lib/components/editor/extensions/Passage/PassageNode.js.map +1 -1
- package/lib/components/editor/extensions/PipeNotItalic.d.ts +2 -0
- package/lib/components/editor/extensions/PipeNotItalic.js +90 -0
- package/lib/components/editor/extensions/PipeNotItalic.js.map +1 -0
- package/lib/components/editor/extensions/translationSSRExtensions.js +2 -0
- package/lib/components/editor/extensions/translationSSRExtensions.js.map +1 -1
- package/lib/components/editor/hooks/useTranslationExtensions.d.ts +10 -1
- package/lib/components/editor/hooks/useTranslationExtensions.js +2 -0
- package/lib/components/editor/hooks/useTranslationExtensions.js.map +1 -1
- package/lib/components/editor/menus/EmptyBubbleMenu.js +6 -2
- package/lib/components/editor/menus/EmptyBubbleMenu.js.map +1 -1
- package/lib/components/editor/menus/MainBubbleMenu.js +6 -2
- package/lib/components/editor/menus/MainBubbleMenu.js.map +1 -1
- package/lib/components/editor/menus/TranslationBubbleMenu.js +6 -2
- package/lib/components/editor/menus/TranslationBubbleMenu.js.map +1 -1
- package/lib/components/editor/menus/index.d.ts +1 -0
- package/lib/components/editor/menus/index.js +1 -0
- package/lib/components/editor/menus/index.js.map +1 -1
- package/lib/components/editor/menus/useDismissBubbleMenu.d.ts +8 -0
- package/lib/components/editor/menus/useDismissBubbleMenu.js +35 -0
- package/lib/components/editor/menus/useDismissBubbleMenu.js.map +1 -0
- package/lib/components/reader/ReaderBackMatterPage.js +2 -2
- package/lib/components/reader/ReaderBackMatterPage.js.map +1 -1
- package/lib/components/reader/ReaderBackMatterPanel.d.ts +3 -1
- package/lib/components/reader/ReaderBackMatterPanel.js +3 -3
- package/lib/components/reader/ReaderBackMatterPanel.js.map +1 -1
- package/lib/components/reader/ReaderBodyPage.js +5 -4
- package/lib/components/reader/ReaderBodyPage.js.map +1 -1
- package/lib/components/reader/ReaderBodyPanel.d.ts +5 -2
- package/lib/components/reader/ReaderBodyPanel.js +24 -5
- package/lib/components/reader/ReaderBodyPanel.js.map +1 -1
- package/lib/components/reader/ReaderLayout.d.ts +3 -1
- package/lib/components/reader/ReaderLayout.js +2 -3
- package/lib/components/reader/ReaderLayout.js.map +1 -1
- package/lib/components/reader/TranslationReader.d.ts +1 -1
- package/lib/components/reader/TranslationReader.js +2 -2
- package/lib/components/reader/TranslationReader.js.map +1 -1
- package/lib/components/reader/TranslationSSRContent.js +6 -2
- package/lib/components/reader/TranslationSSRContent.js.map +1 -1
- package/lib/components/shared/BackMatterPanel.d.ts +3 -1
- package/lib/components/shared/BackMatterPanel.js +3 -1
- package/lib/components/shared/BackMatterPanel.js.map +1 -1
- package/lib/components/shared/BodyPanel.d.ts +5 -3
- package/lib/components/shared/BodyPanel.js +17 -25
- package/lib/components/shared/BodyPanel.js.map +1 -1
- package/lib/components/shared/FocusToggleButton.d.ts +1 -0
- package/lib/components/shared/FocusToggleButton.js +13 -0
- package/lib/components/shared/FocusToggleButton.js.map +1 -0
- package/lib/components/shared/NavigationContext.d.ts +2 -0
- package/lib/components/shared/NavigationContext.js +2 -0
- package/lib/components/shared/NavigationContext.js.map +1 -1
- package/lib/components/shared/NavigationProvider.d.ts +3 -1
- package/lib/components/shared/NavigationProvider.js +7 -2
- package/lib/components/shared/NavigationProvider.js.map +1 -1
- package/lib/components/shared/SourceReader.js +249 -27
- package/lib/components/shared/SourceReader.js.map +1 -1
- package/lib/components/shared/ThreeColumnRenderer.d.ts +2 -1
- package/lib/components/shared/ThreeColumnRenderer.js +6 -5
- package/lib/components/shared/ThreeColumnRenderer.js.map +1 -1
- package/lib/components/shared/TranslationPlaceholder.d.ts +4 -0
- package/lib/components/shared/TranslationPlaceholder.js +13 -0
- package/lib/components/shared/TranslationPlaceholder.js.map +1 -0
- package/lib/components/shared/index.d.ts +1 -0
- package/lib/components/shared/index.js +1 -0
- package/lib/components/shared/index.js.map +1 -1
- package/lib/components/shared/types.d.ts +14 -0
- package/lib/components/shared/types.js.map +1 -1
- package/lib/exporters/mantra.js +6 -2
- package/lib/exporters/mantra.js.map +1 -1
- package/package.json +33 -33
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { BubbleMenu } from '@tiptap/react/menus';
|
|
4
4
|
import { ScrollArea, Separator, ScrollBar } from '@eightyfourthousand/design-system';
|
|
5
|
+
import { useRef } from 'react';
|
|
5
6
|
import { NodeSelector, TextAlignSelector, TextButtons } from './selectors';
|
|
7
|
+
import { useDismissBubbleMenu } from './useDismissBubbleMenu';
|
|
6
8
|
export const MainBubbleMenu = ({ editor }) => {
|
|
9
|
+
const menuRef = useRef(null);
|
|
10
|
+
useDismissBubbleMenu(editor, menuRef);
|
|
7
11
|
if (!editor) {
|
|
8
12
|
return null;
|
|
9
13
|
}
|
|
10
|
-
return (_jsx(BubbleMenu, { editor: editor, options: {
|
|
14
|
+
return (_jsx(BubbleMenu, { ref: menuRef, editor: editor, appendTo: () => document.body, options: {
|
|
11
15
|
placement: 'top',
|
|
12
16
|
offset: 6,
|
|
13
17
|
}, shouldShow: ({ editor, state }) => {
|
|
@@ -23,6 +27,6 @@ export const MainBubbleMenu = ({ editor }) => {
|
|
|
23
27
|
return false;
|
|
24
28
|
}
|
|
25
29
|
return true;
|
|
26
|
-
}, children: _jsxs(ScrollArea, { className: "max-w-[90vw] rounded-md border bg-popover shadow-xl", children: [_jsxs("div", { className: "flex", children: [_jsx(NodeSelector, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(TextButtons, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(TextAlignSelector, { editor: editor })] }), _jsx(ScrollBar, { orientation: "horizontal" })] }) }));
|
|
30
|
+
}, children: _jsxs(ScrollArea, { className: "max-w-[90vw] rounded-md border bg-popover shadow-xl z-50", children: [_jsxs("div", { className: "flex", children: [_jsx(NodeSelector, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(TextButtons, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(TextAlignSelector, { editor: editor })] }), _jsx(ScrollBar, { orientation: "horizontal" })] }) }));
|
|
27
31
|
};
|
|
28
32
|
//# sourceMappingURL=MainBubbleMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainBubbleMenu.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/menus/MainBubbleMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"MainBubbleMenu.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/menus/MainBubbleMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAA6B,EAAE,EAAE;IACtE,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,UAAU,IACT,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAC7B,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,CAAC;SACV,EACD,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YAChC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;YAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,YAED,MAAC,UAAU,IAAC,SAAS,EAAC,0DAA0D,aAC9E,eAAK,SAAS,EAAC,MAAM,aACnB,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,GAAI,EAChC,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,EACrD,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,GAAI,EAC/B,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,EACrD,KAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,GAAI,IACjC,EACN,KAAC,SAAS,IAAC,WAAW,EAAC,YAAY,GAAG,IAC3B,GACF,CACd,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -2,14 +2,18 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { BubbleMenu } from '@tiptap/react/menus';
|
|
4
4
|
import { ScrollArea, Separator, ScrollBar } from '@eightyfourthousand/design-system';
|
|
5
|
+
import { useRef } from 'react';
|
|
5
6
|
import { TranslationTextButtons } from './selectors/TranslationTextButtons';
|
|
6
7
|
import { ParagraphButtons } from './selectors/ParagraphButtons';
|
|
7
8
|
import { TranslationNodeSelector } from './selectors/TranslationNodeSelector';
|
|
9
|
+
import { useDismissBubbleMenu } from './useDismissBubbleMenu';
|
|
8
10
|
export const TranslationBubbleMenu = ({ editor, }) => {
|
|
11
|
+
const menuRef = useRef(null);
|
|
12
|
+
useDismissBubbleMenu(editor, menuRef);
|
|
9
13
|
if (!editor) {
|
|
10
14
|
return null;
|
|
11
15
|
}
|
|
12
|
-
return (_jsx(BubbleMenu, { editor: editor, options: {
|
|
16
|
+
return (_jsx(BubbleMenu, { ref: menuRef, editor: editor, appendTo: () => document.body, options: {
|
|
13
17
|
placement: 'top',
|
|
14
18
|
offset: 6,
|
|
15
19
|
}, shouldShow: ({ editor, state }) => {
|
|
@@ -25,6 +29,6 @@ export const TranslationBubbleMenu = ({ editor, }) => {
|
|
|
25
29
|
return false;
|
|
26
30
|
}
|
|
27
31
|
return true;
|
|
28
|
-
}, children: _jsxs(ScrollArea, { className: "max-w-[90vw] rounded-md border bg-popover shadow-xl z-
|
|
32
|
+
}, children: _jsxs(ScrollArea, { className: "max-w-[90vw] rounded-md border bg-popover shadow-xl z-50", children: [_jsxs("div", { className: "flex", children: [_jsx(TranslationNodeSelector, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(ParagraphButtons, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(TranslationTextButtons, { editor: editor })] }), _jsx(ScrollBar, { orientation: "horizontal" })] }) }));
|
|
29
33
|
};
|
|
30
34
|
//# sourceMappingURL=TranslationBubbleMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslationBubbleMenu.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/menus/TranslationBubbleMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"TranslationBubbleMenu.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/menus/TranslationBubbleMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,MAAM,GAGP,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,UAAU,IACT,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAC7B,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,CAAC;SACV,EACD,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YAChC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;YAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,YAED,MAAC,UAAU,IAAC,SAAS,EAAC,0DAA0D,aAC9E,eAAK,SAAS,EAAC,MAAM,aACnB,KAAC,uBAAuB,IAAC,MAAM,EAAE,MAAM,GAAI,EAC3C,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,EACrD,KAAC,gBAAgB,IAAC,MAAM,EAAE,MAAM,GAAI,EACpC,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,EACrD,KAAC,sBAAsB,IAAC,MAAM,EAAE,MAAM,GAAI,IACtC,EACN,KAAC,SAAS,IAAC,WAAW,EAAC,YAAY,GAAG,IAC3B,GACF,CACd,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/menus/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/menus/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Editor } from '@tiptap/core';
|
|
2
|
+
import { RefObject } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Collapses the editor selection (dismissing the bubble menu) when the user
|
|
5
|
+
* clicks anywhere outside both the menu and the editor itself. Clicks inside
|
|
6
|
+
* the editor are left alone so native selection handling can run.
|
|
7
|
+
*/
|
|
8
|
+
export declare const useDismissBubbleMenu: (editor: Editor | null, menuRef: RefObject<HTMLDivElement | null>) => void;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useEffect } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Collapses the editor selection (dismissing the bubble menu) when the user
|
|
5
|
+
* clicks anywhere outside both the menu and the editor itself. Clicks inside
|
|
6
|
+
* the editor are left alone so native selection handling can run.
|
|
7
|
+
*/
|
|
8
|
+
export const useDismissBubbleMenu = (editor, menuRef) => {
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (!editor) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const handlePointerDown = (event) => {
|
|
14
|
+
const target = event.target;
|
|
15
|
+
if (!target) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (menuRef.current?.contains(target)) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (editor.view.dom.contains(target)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (editor.state.selection.empty) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
editor.commands.setTextSelection(editor.state.selection.from);
|
|
28
|
+
};
|
|
29
|
+
document.addEventListener('pointerdown', handlePointerDown);
|
|
30
|
+
return () => {
|
|
31
|
+
document.removeEventListener('pointerdown', handlePointerDown);
|
|
32
|
+
};
|
|
33
|
+
}, [editor, menuRef]);
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=useDismissBubbleMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDismissBubbleMenu.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/menus/useDismissBubbleMenu.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAqB,EACrB,OAAyC,EACzC,EAAE;IACF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,iBAAiB,GAAG,CAAC,KAAmB,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;YAE3C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAE5D,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -11,7 +11,7 @@ export const ReaderBackMatterPage = async ({ params, }) => {
|
|
|
11
11
|
}
|
|
12
12
|
const graphqlClient = createBuildGraphQLClient();
|
|
13
13
|
const withAttestations = isStaticFeatureEnabled('glossary-attestations');
|
|
14
|
-
const [{ blocks: endnotes }, { blocks: abbreviations }, glossary, bibliography,] = await Promise.all([
|
|
14
|
+
const [{ blocks: endnotes, hasMoreAfter: endnotesHasMore }, { blocks: abbreviations, hasMoreAfter: abbreviationsHasMore }, glossary, bibliography,] = await Promise.all([
|
|
15
15
|
getTranslationBlocks({
|
|
16
16
|
client: graphqlClient,
|
|
17
17
|
uuid: slug,
|
|
@@ -32,6 +32,6 @@ export const ReaderBackMatterPage = async ({ params, }) => {
|
|
|
32
32
|
uuid: slug,
|
|
33
33
|
}),
|
|
34
34
|
]);
|
|
35
|
-
return (_jsx(ReaderBackMatterPanel, { workUuid: slug, abbreviations: abbreviations, bibliography: bibliography, endnotes: endnotes, glossary: glossary, withAttestations: withAttestations }));
|
|
35
|
+
return (_jsx(ReaderBackMatterPanel, { workUuid: slug, abbreviations: abbreviations, bibliography: bibliography, endnotes: endnotes, glossary: glossary, endnotesHasMore: endnotesHasMore, abbreviationsHasMore: abbreviationsHasMore, withAttestations: withAttestations }));
|
|
36
36
|
};
|
|
37
37
|
//# sourceMappingURL=ReaderBackMatterPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReaderBackMatterPage.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/ReaderBackMatterPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,MAAM,GAGP,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC;IAE9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;IAEzE,MAAM,CACJ,EAAE,MAAM,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"ReaderBackMatterPage.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/ReaderBackMatterPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,MAAM,GAGP,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC;IAE9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;IAEzE,MAAM,CACJ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,EACnD,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,EAC7D,QAAQ,EACR,YAAY,EACb,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,oBAAoB,CAAC;YACnB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,UAAU;SACjB,CAAC;QACF,oBAAoB,CAAC;YACnB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,eAAe;SACtB,CAAC;QACF,oBAAoB,CAAC;YACnB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,IAAI;YACV,gBAAgB;SACjB,CAAC;QACF,mBAAmB,CAAC;YAClB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,IAAI;SACX,CAAC;KACH,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,qBAAqB,IACpB,QAAQ,EAAE,IAAI,EACd,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { BibliographyEntries } from '@eightyfourthousand/data-access';
|
|
2
2
|
import type { GlossaryTermsPage } from '@eightyfourthousand/client-graphql';
|
|
3
3
|
import { TranslationEditorContent } from '../editor';
|
|
4
|
-
export declare const ReaderBackMatterPanel: ({ workUuid, endnotes, glossary, bibliography, abbreviations, withAttestations, }: {
|
|
4
|
+
export declare const ReaderBackMatterPanel: ({ workUuid, endnotes, glossary, bibliography, abbreviations, endnotesHasMore, abbreviationsHasMore, withAttestations, }: {
|
|
5
5
|
workUuid: string;
|
|
6
6
|
endnotes: TranslationEditorContent;
|
|
7
7
|
glossary: GlossaryTermsPage;
|
|
8
8
|
bibliography: BibliographyEntries;
|
|
9
9
|
abbreviations: TranslationEditorContent;
|
|
10
|
+
endnotesHasMore?: boolean;
|
|
11
|
+
abbreviationsHasMore?: boolean;
|
|
10
12
|
withAttestations?: boolean;
|
|
11
13
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,8 +3,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import { useCallback } from 'react';
|
|
4
4
|
import { BackMatterPanel } from '../shared/BackMatterPanel';
|
|
5
5
|
import { TranslationReader } from '.';
|
|
6
|
-
export const ReaderBackMatterPanel = ({ workUuid, endnotes, glossary, bibliography, abbreviations, withAttestations = false, }) => {
|
|
7
|
-
const renderTranslation = useCallback(({ content, name, className }) => (_jsx(TranslationReader, { content: content, name: name, className: className, filter: name, panel: "right" })), []);
|
|
8
|
-
return (_jsx(BackMatterPanel, { workUuid: workUuid, endnotes: endnotes, glossary: glossary, bibliography: bibliography, abbreviations: abbreviations, renderTranslation: renderTranslation, withAttestations: withAttestations }));
|
|
6
|
+
export const ReaderBackMatterPanel = ({ workUuid, endnotes, glossary, bibliography, abbreviations, endnotesHasMore, abbreviationsHasMore, withAttestations = false, }) => {
|
|
7
|
+
const renderTranslation = useCallback(({ content, name, className, hasMoreAfter }) => (_jsx(TranslationReader, { content: content, name: name, className: className, filter: name, panel: "right", hasMoreAfter: hasMoreAfter })), []);
|
|
8
|
+
return (_jsx(BackMatterPanel, { workUuid: workUuid, endnotes: endnotes, glossary: glossary, bibliography: bibliography, abbreviations: abbreviations, endnotesHasMore: endnotesHasMore, abbreviationsHasMore: abbreviationsHasMore, renderTranslation: renderTranslation, withAttestations: withAttestations }));
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=ReaderBackMatterPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReaderBackMatterPanel.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/ReaderBackMatterPanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAGtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,gBAAgB,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"ReaderBackMatterPanel.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/ReaderBackMatterPanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAGtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GAAG,KAAK,GAUzB,EAAE,EAAE;IACH,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAuB,EAAE,EAAE,CAAC,CACnE,KAAC,iBAAiB,IAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAC,OAAO,EACb,YAAY,EAAE,YAAY,GAC1B,CACH,EACD,EAAE,CACH,CAAC;IAEF,OAAO,CACL,KAAC,eAAe,IACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { BODY_MATTER_FILTER, createBuildGraphQLClient, FRONT_MATTER_FILTER, getTranslationBlocks, getTranslationTitles, } from '@eightyfourthousand/client-graphql/ssr';
|
|
2
|
+
import { BODY_MATTER_FILTER, createBuildGraphQLClient, FRONT_MATTER_FILTER, getTranslationBlocks, getTranslationMetadataByUuid, getTranslationTitles, } from '@eightyfourthousand/client-graphql/ssr';
|
|
3
3
|
import { ReaderBodyPanel } from './ReaderBodyPanel';
|
|
4
4
|
import { isUuid } from '@eightyfourthousand/lib-utils';
|
|
5
5
|
import { notFound } from 'next/navigation';
|
|
@@ -10,19 +10,20 @@ export const ReaderBodyPage = async ({ params, }) => {
|
|
|
10
10
|
return notFound();
|
|
11
11
|
}
|
|
12
12
|
const client = createBuildGraphQLClient();
|
|
13
|
-
const { blocks: frontMatter } = await getTranslationBlocks({
|
|
13
|
+
const { blocks: frontMatter, hasMoreAfter: frontMatterHasMore } = await getTranslationBlocks({
|
|
14
14
|
client,
|
|
15
15
|
uuid: slug,
|
|
16
16
|
type: FRONT_MATTER_FILTER,
|
|
17
17
|
maxPassages: INITIAL_PASSAGES,
|
|
18
18
|
});
|
|
19
|
-
const { blocks: body } = await getTranslationBlocks({
|
|
19
|
+
const { blocks: body, hasMoreAfter: bodyHasMore } = await getTranslationBlocks({
|
|
20
20
|
client,
|
|
21
21
|
uuid: slug,
|
|
22
22
|
type: BODY_MATTER_FILTER,
|
|
23
23
|
maxPassages: INITIAL_PASSAGES,
|
|
24
24
|
});
|
|
25
25
|
const titles = await getTranslationTitles({ client, uuid: slug });
|
|
26
|
-
|
|
26
|
+
const work = await getTranslationMetadataByUuid({ client, uuid: slug });
|
|
27
|
+
return (_jsx(ReaderBodyPanel, { titles: titles, frontMatter: frontMatter, body: body, frontMatterHasMore: frontMatterHasMore, bodyHasMore: bodyHasMore, publicationVersion: work?.publicationVersion }));
|
|
27
28
|
};
|
|
28
29
|
//# sourceMappingURL=ReaderBodyPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReaderBodyPage.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/ReaderBodyPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,MAAM,GAGP,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC;IAE9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAC;IAE1C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"ReaderBodyPage.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/ReaderBodyPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,MAAM,GAGP,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC;IAE9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAC;IAE1C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAC7D,MAAM,oBAAoB,CAAC;QACzB,MAAM;QACN,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,gBAAgB;KAC9B,CAAC,CAAC;IAEL,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,oBAAoB,CAC5E;QACE,MAAM;QACN,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,gBAAgB;KAC9B,CACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAElE,MAAM,IAAI,GAAG,MAAM,4BAA4B,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAExE,OAAO,CACL,KAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,GAC5C,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { Titles as TitlesData } from '@eightyfourthousand/data-access';
|
|
1
|
+
import { SemVer, Titles as TitlesData } from '@eightyfourthousand/data-access';
|
|
2
2
|
import { TranslationEditorContent } from '../editor';
|
|
3
|
-
export declare const ReaderBodyPanel: ({ titles, frontMatter, body, }: {
|
|
3
|
+
export declare const ReaderBodyPanel: ({ titles, frontMatter, body, frontMatterHasMore, bodyHasMore, publicationVersion, }: {
|
|
4
4
|
titles: TitlesData;
|
|
5
5
|
frontMatter: TranslationEditorContent;
|
|
6
6
|
body: TranslationEditorContent;
|
|
7
|
+
frontMatterHasMore?: boolean;
|
|
8
|
+
bodyHasMore?: boolean;
|
|
7
9
|
cursor?: string;
|
|
10
|
+
publicationVersion?: SemVer;
|
|
8
11
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useCallback } from 'react';
|
|
4
|
-
import { BODY_MATTER_FILTER, FRONT_MATTER_FILTER, } from '@eightyfourthousand/data-access';
|
|
3
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
4
|
+
import { BODY_MATTER_FILTER, createBrowserClient, FRONT_MATTER_FILTER, getSession, isPublishedVersion, } from '@eightyfourthousand/data-access';
|
|
5
5
|
import { BodyPanel } from '../shared/BodyPanel';
|
|
6
6
|
import { Titles } from '../shared/titles';
|
|
7
7
|
import { TranslationReader } from './TranslationReader';
|
|
@@ -11,9 +11,28 @@ const TITLE_VARIANTS_FOR_TABS = {
|
|
|
11
11
|
front: 'front',
|
|
12
12
|
compare: 'comparison',
|
|
13
13
|
};
|
|
14
|
-
export const ReaderBodyPanel = ({ titles, frontMatter, body, }) => {
|
|
14
|
+
export const ReaderBodyPanel = ({ titles, frontMatter, body, frontMatterHasMore, bodyHasMore, publicationVersion, }) => {
|
|
15
|
+
// `undefined` while the role resolves. Gate as a reader until then so
|
|
16
|
+
// unpublished content never flashes before the role is known.
|
|
17
|
+
const [role, setRole] = useState(undefined);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
(async () => {
|
|
20
|
+
const session = await getSession({ client: createBrowserClient() });
|
|
21
|
+
// Unauthenticated visitors are treated as readers.
|
|
22
|
+
setRole(session?.claims.role ?? 'reader');
|
|
23
|
+
})();
|
|
24
|
+
}, []);
|
|
25
|
+
const translationState = useMemo(() => {
|
|
26
|
+
const isReader = role === undefined || role === 'reader';
|
|
27
|
+
const unpublished = !isPublishedVersion(publicationVersion);
|
|
28
|
+
if (isReader && unpublished) {
|
|
29
|
+
return 'unpublished';
|
|
30
|
+
}
|
|
31
|
+
const bodyEmpty = Array.isArray(body) ? body.length === 0 : !body;
|
|
32
|
+
return bodyEmpty ? 'empty' : 'content';
|
|
33
|
+
}, [role, publicationVersion, body]);
|
|
15
34
|
const renderTitles = useCallback(({ titles, imprint, name }) => (_jsx(Titles, { titles: titles, imprint: imprint, variant: (TITLE_VARIANTS_FOR_TABS[name] || 'english') })), []);
|
|
16
|
-
const renderTranslation = useCallback(({ content, name, className }) => (_jsx(TranslationReader, { content: content, name: name, className: className, filter: name === 'front' ? FRONT_MATTER_FILTER : BODY_MATTER_FILTER, panel: "main" })), []);
|
|
17
|
-
return (_jsx(BodyPanel, { titles: titles, frontMatter: frontMatter, body: body, renderTitles: renderTitles, renderTranslation: renderTranslation,
|
|
35
|
+
const renderTranslation = useCallback(({ content, name, className, hasMoreAfter }) => (_jsx(TranslationReader, { content: content, name: name, className: className, filter: name === 'front' ? FRONT_MATTER_FILTER : BODY_MATTER_FILTER, panel: "main", hasMoreAfter: hasMoreAfter })), []);
|
|
36
|
+
return (_jsx(BodyPanel, { titles: titles, frontMatter: frontMatter, body: body, frontMatterHasMore: frontMatterHasMore, bodyHasMore: bodyHasMore, renderTitles: renderTitles, renderTranslation: renderTranslation, translationState: translationState }));
|
|
18
37
|
};
|
|
19
38
|
//# sourceMappingURL=ReaderBodyPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReaderBodyPanel.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/ReaderBodyPanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ReaderBodyPanel.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/ReaderBodyPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
|
|
2
|
+
import type { TohokuCatalogEntry } from '@eightyfourthousand/data-access';
|
|
3
|
+
export declare const ReaderLayout: ({ withHeader, left, main, right, params, initialToh, initialHasTranslationContent, }: {
|
|
3
4
|
withHeader?: boolean;
|
|
4
5
|
left: ReactNode;
|
|
5
6
|
main: ReactNode;
|
|
@@ -7,5 +8,6 @@ export declare const ReaderLayout: ({ withHeader, left, main, right, params, ini
|
|
|
7
8
|
params: Promise<{
|
|
8
9
|
slug: string;
|
|
9
10
|
}>;
|
|
11
|
+
initialToh?: TohokuCatalogEntry;
|
|
10
12
|
initialHasTranslationContent?: boolean;
|
|
11
13
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,9 +3,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { use } from 'react';
|
|
4
4
|
import { NavigationProvider, ThreeColumnRenderer } from '../shared';
|
|
5
5
|
import { LeftPanel, MainPanel, MainPanelHeader, RightPanel, } from '@eightyfourthousand/design-system';
|
|
6
|
-
|
|
7
|
-
export const ReaderLayout = ({ withHeader = false, left, main, right, params, initialHasTranslationContent, }) => {
|
|
6
|
+
export const ReaderLayout = ({ withHeader = false, left, main, right, params, initialToh, initialHasTranslationContent, }) => {
|
|
8
7
|
const { slug } = use(params);
|
|
9
|
-
return (_jsx(NavigationProvider, { uuid: slug, initialHasTranslationContent: initialHasTranslationContent, children: _jsxs(ThreeColumnRenderer, { withHeader: withHeader, children: [_jsx(LeftPanel, { children: left }), _jsx(MainPanelHeader, { children: _jsx(
|
|
8
|
+
return (_jsx(NavigationProvider, { uuid: slug, initialToh: initialToh, initialHasTranslationContent: initialHasTranslationContent, children: _jsxs(ThreeColumnRenderer, { withHeader: withHeader, withFocusToggle: true, children: [_jsx(LeftPanel, { children: left }), _jsx(MainPanelHeader, { children: _jsx("div", { className: "h-12" }) }), _jsx(MainPanel, { children: main }), _jsx(RightPanel, { children: right })] }) }));
|
|
10
9
|
};
|
|
11
10
|
//# sourceMappingURL=ReaderLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReaderLayout.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/ReaderLayout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAa,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EACL,SAAS,EACT,SAAS,EACT,eAAe,EACf,UAAU,GACX,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"ReaderLayout.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/ReaderLayout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAa,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EACL,SAAS,EACT,SAAS,EACT,eAAe,EACf,UAAU,GACX,MAAM,mCAAmC,CAAC;AAI3C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,UAAU,GAAG,KAAK,EAClB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,UAAU,EACV,4BAA4B,GAS7B,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CACL,KAAC,kBAAkB,IACjB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,4BAA4B,EAAE,4BAA4B,YAE1D,MAAC,mBAAmB,IAAC,UAAU,EAAE,UAAU,EAAE,eAAe,mBAC1D,KAAC,SAAS,cAAE,IAAI,GAAa,EAC7B,KAAC,eAAe,cACd,cAAK,SAAS,EAAC,MAAM,GAAG,GACR,EAClB,KAAC,SAAS,cAAE,IAAI,GAAa,EAC7B,KAAC,UAAU,cAAE,KAAK,GAAc,IACZ,GACH,CACtB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { TranslationRenderer } from '../shared';
|
|
2
|
-
export declare const TranslationReader: ({ content, className, filter, panel, name, }: TranslationRenderer) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const TranslationReader: ({ content, className, filter, panel, name, hasMoreAfter, }: TranslationRenderer) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -12,8 +12,8 @@ const ReaderBody = ({ content, className, }) => {
|
|
|
12
12
|
}
|
|
13
13
|
return _jsx(TranslationEditor, { className: className });
|
|
14
14
|
};
|
|
15
|
-
export const TranslationReader = ({ content, className, filter, panel, name, }) => {
|
|
15
|
+
export const TranslationReader = ({ content, className, filter, panel, name, hasMoreAfter, }) => {
|
|
16
16
|
const { uuid } = useNavigation();
|
|
17
|
-
return (_jsx(PaginationProvider, { uuid: uuid, panel: panel, tab: name, filter: filter, content: content, isEditable: false, children: _jsx(ReaderBody, { content: content, className: className }) }));
|
|
17
|
+
return (_jsx(PaginationProvider, { uuid: uuid, panel: panel, tab: name, filter: filter, content: content, isEditable: false, hasMoreAfter: hasMoreAfter, children: _jsx(ReaderBody, { content: content, className: className }) }));
|
|
18
18
|
};
|
|
19
19
|
//# sourceMappingURL=TranslationReader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslationReader.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/TranslationReader.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAuB,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,MAAM,UAAU,GAAG,CAAC,EAClB,OAAO,EACP,SAAS,GAIV,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAAC;IAElD,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,YAC1C,cAAK,SAAS,EAAC,sCAAsC,YACnD,KAAC,qBAAqB,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,QAAQ,GAAG,GAC1D,GACF,CACP,CAAC;IACJ,CAAC;IAED,OAAO,KAAC,iBAAiB,IAAC,SAAS,EAAE,SAAS,GAAI,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,IAAI,
|
|
1
|
+
{"version":3,"file":"TranslationReader.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/TranslationReader.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAuB,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,MAAM,UAAU,GAAG,CAAC,EAClB,OAAO,EACP,SAAS,GAIV,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAAC;IAElD,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,YAC1C,cAAK,SAAS,EAAC,sCAAsC,YACnD,KAAC,qBAAqB,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,QAAQ,GAAG,GAC1D,GACF,CACP,CAAC;IACJ,CAAC;IAED,OAAO,KAAC,iBAAiB,IAAC,SAAS,EAAE,SAAS,GAAI,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,IAAI,EACJ,YAAY,GACQ,EAAE,EAAE;IACxB,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IAEjC,OAAO,CACL,KAAC,kBAAkB,IACjB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,KAAK,EACjB,YAAY,EAAE,YAAY,YAE1B,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAI,GACnC,CACtB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -18,12 +18,16 @@ const renderEndNoteLinkMark = ({ mark, children, }) => {
|
|
|
18
18
|
notes.sort((a, b) => (a.label || '').localeCompare(b.label || ''));
|
|
19
19
|
const supHtml = (n, marginClass) => {
|
|
20
20
|
const cls = cn('end-note-link', n.toh, marginClass);
|
|
21
|
-
const itemLabel = n.label?.split('.').pop() || '';
|
|
21
|
+
const itemLabel = escapeHTML(n.label?.split('.').pop() || '');
|
|
22
|
+
// Glue the marker to the text it's attached to with a word joiner (U+2060)
|
|
23
|
+
// so it never wraps to a new line away from its content: after the text for
|
|
24
|
+
// start notes, before it for end notes.
|
|
25
|
+
const joined = n.location === 'start' ? `${itemLabel}` : `${itemLabel}`;
|
|
22
26
|
return (`<sup class="${escapeHTMLAttribute(cls)}"` +
|
|
23
27
|
` type="endNoteLink"` +
|
|
24
28
|
` endNote="${escapeHTMLAttribute(n.endNote)}"` +
|
|
25
29
|
` uuid="${escapeHTMLAttribute(n.uuid)}">` +
|
|
26
|
-
`${
|
|
30
|
+
`${joined}</sup>`);
|
|
27
31
|
};
|
|
28
32
|
const start = notes
|
|
29
33
|
.filter((n) => n.location === 'start')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslationSSRContent.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/TranslationSSRContent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvD,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE;IAC7D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,OAAO,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CACnC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3E,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE,CAC5C,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAE5C,MAAM,qBAAqB,GAAG,CAAC,EAC7B,IAAI,EACJ,QAAQ,GAIT,EAAU,EAAE;IACX,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC7B,MAAM,KAAK,GAAkB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnE,MAAM,OAAO,GAAG,CAAC,CAAc,EAAE,WAAmB,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"TranslationSSRContent.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/TranslationSSRContent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvD,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE;IAC7D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,OAAO,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CACnC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3E,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE,CAC5C,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAE5C,MAAM,qBAAqB,GAAG,CAAC,EAC7B,IAAI,EACJ,QAAQ,GAIT,EAAU,EAAE;IACX,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC7B,MAAM,KAAK,GAAkB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnE,MAAM,OAAO,GAAG,CAAC,CAAc,EAAE,WAAmB,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,2EAA2E;QAC3E,4EAA4E;QAC5E,wCAAwC;QACxC,MAAM,MAAM,GACV,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;QAC7D,OAAO,CACL,eAAe,mBAAmB,CAAC,GAAG,CAAC,GAAG;YAC1C,qBAAqB;YACrB,aAAa,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG;YAC9C,UAAU,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;YACzC,GAAG,MAAM,QAAQ,CAClB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACjC,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,GAAG,GAAG,KAAK;SACd,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC1B,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,IAAI,GAAI,EAAgB,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE/E,OAAO,SAAS,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC;AAC9C,CAAC,CAAC;AAUF,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;AACjE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvD,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAe,EAAE;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,EAAE,IAAI,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,IAAiB,EACjB,SAAsB,EACtB,SAAsB,EACtB,EAAE;IACF,IAAI,IAAI,CAAC,IAAI;QAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI;YAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACvC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,GAAgB,EAAE,UAAsB,EAAE,EAAE;IAClE,4EAA4E;IAC5E,qEAAqE;IACrE,yBAAyB;IACzB,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC;QACpB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC5B,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;KAC7B,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC,MAAM,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAC9C,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,0EAA0E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/F,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,OAAO,EACP,SAAS,EACT,UAAU,GACJ,EAAE,EAAE;IACV,MAAM,IAAI,GAAG,UAAU,IAAI,wBAAwB,CAAC;IACpD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAE/B,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC1C,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC9B,OAAO,EAAE,GAAG;YACZ,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,EAAE;SACjE,CAAC,CAAC;QACH,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,CACzE,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC1C,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,KAAK,CACX,gEAAgE,EAChE,GAAG,CACJ,CAAC;QACF,OAAO,cAAK,SAAS,EAAE,SAAS,YAAG,gBAAgB,CAAC,GAAG,CAAC,GAAO,CAAC;IAClE,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -3,12 +3,14 @@ import { TranslationRenderer } from './types';
|
|
|
3
3
|
import { BibliographyEntries } from '@eightyfourthousand/data-access';
|
|
4
4
|
import type { GlossaryTermsPage } from '@eightyfourthousand/client-graphql';
|
|
5
5
|
import { ReactElement } from 'react';
|
|
6
|
-
export declare const BackMatterPanel: ({ workUuid, endnotes, glossary, bibliography, abbreviations, isEditor, withAttestations, renderTranslation, }: {
|
|
6
|
+
export declare const BackMatterPanel: ({ workUuid, endnotes, glossary, bibliography, abbreviations, endnotesHasMore, abbreviationsHasMore, isEditor, withAttestations, renderTranslation, }: {
|
|
7
7
|
workUuid: string;
|
|
8
8
|
endnotes: TranslationEditorContent;
|
|
9
9
|
glossary: GlossaryTermsPage;
|
|
10
10
|
bibliography: BibliographyEntries;
|
|
11
11
|
abbreviations: TranslationEditorContent;
|
|
12
|
+
endnotesHasMore?: boolean;
|
|
13
|
+
abbreviationsHasMore?: boolean;
|
|
12
14
|
isEditor?: boolean;
|
|
13
15
|
withAttestations?: boolean;
|
|
14
16
|
renderTranslation: (params: TranslationRenderer) => ReactElement<TranslationRenderer>;
|
|
@@ -7,7 +7,7 @@ import { GlossaryTermList, GlossaryPaginationProvider } from './glossary';
|
|
|
7
7
|
import { BibliographyList } from './bibliography';
|
|
8
8
|
import { cn, useIsMobile } from '@eightyfourthousand/lib-utils';
|
|
9
9
|
import { useScrollPositionRestore } from './hooks/useScrollPositionRestore';
|
|
10
|
-
export const BackMatterPanel = ({ workUuid, endnotes, glossary, bibliography, abbreviations, isEditor = false, withAttestations = false, renderTranslation, }) => {
|
|
10
|
+
export const BackMatterPanel = ({ workUuid, endnotes, glossary, bibliography, abbreviations, endnotesHasMore, abbreviationsHasMore, isEditor = false, withAttestations = false, renderTranslation, }) => {
|
|
11
11
|
const { panels, updatePanel } = useNavigation();
|
|
12
12
|
const isMobile = useIsMobile();
|
|
13
13
|
const scrollContainerRef = useRef(null);
|
|
@@ -21,11 +21,13 @@ export const BackMatterPanel = ({ workUuid, endnotes, glossary, bibliography, ab
|
|
|
21
21
|
className: 'block',
|
|
22
22
|
name: 'endnotes',
|
|
23
23
|
panel: 'right',
|
|
24
|
+
hasMoreAfter: endnotesHasMore,
|
|
24
25
|
}) })), hasGlossary && (_jsx(TabsContent, { value: "glossary", forceMount: true, className: "pb-8 data-[state=inactive]:hidden", children: _jsx(GlossaryPaginationProvider, { workUuid: workUuid, initialPage: glossary, withAttestations: withAttestations, children: _jsx(GlossaryTermList, { isEditor: isEditor }) }) })), bibliography.length > 0 && (_jsx(TabsContent, { value: "bibliography", forceMount: true, className: "pb-8 data-[state=inactive]:hidden", children: _jsx(BibliographyList, { content: bibliography }) })), abbreviations.length > 0 && (_jsx(TabsContent, { value: "abbreviations", forceMount: true, className: "data-[state=inactive]:hidden", children: renderTranslation({
|
|
25
26
|
content: abbreviations,
|
|
26
27
|
className: 'block',
|
|
27
28
|
name: 'abbreviations',
|
|
28
29
|
panel: 'right',
|
|
30
|
+
hasMoreAfter: abbreviationsHasMore,
|
|
29
31
|
}) }))] }) }) })] }));
|
|
30
32
|
};
|
|
31
33
|
//# sourceMappingURL=BackMatterPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackMatterPanel.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/BackMatterPanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EACL,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,WAAW,GACZ,MAAM,mCAAmC,CAAC;AAK3C,OAAO,EAAgB,MAAM,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,QAAQ,GAAG,KAAK,EAChB,gBAAgB,GAAG,KAAK,EACxB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"BackMatterPanel.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/BackMatterPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { TranslationEditorContent } from '../editor';
|
|
2
2
|
import { Title } from '@eightyfourthousand/data-access';
|
|
3
|
-
import { TitlesRenderer, TranslationRenderer } from './types';
|
|
3
|
+
import { TitlesRenderer, TranslationRenderer, TranslationState } from './types';
|
|
4
4
|
import { ReactElement } from 'react';
|
|
5
|
-
export declare const BodyPanel: ({ titles, frontMatter, body, renderTitles, renderTranslation,
|
|
5
|
+
export declare const BodyPanel: ({ titles, frontMatter, body, frontMatterHasMore, bodyHasMore, renderTitles, renderTranslation, translationState, }: {
|
|
6
6
|
titles: Title[];
|
|
7
7
|
frontMatter: TranslationEditorContent;
|
|
8
8
|
body: TranslationEditorContent;
|
|
9
|
+
frontMatterHasMore?: boolean;
|
|
10
|
+
bodyHasMore?: boolean;
|
|
9
11
|
renderTitles: (params: TitlesRenderer) => ReactElement<TitlesRenderer>;
|
|
10
12
|
renderTranslation: (params: TranslationRenderer) => ReactElement<TranslationRenderer>;
|
|
11
|
-
|
|
13
|
+
translationState?: TranslationState;
|
|
12
14
|
}) => import("react/jsx-runtime").JSX.Element;
|