@dxos/react-ui-editor 0.3.10-main.16895f7 → 0.3.10-main.375af01

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 +728 -732
  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 +35 -0
  5. package/dist/types/src/components/TextEditor/MarkdownEditor.stories.d.ts.map +1 -0
  6. package/dist/types/src/components/TextEditor/TextEditor.d.ts +4 -2
  7. package/dist/types/src/components/TextEditor/TextEditor.d.ts.map +1 -1
  8. package/dist/types/src/components/TextEditor/TextEditor.stories.d.ts +9 -4
  9. package/dist/types/src/components/TextEditor/TextEditor.stories.d.ts.map +1 -1
  10. package/dist/types/src/components/TextEditor/extensions/autocomplete.d.ts +9 -0
  11. package/dist/types/src/components/TextEditor/extensions/autocomplete.d.ts.map +1 -0
  12. package/dist/types/src/components/TextEditor/extensions/{basic/bundle.d.ts → basic.d.ts} +1 -1
  13. package/dist/types/src/components/TextEditor/extensions/basic.d.ts.map +1 -0
  14. package/dist/types/src/components/TextEditor/extensions/{hyperlink/hyperlinkWidget.d.ts → experimental.d.ts} +2 -2
  15. package/dist/types/src/components/TextEditor/extensions/experimental.d.ts.map +1 -0
  16. package/dist/types/src/components/TextEditor/extensions/index.d.ts +5 -2
  17. package/dist/types/src/components/TextEditor/extensions/index.d.ts.map +1 -1
  18. package/dist/types/src/components/TextEditor/extensions/link.d.ts +11 -0
  19. package/dist/types/src/components/TextEditor/extensions/link.d.ts.map +1 -0
  20. package/dist/types/src/components/TextEditor/extensions/listener.d.ts +7 -0
  21. package/dist/types/src/components/TextEditor/extensions/listener.d.ts.map +1 -0
  22. package/dist/types/src/components/TextEditor/extensions/markdown/bundle.d.ts.map +1 -1
  23. package/dist/types/src/components/TextEditor/extensions/markdown/highlight.d.ts +31 -0
  24. package/dist/types/src/components/TextEditor/extensions/markdown/highlight.d.ts.map +1 -0
  25. package/dist/types/src/components/TextEditor/extensions/markdown/index.d.ts +1 -1
  26. package/dist/types/src/components/TextEditor/extensions/markdown/index.d.ts.map +1 -1
  27. package/dist/types/src/components/TextEditor/extensions/tasklist.d.ts +5 -0
  28. package/dist/types/src/components/TextEditor/extensions/tasklist.d.ts.map +1 -0
  29. package/dist/types/src/components/TextEditor/extensions/tooltip.d.ts +12 -0
  30. package/dist/types/src/components/TextEditor/extensions/tooltip.d.ts.map +1 -0
  31. package/dist/types/src/components/TextEditor/index.d.ts +2 -0
  32. package/dist/types/src/components/TextEditor/index.d.ts.map +1 -1
  33. package/dist/types/src/components/TextEditor/themes/default.d.ts +17 -0
  34. package/dist/types/src/components/TextEditor/themes/default.d.ts.map +1 -0
  35. package/dist/types/src/components/TextEditor/themes/index.d.ts +2 -0
  36. package/dist/types/src/components/TextEditor/themes/index.d.ts.map +1 -0
  37. package/dist/types/src/components/TextEditor/yjs.stories.d.ts +1 -0
  38. package/dist/types/src/components/TextEditor/yjs.stories.d.ts.map +1 -1
  39. package/dist/types/src/hooks/automerge/PatchSemaphore.d.ts.map +1 -0
  40. package/dist/types/src/hooks/automerge/amToCodemirror.d.ts.map +1 -0
  41. package/dist/types/src/hooks/automerge/automerge.stories.d.ts.map +1 -0
  42. package/dist/types/src/hooks/automerge/codeMirrorToAm.d.ts.map +1 -0
  43. package/dist/types/src/hooks/automerge/handle.d.ts.map +1 -0
  44. package/dist/types/src/hooks/automerge/index.d.ts.map +1 -0
  45. package/dist/types/src/hooks/automerge/plugin.d.ts.map +1 -0
  46. package/dist/types/src/hooks/index.d.ts +0 -1
  47. package/dist/types/src/hooks/index.d.ts.map +1 -1
  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 +12 -10
  51. package/dist/types/src/styles/markdown.d.ts.map +1 -1
  52. package/package.json +20 -32
  53. package/src/components/TextEditor/MarkdownEditor.stories.tsx +242 -0
  54. package/src/components/TextEditor/TextEditor.stories.tsx +46 -43
  55. package/src/components/TextEditor/TextEditor.tsx +59 -45
  56. package/src/components/TextEditor/extensions/autocomplete.ts +72 -0
  57. package/src/components/TextEditor/extensions/{basic/bundle.ts → basic.ts} +4 -2
  58. package/src/components/TextEditor/extensions/{hyperlink/hyperlinkWidget.tsx → experimental.tsx} +17 -2
  59. package/src/components/TextEditor/extensions/index.ts +5 -2
  60. package/src/components/TextEditor/extensions/{hyperlink/hyperlinkDecoration.ts → link.ts} +68 -31
  61. package/src/components/TextEditor/extensions/{change.ts → listener.ts} +3 -3
  62. package/src/components/TextEditor/extensions/markdown/bundle.ts +15 -11
  63. package/src/components/TextEditor/extensions/markdown/highlight.ts +166 -0
  64. package/src/components/TextEditor/extensions/markdown/index.ts +1 -1
  65. package/src/components/TextEditor/extensions/tasklist.ts +113 -0
  66. package/src/components/TextEditor/extensions/{hyperlink/hyperlinkTooltip.tsx → tooltip.tsx} +9 -9
  67. package/src/components/TextEditor/index.ts +3 -0
  68. package/src/components/TextEditor/themes/default.ts +170 -0
  69. package/src/components/TextEditor/themes/index.ts +5 -0
  70. package/src/components/TextEditor/yjs.stories.tsx +1 -0
  71. package/src/{automerge → hooks/automerge}/automerge.stories.tsx +2 -1
  72. package/src/hooks/index.ts +0 -1
  73. package/src/hooks/useTextModel.ts +50 -40
  74. package/src/styles/markdown.ts +26 -24
  75. package/src/testing/replicator.ts +2 -2
  76. package/dist/types/src/automerge/automerge-plugin/PatchSemaphore.d.ts.map +0 -1
  77. package/dist/types/src/automerge/automerge-plugin/amToCodemirror.d.ts.map +0 -1
  78. package/dist/types/src/automerge/automerge-plugin/codeMirrorToAm.d.ts.map +0 -1
  79. package/dist/types/src/automerge/automerge-plugin/handle.d.ts.map +0 -1
  80. package/dist/types/src/automerge/automerge-plugin/index.d.ts.map +0 -1
  81. package/dist/types/src/automerge/automerge-plugin/plugin.d.ts.map +0 -1
  82. package/dist/types/src/automerge/automerge.stories.d.ts.map +0 -1
  83. package/dist/types/src/components/TextEditor/extensions/basic/bundle.d.ts.map +0 -1
  84. package/dist/types/src/components/TextEditor/extensions/basic/index.d.ts +0 -3
  85. package/dist/types/src/components/TextEditor/extensions/basic/index.d.ts.map +0 -1
  86. package/dist/types/src/components/TextEditor/extensions/basic/theme.d.ts +0 -10
  87. package/dist/types/src/components/TextEditor/extensions/basic/theme.d.ts.map +0 -1
  88. package/dist/types/src/components/TextEditor/extensions/change.d.ts +0 -7
  89. package/dist/types/src/components/TextEditor/extensions/change.d.ts.map +0 -1
  90. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkDecoration.d.ts +0 -11
  91. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkDecoration.d.ts.map +0 -1
  92. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkTooltip.d.ts +0 -8
  93. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkTooltip.d.ts.map +0 -1
  94. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkWidget.d.ts.map +0 -1
  95. package/dist/types/src/components/TextEditor/extensions/hyperlink/index.d.ts +0 -4
  96. package/dist/types/src/components/TextEditor/extensions/hyperlink/index.d.ts.map +0 -1
  97. package/dist/types/src/components/TextEditor/extensions/markdown/tags.d.ts +0 -17
  98. package/dist/types/src/components/TextEditor/extensions/markdown/tags.d.ts.map +0 -1
  99. package/dist/types/src/components/TextEditor/extensions/markdown/theme.d.ts +0 -21
  100. package/dist/types/src/components/TextEditor/extensions/markdown/theme.d.ts.map +0 -1
  101. package/dist/types/src/hooks/useCollaboration.d.ts +0 -9
  102. package/dist/types/src/hooks/useCollaboration.d.ts.map +0 -1
  103. package/src/components/TextEditor/extensions/basic/index.ts +0 -6
  104. package/src/components/TextEditor/extensions/basic/theme.ts +0 -49
  105. package/src/components/TextEditor/extensions/hyperlink/index.ts +0 -7
  106. package/src/components/TextEditor/extensions/markdown/tags.ts +0 -38
  107. package/src/components/TextEditor/extensions/markdown/theme.ts +0 -265
  108. package/src/hooks/useCollaboration.ts +0 -45
  109. /package/dist/types/src/{automerge/automerge-plugin → hooks/automerge}/PatchSemaphore.d.ts +0 -0
  110. /package/dist/types/src/{automerge/automerge-plugin → hooks/automerge}/amToCodemirror.d.ts +0 -0
  111. /package/dist/types/src/{automerge → hooks/automerge}/automerge.stories.d.ts +0 -0
  112. /package/dist/types/src/{automerge/automerge-plugin → hooks/automerge}/codeMirrorToAm.d.ts +0 -0
  113. /package/dist/types/src/{automerge/automerge-plugin → hooks/automerge}/handle.d.ts +0 -0
  114. /package/dist/types/src/{automerge/automerge-plugin → hooks/automerge}/index.d.ts +0 -0
  115. /package/dist/types/src/{automerge/automerge-plugin → hooks/automerge}/plugin.d.ts +0 -0
  116. /package/src/{automerge/automerge-plugin → hooks/automerge}/PatchSemaphore.ts +0 -0
  117. /package/src/{automerge/automerge-plugin → hooks/automerge}/amToCodemirror.ts +0 -0
  118. /package/src/{automerge/automerge-plugin → hooks/automerge}/codeMirrorToAm.ts +0 -0
  119. /package/src/{automerge/automerge-plugin → hooks/automerge}/handle.ts +0 -0
  120. /package/src/{automerge/automerge-plugin → hooks/automerge}/index.ts +0 -0
  121. /package/src/{automerge/automerge-plugin → hooks/automerge}/plugin.ts +0 -0
@@ -1,45 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import type { Extension } from '@codemirror/state';
6
- import { useEffect, useMemo } from 'react';
7
- import { yCollab } from 'y-codemirror.next';
8
-
9
- import { generateName } from '@dxos/display-name';
10
- import { isDocAccessor } from '@dxos/echo-schema';
11
- import type { ThemeMode } from '@dxos/react-ui';
12
- import { getColorForValue } from '@dxos/react-ui-theme';
13
- import { YText } from '@dxos/text-model';
14
-
15
- import type { EditorModel } from './useTextModel';
16
- import { automergePlugin } from '../automerge/automerge-plugin';
17
-
18
- /**
19
- * Replication and awareness (incl. remote selection).
20
- * https://codemirror.net/docs/ref/#collab
21
- */
22
- export const useCollaboration = (model: EditorModel, themeMode: ThemeMode): Extension | undefined => {
23
- const { provider, peer, content } = model;
24
- const extension = useMemo(() => {
25
- if (content instanceof YText) {
26
- return yCollab(content, provider?.awareness);
27
- } else if (isDocAccessor(content)) {
28
- return automergePlugin(content.handle, content.path);
29
- } else {
30
- return undefined;
31
- }
32
- }, []);
33
-
34
- useEffect(() => {
35
- if (provider && peer) {
36
- provider.awareness.setLocalStateField('user', {
37
- name: peer.name ?? generateName(peer.id),
38
- color: getColorForValue({ value: peer.id, type: 'color' }),
39
- colorLight: getColorForValue({ value: peer.id, themeMode, type: 'highlight' }),
40
- });
41
- }
42
- }, [provider, peer, themeMode]);
43
-
44
- return extension;
45
- };