@dxos/react-ui-editor 0.3.10-main.a21ec31 → 0.3.10-next.3e4f36f

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 (121) hide show
  1. package/dist/lib/browser/index.mjs +737 -742
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/types/src/automerge/automerge-plugin/PatchSemaphore.d.ts.map +1 -0
  5. package/dist/types/src/automerge/automerge-plugin/amToCodemirror.d.ts.map +1 -0
  6. package/dist/types/src/automerge/automerge-plugin/codeMirrorToAm.d.ts.map +1 -0
  7. package/dist/types/src/automerge/automerge-plugin/handle.d.ts.map +1 -0
  8. package/dist/types/src/automerge/automerge-plugin/index.d.ts.map +1 -0
  9. package/dist/types/src/automerge/automerge-plugin/plugin.d.ts.map +1 -0
  10. package/dist/types/src/automerge/automerge.stories.d.ts.map +1 -0
  11. package/dist/types/src/components/TextEditor/TextEditor.d.ts +2 -4
  12. package/dist/types/src/components/TextEditor/TextEditor.d.ts.map +1 -1
  13. package/dist/types/src/components/TextEditor/TextEditor.stories.d.ts +4 -9
  14. package/dist/types/src/components/TextEditor/TextEditor.stories.d.ts.map +1 -1
  15. package/dist/types/src/components/TextEditor/extensions/{basic.d.ts → basic/bundle.d.ts} +1 -1
  16. package/dist/types/src/components/TextEditor/extensions/basic/bundle.d.ts.map +1 -0
  17. package/dist/types/src/components/TextEditor/extensions/basic/index.d.ts +3 -0
  18. package/dist/types/src/components/TextEditor/extensions/basic/index.d.ts.map +1 -0
  19. package/dist/types/src/components/TextEditor/extensions/basic/theme.d.ts +10 -0
  20. package/dist/types/src/components/TextEditor/extensions/basic/theme.d.ts.map +1 -0
  21. package/dist/types/src/components/TextEditor/extensions/change.d.ts +7 -0
  22. package/dist/types/src/components/TextEditor/extensions/change.d.ts.map +1 -0
  23. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkDecoration.d.ts +11 -0
  24. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkDecoration.d.ts.map +1 -0
  25. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkTooltip.d.ts +8 -0
  26. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkTooltip.d.ts.map +1 -0
  27. package/dist/types/src/components/TextEditor/extensions/{experimental.d.ts → hyperlink/hyperlinkWidget.d.ts} +2 -2
  28. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkWidget.d.ts.map +1 -0
  29. package/dist/types/src/components/TextEditor/extensions/hyperlink/index.d.ts +4 -0
  30. package/dist/types/src/components/TextEditor/extensions/hyperlink/index.d.ts.map +1 -0
  31. package/dist/types/src/components/TextEditor/extensions/index.d.ts +2 -5
  32. package/dist/types/src/components/TextEditor/extensions/index.d.ts.map +1 -1
  33. package/dist/types/src/components/TextEditor/extensions/markdown/bundle.d.ts.map +1 -1
  34. package/dist/types/src/components/TextEditor/extensions/markdown/index.d.ts +1 -1
  35. package/dist/types/src/components/TextEditor/extensions/markdown/index.d.ts.map +1 -1
  36. package/dist/types/src/components/TextEditor/extensions/markdown/tags.d.ts +17 -0
  37. package/dist/types/src/components/TextEditor/extensions/markdown/tags.d.ts.map +1 -0
  38. package/dist/types/src/components/TextEditor/extensions/markdown/theme.d.ts +21 -0
  39. package/dist/types/src/components/TextEditor/extensions/markdown/theme.d.ts.map +1 -0
  40. package/dist/types/src/components/TextEditor/index.d.ts +0 -2
  41. package/dist/types/src/components/TextEditor/index.d.ts.map +1 -1
  42. package/dist/types/src/components/TextEditor/yjs.stories.d.ts +0 -1
  43. package/dist/types/src/components/TextEditor/yjs.stories.d.ts.map +1 -1
  44. package/dist/types/src/hooks/index.d.ts +1 -0
  45. package/dist/types/src/hooks/index.d.ts.map +1 -1
  46. package/dist/types/src/hooks/useCollaboration.d.ts +9 -0
  47. package/dist/types/src/hooks/useCollaboration.d.ts.map +1 -0
  48. package/dist/types/src/hooks/useTextModel.d.ts +4 -4
  49. package/dist/types/src/hooks/useTextModel.d.ts.map +1 -1
  50. package/dist/types/src/styles/markdown.d.ts +10 -12
  51. package/dist/types/src/styles/markdown.d.ts.map +1 -1
  52. package/package.json +32 -20
  53. package/src/{hooks/automerge → automerge}/automerge.stories.tsx +1 -2
  54. package/src/components/TextEditor/TextEditor.stories.tsx +43 -46
  55. package/src/components/TextEditor/TextEditor.tsx +45 -59
  56. package/src/components/TextEditor/extensions/{basic.ts → basic/bundle.ts} +2 -4
  57. package/src/components/TextEditor/extensions/basic/index.ts +6 -0
  58. package/src/components/TextEditor/extensions/basic/theme.ts +49 -0
  59. package/src/components/TextEditor/extensions/{listener.ts → change.ts} +3 -3
  60. package/src/components/TextEditor/extensions/{link.ts → hyperlink/hyperlinkDecoration.ts} +31 -68
  61. package/src/components/TextEditor/extensions/{tooltip.tsx → hyperlink/hyperlinkTooltip.tsx} +9 -9
  62. package/src/components/TextEditor/extensions/{experimental.tsx → hyperlink/hyperlinkWidget.tsx} +2 -17
  63. package/src/components/TextEditor/extensions/hyperlink/index.ts +7 -0
  64. package/src/components/TextEditor/extensions/index.ts +2 -5
  65. package/src/components/TextEditor/extensions/markdown/bundle.ts +11 -15
  66. package/src/components/TextEditor/extensions/markdown/index.ts +1 -1
  67. package/src/components/TextEditor/extensions/markdown/tags.ts +38 -0
  68. package/src/components/TextEditor/extensions/markdown/theme.ts +265 -0
  69. package/src/components/TextEditor/index.ts +0 -3
  70. package/src/components/TextEditor/yjs.stories.tsx +0 -1
  71. package/src/hooks/index.ts +1 -0
  72. package/src/hooks/useCollaboration.ts +45 -0
  73. package/src/hooks/useTextModel.ts +40 -51
  74. package/src/styles/markdown.ts +24 -26
  75. package/src/testing/replicator.ts +2 -2
  76. package/dist/types/src/components/TextEditor/MarkdownEditor.stories.d.ts +0 -35
  77. package/dist/types/src/components/TextEditor/MarkdownEditor.stories.d.ts.map +0 -1
  78. package/dist/types/src/components/TextEditor/extensions/autocomplete.d.ts +0 -9
  79. package/dist/types/src/components/TextEditor/extensions/autocomplete.d.ts.map +0 -1
  80. package/dist/types/src/components/TextEditor/extensions/basic.d.ts.map +0 -1
  81. package/dist/types/src/components/TextEditor/extensions/experimental.d.ts.map +0 -1
  82. package/dist/types/src/components/TextEditor/extensions/link.d.ts +0 -11
  83. package/dist/types/src/components/TextEditor/extensions/link.d.ts.map +0 -1
  84. package/dist/types/src/components/TextEditor/extensions/listener.d.ts +0 -7
  85. package/dist/types/src/components/TextEditor/extensions/listener.d.ts.map +0 -1
  86. package/dist/types/src/components/TextEditor/extensions/markdown/highlight.d.ts +0 -31
  87. package/dist/types/src/components/TextEditor/extensions/markdown/highlight.d.ts.map +0 -1
  88. package/dist/types/src/components/TextEditor/extensions/tasklist.d.ts +0 -5
  89. package/dist/types/src/components/TextEditor/extensions/tasklist.d.ts.map +0 -1
  90. package/dist/types/src/components/TextEditor/extensions/tooltip.d.ts +0 -12
  91. package/dist/types/src/components/TextEditor/extensions/tooltip.d.ts.map +0 -1
  92. package/dist/types/src/components/TextEditor/themes/default.d.ts +0 -17
  93. package/dist/types/src/components/TextEditor/themes/default.d.ts.map +0 -1
  94. package/dist/types/src/components/TextEditor/themes/index.d.ts +0 -2
  95. package/dist/types/src/components/TextEditor/themes/index.d.ts.map +0 -1
  96. package/dist/types/src/hooks/automerge/PatchSemaphore.d.ts.map +0 -1
  97. package/dist/types/src/hooks/automerge/amToCodemirror.d.ts.map +0 -1
  98. package/dist/types/src/hooks/automerge/automerge.stories.d.ts.map +0 -1
  99. package/dist/types/src/hooks/automerge/codeMirrorToAm.d.ts.map +0 -1
  100. package/dist/types/src/hooks/automerge/handle.d.ts.map +0 -1
  101. package/dist/types/src/hooks/automerge/index.d.ts.map +0 -1
  102. package/dist/types/src/hooks/automerge/plugin.d.ts.map +0 -1
  103. package/src/components/TextEditor/MarkdownEditor.stories.tsx +0 -242
  104. package/src/components/TextEditor/extensions/autocomplete.ts +0 -72
  105. package/src/components/TextEditor/extensions/markdown/highlight.ts +0 -166
  106. package/src/components/TextEditor/extensions/tasklist.ts +0 -113
  107. package/src/components/TextEditor/themes/default.ts +0 -170
  108. package/src/components/TextEditor/themes/index.ts +0 -5
  109. /package/dist/types/src/{hooks/automerge → automerge/automerge-plugin}/PatchSemaphore.d.ts +0 -0
  110. /package/dist/types/src/{hooks/automerge → automerge/automerge-plugin}/amToCodemirror.d.ts +0 -0
  111. /package/dist/types/src/{hooks/automerge → automerge/automerge-plugin}/codeMirrorToAm.d.ts +0 -0
  112. /package/dist/types/src/{hooks/automerge → automerge/automerge-plugin}/handle.d.ts +0 -0
  113. /package/dist/types/src/{hooks/automerge → automerge/automerge-plugin}/index.d.ts +0 -0
  114. /package/dist/types/src/{hooks/automerge → automerge/automerge-plugin}/plugin.d.ts +0 -0
  115. /package/dist/types/src/{hooks/automerge → automerge}/automerge.stories.d.ts +0 -0
  116. /package/src/{hooks/automerge → automerge/automerge-plugin}/PatchSemaphore.ts +0 -0
  117. /package/src/{hooks/automerge → automerge/automerge-plugin}/amToCodemirror.ts +0 -0
  118. /package/src/{hooks/automerge → automerge/automerge-plugin}/codeMirrorToAm.ts +0 -0
  119. /package/src/{hooks/automerge → automerge/automerge-plugin}/handle.ts +0 -0
  120. /package/src/{hooks/automerge → automerge/automerge-plugin}/index.ts +0 -0
  121. /package/src/{hooks/automerge → automerge/automerge-plugin}/plugin.ts +0 -0
@@ -2,13 +2,9 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type Extension } from '@codemirror/state';
6
- import get from 'lodash.get';
7
- import { useEffect, useState } from 'react';
8
- import { yCollab } from 'y-codemirror.next';
5
+ import { useMemo } from 'react';
9
6
  import type * as awarenessProtocol from 'y-protocols/awareness';
10
7
 
11
- import { invariant } from '@dxos/invariant';
12
8
  import {
13
9
  type DocAccessor,
14
10
  type Space,
@@ -20,84 +16,77 @@ import {
20
16
  import { type Identity } from '@dxos/react-client/halo';
21
17
  import type { YText, YXmlFragment } from '@dxos/text-model';
22
18
 
23
- import { automergePlugin } from './automerge';
24
19
  import { SpaceAwarenessProvider } from './yjs';
25
20
 
26
21
  // TODO(burdon): Move.
27
22
  type Awareness = awarenessProtocol.Awareness;
23
+ type Provider = { awareness: Awareness };
28
24
 
29
25
  // TODO(wittjosiah): Factor out to common package? @dxos/react-client?
30
26
  export type EditorModel = {
31
27
  id: string;
32
28
  content: string | YText | YXmlFragment | DocAccessor;
33
- text: () => string;
34
- extension?: Extension;
35
- awareness?: Awareness;
29
+ provider?: Provider;
36
30
  peer?: {
37
31
  id: string;
38
32
  name?: string;
39
33
  };
40
34
  };
41
35
 
42
- // TODO(burdon): Remove space/identity dependency. Define interface for the framework re content and presence.
43
36
  export type UseTextModelOptions = {
44
37
  identity?: Identity | null;
45
38
  space?: Space;
46
39
  text?: TextObject;
47
40
  };
48
41
 
49
- // TODO(burdon): Remove YJS/Automerge deps (from UI component -- create abstraction; incl. all ECHO/Space deps).
42
+ // TODO(burdon): Don't support returning undefined (and remove checks from calling code).
43
+ // TODO(burdon): Decouple space (make Editor less dependent on entire stack)?
50
44
  // TODO(wittjosiah): Factor out to common package? @dxos/react-client?
51
45
  export const useTextModel = ({ identity, space, text }: UseTextModelOptions): EditorModel | undefined => {
52
- const [model, setModel] = useState<EditorModel | undefined>(() => createModel({ identity, space, text }));
53
- useEffect(() => {
54
- setModel(createModel({ identity, space, text }));
55
- }, [identity, space, text]);
56
- return model;
57
- };
46
+ const provider = useMemo(() => {
47
+ if (isActualAutomergeObject(text)) {
48
+ return undefined;
49
+ }
58
50
 
59
- const createModel = (options: UseTextModelOptions) => {
60
- const { space, text } = options;
61
- if (!space || !text?.doc || !text?.content) {
62
- return undefined;
63
- }
51
+ if (!space || !text?.doc) {
52
+ return undefined;
53
+ }
54
+
55
+ return new SpaceAwarenessProvider({ space, doc: text.doc, channel: `yjs.awareness.${text.id}` });
56
+ }, [identity, space, text, text?.doc]);
57
+
58
+ const content = useMemo(() => {
59
+ if (isActualAutomergeObject(text)) {
60
+ const obj = text as any as AutomergeTextCompat;
61
+ return getRawDoc(obj, [obj.field]);
62
+ } else {
63
+ return text?.content;
64
+ }
65
+ }, [text]);
64
66
 
65
67
  if (isActualAutomergeObject(text)) {
66
- return createAutomergeModel(options);
67
- } else {
68
- return createYjsModel(options);
68
+ const obj = text as any as AutomergeTextCompat;
69
+ return {
70
+ id: obj.id,
71
+ content: content!,
72
+ provider: undefined,
73
+ peer: identity
74
+ ? {
75
+ id: identity.identityKey.toHex(),
76
+ name: identity.profile?.displayName,
77
+ }
78
+ : undefined,
79
+ };
69
80
  }
70
- };
71
81
 
72
- const createYjsModel = ({ identity, space, text }: UseTextModelOptions): EditorModel => {
73
- invariant(space && text?.doc && text?.content);
74
- const provider = new SpaceAwarenessProvider({ space, doc: text.doc, channel: `yjs.awareness.${text.id}` });
82
+ if (!text?.doc || !text?.content) {
83
+ return undefined;
84
+ }
75
85
 
76
86
  return {
77
87
  id: text.doc.guid,
78
88
  content: text.content,
79
- text: () => text.content!.toString(),
80
- extension: yCollab(text.content as YText, provider.awareness),
81
- awareness: provider.awareness,
82
- peer: identity
83
- ? {
84
- id: identity.identityKey.toHex(),
85
- name: identity.profile?.displayName,
86
- }
87
- : undefined,
88
- };
89
- };
90
-
91
- const createAutomergeModel = ({ identity, space, text }: UseTextModelOptions): EditorModel => {
92
- invariant(space && text?.doc && text?.content);
93
- const obj = text as any as AutomergeTextCompat;
94
- const doc = getRawDoc(obj, [obj.field]);
95
-
96
- return {
97
- id: obj.id,
98
- content: doc,
99
- text: () => get(doc.handle.docSync(), doc.path),
100
- extension: automergePlugin(doc.handle, doc.path),
89
+ provider,
101
90
  peer: identity
102
91
  ? {
103
92
  id: identity.identityKey.toHex(),
@@ -6,43 +6,41 @@ import { mx } from '@dxos/react-ui-theme';
6
6
 
7
7
  export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
8
8
 
9
- // https://tailwindcss.com/docs/font-weight
10
9
  export const heading: Record<HeadingLevel, string> = {
11
- 1: 'mbs-4 mbe-2 font-medium text-inherit no-underline text-4xl',
12
- 2: 'mbs-4 mbe-2 font-medium text-inherit no-underline text-3xl',
13
- 3: 'mbs-4 mbe-2 font-medium text-inherit no-underline text-2xl',
14
- 4: 'mbs-4 mbe-2 font-medium text-inherit no-underline text-xl',
15
- 5: 'mbs-4 mbe-2 font-medium text-inherit no-underline text-lg',
16
- 6: 'mbs-4 mbe-2 font-medium text-inherit no-underline',
10
+ 1: 'mbs-4 mbe-2 text-4xl font-semibold text-inherit no-underline',
11
+ 2: 'mbs-4 mbe-2 text-3xl font-bold text-inherit no-underline',
12
+ 3: 'mbs-4 mbe-2 text-2xl font-bold text-inherit no-underline',
13
+ 4: 'mbs-4 mbe-2 text-xl font-extrabold text-inherit no-underline',
14
+ 5: 'mbs-4 mbe-2 text-lg font-extrabold text-inherit no-underline',
15
+ 6: 'mbs-4 mbe-2 font-black text-inherit no-underline',
17
16
  };
18
17
 
19
- export const text = 'text-neutral-800 dark:text-neutral-200';
20
- export const light = 'text-neutral-200 dark:text-neutral-800';
18
+ export const blockquote = 'mlb-2 border-is-4 border-neutral-500/50 pis-5';
21
19
 
22
- export const mark = mx('!font-normal !no-underline !text-inherit opacity-40', light);
20
+ // TODO(thure): Tailwind was not seeing `[&>li:before]:content-["•"]` as a utility class, but it would work if instead of `"•"` it was `"X"`… why?
21
+ export const unorderedList =
22
+ 'mlb-2 grid grid-cols-[min-content_1fr] [&>li:before]:content-[attr(marker)] [&>li:before]:mlb-1 [&>li:before]:mie-2';
23
+ export const orderedList =
24
+ 'mlb-2 grid grid-cols-[min-content_1fr] [&>li:before]:content-[counters(section,_".")_"._"] [counter-reset:section] [&>li:before]:mlb-1';
25
+
26
+ export const listItem = 'contents before:[counter-increment:section]';
27
+
28
+ export const codeBlock = 'mlb-2 font-mono bg-neutral-500/10 p-3 rounded';
29
+
30
+ export const horizontalRule = 'mlb-4 border-neutral-500/50';
23
31
 
24
32
  export const paragraph = 'mlb-1';
25
33
 
26
34
  export const bold = 'font-bold';
27
- export const italic = 'italic';
28
- export const strikethrough = 'line-through';
29
35
 
30
- export const code = 'font-mono !no-underline text-neutral-700 dark:text-neutral-300';
31
- export const codeMark = 'font-mono text-primary-500';
32
- export const codeBlock = 'mlb-2 font-mono bg-neutral-500/10 p-3 rounded';
36
+ export const code = 'font-mono bg-neutral-500/10 rounded pli-0.5 plb-0.5 -mlb-0.5';
33
37
 
34
- export const inlineUrl = mx(code, 'px-1');
38
+ export const placeholder = 'font-mono';
35
39
 
36
- // TODO(burdon): Replace with widget.
37
- export const blockquote = mx('pl-1 mr-1 border-is-4 border-primary-500/70 dark:border-primary-500/30', light);
40
+ export const codeWithoutMarks = mx(code, 'pli-1.5 mli-0.5');
38
41
 
39
- // TODO(burdon): Replace with widget.
40
- export const horizontalRule = 'flex mlb-4 border-b text-neutral-100 dark:text-neutral-900 border-neutral-500/50';
42
+ export const italic = 'italic';
41
43
 
42
- // TODO(thure): Tailwind was not seeing `[&>li:before]:content-["•"]` as a utility class, but it would work if instead of `"•"` it was `"X"`… why?
43
- export const unorderedList =
44
- 'mlb-2 grid grid-cols-[min-content_1fr] [&>li:before]:content-[attr(marker)] [&>li:before]:mlb-1 [&>li:before]:mie-2';
45
- export const orderedList =
46
- 'mlb-2 grid grid-cols-[min-content_1fr] [&>li:before]:content-[counters(section,_".")_"._"] [counter-reset:section] [&>li:before]:mlb-1';
44
+ export const strikethrough = 'line-through';
47
45
 
48
- export const listItem = 'contents before:[counter-increment:section]';
46
+ export const mark = '!font-normal !no-underline !text-inherit opacity-40';
@@ -163,11 +163,11 @@ export class Replicator {
163
163
  colorLight: cursorColor.light,
164
164
  });
165
165
 
166
+ // TODO(burdon): Create concrete class that implements SyncModel?
166
167
  const model: EditorModel = {
167
168
  id: doc.guid,
168
169
  content: this._kind === TextKind.PLAIN ? doc.getText('content') : doc.getXmlFragment('content'),
169
- text: () => model.content.toString(),
170
- awareness: provider.awareness,
170
+ provider,
171
171
  peer: { id },
172
172
  };
173
173
 
@@ -1,35 +0,0 @@
1
- import '@dxosTheme';
2
- import React from 'react';
3
- import { type TextEditorProps, type TextEditorRef } from './TextEditor';
4
- declare const _default: {
5
- title: string;
6
- component: React.ForwardRefExoticComponent<TextEditorProps & React.RefAttributes<TextEditorRef>>;
7
- decorators: import("@storybook/react").Decorator[];
8
- render: ({ text, automerge, ...props }: {
9
- text?: string | undefined;
10
- automerge?: boolean | undefined;
11
- } & Pick<TextEditorProps, "extensions" | "slots">) => JSX.Element | null;
12
- };
13
- export default _default;
14
- export declare const Default: {
15
- render: () => JSX.Element;
16
- };
17
- export declare const Simple: {
18
- render: () => JSX.Element;
19
- };
20
- export declare const Tooltips: {
21
- render: () => JSX.Element;
22
- };
23
- export declare const Links: {
24
- render: () => JSX.Element;
25
- };
26
- export declare const TaskList: {
27
- render: () => JSX.Element;
28
- };
29
- export declare const Autocomplete: {
30
- render: () => JSX.Element;
31
- };
32
- export declare const Diagnostics: {
33
- render: () => JSX.Element;
34
- };
35
- //# sourceMappingURL=MarkdownEditor.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TextEditor/MarkdownEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAIpB,OAAO,KAAuC,MAAM,OAAO,CAAC;AAO5D,OAAO,EAAkB,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;AAuJxF,wBAKE;AAEF,eAAO,MAAM,OAAO;;CAcnB,CAAC;AAEF,eAAO,MAAM,MAAM;;CAElB,CAAC;AAEF,eAAO,MAAM,QAAQ;;CAEpB,CAAC;AAEF,eAAO,MAAM,KAAK;;CAEjB,CAAC;AAEF,eAAO,MAAM,QAAQ;;CAYpB,CAAC;AAEF,eAAO,MAAM,YAAY;;CAYxB,CAAC;AAEF,eAAO,MAAM,WAAW;;CAYvB,CAAC"}
@@ -1,9 +0,0 @@
1
- import { type Completion } from '@codemirror/autocomplete';
2
- export type AutocompleteOptions = {
3
- getOptions: (text: string) => Completion[];
4
- };
5
- /**
6
- * Autocomplete extension.
7
- */
8
- export declare const autocomplete: ({ getOptions }: AutocompleteOptions) => import("@codemirror/state").Extension[];
9
- //# sourceMappingURL=autocomplete.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/autocomplete.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEL,KAAK,UAAU,EAIhB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;CAC5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,mBAAoB,mBAAmB,4CAuC/D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/basic.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,WAAW,6CAA8C,kBAAkB,KAAG,SAAS,EAYlE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"experimental.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/experimental.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAEL,KAAK,aAAa,EAElB,cAAc,EACd,UAAU,EACV,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAsE1B,wBAAgB,kBAAkB;wBAGR,cAAc;;mBAOnB,UAAU;GAwB9B;AAED,eAAO,MAAM,MAAM,WAYjB,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,SAA0C,CAAC"}
@@ -1,11 +0,0 @@
1
- import { type Extension } from '@codemirror/state';
2
- export type LinkOptions = {
3
- link?: boolean;
4
- onRender?: (el: Element, url: string) => void;
5
- };
6
- /**
7
- * Creates a state field to replace AST elements with a hyperlink widget.
8
- * https://codemirror.net/docs/ref/#state.StateField
9
- */
10
- export declare const link: (options?: LinkOptions) => Extension;
11
- //# sourceMappingURL=link.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/link.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,SAAS,EAKf,MAAM,mBAAmB,CAAC;AA2G3B,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,IAAI,aAAa,WAAW,KAAQ,SAMhD,CAAC"}
@@ -1,7 +0,0 @@
1
- import { StateField } from '@codemirror/state';
2
- export type TextListener = (text: string) => void;
3
- /**
4
- * Based on https://github.com/codemirror/dev/issues/44#issuecomment-789093799
5
- */
6
- export declare const listener: (onChange: TextListener) => StateField<null>;
7
- //# sourceMappingURL=listener.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/listener.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,QAAQ,aAAc,YAAY,qBAU3C,CAAC"}
@@ -1,31 +0,0 @@
1
- import { HighlightStyle } from '@codemirror/language';
2
- import { Tag } from '@lezer/highlight';
3
- import { type MarkdownConfig } from '@lezer/markdown';
4
- /**
5
- * Custom tags defined and processed by the GFM lezer extension.
6
- * https://github.com/lezer-parser/markdown
7
- * https://github.com/lezer-parser/markdown/blob/main/src/markdown.ts
8
- */
9
- export declare const markdownTags: {
10
- Blockquote: Tag;
11
- CodeMark: Tag;
12
- CodeText: Tag;
13
- EmphasisMark: Tag;
14
- HeaderMark: Tag;
15
- HorizontalRule: Tag;
16
- InlineCode: Tag;
17
- LinkLabel: Tag;
18
- LinkReference: Tag;
19
- ListMark: Tag;
20
- QuoteMark: Tag;
21
- URL: Tag;
22
- };
23
- export declare const markdownTagsExtension: MarkdownConfig;
24
- /**
25
- * Styling based on `lezer` parser tags.
26
- * https://codemirror.net/examples/styling
27
- * https://github.com/lezer-parser/highlight
28
- * https://lezer.codemirror.net/docs/ref/#highlight (list of tags)
29
- */
30
- export declare const markdownHighlightStyle: HighlightStyle;
31
- //# sourceMappingURL=highlight.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/markdown/highlight.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAmB,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAiBtD;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAaxB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAEnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gBA+GlC,CAAC"}
@@ -1,5 +0,0 @@
1
- import { type Extension } from '@codemirror/state';
2
- export declare const statefield: () => Extension;
3
- export declare const styles: Extension;
4
- export declare const tasklist: () => Extension[];
5
- //# sourceMappingURL=tasklist.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tasklist.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/tasklist.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,SAAS,EAKf,MAAM,mBAAmB,CAAC;AAyD3B,eAAO,MAAM,UAAU,QAAO,SAkC7B,CAAC;AAGF,eAAO,MAAM,MAAM,WAIjB,CAAC;AAEH,eAAO,MAAM,QAAQ,mBAA+B,CAAC"}
@@ -1,12 +0,0 @@
1
- import { type Extension } from '@codemirror/state';
2
- export type TooltipOptions = {
3
- onHover: (el: Element, url: string) => void;
4
- regexp?: RegExp;
5
- };
6
- /**
7
- * https://codemirror.net/examples/tooltip
8
- * https://codemirror.net/docs/ref/#view.hoverTooltip
9
- * https://github.com/codemirror/view/blob/main/src/tooltip.ts
10
- */
11
- export declare const tooltip: ({ onHover, regexp }: TooltipOptions) => Extension;
12
- //# sourceMappingURL=tooltip.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/tooltip.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAOnD,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,wBAA8C,cAAc,KAAG,SAuC/E,CAAC"}
@@ -1,17 +0,0 @@
1
- import { type StyleSpec } from 'style-mod';
2
- /**
3
- * Minimal styles.
4
- * https://codemirror.net/examples/styling
5
- * NOTE: Use one of '&', '&light', and '&dark' prefix to scope instance.
6
- * NOTE: `light` and `dark` selectors are preprocessed by CodeMirror and can only be in the base theme.
7
- */
8
- export declare const defaultTheme: {
9
- [selector: string]: StyleSpec;
10
- };
11
- export declare const textTheme: {
12
- [selector: string]: StyleSpec;
13
- };
14
- export declare const codeTheme: {
15
- [selector: string]: StyleSpec;
16
- };
17
- //# sourceMappingURL=default.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/themes/default.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAI3C;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE;IACzB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAyI/B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAK/B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAK/B,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './default';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/themes/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PatchSemaphore.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/PatchSemaphore.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI9D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,KAAK,KAAK,EAA8E,MAAM,UAAU,CAAC;AAElH,KAAK,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/B,KAAK,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;AAE7B,KAAK,QAAQ,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,SAAS,CAAC;AAE3F,qBAAa,cAAc;IACzB,MAAM,EAAG,KAAK,CAAC;IACf,YAAY,UAAS;IACrB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAM;gBAEjB,KAAK,CAAC,EAAE,KAAK;IAMzB,SAAS,WAAY,UAAU,QAAQ,UAAU,UA2C/C;CACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"amToCodemirror.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/amToCodemirror.ts"],"names":[],"mappings":"AAIA,OAAO,EAA8B,KAAK,eAAe,EAAoB,MAAM,mBAAmB,CAAC;AACvG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,IAAI,EAGV,MAAM,2BAA2B,CAAC;+BAIb,UAAU,aAAa,eAAe,UAAU,IAAI,EAAE,WAAW,KAAK,EAAE;AAA9F,wBAgBE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"automerge.stories.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/automerge.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,uBAAuB,CAAC;;;;AA+E/B,wBAEE;AAEF,eAAO,MAAM,aAAa;;CAEzB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"codeMirrorToAm.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/codeMirrorToAm.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAa,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;+CAI5B,UAAU,gBACJ,WAAW,EAAE,SACpB,WAAW,KACjB,KAAK,GAAG,SAAS;AALpB,wBA6BE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/handle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,CAAC,MAAM,2BAA2B,CAAC;AAEpD,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,GAAG,IAAI;IAChC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAEtG,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACzD,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAC7D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,SAAS,EAEd,WAAW,EACX,UAAU,EACV,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,EAAE,KAAK,CAAC;IACjB,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,wBAAwB,EAAE,WAAW,EAAE,CAAC;CACzC,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,UAAU,0DAAsC,CAAC;AAE9D,eAAO,MAAM,WAAW,sCAAsB,YAAY,WAAW,CAAgC,CAAC;AAEtG,eAAO,MAAM,YAAY,UAAW,WAAW,uCAAsD,CAAC;AAEtG,eAAO,MAAM,OAAO,UAAW,WAAW,mBAAiB,IAAI,EAA6B,CAAC;AAE7F,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAMtC,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,eAAe,WAAY,UAAU,QAAQ,IAAI,EAAE,KAAG,eA8DlE,CAAC;AAEF,eAAO,MAAM,uBAAuB,qDAA+B,CAAC;AAEpE,eAAO,MAAM,aAAa,OAAQ,WAAW,KAAG,OAAmD,CAAC;AAEpG,eAAO,MAAM,aAAa,OAAQ,eAAe,SAchD,CAAC"}