@eightyfourthousand/lib-editing 2026.6.1 → 2026.6.3

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 (91) hide show
  1. package/lib/components/editor/EditorProvider.js +1 -1
  2. package/lib/components/editor/EditorProvider.js.map +1 -1
  3. package/lib/components/editor/TranslationEditor.js +2 -1
  4. package/lib/components/editor/TranslationEditor.js.map +1 -1
  5. package/lib/components/editor/extensions/EndNoteLink/EndNoteLinkMark.js +2 -1
  6. package/lib/components/editor/extensions/EndNoteLink/EndNoteLinkMark.js.map +1 -1
  7. package/lib/components/editor/extensions/GlossaryInstance/GlossaryInstanceNode.js +4 -1
  8. package/lib/components/editor/extensions/GlossaryInstance/GlossaryInstanceNode.js.map +1 -1
  9. package/lib/components/editor/extensions/GlossaryInstance/GlossaryInstanceNode.ssr.js +3 -1
  10. package/lib/components/editor/extensions/GlossaryInstance/GlossaryInstanceNode.ssr.js.map +1 -1
  11. package/lib/components/editor/extensions/InternalLink/InternalLink.js +4 -1
  12. package/lib/components/editor/extensions/InternalLink/InternalLink.js.map +1 -1
  13. package/lib/components/editor/extensions/InternalLink/InternalLink.ssr.js +3 -1
  14. package/lib/components/editor/extensions/InternalLink/InternalLink.ssr.js.map +1 -1
  15. package/lib/components/editor/extensions/Mention/Mention.js +1 -1
  16. package/lib/components/editor/extensions/Mention/Mention.js.map +1 -1
  17. package/lib/components/editor/extensions/Mention/Mention.ssr.js +13 -3
  18. package/lib/components/editor/extensions/Mention/Mention.ssr.js.map +1 -1
  19. package/lib/components/editor/extensions/Passage/EditLabel.d.ts +5 -2
  20. package/lib/components/editor/extensions/Passage/EditLabel.js +5 -5
  21. package/lib/components/editor/extensions/Passage/EditLabel.js.map +1 -1
  22. package/lib/components/editor/extensions/Passage/EditorOptions.d.ts +2 -2
  23. package/lib/components/editor/extensions/Passage/EditorOptions.js +4 -6
  24. package/lib/components/editor/extensions/Passage/EditorOptions.js.map +1 -1
  25. package/lib/components/editor/extensions/Passage/PassageMenuOverlay.d.ts +13 -0
  26. package/lib/components/editor/extensions/Passage/PassageMenuOverlay.js +150 -0
  27. package/lib/components/editor/extensions/Passage/PassageMenuOverlay.js.map +1 -0
  28. package/lib/components/editor/extensions/Passage/PassageNode.d.ts +33 -2
  29. package/lib/components/editor/extensions/Passage/PassageNode.js +294 -107
  30. package/lib/components/editor/extensions/Passage/PassageNode.js.map +1 -1
  31. package/lib/components/editor/extensions/Passage/PassageNode.ssr.js +70 -8
  32. package/lib/components/editor/extensions/Passage/PassageNode.ssr.js.map +1 -1
  33. package/lib/components/editor/extensions/Passage/ReaderOptions.d.ts +2 -2
  34. package/lib/components/editor/extensions/Passage/ReaderOptions.js +4 -7
  35. package/lib/components/editor/extensions/Passage/ReaderOptions.js.map +1 -1
  36. package/lib/components/editor/extensions/Passage/ShowAnnotations.d.ts +7 -2
  37. package/lib/components/editor/extensions/Passage/ShowAnnotations.js +10 -7
  38. package/lib/components/editor/extensions/Passage/ShowAnnotations.js.map +1 -1
  39. package/lib/components/editor/extensions/WordBreak.d.ts +41 -0
  40. package/lib/components/editor/extensions/WordBreak.js +59 -0
  41. package/lib/components/editor/extensions/WordBreak.js.map +1 -0
  42. package/lib/components/editor/extensions/translationSSRExtensions.js +2 -0
  43. package/lib/components/editor/extensions/translationSSRExtensions.js.map +1 -1
  44. package/lib/components/editor/hooks/useDefaultExtensions.d.ts +1 -1
  45. package/lib/components/editor/hooks/useDefaultExtensions.js +2 -0
  46. package/lib/components/editor/hooks/useDefaultExtensions.js.map +1 -1
  47. package/lib/components/editor/hooks/useTranslationExtensions.d.ts +1 -1
  48. package/lib/components/editor/hooks/useTranslationExtensions.js +2 -0
  49. package/lib/components/editor/hooks/useTranslationExtensions.js.map +1 -1
  50. package/lib/components/editor/menus/MainBubbleMenu.js +17 -4
  51. package/lib/components/editor/menus/MainBubbleMenu.js.map +1 -1
  52. package/lib/components/editor/menus/TranslationBubbleMenu.js +3 -2
  53. package/lib/components/editor/menus/TranslationBubbleMenu.js.map +1 -1
  54. package/lib/components/editor/menus/selectors/TextAlignSelector.d.ts +1 -1
  55. package/lib/components/editor/menus/selectors/TextAlignSelector.js +33 -24
  56. package/lib/components/editor/menus/selectors/TextAlignSelector.js.map +1 -1
  57. package/lib/components/editor/menus/selectors/TranslationNodeSelector.js +1 -1
  58. package/lib/components/editor/menus/selectors/TranslationNodeSelector.js.map +1 -1
  59. package/lib/components/editor/menus/selectors/WordBreakSelector.d.ts +4 -0
  60. package/lib/components/editor/menus/selectors/WordBreakSelector.js +38 -0
  61. package/lib/components/editor/menus/selectors/WordBreakSelector.js.map +1 -0
  62. package/lib/components/editor/menus/selectors/index.d.ts +1 -0
  63. package/lib/components/editor/menus/selectors/index.js +1 -0
  64. package/lib/components/editor/menus/selectors/index.js.map +1 -1
  65. package/lib/components/reader/TranslationSSRContent.js +3 -1
  66. package/lib/components/reader/TranslationSSRContent.js.map +1 -1
  67. package/lib/components/shared/LeftPanel.js +1 -1
  68. package/lib/components/shared/LeftPanel.js.map +1 -1
  69. package/lib/components/shared/hooks/useTohToggle.d.ts +2 -3
  70. package/lib/components/shared/hooks/useTohToggle.js +39 -30
  71. package/lib/components/shared/hooks/useTohToggle.js.map +1 -1
  72. package/lib/exporters/heading.js +3 -0
  73. package/lib/exporters/heading.js.map +1 -1
  74. package/lib/exporters/paragraph.js +5 -0
  75. package/lib/exporters/paragraph.js.map +1 -1
  76. package/lib/transformers/end-note-link.js +2 -1
  77. package/lib/transformers/end-note-link.js.map +1 -1
  78. package/lib/transformers/glossary-instance.js +2 -1
  79. package/lib/transformers/glossary-instance.js.map +1 -1
  80. package/lib/transformers/heading.js +2 -0
  81. package/lib/transformers/heading.js.map +1 -1
  82. package/lib/transformers/internal-link.js +2 -1
  83. package/lib/transformers/internal-link.js.map +1 -1
  84. package/lib/transformers/mention.js +2 -1
  85. package/lib/transformers/mention.js.map +1 -1
  86. package/lib/transformers/paragraph.js +3 -1
  87. package/lib/transformers/paragraph.js.map +1 -1
  88. package/package.json +7 -7
  89. package/lib/components/editor/extensions/Passage/Passage.d.ts +0 -3
  90. package/lib/components/editor/extensions/Passage/Passage.js +0 -86
  91. package/lib/components/editor/extensions/Passage/Passage.js.map +0 -1
@@ -2,41 +2,50 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Button, Popover, PopoverContent, PopoverTrigger, } from '@eightyfourthousand/design-system';
4
4
  import { useEditorState } from '@tiptap/react';
5
- import { AlignCenterIcon, AlignLeftIcon, AlignRightIcon, CheckIcon, ChevronDownIcon, } from 'lucide-react';
5
+ import { AlignCenterIcon, AlignJustifyIcon, AlignLeftIcon, AlignRightIcon, CheckIcon, ChevronDownIcon, } from 'lucide-react';
6
+ // When a block has no explicit alignment, the rendered default style is justify
7
+ // for paragraphs and center for headings (see TextAlign config + base styles).
8
+ const HEADING_DEFAULT_ALIGN = 'center';
9
+ const PARAGRAPH_DEFAULT_ALIGN = 'justify';
6
10
  const items = [
7
- {
8
- title: 'Left',
9
- icon: AlignLeftIcon,
10
- onClick: (editor) => editor.chain().focus().setTextAlign('left').run(),
11
- isActive: (state) => state.isLeft,
12
- },
13
- {
14
- title: 'Center',
15
- icon: AlignCenterIcon,
16
- onClick: (editor) => editor.chain().focus().setTextAlign('center').run(),
17
- isActive: (state) => state.isCenter,
18
- },
19
- {
20
- title: 'Right',
21
- icon: AlignRightIcon,
22
- onClick: (editor) => {
23
- editor.chain().focus().setTextAlign('right').run();
24
- },
25
- isActive: (state) => state.isRight,
26
- },
11
+ { title: 'Left', align: 'left', icon: AlignLeftIcon },
12
+ { title: 'Center', align: 'center', icon: AlignCenterIcon },
13
+ { title: 'Right', align: 'right', icon: AlignRightIcon },
14
+ { title: 'Justify', align: 'justify', icon: AlignJustifyIcon },
27
15
  ];
28
16
  export const TextAlignSelector = ({ editor }) => {
29
17
  const editorState = useEditorState({
30
18
  editor,
31
19
  selector: (instance) => ({
20
+ isParagraph: instance.editor.isActive('paragraph'),
21
+ isHeading: instance.editor.isActive('heading'),
32
22
  isLeft: instance.editor.isActive({ textAlign: 'left' }),
33
23
  isCenter: instance.editor.isActive({ textAlign: 'center' }),
34
24
  isRight: instance.editor.isActive({ textAlign: 'right' }),
25
+ isJustify: instance.editor.isActive({ textAlign: 'justify' }),
35
26
  }),
36
27
  });
37
- const activeItem = items.find((item) => item.isActive(editorState)) ?? items[0];
38
- return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "rounded-none", children: [_jsx(activeItem.icon, { className: "size-4 me-2", strokeWidth: 2.5 }), _jsx(ChevronDownIcon, { className: "size-3" })] }) }), _jsx(PopoverContent, { className: "p-1 shadow-xl w-32", align: "end", noPortal: true, children: items.map((item, i) => {
39
- return (_jsxs("div", { onClick: () => item.onClick(editor), className: "flex space-x-2 items-center rounded-md hover:bg-muted px-2 py-1.5 text-foreground cursor-pointer", children: [_jsx(item.icon, { className: "size-4" }), _jsx("span", { className: "text-sm", children: item.title }), _jsx("div", { className: "flex-1" }), item.isActive(editorState) && _jsx(CheckIcon, { className: "size-3.5" })] }, i));
28
+ // Alignment only applies to paragraph and heading blocks.
29
+ if (!editorState.isParagraph && !editorState.isHeading) {
30
+ return null;
31
+ }
32
+ const explicitAlign = editorState.isLeft
33
+ ? 'left'
34
+ : editorState.isCenter
35
+ ? 'center'
36
+ : editorState.isRight
37
+ ? 'right'
38
+ : editorState.isJustify
39
+ ? 'justify'
40
+ : undefined;
41
+ // Fall back to the block's default alignment when none is explicitly set.
42
+ const defaultAlign = editorState.isHeading
43
+ ? HEADING_DEFAULT_ALIGN
44
+ : PARAGRAPH_DEFAULT_ALIGN;
45
+ const activeAlign = explicitAlign ?? defaultAlign;
46
+ const activeItem = items.find((item) => item.align === activeAlign) ?? items[0];
47
+ return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "rounded-none w-12", children: [_jsx(activeItem.icon, { className: "size-4", strokeWidth: 2.5 }), _jsx(ChevronDownIcon, { className: "size-3" })] }) }), _jsx(PopoverContent, { className: "p-1 shadow-xl w-32", align: "end", noPortal: true, children: items.map((item, i) => {
48
+ return (_jsxs("div", { onClick: () => editor.chain().focus().setTextAlign(item.align).run(), className: "flex space-x-2 items-center rounded-md hover:bg-muted px-2 py-1.5 text-foreground cursor-pointer", children: [_jsx(item.icon, { className: "size-4" }), _jsx("span", { className: "text-sm", children: item.title }), _jsx("div", { className: "flex-1" }), item.align === activeAlign && _jsx(CheckIcon, { className: "size-3.5" })] }, i));
40
49
  }) })] }));
41
50
  };
42
51
  //# sourceMappingURL=TextAlignSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextAlignSelector.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/menus/selectors/TextAlignSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextAlignSelector.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/menus/selectors/TextAlignSelector.tsx"],"names":[],"mappings":"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"}
@@ -67,7 +67,7 @@ export const TranslationNodeSelector = ({ editor }) => {
67
67
  });
68
68
  const activeItems = items.filter((item) => item.isActive(editorState));
69
69
  const name = activeItems.length > 1 ? 'Multiple' : (activeItems.pop()?.name ?? 'Text');
70
- return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "rounded-none", children: [_jsx("span", { className: "whitespace-nowrap text-sm me-2", children: name }), _jsx(ChevronDownIcon, { className: "size-3" })] }) }), _jsx(PopoverContent, { className: "w-48 p-1 shadow-xl", align: "start", noPortal: true, children: items.map((item, i) => {
70
+ return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "rounded-none", children: [_jsx("span", { className: "whitespace-nowrap text-sm", children: name }), _jsx(ChevronDownIcon, { className: "size-3" })] }) }), _jsx(PopoverContent, { className: "w-48 p-1 shadow-xl", align: "start", noPortal: true, children: items.map((item, i) => {
71
71
  return (_jsxs("div", { onClick: () => item.onClick(editor), className: "flex items-center text-sm rounded-md hover:bg-muted text-foreground px-2 py-1.5 cursor-pointer", children: [_jsx(item.icon, { className: "size-3.5 me-2" }), _jsx("span", { children: item.name }), _jsx("div", { className: "flex-1" }), item.isActive(editorState) && (_jsx(CheckIcon, { className: "size-3.5 ms-4" }))] }, i));
72
72
  }) })] }));
73
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TranslationNodeSelector.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/menus/selectors/TranslationNodeSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TranslationNodeSelector.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/menus/selectors/TranslationNodeSelector.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Editor } from '@tiptap/core';
2
+ export declare const WordBreakSelector: ({ editor }: {
3
+ editor: Editor;
4
+ }) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,38 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Button, Popover, PopoverContent, PopoverTrigger, } from '@eightyfourthousand/design-system';
4
+ import { useEditorState } from '@tiptap/react';
5
+ import { CheckIcon, ChevronDownIcon, ListMinusIcon, WrapTextIcon, } from 'lucide-react';
6
+ // When a paragraph has no explicit word-break, the rendered default is the CSS
7
+ // default `normal`.
8
+ const DEFAULT_WORD_BREAK = 'normal';
9
+ const items = [
10
+ { title: 'Normal', wordBreak: 'normal', icon: ListMinusIcon },
11
+ { title: 'Break all', wordBreak: 'break-all', icon: WrapTextIcon },
12
+ ];
13
+ export const WordBreakSelector = ({ editor }) => {
14
+ const editorState = useEditorState({
15
+ editor,
16
+ selector: (instance) => ({
17
+ isParagraph: instance.editor.isActive('paragraph'),
18
+ isNormal: instance.editor.isActive({ wordBreak: 'normal' }),
19
+ isBreakAll: instance.editor.isActive({ wordBreak: 'break-all' }),
20
+ }),
21
+ });
22
+ // Word-break only applies to paragraph blocks.
23
+ if (!editorState.isParagraph) {
24
+ return null;
25
+ }
26
+ const explicitWordBreak = editorState.isNormal
27
+ ? 'normal'
28
+ : editorState.isBreakAll
29
+ ? 'break-all'
30
+ : undefined;
31
+ // Fall back to the block's default word-break when none is explicitly set.
32
+ const activeWordBreak = explicitWordBreak ?? DEFAULT_WORD_BREAK;
33
+ const activeItem = items.find((item) => item.wordBreak === activeWordBreak) ?? items[0];
34
+ return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "rounded-none w-12", children: [_jsx(activeItem.icon, { className: "size-4", strokeWidth: 2.5 }), _jsx(ChevronDownIcon, { className: "size-3" })] }) }), _jsx(PopoverContent, { className: "p-1 shadow-xl w-40", align: "end", noPortal: true, children: items.map((item, i) => {
35
+ return (_jsxs("div", { onClick: () => editor.chain().focus().setWordBreak(item.wordBreak).run(), className: "flex space-x-2 items-center rounded-md hover:bg-muted px-2 py-1.5 text-foreground cursor-pointer", children: [_jsx(item.icon, { className: "size-4" }), _jsx("span", { className: "text-sm", children: item.title }), _jsx("div", { className: "flex-1" }), item.wordBreak === activeWordBreak && (_jsx(CheckIcon, { className: "size-3.5" }))] }, i));
36
+ }) })] }));
37
+ };
38
+ //# sourceMappingURL=WordBreakSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WordBreakSelector.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/menus/selectors/WordBreakSelector.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export * from './LinkSelector';
2
2
  export * from './TextAlignSelector';
3
+ export * from './WordBreakSelector';
3
4
  export * from './TextButtons';
4
5
  export * from './TranslationNodeSelector';
5
6
  export * from './NodeSelector';
@@ -1,5 +1,6 @@
1
1
  export * from './LinkSelector';
2
2
  export * from './TextAlignSelector';
3
+ export * from './WordBreakSelector';
3
4
  export * from './TextButtons';
4
5
  export * from './TranslationNodeSelector';
5
6
  export * from './NodeSelector';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/menus/selectors/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/menus/selectors/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC"}
@@ -17,13 +17,15 @@ const renderEndNoteLinkMark = ({ mark, children, }) => {
17
17
  const notes = Array.isArray(raw) ? raw.filter(isEndNoteItem) : [];
18
18
  notes.sort((a, b) => (a.label || '').localeCompare(b.label || ''));
19
19
  const supHtml = (n, marginClass) => {
20
- const cls = cn('end-note-link', n.toh, marginClass);
20
+ const cls = cn('end-note-link', marginClass);
21
+ const tohAttr = n.toh ? ` data-toh="${escapeHTMLAttribute(n.toh)}"` : '';
21
22
  const itemLabel = escapeHTML(n.label?.split('.').pop() || '');
22
23
  // Glue the marker to the text it's attached to with a word joiner (U+2060)
23
24
  // so it never wraps to a new line away from its content: after the text for
24
25
  // start notes, before it for end notes.
25
26
  const joined = n.location === 'start' ? `${itemLabel}⁠` : `⁠${itemLabel}`;
26
27
  return (`<sup class="${escapeHTMLAttribute(cls)}"` +
28
+ tohAttr +
27
29
  ` type="endNoteLink"` +
28
30
  ` endNote="${escapeHTMLAttribute(n.endNote)}"` +
29
31
  ` uuid="${escapeHTMLAttribute(n.uuid)}">` +
@@ -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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"}
@@ -9,7 +9,7 @@ import { cn, useIsMobile } from '@eightyfourthousand/lib-utils';
9
9
  export const LeftPanel = ({ toc, work, limitWhenNoTranslation = false, }) => {
10
10
  const { panels, toh, updatePanel, setToh } = useNavigation();
11
11
  const isMobile = useIsMobile();
12
- useTohToggle({ work, toh });
12
+ useTohToggle({ toh });
13
13
  useEffect(() => {
14
14
  const currentToh = toh || work.toh[0] || '';
15
15
  setToh(currentToh);
@@ -1 +1 @@
1
- {"version":3,"file":"LeftPanel.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/LeftPanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAE7F,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,GAAG,EACH,IAAI,EACJ,sBAAsB,GAAG,KAAK,GAK/B,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAC7D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5B,OAAO,CACL,MAAC,IAAI,IACH,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAC/B,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;YACzB,MAAM,GAAG,GAAG,OAAkB,CAAC;YAC/B,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC,EACD,YAAY,EAAC,KAAK,EAClB,SAAS,EAAC,sDAAsD,aAEhE,cAAK,SAAS,EAAC,wFAAwF,YACrG,KAAC,QAAQ,IACP,SAAS,EAAE,EAAE,CACX,6CAA6C,EAC7C,QAAQ,IAAI,OAAO,CACpB,YAED,KAAC,WAAW,IAAC,KAAK,EAAC,KAAK,kCAAgC,GAC/C,GACP,EACN,cAAK,SAAS,EAAC,gBAAgB,YAC7B,cAAK,SAAS,EAAC,iCAAiC,YAC9C,cAAK,SAAS,EAAC,0CAA0C,YACvD,KAAC,WAAW,IAAC,KAAK,EAAC,KAAK,EAAC,SAAS,EAAC,aAAa,YAC9C,KAAC,eAAe,IACd,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,sBAAsB,EAAE,sBAAsB,GAC9C,GACU,GACV,GACF,GACF,IACD,CACR,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"LeftPanel.js","sourceRoot":"","sources":["../../../../../../libs/lib-editing/src/lib/components/shared/LeftPanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAE7F,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,GAAG,EACH,IAAI,EACJ,sBAAsB,GAAG,KAAK,GAK/B,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAC7D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAEtB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5B,OAAO,CACL,MAAC,IAAI,IACH,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAC/B,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;YACzB,MAAM,GAAG,GAAG,OAAkB,CAAC;YAC/B,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC,EACD,YAAY,EAAC,KAAK,EAClB,SAAS,EAAC,sDAAsD,aAEhE,cAAK,SAAS,EAAC,wFAAwF,YACrG,KAAC,QAAQ,IACP,SAAS,EAAE,EAAE,CACX,6CAA6C,EAC7C,QAAQ,IAAI,OAAO,CACpB,YAED,KAAC,WAAW,IAAC,KAAK,EAAC,KAAK,kCAAgC,GAC/C,GACP,EACN,cAAK,SAAS,EAAC,gBAAgB,YAC7B,cAAK,SAAS,EAAC,iCAAiC,YAC9C,cAAK,SAAS,EAAC,0CAA0C,YACvD,KAAC,WAAW,IAAC,KAAK,EAAC,KAAK,EAAC,SAAS,EAAC,aAAa,YAC9C,KAAC,eAAe,IACd,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,sBAAsB,EAAE,sBAAsB,GAC9C,GACU,GACV,GACF,GACF,IACD,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -1,5 +1,4 @@
1
- import { TohokuCatalogEntry, Work } from '@eightyfourthousand/data-access';
2
- export declare const useTohToggle: ({ toh, work, }: {
1
+ import { TohokuCatalogEntry } from '@eightyfourthousand/data-access';
2
+ export declare const useTohToggle: ({ toh }: {
3
3
  toh?: TohokuCatalogEntry;
4
- work: Work;
5
4
  }) => void;
@@ -1,35 +1,44 @@
1
1
  'use client';
2
2
  import { useEffect } from 'react';
3
- export const useTohToggle = ({ toh, work, }) => {
3
+ export const useTohToggle = ({ toh }) => {
4
4
  useEffect(() => {
5
- (async () => {
6
- const sheets = Array.from(document.styleSheets);
7
- let sheet = [...sheets].find((s) => {
8
- const node = s.ownerNode;
9
- return node?.id === 'dynamic-visibility-rules';
10
- });
11
- if (!sheet) {
12
- const styleEl = document.createElement('style');
13
- styleEl.id = 'dynamic-visibility-rules';
14
- document.head.appendChild(styleEl);
15
- sheet = styleEl.sheet;
16
- }
17
- if (!sheet) {
18
- console.warn('Could not find or create stylesheet for dynamic class toggling.');
19
- return;
20
- }
21
- // Clear existing rules
22
- while (sheet.cssRules.length > 0) {
23
- sheet.deleteRule(0);
24
- }
25
- // Add new rules
26
- const tohs = work.toh;
27
- tohs
28
- .filter((cls) => cls !== toh)
29
- .forEach((cls) => {
30
- sheet.insertRule(`.${cls} { display: none !important; }`, sheet.cssRules.length);
31
- });
32
- })();
33
- }, [toh, work.toh]);
5
+ let styleEl = document.getElementById('dynamic-visibility-rules');
6
+ if (!styleEl) {
7
+ styleEl = document.createElement('style');
8
+ styleEl.id = 'dynamic-visibility-rules';
9
+ document.head.appendChild(styleEl);
10
+ }
11
+ const sheet = styleEl.sheet;
12
+ if (!sheet) {
13
+ console.warn('Could not find or create stylesheet for dynamic class toggling.');
14
+ return;
15
+ }
16
+ // Clear existing rules
17
+ while (sheet.cssRules.length > 0) {
18
+ sheet.deleteRule(0);
19
+ }
20
+ // A single rule hides every toh-scoped element that doesn't match the
21
+ // active toh. `data-toh` may hold a comma-separated list (e.g.
22
+ // "toh417,toh418") when content belongs to several tohs, so the active toh
23
+ // is treated as list membership: keep the element visible if its list
24
+ // equals the active toh or contains it as a comma-delimited token (first,
25
+ // middle, or last). The comma boundaries avoid prefix collisions such as
26
+ // "toh41" matching "toh417". Attribute selectors take a quoted string, so
27
+ // any toh value is safe — only quotes and backslashes need escaping.
28
+ const escaped = toh?.replace(/["\\]/g, '\\$&');
29
+ const selector = escaped
30
+ ? `[data-toh]` +
31
+ `:not([data-toh="${escaped}"])` +
32
+ `:not([data-toh^="${escaped},"])` +
33
+ `:not([data-toh*=",${escaped},"])` +
34
+ `:not([data-toh$=",${escaped}"])`
35
+ : '[data-toh]';
36
+ try {
37
+ sheet.insertRule(`${selector} { display: none; }`, 0);
38
+ }
39
+ catch (e) {
40
+ console.error('Failed to insert toh visibility rule:', e);
41
+ }
42
+ }, [toh]);
34
43
  };
35
44
  //# sourceMappingURL=useTohToggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTohToggle.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/shared/hooks/useTohToggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,GAAG,EACH,IAAI,GAIL,EAAE,EAAE;IACH,SAAS,CAAC,GAAG,EAAE;QACb,CAAC,KAAK,IAAI,EAAE;YACV,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,KAAK,GAAqC,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnE,MAAM,IAAI,GAAG,CAAC,CAAC,SAA+B,CAAC;gBAC/C,OAAO,IAAI,EAAE,EAAE,KAAK,0BAA0B,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAChD,OAAO,CAAC,EAAE,GAAG,0BAA0B,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACnC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CACV,iEAAiE,CAClE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,uBAAuB;YACvB,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;YAED,gBAAgB;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;YACtB,IAAI;iBACD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC;iBAC5B,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,KAAK,CAAC,UAAU,CACd,IAAI,GAAG,gCAAgC,EACvC,KAAK,CAAC,QAAQ,CAAC,MAAM,CACtB,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"useTohToggle.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/shared/hooks/useTohToggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,GAAG,EAAgC,EAAE,EAAE;IACpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,GAAG,QAAQ,CAAC,cAAc,CACnC,0BAA0B,CACA,CAAC;QAE7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC,EAAE,GAAG,0BAA0B,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CACV,iEAAiE,CAClE,CAAC;YACF,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QAED,sEAAsE;QACtE,+DAA+D;QAC/D,2EAA2E;QAC3E,sEAAsE;QACtE,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,OAAO;YACtB,CAAC,CAAC,YAAY;gBACZ,mBAAmB,OAAO,KAAK;gBAC/B,oBAAoB,OAAO,MAAM;gBACjC,qBAAqB,OAAO,MAAM;gBAClC,qBAAqB,OAAO,KAAK;YACnC,CAAC,CAAC,YAAY,CAAC;QACjB,IAAI,CAAC;YACH,KAAK,CAAC,UAAU,CAAC,GAAG,QAAQ,qBAAqB,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC"}
@@ -1,8 +1,10 @@
1
+ import { normalizeAlign, } from '@eightyfourthousand/data-access';
1
2
  export const heading = ({ node, start, passageUuid, }) => {
2
3
  const textContent = node.textContent;
3
4
  const uuid = node.attrs.uuid;
4
5
  const level = node.attrs.level || 1;
5
6
  const cls = node.attrs.class;
7
+ const align = normalizeAlign(node.attrs.textAlign);
6
8
  if (!textContent) {
7
9
  console.warn(`Heading node ${uuid} is incomplete`);
8
10
  return undefined;
@@ -15,6 +17,7 @@ export const heading = ({ node, start, passageUuid, }) => {
15
17
  end: start + textContent.length,
16
18
  level,
17
19
  class: cls,
20
+ ...(align ? { align } : {}),
18
21
  };
19
22
  };
20
23
  //# sourceMappingURL=heading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"heading.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/exporters/heading.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,OAAO,GAAgC,CAAC,EACnD,IAAI,EACJ,KAAK,EACL,WAAW,GACZ,EAAiC,EAAE;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAI,IAAI,CAAC,KAAK,CAAC,KAAgB,IAAI,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAE7B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,CAAC;QACnD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,SAAS;QACf,WAAW;QACX,KAAK;QACL,GAAG,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM;QAC/B,KAAK;QACL,KAAK,EAAE,GAAG;KACX,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"heading.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/exporters/heading.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,GACf,MAAM,iCAAiC,CAAC;AAGzC,MAAM,CAAC,MAAM,OAAO,GAAgC,CAAC,EACnD,IAAI,EACJ,KAAK,EACL,WAAW,GACZ,EAAiC,EAAE;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAI,IAAI,CAAC,KAAK,CAAC,KAAgB,IAAI,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC7B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,CAAC;QACnD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,SAAS;QACf,WAAW;QACX,KAAK;QACL,GAAG,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM;QAC/B,KAAK;QACL,KAAK,EAAE,GAAG;QACV,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { normalizeAlign, normalizeWordBreak, } from '@eightyfourthousand/data-access';
1
2
  export const paragraph = ({ node, parent, start, passageUuid, }) => {
2
3
  const uuid = node.attrs.uuid;
3
4
  const parentUuid = parent?.attrs.uuid;
@@ -11,12 +12,16 @@ export const paragraph = ({ node, parent, start, passageUuid, }) => {
11
12
  console.warn(`Paragraph ${uuid} is empty`);
12
13
  return undefined;
13
14
  }
15
+ const align = normalizeAlign(node.attrs.textAlign);
16
+ const wordBreak = normalizeWordBreak(node.attrs.wordBreak);
14
17
  return {
15
18
  uuid,
16
19
  type: 'paragraph',
17
20
  passageUuid,
18
21
  start,
19
22
  end: start + textContent.length,
23
+ ...(align ? { align } : {}),
24
+ ...(wordBreak ? { wordBreak } : {}),
20
25
  };
21
26
  };
22
27
  //# sourceMappingURL=paragraph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paragraph.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/exporters/paragraph.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,SAAS,GAAkC,CAAC,EACvD,IAAI,EACJ,MAAM,EACN,KAAK,EACL,WAAW,GACZ,EAAmC,EAAE;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,UAAU,GAAG,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;IAEtC,gFAAgF;IAChF,qEAAqE;IACrE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,WAAW;QACjB,WAAW;QACX,KAAK;QACL,GAAG,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM;KAChC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"paragraph.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/exporters/paragraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AAGzC,MAAM,CAAC,MAAM,SAAS,GAAkC,CAAC,EACvD,IAAI,EACJ,MAAM,EACN,KAAK,EACL,WAAW,GACZ,EAAmC,EAAE;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,UAAU,GAAG,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;IAEtC,gFAAgF;IAChF,qEAAqE;IACrE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE3D,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,WAAW;QACjB,WAAW;QACX,KAAK;QACL,GAAG,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM;QAC/B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { serializeTohList, } from '@eightyfourthousand/data-access';
1
2
  import { recurse } from './recurse';
2
3
  import { splitContentAt } from './split-at';
3
4
  import { splitContent } from './split-content';
@@ -13,7 +14,7 @@ const innerTransform = ({ block, annotation }) => {
13
14
  start,
14
15
  end,
15
16
  location: end === 0 ? 'start' : 'end',
16
- toh,
17
+ toh: serializeTohList(toh),
17
18
  });
18
19
  if (endnoteMark) {
19
20
  endnoteMark.attrs = endnoteMark.attrs || {};
@@ -1 +1 @@
1
- {"version":3,"file":"end-note-link.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/transformers/end-note-link.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,cAAc,GAAgB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;IAC5D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAC7C,UAAmC,CAAC;IACtC,IAAI,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC;QACT,OAAO;QACP,KAAK;QACL,IAAI;QACJ,KAAK;QACL,GAAG;QACH,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;QACrC,GAAG;KACJ,CAAC,CAAC;IAEH,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,WAAW,GAAG;YACZ,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE;gBACL,KAAK;aACN;SACF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAgB,CAAC,GAAG,EAAE,EAAE;IAC9C,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAC3B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,UAAmC,CAAC;IAEnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,gCAAgC,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC;IAE1B,OAAO,CAAC;QACN,GAAG,GAAG;QACN,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,CAAC;oBACX,GAAG,GAAG;oBACN,UAAU,EAAE;wBACV,GAAG,UAAU;wBACb,GAAG,EAAE,CAAC;qBACP;oBACD,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;wBACvB,cAAc,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;oBACpC,CAAC;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,cAAc,CAAC;gBACb,GAAG,GAAG;gBACN,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;oBACvB,cAAc,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpC,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"end-note-link.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/transformers/end-note-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,cAAc,GAAgB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;IAC5D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAC7C,UAAmC,CAAC;IACtC,IAAI,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC;QACT,OAAO;QACP,KAAK;QACL,IAAI;QACJ,KAAK;QACL,GAAG;QACH,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;QACrC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC;KAC3B,CAAC,CAAC;IAEH,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,WAAW,GAAG;YACZ,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE;gBACL,KAAK;aACN;SACF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAgB,CAAC,GAAG,EAAE,EAAE;IAC9C,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAC3B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,UAAmC,CAAC;IAEnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,gCAAgC,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC;IAE1B,OAAO,CAAC;QACN,GAAG,GAAG;QACN,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,CAAC;oBACX,GAAG,GAAG;oBACN,UAAU,EAAE;wBACV,GAAG,UAAU;wBACb,GAAG,EAAE,CAAC;qBACP;oBACD,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;wBACvB,cAAc,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;oBACpC,CAAC;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,cAAc,CAAC;gBACb,GAAG,GAAG;gBACN,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;oBACvB,cAAc,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpC,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { serializeTohList, } from '@eightyfourthousand/data-access';
1
2
  import { recurse } from './recurse';
2
3
  import { splitContent } from './split-content';
3
4
  export const glossaryInstance = (ctx) => {
@@ -23,7 +24,7 @@ export const glossaryInstance = (ctx) => {
23
24
  authority,
24
25
  glossary,
25
26
  uuid,
26
- toh,
27
+ toh: serializeTohList(toh),
27
28
  },
28
29
  },
29
30
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"glossary-instance.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/transformers/glossary-instance.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,CAAC,MAAM,gBAAgB,GAAgB,CAAC,GAAG,EAAE,EAAE;IACnD,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAC3B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,UAAwC,CAAC;IAEpF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,qBAAqB,IAAI,2BAA2B,CAAC,CAAC;QAEnE,OAAO;IACT,CAAC;IAED,OAAO,CAAC;QACN,GAAG,GAAG;QACN,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,YAAY,CAAC;gBACX,GAAG,GAAG;gBACN,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;oBACjB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;oBACtB,KAAK,CAAC,KAAK,GAAG;wBACZ,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;wBACtB;4BACE,IAAI,EAAE,kBAAkB;4BACxB,KAAK,EAAE;gCACL,SAAS;gCACT,QAAQ;gCACR,IAAI;gCACJ,GAAG;6BACJ;yBACF;qBACF,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"glossary-instance.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/transformers/glossary-instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,CAAC,MAAM,gBAAgB,GAAgB,CAAC,GAAG,EAAE,EAAE;IACnD,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAC3B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,UAAwC,CAAC;IAEpF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,qBAAqB,IAAI,2BAA2B,CAAC,CAAC;QAEnE,OAAO;IACT,CAAC;IAED,OAAO,CAAC;QACN,GAAG,GAAG;QACN,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,YAAY,CAAC;gBACX,GAAG,GAAG;gBACN,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;oBACjB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;oBACtB,KAAK,CAAC,KAAK,GAAG;wBACZ,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;wBACtB;4BACE,IAAI,EAAE,kBAAkB;4BACxB,KAAK,EAAE;gCACL,SAAS;gCACT,QAAQ;gCACR,IAAI;gCACJ,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC;6BAC3B;yBACF;qBACF,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -4,6 +4,7 @@ export const heading = ({ root, parent, block, annotation }) => {
4
4
  const heading = annotation;
5
5
  const level = heading.level || 3;
6
6
  const cls = heading.class;
7
+ const align = heading.align;
7
8
  recurse({
8
9
  until: ['heading', 'paragraph'],
9
10
  root,
@@ -18,6 +19,7 @@ export const heading = ({ root, parent, block, annotation }) => {
18
19
  ...item.attrs,
19
20
  level,
20
21
  class: cls,
22
+ ...(align ? { textAlign: align } : {}),
21
23
  };
22
24
  },
23
25
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"heading.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/transformers/heading.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,OAAO,GAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;IAC1E,MAAM,OAAO,GAAG,UAA+B,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;IAE1B,OAAO,CAAC;QACN,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;QAC/B,IAAI;QACJ,MAAM;QACN,KAAK;QACL,UAAU;QACV,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,UAAU,CAAC;YACT,GAAG,GAAG;YACN,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,IAAI,CAAC,KAAK,GAAG;oBACX,GAAG,IAAI,CAAC,KAAK;oBACb,KAAK;oBACL,KAAK,EAAE,GAAG;iBACX,CAAC;YACJ,CAAC;SACF,CAAC;KACL,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"heading.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/transformers/heading.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,OAAO,GAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;IAC1E,MAAM,OAAO,GAAG,UAA+B,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE5B,OAAO,CAAC;QACN,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;QAC/B,IAAI;QACJ,MAAM;QACN,KAAK;QACL,UAAU;QACV,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,UAAU,CAAC;YACT,GAAG,GAAG;YACN,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,IAAI,CAAC,KAAK,GAAG;oBACX,GAAG,IAAI,CAAC,KAAK;oBACb,KAAK;oBACL,KAAK,EAAE,GAAG;oBACV,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvC,CAAC;YACJ,CAAC;SACF,CAAC;KACL,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { serializeTohList, } from '@eightyfourthousand/data-access';
1
2
  import { splitContent } from './split-content';
2
3
  import { recurse } from './recurse';
3
4
  // NOTE: over time, internal links become just regular links.
@@ -30,7 +31,7 @@ export const internalLink = (ctx) => {
30
31
  href: path,
31
32
  entity,
32
33
  type,
33
- toh,
34
+ toh: serializeTohList(toh),
34
35
  isSameWork,
35
36
  subtype,
36
37
  linkToh,
@@ -1 +1 @@
1
- {"version":3,"file":"internal-link.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/transformers/internal-link.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,YAAY,GAAgB,CAAC,GAAG,EAAE,EAAE;IAC/C,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAC3B,MAAM,EACJ,IAAI,EACJ,MAAM,EACN,IAAI,GAAG,GAAG,EACV,KAAK,EACL,GAAG,EACH,QAAQ,EAAE,IAAI,EACd,GAAG,EACH,UAAU,EACV,OAAO,EACP,OAAO,GACR,GAAG,UAAoC,CAAC;IAEzC,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,iEAAiE;QACjE,OAAO,CAAC,IAAI,CACV,qEAAqE,EACrE,UAAU,CACX,CAAC;QACF,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,0DAA0D;IAC1D,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAExC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QACnB,IAAI,GAAG,WAAW,IAAI,IAAI,MAAM,EAAE,CAAC;IACrC,CAAC;IAED,OAAO,CAAC;QACN,GAAG,GAAG;QACN,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,YAAY,CAAC;YACX,GAAG,GAAG;YACN,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBACvB,KAAK,CAAC,KAAK,GAAG;oBACZ,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;oBACtB;wBACE,IAAI,EAAE,cAAc;wBACpB,KAAK,EAAE;4BACL,IAAI;4BACJ,IAAI,EAAE,IAAI;4BACV,MAAM;4BACN,IAAI;4BACJ,GAAG;4BACH,UAAU;4BACV,OAAO;4BACP,OAAO;yBACR;qBACF;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;KACL,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"internal-link.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/transformers/internal-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,YAAY,GAAgB,CAAC,GAAG,EAAE,EAAE;IAC/C,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAC3B,MAAM,EACJ,IAAI,EACJ,MAAM,EACN,IAAI,GAAG,GAAG,EACV,KAAK,EACL,GAAG,EACH,QAAQ,EAAE,IAAI,EACd,GAAG,EACH,UAAU,EACV,OAAO,EACP,OAAO,GACR,GAAG,UAAoC,CAAC;IAEzC,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,iEAAiE;QACjE,OAAO,CAAC,IAAI,CACV,qEAAqE,EACrE,UAAU,CACX,CAAC;QACF,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,0DAA0D;IAC1D,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAExC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QACnB,IAAI,GAAG,WAAW,IAAI,IAAI,MAAM,EAAE,CAAC;IACrC,CAAC;IAED,OAAO,CAAC;QACN,GAAG,GAAG;QACN,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,YAAY,CAAC;YACX,GAAG,GAAG;YACN,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBACvB,KAAK,CAAC,KAAK,GAAG;oBACZ,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;oBACtB;wBACE,IAAI,EAAE,cAAc;wBACpB,KAAK,EAAE;4BACL,IAAI;4BACJ,IAAI,EAAE,IAAI;4BACV,MAAM;4BACN,IAAI;4BACJ,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC;4BAC1B,UAAU;4BACV,OAAO;4BACP,OAAO;yBACR;qBACF;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;KACL,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { serializeTohList, } from '@eightyfourthousand/data-access';
1
2
  import { recurse } from './recurse';
2
3
  import { splitAndInsert } from './split-insert';
3
4
  export const mention = (ctx) => {
@@ -12,7 +13,7 @@ export const mention = (ctx) => {
12
13
  isSameWork,
13
14
  subtype,
14
15
  linkToh,
15
- toh,
16
+ toh: serializeTohList(toh),
16
17
  };
17
18
  recurse({
18
19
  ...ctx,
@@ -1 +1 @@
1
- {"version":3,"file":"mention.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/transformers/mention.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,OAAO,GAAgB,CAAC,GAAG,EAAE,EAAE;IAC1C,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAC3B,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,KAAK,EACL,GAAG,EACH,UAAU,EACV,OAAO,EACP,OAAO,EACP,GAAG,GACJ,GAAG,UAA+B,CAAC;IAEpC,MAAM,IAAI,GAAG;QACX,IAAI;QACJ,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,WAAW;QACX,UAAU;QACV,OAAO;QACP,OAAO;QACP,GAAG;KACJ,CAAC;IACF,OAAO,CAAC;QACN,GAAG,GAAG;QACN,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,cAAc,CAAC;gBACb,GAAG,GAAG;gBACN,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;oBAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAC/B,OAAO,CAAC,IAAI,CACV,6EAA6E,CAC9E,CAAC;wBACF,OAAO;oBACT,CAAC;oBAED,uEAAuE;oBACvE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CACjC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,SAAS;wBACxB,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK;wBAC5B,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAC3B,CAAC;oBAEF,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;wBACzC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjB,OAAO,CAAC,KAAK,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;wBAC5C,OAAO;oBACT,CAAC;oBAED,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;oBACvB,KAAK,CAAC,KAAK,GAAG;wBACZ,KAAK;wBACL,GAAG;wBACH,KAAK,EAAE,CAAC,IAAI,CAAC;qBACd,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"mention.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/transformers/mention.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,OAAO,GAAgB,CAAC,GAAG,EAAE,EAAE;IAC1C,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAC3B,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,KAAK,EACL,GAAG,EACH,UAAU,EACV,OAAO,EACP,OAAO,EACP,GAAG,GACJ,GAAG,UAA+B,CAAC;IAEpC,MAAM,IAAI,GAAG;QACX,IAAI;QACJ,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,WAAW;QACX,UAAU;QACV,OAAO;QACP,OAAO;QACP,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC;KAC3B,CAAC;IACF,OAAO,CAAC;QACN,GAAG,GAAG;QACN,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,cAAc,CAAC;gBACb,GAAG,GAAG;gBACN,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;oBAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAC/B,OAAO,CAAC,IAAI,CACV,6EAA6E,CAC9E,CAAC;wBACF,OAAO;oBACT,CAAC;oBAED,uEAAuE;oBACvE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CACjC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,SAAS;wBACxB,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK;wBAC5B,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAC3B,CAAC;oBAEF,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;wBACzC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjB,OAAO,CAAC,KAAK,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;wBAC5C,OAAO;oBACT,CAAC;oBAED,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;oBACvB,KAAK,CAAC,KAAK,GAAG;wBACZ,KAAK;wBACL,GAAG;wBACH,KAAK,EAAE,CAAC,IAAI,CAAC;qBACd,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -2,7 +2,7 @@ import { splitBlock } from './split-block';
2
2
  import { recurse } from './recurse';
3
3
  export const paragraph = (ctx) => {
4
4
  const { annotation } = ctx;
5
- const { start, end, uuid } = annotation || {};
5
+ const { start, end, uuid, align, wordBreak } = annotation || {};
6
6
  recurse({
7
7
  ...ctx,
8
8
  until: ['paragraph'],
@@ -15,6 +15,8 @@ export const paragraph = (ctx) => {
15
15
  start,
16
16
  end,
17
17
  uuid,
18
+ ...(align ? { textAlign: align } : {}),
19
+ ...(wordBreak ? { wordBreak } : {}),
18
20
  };
19
21
  },
20
22
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"paragraph.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/transformers/paragraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,SAAS,GAAgB,CAAC,GAAG,EAAE,EAAE;IAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAE9C,OAAO,CAAC;QACN,GAAG,GAAG;QACN,KAAK,EAAE,CAAC,WAAW,CAAC;QACpB,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,UAAU,CAAC;YACT,GAAG,GAAG;YACN,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBACvB,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;gBACzB,KAAK,CAAC,KAAK,GAAG;oBACZ,GAAG,KAAK,CAAC,KAAK;oBACd,KAAK;oBACL,GAAG;oBACH,IAAI;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;KACL,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"paragraph.js","sourceRoot":"","sources":["../../../../../libs/lib-editing/src/lib/transformers/paragraph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,SAAS,GAAgB,CAAC,GAAG,EAAE,EAAE;IAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GACzC,UAAkC,IAAI,EAAE,CAAC;IAE5C,OAAO,CAAC;QACN,GAAG,GAAG;QACN,KAAK,EAAE,CAAC,WAAW,CAAC;QACpB,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,UAAU,CAAC;YACT,GAAG,GAAG;YACN,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBACvB,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;gBACzB,KAAK,CAAC,KAAK,GAAG;oBACZ,GAAG,KAAK,CAAC,KAAK;oBACd,KAAK;oBACL,GAAG;oBACH,IAAI;oBACJ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpC,CAAC;YACJ,CAAC;SACF,CAAC;KACL,CAAC,CAAC;AACL,CAAC,CAAC"}