@dxos/react-ui-editor 0.3.10-main.a21ec31 → 0.3.10-main.c5193cc

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/lib/browser/index.mjs +1006 -219
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/types/src/components/TextEditor/MarkdownEditor.stories.d.ts +22 -1
  5. package/dist/types/src/components/TextEditor/MarkdownEditor.stories.d.ts.map +1 -1
  6. package/dist/types/src/components/TextEditor/TextEditor.d.ts +3 -1
  7. package/dist/types/src/components/TextEditor/TextEditor.d.ts.map +1 -1
  8. package/dist/types/src/components/TextEditor/extensions/autocomplete.d.ts +3 -2
  9. package/dist/types/src/components/TextEditor/extensions/autocomplete.d.ts.map +1 -1
  10. package/dist/types/src/components/TextEditor/extensions/basic.d.ts +2 -1
  11. package/dist/types/src/components/TextEditor/extensions/basic.d.ts.map +1 -1
  12. package/dist/types/src/components/TextEditor/extensions/blast.d.ts +25 -0
  13. package/dist/types/src/components/TextEditor/extensions/blast.d.ts.map +1 -0
  14. package/dist/types/src/components/TextEditor/extensions/comments.d.ts +18 -0
  15. package/dist/types/src/components/TextEditor/extensions/comments.d.ts.map +1 -0
  16. package/dist/types/src/components/TextEditor/extensions/demo.d.ts +11 -0
  17. package/dist/types/src/components/TextEditor/extensions/demo.d.ts.map +1 -0
  18. package/dist/types/src/components/TextEditor/extensions/experimental.d.ts.map +1 -1
  19. package/dist/types/src/components/TextEditor/extensions/image.d.ts +4 -0
  20. package/dist/types/src/components/TextEditor/extensions/image.d.ts.map +1 -0
  21. package/dist/types/src/components/TextEditor/extensions/index.d.ts +6 -0
  22. package/dist/types/src/components/TextEditor/extensions/index.d.ts.map +1 -1
  23. package/dist/types/src/components/TextEditor/extensions/link.d.ts.map +1 -1
  24. package/dist/types/src/components/TextEditor/extensions/listener.d.ts +4 -2
  25. package/dist/types/src/components/TextEditor/extensions/listener.d.ts.map +1 -1
  26. package/dist/types/src/components/TextEditor/extensions/markdown/bundle.d.ts +2 -1
  27. package/dist/types/src/components/TextEditor/extensions/markdown/bundle.d.ts.map +1 -1
  28. package/dist/types/src/components/TextEditor/extensions/markdown/highlight.d.ts +6 -2
  29. package/dist/types/src/components/TextEditor/extensions/markdown/highlight.d.ts.map +1 -1
  30. package/dist/types/src/components/TextEditor/extensions/mention.d.ts +6 -0
  31. package/dist/types/src/components/TextEditor/extensions/mention.d.ts.map +1 -0
  32. package/dist/types/src/components/TextEditor/extensions/table.d.ts +8 -0
  33. package/dist/types/src/components/TextEditor/extensions/table.d.ts.map +1 -0
  34. package/dist/types/src/components/TextEditor/extensions/tasklist.d.ts +2 -4
  35. package/dist/types/src/components/TextEditor/extensions/tasklist.d.ts.map +1 -1
  36. package/dist/types/src/components/TextEditor/themes/default.d.ts +8 -0
  37. package/dist/types/src/components/TextEditor/themes/default.d.ts.map +1 -1
  38. package/dist/types/src/hooks/automerge/PatchSemaphore.d.ts +3 -0
  39. package/dist/types/src/hooks/automerge/PatchSemaphore.d.ts.map +1 -1
  40. package/dist/types/src/hooks/automerge/automerge.stories.d.ts +8 -1
  41. package/dist/types/src/hooks/automerge/automerge.stories.d.ts.map +1 -1
  42. package/dist/types/src/hooks/automerge/index.d.ts +1 -1
  43. package/dist/types/src/hooks/automerge/index.d.ts.map +1 -1
  44. package/dist/types/src/hooks/automerge/plugin.d.ts.map +1 -1
  45. package/dist/types/src/hooks/automerge/translation/automerge-to-codemirror.d.ts +5 -0
  46. package/dist/types/src/hooks/automerge/translation/automerge-to-codemirror.d.ts.map +1 -0
  47. package/dist/types/src/hooks/automerge/translation/codemirror-to-automerge.d.ts +6 -0
  48. package/dist/types/src/hooks/automerge/translation/codemirror-to-automerge.d.ts.map +1 -0
  49. package/dist/types/src/hooks/automerge/translation/index.d.ts +3 -0
  50. package/dist/types/src/hooks/automerge/translation/index.d.ts.map +1 -0
  51. package/dist/types/src/hooks/useTextModel.d.ts.map +1 -1
  52. package/dist/types/src/{components/TextEditor → hooks/yjs}/yjs.stories.d.ts +1 -1
  53. package/dist/types/src/hooks/yjs/yjs.stories.d.ts.map +1 -0
  54. package/dist/types/src/styles/markdown.d.ts +3 -2
  55. package/dist/types/src/styles/markdown.d.ts.map +1 -1
  56. package/dist/types/src/testing/replicator.d.ts.map +1 -1
  57. package/package.json +20 -19
  58. package/src/components/TextEditor/MarkdownEditor.stories.tsx +140 -31
  59. package/src/components/TextEditor/TextEditor.tsx +26 -15
  60. package/src/components/TextEditor/extensions/autocomplete.ts +9 -22
  61. package/src/components/TextEditor/extensions/basic.ts +2 -1
  62. package/src/components/TextEditor/extensions/blast.ts +387 -0
  63. package/src/components/TextEditor/extensions/comments.ts +191 -0
  64. package/src/components/TextEditor/extensions/demo.ts +69 -0
  65. package/src/components/TextEditor/extensions/experimental.tsx +1 -0
  66. package/src/components/TextEditor/extensions/image.ts +67 -0
  67. package/src/components/TextEditor/extensions/index.ts +6 -0
  68. package/src/components/TextEditor/extensions/link.ts +26 -25
  69. package/src/components/TextEditor/extensions/listener.ts +4 -3
  70. package/src/components/TextEditor/extensions/markdown/bundle.ts +29 -26
  71. package/src/components/TextEditor/extensions/markdown/highlight.ts +118 -103
  72. package/src/components/TextEditor/extensions/mention.ts +31 -0
  73. package/src/components/TextEditor/extensions/table.ts +123 -0
  74. package/src/components/TextEditor/extensions/tasklist.ts +89 -81
  75. package/src/components/TextEditor/themes/default.ts +69 -2
  76. package/src/hooks/automerge/PatchSemaphore.ts +12 -9
  77. package/src/hooks/automerge/automerge.stories.tsx +3 -2
  78. package/src/hooks/automerge/index.ts +1 -1
  79. package/src/hooks/automerge/plugin.ts +1 -0
  80. package/src/hooks/automerge/{amToCodemirror.ts → translation/automerge-to-codemirror.ts} +10 -2
  81. package/src/hooks/automerge/{codeMirrorToAm.ts → translation/codemirror-to-automerge.ts} +7 -4
  82. package/src/hooks/automerge/translation/index.ts +6 -0
  83. package/src/hooks/useTextModel.ts +13 -11
  84. package/src/{components/TextEditor → hooks/yjs}/yjs.stories.tsx +1 -1
  85. package/src/styles/markdown.ts +14 -8
  86. package/src/testing/replicator.ts +5 -5
  87. package/dist/types/src/components/TextEditor/yjs.stories.d.ts.map +0 -1
  88. package/dist/types/src/hooks/automerge/amToCodemirror.d.ts +0 -6
  89. package/dist/types/src/hooks/automerge/amToCodemirror.d.ts.map +0 -1
  90. package/dist/types/src/hooks/automerge/codeMirrorToAm.d.ts +0 -7
  91. package/dist/types/src/hooks/automerge/codeMirrorToAm.d.ts.map +0 -1
@@ -7,13 +7,18 @@ import { mx } from '@dxos/react-ui-theme';
7
7
  export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
8
8
 
9
9
  // https://tailwindcss.com/docs/font-weight
10
- 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
+ export const headings: Record<HeadingLevel, string[]> = {
11
+ 1: ['mbs-4 mbe-2 font-medium text-inherit no-underline text-4xl', '-ml-1.5'],
12
+ 2: ['mbs-4 mbe-2 font-medium text-inherit no-underline text-3xl', '-ml-1.5'],
13
+ 3: ['mbs-4 mbe-2 font-medium text-inherit no-underline text-2xl', '-ml-1.5'],
14
+ 4: ['mbs-4 mbe-2 font-medium text-inherit no-underline text-xl', '-ml-[5px]'],
15
+ 5: ['mbs-4 mbe-2 font-medium text-inherit no-underline text-lg', '-ml-[5px]'],
16
+ 6: ['mbs-4 mbe-2 font-medium text-inherit no-underline', '-ml-[4px]'],
17
+ };
18
+
19
+ export const heading = (level: HeadingLevel, readonly?: boolean) => {
20
+ const [style, offset] = headings[level];
21
+ return mx(style, readonly && offset);
17
22
  };
18
23
 
19
24
  export const text = 'text-neutral-800 dark:text-neutral-200';
@@ -37,7 +42,8 @@ export const inlineUrl = mx(code, 'px-1');
37
42
  export const blockquote = mx('pl-1 mr-1 border-is-4 border-primary-500/70 dark:border-primary-500/30', light);
38
43
 
39
44
  // 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';
45
+ export const horizontalRule =
46
+ 'flex mlb-4 border-b text-neutral-100 dark:text-neutral-900 border-neutral-200 dark:border-neutral-800';
41
47
 
42
48
  // 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
49
  export const unorderedList =
@@ -163,16 +163,17 @@ export class Replicator {
163
163
  colorLight: cursorColor.light,
164
164
  });
165
165
 
166
+ const field = 'content';
167
+ const content = this._kind === TextKind.PLAIN ? doc.getText(field) : doc.getXmlFragment(field);
166
168
  const model: EditorModel = {
167
169
  id: doc.guid,
168
- content: this._kind === TextKind.PLAIN ? doc.getText('content') : doc.getXmlFragment('content'),
169
- text: () => model.content.toString(),
170
+ text: () => content.toString(),
171
+ content,
170
172
  awareness: provider.awareness,
171
173
  peer: { id },
172
174
  };
173
175
 
174
176
  this._peers.push(model);
175
-
176
177
  return model;
177
178
  };
178
179
  }
@@ -184,6 +185,5 @@ export type UseYjsModelOptions = {
184
185
  };
185
186
 
186
187
  export const useYjsModel = ({ replicator, id, doc }: UseYjsModelOptions): EditorModel => {
187
- const peer = useMemo(() => replicator.createPeer(id, doc), [doc]);
188
- return peer;
188
+ return useMemo(() => replicator.createPeer(id, doc), [doc]);
189
189
  };
@@ -1 +0,0 @@
1
- {"version":3,"file":"yjs.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TextEditor/yjs.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAmB,MAAM,OAAO,CAAC;;;;;AAWxC,wBAGE;AA+BF,eAAO,MAAM,OAAO;;;CAInB,CAAC"}
@@ -1,6 +0,0 @@
1
- import { type EditorSelection } from '@codemirror/state';
2
- import { type EditorView } from '@codemirror/view';
3
- import { type Patch, type Prop } from '@dxos/automerge/automerge';
4
- declare const _default: (view: EditorView, selection: EditorSelection, target: Prop[], patches: Patch[]) => void;
5
- export default _default;
6
- //# sourceMappingURL=amToCodemirror.d.ts.map
@@ -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,7 +0,0 @@
1
- import { type EditorState, type Transaction } from '@codemirror/state';
2
- import { type Heads } from '@dxos/automerge/automerge';
3
- import { type IDocHandle } from './handle';
4
- import { type Field } from './plugin';
5
- declare const _default: (field: Field, handle: IDocHandle, transactions: Transaction[], state: EditorState) => Heads | undefined;
6
- export default _default;
7
- //# sourceMappingURL=codeMirrorToAm.d.ts.map
@@ -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"}