@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,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,GAQzB,EAAE,EAAE;IACH,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAuB,EAAE,EAAE,CAAC,CACrD,KAAC,iBAAiB,IAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAC,OAAO,GACb,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,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC;AACJ,CAAC,CAAC"}
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
- return (_jsx(ReaderBodyPanel, { titles: titles, frontMatter: frontMatter, body: body }));
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,GAAG,MAAM,oBAAoB,CAAC;QACzD,MAAM;QACN,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,gBAAgB;KAC9B,CAAC,CAAC;IAEH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,oBAAoB,CAAC;QAClD,MAAM;QACN,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,gBAAgB;KAC9B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAElE,OAAO,CACL,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAI,CAC1E,CAAC;AACJ,CAAC,CAAC"}
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, limitWhenNoTranslation: true }));
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;AACpC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAEpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAiB,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,uBAAuB,GAAqC;IAChE,WAAW,EAAE,SAAS;IACtB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,MAAM,EACN,WAAW,EACX,IAAI,GAML,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAkB,EAAE,EAAE,CAAC,CAC7C,KAAC,MAAM,IACL,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EACL,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAkB,GAE/D,CACH,EACD,EAAE,CACH,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAuB,EAAE,EAAE,CAAC,CACrD,KAAC,iBAAiB,IAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,EACnE,KAAK,EAAC,MAAM,GACZ,CACH,EACD,EAAE,CACH,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,IACR,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,sBAAsB,EAAE,IAAI,GAC5B,CACH,CAAC;AACJ,CAAC,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
- export declare const ReaderLayout: ({ withHeader, left, main, right, params, initialHasTranslationContent, }: {
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
- import { EditorHeader } from '../editor/EditorHeader';
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(EditorHeader, {}) }), _jsx(MainPanel, { children: main }), _jsx(RightPanel, { children: right })] }) }));
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;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,UAAU,GAAG,KAAK,EAClB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,4BAA4B,GAQ7B,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CACL,KAAC,kBAAkB,IACjB,IAAI,EAAE,IAAI,EACV,4BAA4B,EAAE,4BAA4B,YAE1D,MAAC,mBAAmB,IAAC,UAAU,EAAE,UAAU,aACzC,KAAC,SAAS,cAAE,IAAI,GAAa,EAC7B,KAAC,eAAe,cACd,KAAC,YAAY,KAAG,GACA,EAClB,KAAC,SAAS,cAAE,IAAI,GAAa,EAC7B,KAAC,UAAU,cAAE,KAAK,GAAc,IACZ,GACH,CACtB,CAAC;AACJ,CAAC,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,GACgB,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,YAEjB,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAI,GACnC,CACtB,CAAC;AACJ,CAAC,CAAC"}
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
- `${escapeHTML(itemLabel)}</sup>`);
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":"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"}
1
+ {"version":3,"file":"TranslationSSRContent.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/reader/TranslationSSRContent.tsx"],"names":[],"mappings":"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"}
@@ -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":"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"}
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, limitWhenNoTranslation, }: {
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
- limitWhenNoTranslation?: boolean;
13
+ translationState?: TranslationState;
12
14
  }) => import("react/jsx-runtime").JSX.Element;
@@ -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 overflow-x-auto text-center pointer-events-none me-8 sm:me-0 md:w-full", 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,