@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,5 +1,25 @@
1
1
  import { Node, mergeAttributes } from '@tiptap/core';
2
2
  import { PASSAGE_CONTENT_CLASS, PASSAGE_INNER_CLASS, PASSAGE_LABEL_CLASS, PASSAGE_REFERENCES_CLASS, PASSAGE_WRAPPER_CLASS, } from './classes';
3
+ // The compare-mode Tibetan source and the reader bookmark icon are toh- and
4
+ // bookmark-dependent chrome that lives OUTSIDE ProseMirror's editable content.
5
+ // They are rendered here as hidden placeholders and populated imperatively by
6
+ // the PassageNode view plugin (see PassageNode.ts) from navigation state.
7
+ const bookmarkIcon = () => [
8
+ 'svg',
9
+ {
10
+ xmlns: 'http://www.w3.org/2000/svg',
11
+ width: '12',
12
+ height: '12',
13
+ viewBox: '0 0 24 24',
14
+ fill: 'currentColor',
15
+ stroke: 'currentColor',
16
+ 'stroke-width': '2',
17
+ 'stroke-linecap': 'round',
18
+ 'stroke-linejoin': 'round',
19
+ class: 'text-accent size-3',
20
+ },
21
+ ['path', { d: 'M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z' }],
22
+ ];
3
23
  export const PassageNodeSSR = Node.create({
4
24
  name: 'passage',
5
25
  group: 'block',
@@ -30,22 +50,37 @@ export const PassageNodeSSR = Node.create({
30
50
  renderHTML({ node, HTMLAttributes }) {
31
51
  const uuid = (node.attrs.uuid ?? HTMLAttributes.uuid);
32
52
  const toh = (node.attrs.toh ?? HTMLAttributes.toh);
53
+ const type = (node.attrs.type ?? HTMLAttributes.type);
33
54
  const label = (node.attrs.label ?? '');
34
55
  const references = (node.attrs.references ?? []);
35
56
  const wrapperAttrs = mergeAttributes(HTMLAttributes, {
36
- class: [PASSAGE_WRAPPER_CLASS, toh].filter(Boolean).join(' '),
57
+ class: PASSAGE_WRAPPER_CLASS,
58
+ ...(toh ? { 'data-toh': toh } : {}),
59
+ ...(type ? { 'data-passage-type': type } : {}),
60
+ ...(node.attrs.invalid ? { 'data-invalid': 'true' } : {}),
37
61
  ...(uuid ? { id: uuid } : {}),
38
62
  });
39
- const inner = [
63
+ // The label doubles as the dropdown trigger; the PassageNode click plugin
64
+ // opens the stable menu overlay when it is pressed.
65
+ const labelEl = [
40
66
  'div',
41
- { class: PASSAGE_LABEL_CLASS, contenteditable: 'false' },
67
+ {
68
+ class: PASSAGE_LABEL_CLASS,
69
+ contenteditable: 'false',
70
+ 'data-passage-label': '',
71
+ ...(uuid ? { 'data-uuid': uuid } : {}),
72
+ },
42
73
  label,
43
74
  ];
44
- const content = [
75
+ const bookmarkEl = [
45
76
  'div',
46
- { class: PASSAGE_CONTENT_CLASS },
47
- 0,
77
+ {
78
+ class: 'passage-bookmark hidden absolute -left-15.75 top-6 w-16 flex justify-end',
79
+ contenteditable: 'false',
80
+ },
81
+ bookmarkIcon(),
48
82
  ];
83
+ const content = ['div', { class: PASSAGE_CONTENT_CLASS }, 0];
49
84
  const referencesNode = references.length > 0
50
85
  ? [
51
86
  'div',
@@ -54,16 +89,42 @@ export const PassageNodeSSR = Node.create({
54
89
  const linkText = ref.label || ref.uuid.slice(0, 6);
55
90
  const link = [
56
91
  'a',
57
- { href: `#${ref.uuid}` },
92
+ {
93
+ href: `#${ref.uuid}`,
94
+ 'data-passage-reference': '',
95
+ 'data-ref-uuid': ref.uuid,
96
+ 'data-ref-type': ref.type,
97
+ },
58
98
  linkText,
59
99
  ];
60
100
  return index === 0 ? [link] : [', ', link];
61
101
  }),
62
102
  ]
63
103
  : null;
64
- const innerColumnChildren = [inner, content];
104
+ const innerColumnChildren = [labelEl, bookmarkEl, content];
65
105
  if (referencesNode)
66
106
  innerColumnChildren.push(referencesNode);
107
+ // Second flex column: hidden compare-source placeholder, populated by the
108
+ // view plugin when compare mode is active and the passage has an alignment.
109
+ const compareSource = [
110
+ 'div',
111
+ {
112
+ class: 'passage-compare-source w-full hidden md:mt-1',
113
+ contenteditable: 'false',
114
+ 'data-compare-source': '',
115
+ },
116
+ [
117
+ 'div',
118
+ { class: 'passage pl-6 @c/sidebar:pl-4' },
119
+ [
120
+ 'div',
121
+ {
122
+ class: 'passage-compare-text leading-7 font-tibetan text-lg whitespace-normal mt-1.5 pb-4 md:pb-2',
123
+ },
124
+ '',
125
+ ],
126
+ ],
127
+ ];
67
128
  return [
68
129
  'div',
69
130
  wrapperAttrs,
@@ -72,6 +133,7 @@ export const PassageNodeSSR = Node.create({
72
133
  { class: 'w-full' },
73
134
  ['div', { class: PASSAGE_INNER_CLASS }, ...innerColumnChildren],
74
135
  ],
136
+ compareSource,
75
137
  ];
76
138
  },
77
139
  });
@@ -1 +1 @@
1
- {"version":3,"file":"PassageNode.ssr.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/extensions/Passage/PassageNode.ssr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PassageNode.ssr.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/extensions/Passage/PassageNode.ssr.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { PanelContentType } from '@eightyfourthousand/data-access';
2
- import { NodeViewProps } from '@tiptap/react';
3
- export declare const ReaderOptions: (props: NodeViewProps & {
2
+ export declare const ReaderOptions: (props: {
3
+ uuid: string;
4
4
  contentType: PanelContentType;
5
5
  isBookmarked?: boolean;
6
6
  toggleBookmark?: () => void;
@@ -6,16 +6,13 @@ import { BookmarkIcon, CopyIcon, MessageSquareIcon } from 'lucide-react';
6
6
  import { useCallback } from 'react';
7
7
  export const ReaderOptions = (props) => {
8
8
  const copyLink = useCallback(() => {
9
- const uuid = props.node.attrs.uuid;
10
- const contentType = props.contentType;
11
- const location = window.location;
12
9
  const link = urlForEntity({
13
- location,
14
- uuid,
15
- contentType,
10
+ location: window.location,
11
+ uuid: props.uuid,
12
+ contentType: props.contentType,
16
13
  });
17
14
  navigator.clipboard.writeText(link);
18
- }, [props.node.attrs.uuid, props.contentType]);
15
+ }, [props.uuid, props.contentType]);
19
16
  return (_jsxs(_Fragment, { children: [_jsxs(DropdownMenuItem, { onSelect: props.toggleBookmark, children: [_jsx(BookmarkIcon, { className: "text-primary" }), props.isBookmarked ? 'Remove Bookmark' : 'Add Bookmark'] }), _jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuItem, { onSelect: copyLink, children: [_jsx(CopyIcon, { className: "text-primary" }), " Copy Link"] }), props.onSuggestRevision && (_jsxs(_Fragment, { children: [_jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuItem, { onSelect: (e) => {
20
17
  e.preventDefault();
21
18
  props.onSuggestRevision?.();
@@ -1 +1 @@
1
- {"version":3,"file":"ReaderOptions.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/extensions/Passage/ReaderOptions.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAEL,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAKC,EACD,EAAE;IACF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACnC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEjC,MAAM,IAAI,GAAG,YAAY,CAAC;YACxB,QAAQ;YACR,IAAI;YACJ,WAAW;SACZ,CAAC,CAAC;QAEH,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAE/C,OAAO,CACL,8BACE,MAAC,gBAAgB,IAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,aAC9C,KAAC,YAAY,IAAC,SAAS,EAAC,cAAc,GAAG,EACxC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,IACvC,EACnB,KAAC,qBAAqB,KAAG,EACzB,MAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,aAClC,KAAC,QAAQ,IAAC,SAAS,EAAC,cAAc,GAAG,kBACpB,EAClB,KAAK,CAAC,iBAAiB,IAAI,CAC1B,8BACE,KAAC,qBAAqB,KAAG,EACzB,MAAC,gBAAgB,IACf,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4BACd,CAAC,CAAC,cAAc,EAAE,CAAC;4BACnB,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;wBAC9B,CAAC,aAED,KAAC,iBAAiB,IAAC,SAAS,EAAC,cAAc,GAAG,yBAC7B,IAClB,CACJ,IACA,CACJ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ReaderOptions.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/extensions/Passage/ReaderOptions.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAEL,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAM7B,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,MAAM,IAAI,GAAG,YAAY,CAAC;YACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;QAEH,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAEpC,OAAO,CACL,8BACE,MAAC,gBAAgB,IAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,aAC9C,KAAC,YAAY,IAAC,SAAS,EAAC,cAAc,GAAG,EACxC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,IACvC,EACnB,KAAC,qBAAqB,KAAG,EACzB,MAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,aAClC,KAAC,QAAQ,IAAC,SAAS,EAAC,cAAc,GAAG,kBACpB,EAClB,KAAK,CAAC,iBAAiB,IAAI,CAC1B,8BACE,KAAC,qBAAqB,KAAG,EACzB,MAAC,gBAAgB,IACf,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4BACd,CAAC,CAAC,cAAc,EAAE,CAAC;4BACnB,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;wBAC9B,CAAC,aAED,KAAC,iBAAiB,IAAC,SAAS,EAAC,cAAc,GAAG,yBAC7B,IAClB,CACJ,IACA,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -1,2 +1,7 @@
1
- import { NodeViewProps } from '@tiptap/react';
2
- export declare const ShowAnnotations: (props: NodeViewProps) => import("react/jsx-runtime").JSX.Element;
1
+ import type { Editor } from '@tiptap/core';
2
+ export declare const ShowAnnotations: ({ editor, uuid, label, type, }: {
3
+ editor: Editor;
4
+ uuid: string;
5
+ label: string;
6
+ type: string;
7
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -2,20 +2,23 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { DialogContent, DialogDescription, DialogTitle, Skeleton, ToggleGroup, ToggleGroupItem, } from '@eightyfourthousand/design-system';
4
4
  import { useNavigation } from '../../../shared';
5
- import { useEffect, useState } from 'react';
5
+ import { useEffect, useMemo, useState } from 'react';
6
+ import { findPassageNode } from '../../util';
6
7
  const CodeBlock = ({ code }) => {
7
8
  return (_jsx("div", { className: "flex-1 overflow-auto rounded-md bg-muted p-4 font-mono text-sm", children: _jsx("pre", { className: "whitespace-pre-wrap", children: _jsx("code", { className: "language-json", children: code }) }) }));
8
9
  };
9
- export const ShowAnnotations = (props) => {
10
+ export const ShowAnnotations = ({ editor, uuid, label, type, }) => {
10
11
  const [passage, setPassage] = useState();
11
12
  const [toggleValue, setToggleValue] = useState(['db', 'editor']);
12
- const { node } = props;
13
13
  const { fetchPassage } = useNavigation();
14
+ const nodeJson = useMemo(() => {
15
+ const found = findPassageNode(editor, uuid);
16
+ return found ? found.node.toJSON() : null;
17
+ }, [editor, uuid]);
14
18
  useEffect(() => {
15
19
  if (passage) {
16
20
  return;
17
21
  }
18
- const uuid = node.attrs.uuid;
19
22
  if (!uuid) {
20
23
  return;
21
24
  }
@@ -23,8 +26,8 @@ export const ShowAnnotations = (props) => {
23
26
  const fetchedPassage = await fetchPassage(uuid);
24
27
  setPassage(fetchedPassage);
25
28
  })();
26
- }, [node, passage, fetchPassage]);
27
- return (_jsxs(DialogContent, { className: "size-full flex flex-col gap-4 max-h-[calc(100vh-2rem)]", children: [_jsx(DialogTitle, { children: "Passage Details" }), _jsx(DialogDescription, { className: "hidden", children: "All annotations and metadata for this passage" }), _jsxs("div", { className: "text-sm flex gap-1", children: [_jsx("span", { className: "text-primary", children: "UUID: " }), _jsx("span", { children: node.attrs.uuid }), _jsx("span", { className: "text-muted-foreground px-2", children: '|' }), _jsx("span", { className: "text-primary", children: "Label:" }), _jsx("span", { children: node.attrs.label }), _jsx("span", { className: "text-muted-foreground px-2", children: '|' }), _jsx("span", { className: "text-primary", children: "Type:" }), _jsx("span", { children: node.attrs.type })] }), _jsxs(ToggleGroup, { type: "multiple", variant: "outline", defaultValue: ['db', 'editor'], onValueChange: setToggleValue, className: "mt-4", children: [_jsx(ToggleGroupItem, { value: "db", children: "Annotations" }), _jsx(ToggleGroupItem, { value: "editor", children: "Editor JSON" })] }), _jsxs("div", { className: "flex gap-2 flex-1 min-h-0 overflow-auto", children: [toggleValue.includes('db') &&
28
- (passage ? (_jsx(CodeBlock, { code: JSON.stringify(passage.annotations, null, 2) })) : (_jsx(Skeleton, { className: "size-full flex-1" }))), toggleValue.includes('editor') && (_jsx(CodeBlock, { code: JSON.stringify(node, null, 2) }))] })] }));
29
+ }, [uuid, passage, fetchPassage]);
30
+ return (_jsxs(DialogContent, { className: "size-full flex flex-col gap-4 max-h-[calc(100vh-2rem)]", children: [_jsx(DialogTitle, { children: "Passage Details" }), _jsx(DialogDescription, { className: "hidden", children: "All annotations and metadata for this passage" }), _jsxs("div", { className: "text-sm flex gap-1", children: [_jsx("span", { className: "text-primary", children: "UUID: " }), _jsx("span", { children: uuid }), _jsx("span", { className: "text-muted-foreground px-2", children: '|' }), _jsx("span", { className: "text-primary", children: "Label:" }), _jsx("span", { children: label }), _jsx("span", { className: "text-muted-foreground px-2", children: '|' }), _jsx("span", { className: "text-primary", children: "Type:" }), _jsx("span", { children: type })] }), _jsxs(ToggleGroup, { type: "multiple", variant: "outline", defaultValue: ['db', 'editor'], onValueChange: setToggleValue, className: "mt-4", children: [_jsx(ToggleGroupItem, { value: "db", children: "Annotations" }), _jsx(ToggleGroupItem, { value: "editor", children: "Editor JSON" })] }), _jsxs("div", { className: "flex gap-2 flex-1 min-h-0 overflow-auto", children: [toggleValue.includes('db') &&
31
+ (passage ? (_jsx(CodeBlock, { code: JSON.stringify(passage.annotations, null, 2) })) : (_jsx(Skeleton, { className: "size-full flex-1" }))), toggleValue.includes('editor') && (_jsx(CodeBlock, { code: JSON.stringify(nodeJson, null, 2) }))] })] }));
29
32
  };
30
33
  //# sourceMappingURL=ShowAnnotations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShowAnnotations.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/extensions/Passage/ShowAnnotations.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShowAnnotations.js","sourceRoot":"","sources":["../../../../../../../../libs/lib-editing/src/lib/components/editor/extensions/Passage/ShowAnnotations.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { WordBreakValue } from '@eightyfourthousand/data-access';
2
+ import { Extension } from '@tiptap/core';
3
+ export interface WordBreakOptions {
4
+ /**
5
+ * The node types where the `word-break` style can be applied.
6
+ * @default ['paragraph']
7
+ */
8
+ types: string[];
9
+ /**
10
+ * The allowed `word-break` values.
11
+ * @default ['normal', 'break-all']
12
+ */
13
+ wordBreaks: string[];
14
+ /**
15
+ * The default `word-break`. When `null`, no style is rendered and the value
16
+ * is not persisted, so the block falls back to its CSS default.
17
+ * @default null
18
+ */
19
+ defaultWordBreak: WordBreakValue | null;
20
+ }
21
+ declare module '@tiptap/core' {
22
+ interface Commands<ReturnType> {
23
+ wordBreak: {
24
+ /**
25
+ * Set the `word-break` style.
26
+ */
27
+ setWordBreak: (wordBreak: WordBreakValue) => ReturnType;
28
+ /**
29
+ * Unset the `word-break` style.
30
+ */
31
+ unsetWordBreak: () => ReturnType;
32
+ };
33
+ }
34
+ }
35
+ /**
36
+ * This extension adds a `word-break` style to the supported nodes. It mirrors
37
+ * the `@tiptap/extension-text-align` extension, but controls the CSS
38
+ * `word-break` property and only applies to paragraphs by default.
39
+ */
40
+ export declare const WordBreak: Extension<WordBreakOptions, any>;
41
+ export default WordBreak;
@@ -0,0 +1,59 @@
1
+ import { Extension } from '@tiptap/core';
2
+ /**
3
+ * This extension adds a `word-break` style to the supported nodes. It mirrors
4
+ * the `@tiptap/extension-text-align` extension, but controls the CSS
5
+ * `word-break` property and only applies to paragraphs by default.
6
+ */
7
+ export const WordBreak = Extension.create({
8
+ name: 'wordBreak',
9
+ addOptions() {
10
+ return {
11
+ types: ['paragraph'],
12
+ wordBreaks: ['normal', 'break-all'],
13
+ defaultWordBreak: null,
14
+ };
15
+ },
16
+ addGlobalAttributes() {
17
+ return [
18
+ {
19
+ types: this.options.types,
20
+ attributes: {
21
+ wordBreak: {
22
+ default: this.options.defaultWordBreak,
23
+ parseHTML: (element) => {
24
+ const wordBreak = element.style.wordBreak;
25
+ return this.options.wordBreaks.includes(wordBreak)
26
+ ? wordBreak
27
+ : this.options.defaultWordBreak;
28
+ },
29
+ renderHTML: (attributes) => {
30
+ if (!attributes.wordBreak) {
31
+ return {};
32
+ }
33
+ return { style: `word-break: ${attributes.wordBreak}` };
34
+ },
35
+ },
36
+ },
37
+ },
38
+ ];
39
+ },
40
+ addCommands() {
41
+ return {
42
+ setWordBreak: (wordBreak) => ({ commands }) => {
43
+ if (!this.options.wordBreaks.includes(wordBreak)) {
44
+ return false;
45
+ }
46
+ return this.options.types
47
+ .map((type) => commands.updateAttributes(type, { wordBreak }))
48
+ .some((response) => response);
49
+ },
50
+ unsetWordBreak: () => ({ commands }) => {
51
+ return this.options.types
52
+ .map((type) => commands.resetAttributes(type, 'wordBreak'))
53
+ .some((response) => response);
54
+ },
55
+ };
56
+ },
57
+ });
58
+ export default WordBreak;
59
+ //# sourceMappingURL=WordBreak.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WordBreak.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/extensions/WordBreak.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAoCzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAmB;IAC1D,IAAI,EAAE,WAAW;IAEjB,UAAU;QACR,OAAO;YACL,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,UAAU,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;YACnC,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,mBAAmB;QACjB,OAAO;YACL;gBACE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;wBACtC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;4BACrB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;4BAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;gCAChD,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;wBACpC,CAAC;wBACD,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE;4BACzB,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gCAC1B,OAAO,EAAE,CAAC;4BACZ,CAAC;4BACD,OAAO,EAAE,KAAK,EAAE,eAAe,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;wBAC1D,CAAC;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO;YACL,YAAY,EACV,CAAC,SAAS,EAAE,EAAE,CACd,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;qBACtB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;qBAC7D,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YACH,cAAc,EACZ,GAAG,EAAE,CACL,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACf,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;qBACtB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;qBAC1D,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;SACJ,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC"}
@@ -28,6 +28,8 @@ import { Superscript } from './Superscript';
28
28
  import TextAlign from './TextAlign';
29
29
  import { Trailer } from './Trailer';
30
30
  import { Underline } from './Underline';
31
+ import WordBreak from './WordBreak';
32
+ import { TableKit } from './Table';
31
33
  export const translationSSRExtensions = [
32
34
  Document,
33
35
  Abbreviation,
@@ -62,8 +64,10 @@ export const translationSSRExtensions = [
62
64
  }),
63
65
  Subscript,
64
66
  Superscript,
67
+ TableKit,
65
68
  TextAlign,
66
69
  Trailer,
67
70
  Underline,
71
+ WordBreak,
68
72
  ];
69
73
  //# sourceMappingURL=translationSSRExtensions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"translationSSRExtensions.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/extensions/translationSSRExtensions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,QAAQ;IACR,YAAY;IACZ,KAAK;IACL,IAAI;IACJ,kBAAkB;IAClB,WAAW;IACX,uBAAuB;IACvB,eAAe;IACf,OAAO;IACP,KAAK;IACL,MAAM;IACN,eAAe;IACf,MAAM;IACN,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,OAAO;IACP,OAAO;IACP,WAAW;IACX,UAAU;IACV,UAAU;IACV,SAAS;IACT,eAAe;IACf,cAAc;IACd,aAAa;IACb,SAAS;IACT,UAAU,CAAC,SAAS,CAAC;QACnB,GAAG,kBAAkB;QACrB,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE;QACpD,QAAQ,EAAE,KAAK;KAChB,CAAC;IACF,SAAS;IACT,WAAW;IACX,SAAS;IACT,OAAO;IACP,SAAS;CACV,CAAC"}
1
+ {"version":3,"file":"translationSSRExtensions.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/extensions/translationSSRExtensions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,QAAQ;IACR,YAAY;IACZ,KAAK;IACL,IAAI;IACJ,kBAAkB;IAClB,WAAW;IACX,uBAAuB;IACvB,eAAe;IACf,OAAO;IACP,KAAK;IACL,MAAM;IACN,eAAe;IACf,MAAM;IACN,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,OAAO;IACP,OAAO;IACP,WAAW;IACX,UAAU;IACV,UAAU;IACV,SAAS;IACT,eAAe;IACf,cAAc;IACd,aAAa;IACb,SAAS;IACT,UAAU,CAAC,SAAS,CAAC;QACnB,GAAG,kBAAkB;QACrB,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE;QACpD,QAAQ,EAAE,KAAK;KAChB,CAAC;IACF,SAAS;IACT,WAAW;IACX,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;CACV,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export declare const useDefaultExtensions: () => {
2
- extensions: (import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Node<import("@tiptap/extension-heading").HeadingOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-paragraph").ParagraphOptions, any> | import("@tiptap/core").Extension<import("../extensions/SlashCommand/SlashCommand").SlashCommandOptions<any>, any> | import("@tiptap/core").Mark<import("@tiptap/extension-link").LinkOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extensions").PlaceholderOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-text-align").TextAlignOptions, any> | import("@tiptap/core").Extension<import("@tiptap/starter-kit").StarterKitOptions, any> | import("@tiptap/core").Mark<import("@tiptap/extension-italic").ItalicOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-list").ListItemOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-list").BulletListOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-image").ImageOptions, any>)[];
2
+ extensions: (import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Node<import("@tiptap/extension-heading").HeadingOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-paragraph").ParagraphOptions, any> | import("@tiptap/core").Extension<import("../extensions/SlashCommand/SlashCommand").SlashCommandOptions<any>, any> | import("@tiptap/core").Mark<import("@tiptap/extension-link").LinkOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extensions").PlaceholderOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-text-align").TextAlignOptions, any> | import("@tiptap/core").Extension<import("../extensions/WordBreak").WordBreakOptions, any> | import("@tiptap/core").Extension<import("@tiptap/starter-kit").StarterKitOptions, any> | import("@tiptap/core").Mark<import("@tiptap/extension-italic").ItalicOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-list").ListItemOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-list").BulletListOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-image").ImageOptions, any>)[];
3
3
  };
@@ -9,6 +9,7 @@ import { getSuggestion } from '../extensions/SlashCommand/Suggestions';
9
9
  import { Link } from '../extensions/Link';
10
10
  import Placeholder from '../extensions/Placeholder';
11
11
  import TextAlign from '../extensions/TextAlign';
12
+ import WordBreak from '../extensions/WordBreak';
12
13
  import StarterKit from '../extensions/StarterKit';
13
14
  import { Italic } from '../extensions/Italic';
14
15
  import { Underline } from '../extensions/Underline';
@@ -34,6 +35,7 @@ export const useDefaultExtensions = () => {
34
35
  StarterKit,
35
36
  TextAlign,
36
37
  Underline,
38
+ WordBreak,
37
39
  ],
38
40
  };
39
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useDefaultExtensions.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/hooks/useDefaultExtensions.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAC5C,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,OAAO,MAAM,+BAA+B,CAAC;AACpD,OAAO,SAAS,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,OAAO;QACL,UAAU,EAAE;YACV,IAAI;YACJ,QAAQ;YACR,iBAAiB;YACjB,OAAO;YACP,KAAK;YACL,MAAM;YACN,IAAI;YACJ,IAAI;YACJ,QAAQ;YACR,SAAS;YACT,WAAW;YACX,YAAY,CAAC,SAAS,CAAC;gBACrB,UAAU,EAAE,aAAa,EAAE;aAC5B,CAAC;YACF,UAAU;YACV,SAAS;YACT,SAAS;SACV;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useDefaultExtensions.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/hooks/useDefaultExtensions.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAC5C,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,OAAO,MAAM,+BAA+B,CAAC;AACpD,OAAO,SAAS,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,OAAO;QACL,UAAU,EAAE;YACV,IAAI;YACJ,QAAQ;YACR,iBAAiB;YACjB,OAAO;YACP,KAAK;YACL,MAAM;YACN,IAAI;YACJ,IAAI;YACJ,QAAQ;YACR,SAAS;YACT,WAAW;YACX,YAAY,CAAC,SAAS,CAAC;gBACrB,UAAU,EAAE,aAAa,EAAE;aAC5B,CAAC;YACF,UAAU;YACV,SAAS;YACT,SAAS;YACT,SAAS;SACV;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -2,7 +2,7 @@ import type { XmlFragment } from 'yjs';
2
2
  export declare const useTranslationExtensions: ({ fragment, }?: {
3
3
  fragment?: XmlFragment;
4
4
  }) => {
5
- extensions: (import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Node<import("@tiptap/extension-heading").HeadingOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-paragraph").ParagraphOptions, any> | import("@tiptap/core").Extension<import("../extensions/SlashCommand/SlashCommand").SlashCommandOptions<any>, any> | import("@tiptap/core").Mark<import("@tiptap/extension-link").LinkOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extensions").PlaceholderOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-text-align").TextAlignOptions, any> | import("@tiptap/core").Mark<import("@tiptap/extension-italic").ItalicOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-list").ListItemOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-list").BulletListOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-image").ImageOptions, any> | import("@tiptap/core").Node<import("../extensions/Audio/Audio").AudioOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-table").TableKitOptions, any> | import("@tiptap/core").Extension<import("../extensions/LeadingSpace").LeadingSpaceOptions, any> | import("@tiptap/core").Node<{
5
+ extensions: (import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Node<import("@tiptap/extension-heading").HeadingOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-paragraph").ParagraphOptions, any> | import("@tiptap/core").Extension<import("../extensions/SlashCommand/SlashCommand").SlashCommandOptions<any>, any> | import("@tiptap/core").Mark<import("@tiptap/extension-link").LinkOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extensions").PlaceholderOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-text-align").TextAlignOptions, any> | import("@tiptap/core").Extension<import("../extensions/WordBreak").WordBreakOptions, any> | import("@tiptap/core").Mark<import("@tiptap/extension-italic").ItalicOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-list").ListItemOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-list").BulletListOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-image").ImageOptions, any> | import("@tiptap/core").Node<import("../extensions/Audio/Audio").AudioOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-table").TableKitOptions, any> | import("@tiptap/core").Extension<import("../extensions/LeadingSpace").LeadingSpaceOptions, any> | import("@tiptap/core").Node<{
6
6
  itemTypeName: string;
7
7
  HTMLAttributes: {};
8
8
  keepMarks: boolean;
@@ -11,6 +11,7 @@ import { BulletListSuggestion, Heading1Suggestion, Heading2Suggestion, Heading3S
11
11
  import { Link } from '../extensions/Link';
12
12
  import Placeholder from '../extensions/Placeholder';
13
13
  import TextAlign from '../extensions/TextAlign';
14
+ import WordBreak from '../extensions/WordBreak';
14
15
  import { STARTER_KIT_CONFIG, StarterKit } from '../extensions/StarterKit';
15
16
  import TranslationMetadata from '../extensions/TranslationMetadata';
16
17
  import TranslationDocument from '../extensions/TranslationDocument';
@@ -107,6 +108,7 @@ export const useTranslationExtensions = ({ fragment, } = {}) => {
107
108
  TranslationMetadata,
108
109
  TextAlign,
109
110
  Underline,
111
+ WordBreak,
110
112
  ];
111
113
  if (fragment) {
112
114
  extensions.push(StarterKit.configure({
@@ -1 +1 @@
1
- {"version":3,"file":"useTranslationExtensions.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/hooks/useTranslationExtensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTranslationExtensions.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/hooks/useTranslationExtensions.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,26 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { BubbleMenu } from '@tiptap/react/menus';
4
- import { ScrollArea, Separator, ScrollBar } from '@eightyfourthousand/design-system';
4
+ import { useEditorState } from '@tiptap/react';
5
+ import { ScrollArea, Separator, ScrollBar, } from '@eightyfourthousand/design-system';
5
6
  import { useRef } from 'react';
6
- import { NodeSelector, TextAlignSelector, TextButtons } from './selectors';
7
+ import { NodeSelector, TextAlignSelector, TextButtons, WordBreakSelector, } from './selectors';
7
8
  import { useDismissBubbleMenu } from './useDismissBubbleMenu';
8
9
  export const MainBubbleMenu = ({ editor }) => {
9
10
  const menuRef = useRef(null);
10
11
  useDismissBubbleMenu(editor, menuRef);
12
+ // Alignment controls only apply to paragraph and heading blocks.
13
+ const showTextAlign = useEditorState({
14
+ editor,
15
+ selector: (instance) => !!instance.editor &&
16
+ (instance.editor.isActive('paragraph') ||
17
+ instance.editor.isActive('heading')),
18
+ });
19
+ // Word-break controls only apply to paragraph blocks.
20
+ const isParagraph = useEditorState({
21
+ editor,
22
+ selector: (instance) => !!instance.editor && instance.editor.isActive('paragraph'),
23
+ });
11
24
  if (!editor) {
12
25
  return null;
13
26
  }
@@ -27,6 +40,6 @@ export const MainBubbleMenu = ({ editor }) => {
27
40
  return false;
28
41
  }
29
42
  return true;
30
- }, children: _jsxs(ScrollArea, { className: "max-w-[90vw] rounded-md border bg-popover shadow-xl z-50", children: [_jsxs("div", { className: "flex", children: [_jsx(NodeSelector, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(TextButtons, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(TextAlignSelector, { editor: editor })] }), _jsx(ScrollBar, { orientation: "horizontal" })] }) }));
43
+ }, children: _jsxs(ScrollArea, { className: "max-w-[90vw] rounded-md border bg-popover shadow-xl z-50", children: [_jsxs("div", { className: "flex", children: [_jsx(NodeSelector, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(TextButtons, { editor: editor }), showTextAlign && (_jsxs(_Fragment, { children: [_jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(TextAlignSelector, { editor: editor })] })), isParagraph && (_jsxs(_Fragment, { children: [_jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(WordBreakSelector, { editor: editor })] }))] }), _jsx(ScrollBar, { orientation: "horizontal" })] }) }));
31
44
  };
32
45
  //# sourceMappingURL=MainBubbleMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MainBubbleMenu.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/menus/MainBubbleMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAA6B,EAAE,EAAE;IACtE,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,UAAU,IACT,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAC7B,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,CAAC;SACV,EACD,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YAChC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;YAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,YAED,MAAC,UAAU,IAAC,SAAS,EAAC,0DAA0D,aAC9E,eAAK,SAAS,EAAC,MAAM,aACnB,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,GAAI,EAChC,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,EACrD,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,GAAI,EAC/B,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,EACrD,KAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,GAAI,IACjC,EACN,KAAC,SAAS,IAAC,WAAW,EAAC,YAAY,GAAG,IAC3B,GACF,CACd,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"MainBubbleMenu.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/menus/MainBubbleMenu.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { BubbleMenu } from '@tiptap/react/menus';
4
- import { ScrollArea, Separator, ScrollBar } from '@eightyfourthousand/design-system';
4
+ import { ScrollArea, Separator, ScrollBar, } from '@eightyfourthousand/design-system';
5
5
  import { useRef } from 'react';
6
6
  import { TranslationTextButtons } from './selectors/TranslationTextButtons';
7
7
  import { ParagraphButtons } from './selectors/ParagraphButtons';
8
8
  import { TranslationNodeSelector } from './selectors/TranslationNodeSelector';
9
9
  import { useDismissBubbleMenu } from './useDismissBubbleMenu';
10
+ import { TextAlignSelector, WordBreakSelector } from './selectors';
10
11
  export const TranslationBubbleMenu = ({ editor, }) => {
11
12
  const menuRef = useRef(null);
12
13
  useDismissBubbleMenu(editor, menuRef);
@@ -29,6 +30,6 @@ export const TranslationBubbleMenu = ({ editor, }) => {
29
30
  return false;
30
31
  }
31
32
  return true;
32
- }, children: _jsxs(ScrollArea, { className: "max-w-[90vw] rounded-md border bg-popover shadow-xl z-50", children: [_jsxs("div", { className: "flex", children: [_jsx(TranslationNodeSelector, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(ParagraphButtons, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(TranslationTextButtons, { editor: editor })] }), _jsx(ScrollBar, { orientation: "horizontal" })] }) }));
33
+ }, children: _jsxs(ScrollArea, { className: "max-w-[90vw] rounded-md border bg-popover shadow-xl z-50", children: [_jsxs("div", { className: "flex", children: [_jsx(TranslationNodeSelector, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10 me-2" }), _jsx(TextAlignSelector, { editor: editor }), _jsx(WordBreakSelector, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(ParagraphButtons, { editor: editor }), _jsx(Separator, { orientation: "vertical", className: "h-10" }), _jsx(TranslationTextButtons, { editor: editor })] }), _jsx(ScrollBar, { orientation: "horizontal" })] }) }));
33
34
  };
34
35
  //# sourceMappingURL=TranslationBubbleMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TranslationBubbleMenu.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/menus/TranslationBubbleMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,MAAM,GAGP,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,UAAU,IACT,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAC7B,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,CAAC;SACV,EACD,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YAChC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;YAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,YAED,MAAC,UAAU,IAAC,SAAS,EAAC,0DAA0D,aAC9E,eAAK,SAAS,EAAC,MAAM,aACnB,KAAC,uBAAuB,IAAC,MAAM,EAAE,MAAM,GAAI,EAC3C,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,EACrD,KAAC,gBAAgB,IAAC,MAAM,EAAE,MAAM,GAAI,EACpC,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,EACrD,KAAC,sBAAsB,IAAC,MAAM,EAAE,MAAM,GAAI,IACtC,EACN,KAAC,SAAS,IAAC,WAAW,EAAC,YAAY,GAAG,IAC3B,GACF,CACd,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"TranslationBubbleMenu.js","sourceRoot":"","sources":["../../../../../../../libs/lib-editing/src/lib/components/editor/menus/TranslationBubbleMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,GACV,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,MAAM,GAGP,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,UAAU,IACT,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAC7B,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,CAAC;SACV,EACD,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YAChC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;YAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,YAED,MAAC,UAAU,IAAC,SAAS,EAAC,0DAA0D,aAC9E,eAAK,SAAS,EAAC,MAAM,aACnB,KAAC,uBAAuB,IAAC,MAAM,EAAE,MAAM,GAAI,EAC3C,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,WAAW,GAAG,EAC1D,KAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,GAAI,EACrC,KAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,GAAI,EACrC,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,EACrD,KAAC,gBAAgB,IAAC,MAAM,EAAE,MAAM,GAAI,EACpC,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,EACrD,KAAC,sBAAsB,IAAC,MAAM,EAAE,MAAM,GAAI,IACtC,EACN,KAAC,SAAS,IAAC,WAAW,EAAC,YAAY,GAAG,IAC3B,GACF,CACd,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { Editor } from '@tiptap/core';
2
2
  export declare const TextAlignSelector: ({ editor }: {
3
3
  editor: Editor;
4
- }) => import("react/jsx-runtime").JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element | null;