@eightyfourthousand/lib-editing 2026.6.0 → 2026.6.2

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 (89) 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.d.ts +0 -10
  16. package/lib/components/editor/extensions/Mention/Mention.js +3 -0
  17. package/lib/components/editor/extensions/Mention/Mention.js.map +1 -1
  18. package/lib/components/editor/extensions/Mention/Mention.ssr.d.ts +11 -0
  19. package/lib/components/editor/extensions/Mention/Mention.ssr.js +18 -4
  20. package/lib/components/editor/extensions/Mention/Mention.ssr.js.map +1 -1
  21. package/lib/components/editor/extensions/Passage/EditLabel.d.ts +5 -2
  22. package/lib/components/editor/extensions/Passage/EditLabel.js +5 -5
  23. package/lib/components/editor/extensions/Passage/EditLabel.js.map +1 -1
  24. package/lib/components/editor/extensions/Passage/EditorOptions.d.ts +2 -2
  25. package/lib/components/editor/extensions/Passage/EditorOptions.js +4 -6
  26. package/lib/components/editor/extensions/Passage/EditorOptions.js.map +1 -1
  27. package/lib/components/editor/extensions/Passage/PassageMenuOverlay.d.ts +13 -0
  28. package/lib/components/editor/extensions/Passage/PassageMenuOverlay.js +150 -0
  29. package/lib/components/editor/extensions/Passage/PassageMenuOverlay.js.map +1 -0
  30. package/lib/components/editor/extensions/Passage/PassageNode.d.ts +33 -2
  31. package/lib/components/editor/extensions/Passage/PassageNode.js +294 -107
  32. package/lib/components/editor/extensions/Passage/PassageNode.js.map +1 -1
  33. package/lib/components/editor/extensions/Passage/PassageNode.ssr.js +70 -8
  34. package/lib/components/editor/extensions/Passage/PassageNode.ssr.js.map +1 -1
  35. package/lib/components/editor/extensions/Passage/ReaderOptions.d.ts +2 -2
  36. package/lib/components/editor/extensions/Passage/ReaderOptions.js +4 -7
  37. package/lib/components/editor/extensions/Passage/ReaderOptions.js.map +1 -1
  38. package/lib/components/editor/extensions/Passage/ShowAnnotations.d.ts +7 -2
  39. package/lib/components/editor/extensions/Passage/ShowAnnotations.js +10 -7
  40. package/lib/components/editor/extensions/Passage/ShowAnnotations.js.map +1 -1
  41. package/lib/components/editor/extensions/WordBreak.d.ts +41 -0
  42. package/lib/components/editor/extensions/WordBreak.js +59 -0
  43. package/lib/components/editor/extensions/WordBreak.js.map +1 -0
  44. package/lib/components/editor/extensions/translationSSRExtensions.js +4 -0
  45. package/lib/components/editor/extensions/translationSSRExtensions.js.map +1 -1
  46. package/lib/components/editor/hooks/useDefaultExtensions.d.ts +1 -1
  47. package/lib/components/editor/hooks/useDefaultExtensions.js +2 -0
  48. package/lib/components/editor/hooks/useDefaultExtensions.js.map +1 -1
  49. package/lib/components/editor/hooks/useTranslationExtensions.d.ts +1 -1
  50. package/lib/components/editor/hooks/useTranslationExtensions.js +2 -0
  51. package/lib/components/editor/hooks/useTranslationExtensions.js.map +1 -1
  52. package/lib/components/editor/menus/MainBubbleMenu.js +17 -4
  53. package/lib/components/editor/menus/MainBubbleMenu.js.map +1 -1
  54. package/lib/components/editor/menus/TranslationBubbleMenu.js +3 -2
  55. package/lib/components/editor/menus/TranslationBubbleMenu.js.map +1 -1
  56. package/lib/components/editor/menus/selectors/TextAlignSelector.d.ts +1 -1
  57. package/lib/components/editor/menus/selectors/TextAlignSelector.js +33 -24
  58. package/lib/components/editor/menus/selectors/TextAlignSelector.js.map +1 -1
  59. package/lib/components/editor/menus/selectors/TranslationNodeSelector.js +1 -1
  60. package/lib/components/editor/menus/selectors/TranslationNodeSelector.js.map +1 -1
  61. package/lib/components/editor/menus/selectors/WordBreakSelector.d.ts +4 -0
  62. package/lib/components/editor/menus/selectors/WordBreakSelector.js +38 -0
  63. package/lib/components/editor/menus/selectors/WordBreakSelector.js.map +1 -0
  64. package/lib/components/editor/menus/selectors/index.d.ts +1 -0
  65. package/lib/components/editor/menus/selectors/index.js +1 -0
  66. package/lib/components/editor/menus/selectors/index.js.map +1 -1
  67. package/lib/components/reader/TranslationSSRContent.js +3 -1
  68. package/lib/components/reader/TranslationSSRContent.js.map +1 -1
  69. package/lib/components/shared/LeftPanel.js +1 -1
  70. package/lib/components/shared/LeftPanel.js.map +1 -1
  71. package/lib/components/shared/SourceReader.js +1 -1
  72. package/lib/components/shared/SourceReader.js.map +1 -1
  73. package/lib/components/shared/hooks/useTohToggle.d.ts +2 -3
  74. package/lib/components/shared/hooks/useTohToggle.js +31 -30
  75. package/lib/components/shared/hooks/useTohToggle.js.map +1 -1
  76. package/lib/exporters/heading.js +3 -0
  77. package/lib/exporters/heading.js.map +1 -1
  78. package/lib/exporters/paragraph.js +5 -0
  79. package/lib/exporters/paragraph.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/mention.js +2 -1
  83. package/lib/transformers/mention.js.map +1 -1
  84. package/lib/transformers/paragraph.js +3 -1
  85. package/lib/transformers/paragraph.js.map +1 -1
  86. package/package.json +7 -7
  87. package/lib/components/editor/extensions/Passage/Passage.d.ts +0 -3
  88. package/lib/components/editor/extensions/Passage/Passage.js +0 -86
  89. package/lib/components/editor/extensions/Passage/Passage.js.map +0 -1
@@ -1,86 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from '@eightyfourthousand/lib-utils';
3
- import { NodeViewContent, NodeViewWrapper, } from '@tiptap/react';
4
- import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DropdownMenu, DropdownMenuContent, DropdownMenuTrigger, } from '@eightyfourthousand/design-system';
5
- import { EditorOptions } from './EditorOptions';
6
- import { ReaderOptions } from './ReaderOptions';
7
- import { memo, useCallback, useMemo, useState } from 'react';
8
- import { EditLabel } from './EditLabel';
9
- import { ShowAnnotations } from './ShowAnnotations';
10
- import { LabeledElement, useNavigation, SuggestRevisionForm, PANEL_FOR_SECTION, TAB_FOR_SECTION, } from '../../../shared';
11
- import { useBookmark } from '@eightyfourthousand/data-access';
12
- import { BookmarkIcon } from 'lucide-react';
13
- import { deleteEndnotePassageNode } from '../EndNoteLink/endnote-utils';
14
- import { PASSAGE_CONTENT_CLASS, PASSAGE_INNER_CLASS, PASSAGE_LABEL_CLASS, PASSAGE_REFERENCES_CLASS, PASSAGE_WRAPPER_CLASS, } from './classes';
15
- const PassageComponent = (props) => {
16
- const { node, editor } = props;
17
- const [isDialogOpen, setIsDialogOpen] = useState(false);
18
- const [dialogType, setDialogType] = useState();
19
- const [showRevisionForm, setShowRevisionForm] = useState(false);
20
- const [dropdownOpen, setDropdownOpen] = useState(false);
21
- const textContent = node.textContent || '';
22
- const excerpt = textContent.slice(0, 100) + (textContent.length > 100 ? '...' : '');
23
- const { panels, toh, updatePanel, imprint } = useNavigation();
24
- const workTitle = imprint?.mainTitles?.en ?? toh;
25
- const { isBookmarked, toggle: toggleBookmark } = useBookmark(node.attrs.uuid, {
26
- type: 'passage',
27
- subType: node.attrs.type,
28
- tab: node.attrs.type ?? '',
29
- label: node.attrs.label,
30
- body: excerpt,
31
- workTitle,
32
- toh,
33
- });
34
- // Compute values directly instead of using effects to avoid re-render loops
35
- const isCompare = panels.main.open && panels.main.tab === 'compare';
36
- const { source, compareLeadingSpace } = useMemo(() => {
37
- if (!isCompare || !toh) {
38
- return { source: '', compareLeadingSpace: 'md:mt-1' };
39
- }
40
- const alignment = node.attrs.alignments?.[toh];
41
- const source = alignment?.tibetan.trim() || '';
42
- const firstChild = node.content.firstChild;
43
- let compareLeadingSpace = 'md:mt-1';
44
- if (firstChild?.attrs.hasLeadingSpace) {
45
- compareLeadingSpace = 'md:mt-5';
46
- }
47
- else if (['lineGroup', 'list'].includes(firstChild?.type.name || '')) {
48
- compareLeadingSpace = 'md:mt-2';
49
- }
50
- return { source, compareLeadingSpace };
51
- }, [isCompare, toh, node.attrs.alignments, node.content.firstChild]);
52
- const references = node.attrs.references;
53
- const handleReferenceClick = useCallback((passage) => {
54
- updatePanel({
55
- name: PANEL_FOR_SECTION[passage.type] || 'main',
56
- state: {
57
- open: true,
58
- tab: TAB_FOR_SECTION[passage.type] || 'translation',
59
- hash: passage.uuid,
60
- },
61
- });
62
- }, [updatePanel]);
63
- const handleDeletePassage = useCallback(() => {
64
- deleteEndnotePassageNode(editor, node.attrs.uuid);
65
- setIsDialogOpen(false);
66
- }, [node.attrs.uuid, editor]);
67
- const className = PASSAGE_LABEL_CLASS;
68
- const borderClassName = editor.storage.globalConfig.debug && node.attrs.invalid
69
- ? 'after:content-["⚠️"] after:absolute after:top-0 after:-right-5'
70
- : '';
71
- return (_jsxs(NodeViewWrapper, { id: node.attrs.uuid, as: "div", className: cn(PASSAGE_WRAPPER_CLASS, node.attrs.toh), children: [_jsx("div", { className: "w-full", children: _jsxs("div", { className: cn(PASSAGE_INNER_CLASS, borderClassName), children: [_jsxs(DropdownMenu, { open: dropdownOpen, onOpenChange: (open) => {
72
- setDropdownOpen(open);
73
- if (!open)
74
- setShowRevisionForm(false);
75
- }, children: [!editor.isEditable && isBookmarked && (_jsx("div", { className: "absolute -left-15.75 top-6 w-16 flex justify-end", children: _jsx(BookmarkIcon, { className: "text-accent size-3", fill: "currentColor" }) })), _jsx(DropdownMenuTrigger, { className: className, contentEditable: false, children: node.attrs.label || '' }), _jsx(DropdownMenuContent, { align: "start", alignOffset: 48, className: cn(showRevisionForm ? 'w-80' : 'w-64'), children: showRevisionForm ? (_jsx(SuggestRevisionForm, { toh: toh ?? '', type: 'passage', label: node.attrs.label ?? '', onClose: () => {
76
- setShowRevisionForm(false);
77
- setDropdownOpen(false);
78
- } })) : editor.isEditable ? (_jsx(EditorOptions, { ...props, contentType: source ? 'compare' : node.attrs.type, onSelection: (item) => {
79
- setDialogType(item);
80
- setIsDialogOpen(true);
81
- } })) : (_jsx(ReaderOptions, { ...props, contentType: source ? 'compare' : node.attrs.type, isBookmarked: isBookmarked, toggleBookmark: toggleBookmark, onSuggestRevision: () => setShowRevisionForm(true) })) })] }), _jsx(NodeViewContent, { className: PASSAGE_CONTENT_CLASS }), references && references.length > 0 && (_jsx("div", { className: PASSAGE_REFERENCES_CLASS, contentEditable: false, children: references.map((ref, index) => (_jsxs("span", { children: [index > 0 && ', ', _jsx(Button, { variant: "link", className: "p-0 h-6 font-normal hover:cursor-pointer", onClick: () => handleReferenceClick(ref), children: ref.label || ref.uuid.slice(0, 6) })] }, ref.uuid))) })), editor.isEditable && (_jsxs(Dialog, { open: isDialogOpen, onOpenChange: setIsDialogOpen, children: [dialogType === 'label' && (_jsx(EditLabel, { ...props, close: () => setIsDialogOpen(false) })), dialogType === 'attributes' && _jsx(ShowAnnotations, { ...props }), dialogType === 'delete' && (_jsxs(DialogContent, { className: "max-w-readable w-full font-serif", showCloseButton: false, children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "Delete Passage" }), _jsxs(DialogDescription, { children: ["This will delete passage ", node.attrs.label, node.attrs.type === 'endnotes' &&
82
- ' and remove all links to it in the translation', ". This action cannot be undone after saving."] })] }), _jsxs(DialogFooter, { children: [_jsx(Button, { variant: "outline", onClick: () => setIsDialogOpen(false), children: "Cancel" }), _jsx(Button, { variant: "destructive", onClick: handleDeletePassage, children: "Delete" })] })] }))] }))] }) }), _jsx("div", { className: cn('w-full', source ? '' : 'hidden', compareLeadingSpace), contentEditable: false, "data-compare-source": true, children: _jsx(LabeledElement, { className: "mt-0.5", children: _jsx("div", { className: "leading-7 font-tibetan text-lg whitespace-normal mt-1.5 pb-4 md:pb-2", children: source }) }) })] }));
83
- };
84
- export const Passage = memo(PassageComponent);
85
- export default Passage;
86
- //# sourceMappingURL=Passage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Passage.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/extensions/Passage/Passage.tsx"],"names":[],"mappings":"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"}