@dxos/react-ui-editor 0.3.10-next.ef70620 → 0.3.11-main.0e40963

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 (169) hide show
  1. package/dist/lib/browser/index.mjs +2226 -971
  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 +63 -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 +9 -4
  7. package/dist/types/src/components/TextEditor/TextEditor.d.ts.map +1 -1
  8. package/dist/types/src/components/TextEditor/TextEditor.stories.d.ts +12 -4
  9. package/dist/types/src/components/TextEditor/TextEditor.stories.d.ts.map +1 -1
  10. package/dist/types/src/components/TextEditor/index.d.ts +1 -1
  11. package/dist/types/src/components/TextEditor/index.d.ts.map +1 -1
  12. package/dist/types/src/extensions/autocomplete.d.ts +10 -0
  13. package/dist/types/src/extensions/autocomplete.d.ts.map +1 -0
  14. package/dist/types/src/{components/TextEditor/extensions/basic/bundle.d.ts → extensions/basic.d.ts} +3 -2
  15. package/dist/types/src/extensions/basic.d.ts.map +1 -0
  16. package/dist/types/src/extensions/blast.d.ts +25 -0
  17. package/dist/types/src/extensions/blast.d.ts.map +1 -0
  18. package/dist/types/src/extensions/code.d.ts +2 -0
  19. package/dist/types/src/extensions/code.d.ts.map +1 -0
  20. package/dist/types/src/extensions/comments.d.ts +48 -0
  21. package/dist/types/src/extensions/comments.d.ts.map +1 -0
  22. package/dist/types/src/extensions/hr.d.ts +2 -0
  23. package/dist/types/src/extensions/hr.d.ts.map +1 -0
  24. package/dist/types/src/extensions/image.d.ts +4 -0
  25. package/dist/types/src/extensions/image.d.ts.map +1 -0
  26. package/dist/types/src/extensions/index.d.ts +16 -0
  27. package/dist/types/src/extensions/index.d.ts.map +1 -0
  28. package/dist/types/src/extensions/link.d.ts +12 -0
  29. package/dist/types/src/extensions/link.d.ts.map +1 -0
  30. package/dist/types/src/extensions/listener.d.ts +10 -0
  31. package/dist/types/src/extensions/listener.d.ts.map +1 -0
  32. package/dist/types/src/extensions/markdown/bundle.d.ts +17 -0
  33. package/dist/types/src/extensions/markdown/bundle.d.ts.map +1 -0
  34. package/dist/types/src/extensions/markdown/highlight.d.ts +36 -0
  35. package/dist/types/src/extensions/markdown/highlight.d.ts.map +1 -0
  36. package/dist/types/src/extensions/markdown/index.d.ts +3 -0
  37. package/dist/types/src/extensions/markdown/index.d.ts.map +1 -0
  38. package/dist/types/src/extensions/mention.d.ts +6 -0
  39. package/dist/types/src/extensions/mention.d.ts.map +1 -0
  40. package/dist/types/src/extensions/mermaid.d.ts +3 -0
  41. package/dist/types/src/extensions/mermaid.d.ts.map +1 -0
  42. package/dist/types/src/extensions/table.d.ts +8 -0
  43. package/dist/types/src/extensions/table.d.ts.map +1 -0
  44. package/dist/types/src/extensions/tasklist.d.ts +3 -0
  45. package/dist/types/src/extensions/tasklist.d.ts.map +1 -0
  46. package/dist/types/src/extensions/typewriter.d.ts +10 -0
  47. package/dist/types/src/extensions/typewriter.d.ts.map +1 -0
  48. package/dist/types/src/extensions/util.d.ts +5 -0
  49. package/dist/types/src/extensions/util.d.ts.map +1 -0
  50. package/dist/types/src/hooks/automerge/automerge.stories.d.ts +15 -0
  51. package/dist/types/src/hooks/automerge/automerge.stories.d.ts.map +1 -0
  52. package/dist/types/src/hooks/automerge/handle.d.ts.map +1 -0
  53. package/dist/types/src/{automerge/automerge-plugin → hooks/automerge}/index.d.ts +1 -1
  54. package/dist/types/src/hooks/automerge/index.d.ts.map +1 -0
  55. package/dist/types/src/hooks/automerge/plugin.d.ts.map +1 -0
  56. package/dist/types/src/{automerge/automerge-plugin/PatchSemaphore.d.ts → hooks/automerge/semaphore.d.ts} +4 -1
  57. package/dist/types/src/hooks/automerge/semaphore.d.ts.map +1 -0
  58. package/dist/types/src/{automerge/automerge-plugin/codeMirrorToAm.d.ts → hooks/automerge/update-automerge.d.ts} +2 -3
  59. package/dist/types/src/hooks/automerge/update-automerge.d.ts.map +1 -0
  60. package/dist/types/src/hooks/automerge/update-codemirror.d.ts +5 -0
  61. package/dist/types/src/hooks/automerge/update-codemirror.d.ts.map +1 -0
  62. package/dist/types/src/hooks/index.d.ts +0 -1
  63. package/dist/types/src/hooks/index.d.ts.map +1 -1
  64. package/dist/types/src/hooks/useTextModel.d.ts +19 -5
  65. package/dist/types/src/hooks/useTextModel.d.ts.map +1 -1
  66. package/dist/types/src/{components/TextEditor → hooks/yjs}/yjs.stories.d.ts +2 -1
  67. package/dist/types/src/hooks/yjs/yjs.stories.d.ts.map +1 -0
  68. package/dist/types/src/hooks/yjs/yjs.test.d.ts +2 -0
  69. package/dist/types/src/hooks/yjs/yjs.test.d.ts.map +1 -0
  70. package/dist/types/src/index.d.ts +3 -0
  71. package/dist/types/src/index.d.ts.map +1 -1
  72. package/dist/types/src/styles/markdown.d.ts +14 -11
  73. package/dist/types/src/styles/markdown.d.ts.map +1 -1
  74. package/dist/types/src/testing/replicator.d.ts.map +1 -1
  75. package/dist/types/src/themes/default.d.ts +17 -0
  76. package/dist/types/src/themes/default.d.ts.map +1 -0
  77. package/dist/types/src/themes/index.d.ts +2 -0
  78. package/dist/types/src/themes/index.d.ts.map +1 -0
  79. package/package.json +28 -33
  80. package/src/components/TextEditor/MarkdownEditor.stories.tsx +426 -0
  81. package/src/components/TextEditor/TextEditor.stories.tsx +57 -43
  82. package/src/components/TextEditor/TextEditor.tsx +98 -52
  83. package/src/components/TextEditor/index.ts +1 -1
  84. package/src/extensions/autocomplete.ts +59 -0
  85. package/src/{components/TextEditor/extensions/basic/bundle.ts → extensions/basic.ts} +8 -4
  86. package/src/extensions/blast.ts +373 -0
  87. package/src/extensions/code.ts +99 -0
  88. package/src/extensions/comments.ts +391 -0
  89. package/src/extensions/hr.ts +74 -0
  90. package/src/extensions/image.ts +69 -0
  91. package/src/extensions/index.ts +19 -0
  92. package/src/extensions/link.ts +192 -0
  93. package/src/extensions/listener.ts +35 -0
  94. package/src/extensions/markdown/bundle.ts +106 -0
  95. package/src/extensions/markdown/highlight.ts +204 -0
  96. package/src/{components/TextEditor/extensions → extensions}/markdown/index.ts +1 -1
  97. package/src/extensions/mention.ts +31 -0
  98. package/src/extensions/mermaid.ts +11 -0
  99. package/src/extensions/table.ts +132 -0
  100. package/src/extensions/tasklist.ts +121 -0
  101. package/src/extensions/typewriter.ts +68 -0
  102. package/src/extensions/util.ts +18 -0
  103. package/src/{automerge → hooks/automerge}/automerge.stories.tsx +7 -5
  104. package/src/{automerge/automerge-plugin → hooks/automerge}/plugin.ts +2 -1
  105. package/src/{automerge/automerge-plugin/PatchSemaphore.ts → hooks/automerge/semaphore.ts} +13 -9
  106. package/src/{automerge/automerge-plugin/codeMirrorToAm.ts → hooks/automerge/update-automerge.ts} +5 -2
  107. package/src/{automerge/automerge-plugin/amToCodemirror.ts → hooks/automerge/update-codemirror.ts} +4 -1
  108. package/src/hooks/index.ts +0 -1
  109. package/src/hooks/useTextModel.ts +102 -42
  110. package/src/{components/TextEditor → hooks/yjs}/yjs.stories.tsx +2 -1
  111. package/src/hooks/yjs/yjs.test.ts +59 -0
  112. package/src/index.ts +3 -0
  113. package/src/styles/markdown.ts +33 -24
  114. package/src/testing/replicator.ts +6 -6
  115. package/src/themes/default.ts +302 -0
  116. package/src/themes/index.ts +5 -0
  117. package/dist/types/src/automerge/automerge-plugin/PatchSemaphore.d.ts.map +0 -1
  118. package/dist/types/src/automerge/automerge-plugin/amToCodemirror.d.ts +0 -6
  119. package/dist/types/src/automerge/automerge-plugin/amToCodemirror.d.ts.map +0 -1
  120. package/dist/types/src/automerge/automerge-plugin/codeMirrorToAm.d.ts.map +0 -1
  121. package/dist/types/src/automerge/automerge-plugin/handle.d.ts.map +0 -1
  122. package/dist/types/src/automerge/automerge-plugin/index.d.ts.map +0 -1
  123. package/dist/types/src/automerge/automerge-plugin/plugin.d.ts.map +0 -1
  124. package/dist/types/src/automerge/automerge.stories.d.ts +0 -9
  125. package/dist/types/src/automerge/automerge.stories.d.ts.map +0 -1
  126. package/dist/types/src/components/TextEditor/extensions/basic/bundle.d.ts.map +0 -1
  127. package/dist/types/src/components/TextEditor/extensions/basic/index.d.ts +0 -3
  128. package/dist/types/src/components/TextEditor/extensions/basic/index.d.ts.map +0 -1
  129. package/dist/types/src/components/TextEditor/extensions/basic/theme.d.ts +0 -10
  130. package/dist/types/src/components/TextEditor/extensions/basic/theme.d.ts.map +0 -1
  131. package/dist/types/src/components/TextEditor/extensions/change.d.ts +0 -7
  132. package/dist/types/src/components/TextEditor/extensions/change.d.ts.map +0 -1
  133. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkDecoration.d.ts +0 -11
  134. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkDecoration.d.ts.map +0 -1
  135. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkTooltip.d.ts +0 -8
  136. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkTooltip.d.ts.map +0 -1
  137. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkWidget.d.ts +0 -10
  138. package/dist/types/src/components/TextEditor/extensions/hyperlink/hyperlinkWidget.d.ts.map +0 -1
  139. package/dist/types/src/components/TextEditor/extensions/hyperlink/index.d.ts +0 -4
  140. package/dist/types/src/components/TextEditor/extensions/hyperlink/index.d.ts.map +0 -1
  141. package/dist/types/src/components/TextEditor/extensions/index.d.ts +0 -5
  142. package/dist/types/src/components/TextEditor/extensions/index.d.ts.map +0 -1
  143. package/dist/types/src/components/TextEditor/extensions/markdown/bundle.d.ts +0 -8
  144. package/dist/types/src/components/TextEditor/extensions/markdown/bundle.d.ts.map +0 -1
  145. package/dist/types/src/components/TextEditor/extensions/markdown/index.d.ts +0 -3
  146. package/dist/types/src/components/TextEditor/extensions/markdown/index.d.ts.map +0 -1
  147. package/dist/types/src/components/TextEditor/extensions/markdown/tags.d.ts +0 -17
  148. package/dist/types/src/components/TextEditor/extensions/markdown/tags.d.ts.map +0 -1
  149. package/dist/types/src/components/TextEditor/extensions/markdown/theme.d.ts +0 -21
  150. package/dist/types/src/components/TextEditor/extensions/markdown/theme.d.ts.map +0 -1
  151. package/dist/types/src/components/TextEditor/yjs.stories.d.ts.map +0 -1
  152. package/dist/types/src/hooks/useCollaboration.d.ts +0 -9
  153. package/dist/types/src/hooks/useCollaboration.d.ts.map +0 -1
  154. package/src/components/TextEditor/extensions/basic/index.ts +0 -6
  155. package/src/components/TextEditor/extensions/basic/theme.ts +0 -49
  156. package/src/components/TextEditor/extensions/change.ts +0 -22
  157. package/src/components/TextEditor/extensions/hyperlink/hyperlinkDecoration.ts +0 -99
  158. package/src/components/TextEditor/extensions/hyperlink/hyperlinkTooltip.tsx +0 -61
  159. package/src/components/TextEditor/extensions/hyperlink/hyperlinkWidget.tsx +0 -119
  160. package/src/components/TextEditor/extensions/hyperlink/index.ts +0 -7
  161. package/src/components/TextEditor/extensions/index.ts +0 -8
  162. package/src/components/TextEditor/extensions/markdown/bundle.ts +0 -99
  163. package/src/components/TextEditor/extensions/markdown/tags.ts +0 -38
  164. package/src/components/TextEditor/extensions/markdown/theme.ts +0 -265
  165. package/src/hooks/useCollaboration.ts +0 -45
  166. package/dist/types/src/{automerge/automerge-plugin → hooks/automerge}/handle.d.ts +0 -0
  167. package/dist/types/src/{automerge/automerge-plugin → hooks/automerge}/plugin.d.ts +0 -0
  168. package/src/{automerge/automerge-plugin → hooks/automerge}/handle.ts +0 -0
  169. package/src/{automerge/automerge-plugin → hooks/automerge}/index.ts +1 -1
@@ -0,0 +1,302 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import get from 'lodash.get';
6
+
7
+ import { type ThemeStyles, tokens } from '../styles';
8
+
9
+ // TODO(burdon): Can we erase All of the default CM styles?
10
+ // TODO(burdon): Theme styles seem to be added multiple times?
11
+
12
+ /**
13
+ * Minimal styles.
14
+ * https://codemirror.net/examples/styling
15
+ *
16
+ * Examples:
17
+ * - https://github.com/codemirror/view/blob/main/src/theme.ts
18
+ * - https://github.com/codemirror/theme-one-dark/blob/main/src/one-dark.ts
19
+ *
20
+ * NOTE: Use one of '&', '&light', and '&dark' prefix to scope instance.
21
+ * NOTE: `light` and `dark` selectors are preprocessed by CodeMirror and can only be in the base theme.
22
+ */
23
+ export const defaultTheme: ThemeStyles = {
24
+ //
25
+ // Main layout:
26
+ // https://codemirror.net/examples/styling
27
+ //
28
+ // <div class="cm-editor [cm-focused] [generated classes]">
29
+ // <div class="cm-scroller">
30
+ // <div class="cm-gutters">
31
+ // <div class="cm-gutter [...]">
32
+ // <div class="cm-gutterElement">...</div>
33
+ // </div>
34
+ // </div>
35
+ // <div class="cm-content" role="textbox" contenteditable="true">
36
+ // <div class="cm-line"></div>
37
+ // </div>
38
+ // <div class="cm-selectionLayer">
39
+ // <div class="cm-selectionBackground"></div>
40
+ // </div>
41
+ // <div class="cm-cursorLayer">
42
+ // <div class="cm-cursor"></div>
43
+ // </div>
44
+ // </div>
45
+ // </div>
46
+ //
47
+
48
+ '&': {},
49
+ '&.cm-focused': {
50
+ outline: 'none',
51
+ },
52
+ '& .cm-scroller': {
53
+ overflow: 'visible',
54
+ fontFamily: get(tokens, 'fontFamily.mono', []).join(','),
55
+ },
56
+
57
+ '& .cm-content': {
58
+ padding: 0,
59
+ // NOTE: Base font size (otherwise defined by HTML tag, which might be different for storybook).
60
+ fontSize: '16px',
61
+ },
62
+ '&light .cm-content': {
63
+ color: get(tokens, 'extend.colors.neutral.900', 'black'),
64
+ caretColor: 'black',
65
+ },
66
+ '&dark .cm-content': {
67
+ color: get(tokens, 'extend.colors.neutral.100', 'white'),
68
+ caretColor: 'white',
69
+ },
70
+
71
+ //
72
+ // Cursor
73
+ //
74
+ '&light .cm-cursor, &light .cm-dropCursor': {
75
+ borderLeft: '2px solid black',
76
+ },
77
+ '&dark .cm-cursor, &dark .cm-dropCursor': {
78
+ borderLeft: '2px solid white',
79
+ },
80
+ '& .cm-placeholder': {
81
+ fontWeight: 100,
82
+ },
83
+
84
+ //
85
+ // line
86
+ //
87
+ '& .cm-line': {
88
+ paddingInline: 0,
89
+ },
90
+ '& .cm-activeLine': {
91
+ background: 'inherit',
92
+ },
93
+
94
+ //
95
+ // Selection
96
+ //
97
+
98
+ '&light .cm-selectionBackground': {
99
+ background: get(tokens, 'extend.colors.primary.100'),
100
+ },
101
+ '&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground': {
102
+ background: get(tokens, 'extend.colors.primary.200'),
103
+ },
104
+ '&dark .cm-selectionBackground': {
105
+ background: get(tokens, 'extend.colors.primary.700'),
106
+ },
107
+ '&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground': {
108
+ background: get(tokens, 'extend.colors.primary.600'),
109
+ },
110
+
111
+ //
112
+ // Search
113
+ //
114
+
115
+ '&light .cm-searchMatch': {
116
+ backgroundColor: get(tokens, 'extend.colors.yellow.100'),
117
+ },
118
+ '&dark .cm-searchMatch': {
119
+ backgroundColor: get(tokens, 'extend.colors.yellow.700'),
120
+ },
121
+
122
+ //
123
+ // collaboration
124
+ // TODO(burdon): Review classnames (YJS dependent?) Note: e2e tests depend on this class.
125
+ //
126
+
127
+ '&light .cm-ySelection, &light .cm-yLineSelection': {
128
+ mixBlendMode: 'multiply',
129
+ },
130
+ '&dark .cm-ySelection, &dark .cm-yLineSelection': {
131
+ mixBlendMode: 'screen',
132
+ },
133
+
134
+ '& .cm-ySelectionInfo': {
135
+ padding: '2px 4px',
136
+ marginBlockStart: '-4px',
137
+ },
138
+ '& .cm-ySelection, & .cm-selectionMatch': {
139
+ paddingBlockStart: '.15em',
140
+ paddingBlockEnd: '.15em',
141
+ },
142
+ '& .cm-ySelectionCaret': {
143
+ display: 'inline-block',
144
+ insetBlockStart: '.1em',
145
+ blockSize: '1.4em',
146
+ verticalAlign: 'top',
147
+ },
148
+ '& .cm-yLineSelection': {
149
+ margin: 0,
150
+ },
151
+
152
+ //
153
+ // link
154
+ //
155
+ '& .cm-link': {
156
+ color: get(tokens, 'extend.colors.primary.500'),
157
+ textDecorationLine: 'underline',
158
+ textDecorationThickness: '1px',
159
+ textUnderlineOffset: '2px',
160
+ borderRadius: '.125rem',
161
+ fontFamily: get(tokens, 'fontFamily.body', []).join(','),
162
+ },
163
+
164
+ //
165
+ // tooltip
166
+ //
167
+ '& .cm-tooltip': {
168
+ border: 'none',
169
+ },
170
+ '& .cm-tooltip-below': {},
171
+
172
+ //
173
+ // autocomplete
174
+ //
175
+ '& .cm-tooltip-autocomplete': {
176
+ marginTop: '4px',
177
+ marginLeft: '-3px',
178
+ },
179
+ '& .cm-tooltip-autocomplete ul li': {},
180
+ '& .cm-tooltip-autocomplete ul li[aria-selected]': {},
181
+ '& .cm-completionIcon': {
182
+ display: 'none',
183
+ },
184
+ '& .cm-completionLabel': {
185
+ fontFamily: get(tokens, 'fontFamily.body', []).join(','),
186
+ },
187
+ '& .cm-completionMatchedText': {
188
+ textDecoration: 'none',
189
+ },
190
+
191
+ //
192
+ // widgets
193
+ //
194
+ '& .cm-widgetBuffer': {
195
+ display: 'none',
196
+ height: 0,
197
+ },
198
+
199
+ //
200
+ // table
201
+ //
202
+ '& .cm-table *': {
203
+ fontFamily: `${get(tokens, 'fontFamily.mono', []).join(',')} !important`,
204
+ textDecoration: 'none !important',
205
+ },
206
+ '& .cm-table-head': {
207
+ padding: '2px 16px 2px 0px',
208
+ borderBottom: `1px solid ${get(tokens, 'extend.colors.neutral.500')}`,
209
+ fontWeight: 100,
210
+ textAlign: 'left',
211
+ color: get(tokens, 'extend.colors.neutral.500'),
212
+ },
213
+ '& .cm-table-cell': {
214
+ padding: '2px 16px 2px 0px',
215
+ },
216
+
217
+ //
218
+ // image
219
+ //
220
+ '& .cm-image': {
221
+ margin: '0.5rem 0',
222
+ },
223
+
224
+ //
225
+ // font size
226
+ // TODO(thure): This appears to be the best or only way to set selection caret heights, but it's far more verbose than it needs to be.
227
+ //
228
+ ...Object.keys(get(tokens, 'extend.fontSize', {})).reduce((acc: Record<string, any>, fontSize) => {
229
+ const height = get(tokens, ['extend', 'fontSize', fontSize, 1, 'lineHeight']);
230
+
231
+ acc[`& .text-${fontSize} + .cm-ySelectionCaret`] = { height };
232
+ acc[`& .text-${fontSize} + .cm-ySelection + .cm-ySelectionCaret`] = { height };
233
+ acc[`& .text-${fontSize} + .cm-widgetBuffer + .cm-ySelectionCaret`] = { height };
234
+ return acc;
235
+ }, {}),
236
+
237
+ /**
238
+ * Panels
239
+ * TODO(burdon): Needs styling attention (esp. dark mode).
240
+ * https://github.com/codemirror/search/blob/main/src/search.ts#L745
241
+ *
242
+ * Find/replace panel.
243
+ * <div class="cm-announced">...</div>
244
+ * <div class="cm-scroller">...</div>
245
+ * <div class="cm-panels cm-panels-bottom">
246
+ * <div class="cm-search cm-panel">
247
+ * <input class="cm-textfield" />
248
+ * <button class="cm-button">...</button>
249
+ * <label><input type="checkbox" />...</label>
250
+ * </div>
251
+ * </div
252
+ */
253
+ '& .cm-panels': {
254
+ border: `1px solid ${get(tokens, 'extend.colors.neutral.200')}`,
255
+ },
256
+ '& .cm-panel': {
257
+ background: get(tokens, 'extend.colors.neutral.50'),
258
+ fontFamily: get(tokens, 'fontFamily.body', []).join(','),
259
+ },
260
+ '& .cm-button': {
261
+ margin: '4px',
262
+ fontFamily: get(tokens, 'fontFamily.body', []).join(','),
263
+ background: get(tokens, 'extend.colors.neutral.100'),
264
+ backgroundImage: 'none',
265
+ border: 'none',
266
+ '&:hover': {
267
+ background: get(tokens, 'extend.colors.neutral.200'),
268
+ },
269
+ '&:active': {
270
+ background: get(tokens, 'extend.colors.neutral.300'),
271
+ backgroundImage: 'none',
272
+ },
273
+ },
274
+ '& .cm-panel input[type=checkbox]': {
275
+ marginRight: '0.4rem !important',
276
+ },
277
+ };
278
+
279
+ export const textTheme: ThemeStyles = {
280
+ '& .cm-scroller': {
281
+ fontFamily: get(tokens, 'fontFamily.body', []).join(','),
282
+ },
283
+ '& .cm-placeholder': {
284
+ fontFamily: get(tokens, 'fontFamily.body', []).join(','),
285
+ },
286
+ };
287
+
288
+ export const markdownTheme: ThemeStyles = {
289
+ // NOTE: Must leave base font family as is (i.e., monospace) due to fenced code blocks.
290
+ '& .cm-placeholder': {
291
+ fontFamily: get(tokens, 'fontFamily.body', []).join(','),
292
+ },
293
+ };
294
+
295
+ export const codeTheme: ThemeStyles = {
296
+ '& .cm-scroller': {
297
+ fontFamily: get(tokens, 'fontFamily.mono', []).join(','),
298
+ },
299
+ '& .cm-placeholder': {
300
+ fontFamily: get(tokens, 'fontFamily.mono', []).join(','),
301
+ },
302
+ };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ export * from './default';
@@ -1 +0,0 @@
1
- {"version":3,"file":"PatchSemaphore.d.ts","sourceRoot":"","sources":["../../../../../src/automerge/automerge-plugin/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,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/automerge/automerge-plugin/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":"codeMirrorToAm.d.ts","sourceRoot":"","sources":["../../../../../src/automerge/automerge-plugin/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/automerge/automerge-plugin/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/automerge/automerge-plugin/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/automerge/automerge-plugin/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"}
@@ -1,9 +0,0 @@
1
- import '@preact/signals-react';
2
- declare const _default: {
3
- title: string;
4
- };
5
- export default _default;
6
- export declare const AutomergeRepo: {
7
- render: () => JSX.Element;
8
- };
9
- //# sourceMappingURL=automerge.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"automerge.stories.d.ts","sourceRoot":"","sources":["../../../../src/automerge/automerge.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,uBAAuB,CAAC;;;;AA8E/B,wBAEE;AAEF,eAAO,MAAM,aAAa;;CAEzB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/basic/bundle.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,EAUlE,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './bundle';
2
- export * from './theme';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/basic/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -1,10 +0,0 @@
1
- import { type StyleSpec } from 'style-mod';
2
- /**
3
- * Minimal styles.
4
- * NOTE: The '&' prefix denotes the CM editor root.
5
- * https://codemirror.net/examples/styling
6
- */
7
- export declare const basicTheme: {
8
- [selector: string]: StyleSpec;
9
- };
10
- //# sourceMappingURL=theme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/basic/theme.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAI3C;;;;GAIG;AAEH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAgC/B,CAAC"}
@@ -1,7 +0,0 @@
1
- import { StateField } from '@codemirror/state';
2
- /**
3
- * Based on https://github.com/codemirror/dev/issues/44#issuecomment-789093799
4
- * @param onChange
5
- */
6
- export declare const onChangeExtension: (onChange: (text: string) => void) => StateField<null>;
7
- //# sourceMappingURL=change.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"change.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/change.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;GAGG;AAEH,eAAO,MAAM,iBAAiB,oBAAqB,MAAM,KAAK,IAAI,qBAU9D,CAAC"}
@@ -1,11 +0,0 @@
1
- import { type RangeSet, StateField } from '@codemirror/state';
2
- type HyperlinkDecorationConfig = {
3
- link?: boolean;
4
- };
5
- /**
6
- * Creates a state field to replace AST elements with a hyperlink widget.
7
- * https://codemirror.net/docs/ref/#state.StateField
8
- */
9
- export declare const hyperlinkDecoration: ({ link }?: HyperlinkDecorationConfig) => StateField<RangeSet<any>>;
10
- export {};
11
- //# sourceMappingURL=hyperlinkDecoration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hyperlinkDecoration.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/hyperlink/hyperlinkDecoration.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoB,KAAK,QAAQ,EAAmB,UAAU,EAAoB,MAAM,mBAAmB,CAAC;AA6CnH,KAAK,yBAAyB,GAAG;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,cAAc,yBAAyB,8BAMtE,CAAC"}
@@ -1,8 +0,0 @@
1
- export type OnHyperlinkHover = (el: Element, url: string) => void;
2
- /**
3
- * https://codemirror.net/examples/tooltip
4
- * https://codemirror.net/docs/ref/#view.hoverTooltip
5
- * https://github.com/codemirror/view/blob/main/src/tooltip.ts
6
- */
7
- export declare const createHyperlinkTooltip: (onHover: OnHyperlinkHover, regexp?: RegExp) => import("@codemirror/state").Extension;
8
- //# sourceMappingURL=hyperlinkTooltip.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hyperlinkTooltip.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/hyperlink/hyperlinkTooltip.tsx"],"names":[],"mappings":"AAUA,MAAM,MAAM,gBAAgB,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAElE;;;;GAIG;AAEH,eAAO,MAAM,sBAAsB,YAAa,gBAAgB,2DA0C5D,CAAC"}
@@ -1,10 +0,0 @@
1
- import { type Extension } from '@codemirror/state';
2
- import { type DecorationSet, MatchDecorator, ViewPlugin, type ViewUpdate } from '@codemirror/view';
3
- export declare function hyperLinkExtension(): ViewPlugin<{
4
- readonly decorator: MatchDecorator;
5
- decorations: DecorationSet;
6
- update(update: ViewUpdate): void;
7
- }>;
8
- export declare const hyperlinkStyle: Extension;
9
- export declare const hyperlinkWidget: Extension;
10
- //# sourceMappingURL=hyperlinkWidget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hyperlinkWidget.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/hyperlink/hyperlinkWidget.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;AAuD1B,wBAAgB,kBAAkB;wBAGR,cAAc;;mBAOnB,UAAU;GAwB9B;AAED,eAAO,MAAM,cAAc,WAYzB,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,SAAkD,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './hyperlinkDecoration';
2
- export * from './hyperlinkTooltip';
3
- export * from './hyperlinkWidget';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/hyperlink/index.ts"],"names":[],"mappings":"AAIA,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
@@ -1,5 +0,0 @@
1
- export * from './basic';
2
- export * from './change';
3
- export * from './hyperlink';
4
- export * from './markdown';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -1,8 +0,0 @@
1
- import { type Extension } from '@codemirror/state';
2
- import type { ThemeMode } from '@dxos/react-ui';
3
- export type MarkdownBundleOptions = {
4
- themeMode?: ThemeMode;
5
- placeholder?: string;
6
- };
7
- export declare const markdownBundle: ({ themeMode, placeholder: _placeholder }: MarkdownBundleOptions) => Extension[];
8
- //# sourceMappingURL=bundle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/markdown/bundle.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAgBhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAKhD,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,cAAc,6CAA8C,qBAAqB,KAAG,SAAS,EAuDzG,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './bundle';
2
- export * from './theme';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/markdown/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -1,17 +0,0 @@
1
- import { Tag } from '@lezer/highlight';
2
- import { type MarkdownConfig } from '@lezer/markdown';
3
- export declare const markdownTags: {
4
- headingMark: Tag;
5
- quoteMark: Tag;
6
- listMark: Tag;
7
- linkMark: Tag;
8
- emphasisMark: Tag;
9
- codeMark: Tag;
10
- codeText: Tag;
11
- inlineCode: Tag;
12
- url: Tag;
13
- linkReference: Tag;
14
- linkLabel: Tag;
15
- };
16
- export declare const markdownTagsExtension: MarkdownConfig;
17
- //# sourceMappingURL=tags.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/markdown/tags.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,eAAO,MAAM,YAAY;;;;;;;;;;;;CAYxB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAgBnC,CAAC"}
@@ -1,21 +0,0 @@
1
- import { HighlightStyle } from '@codemirror/language';
2
- import { type ThemeStyles } from '../../../../styles';
3
- export declare const chalky = "#e5c07b";
4
- export declare const coral = "#e06c75";
5
- export declare const cyan = "#56b6c2";
6
- export declare const invalid = "#ffffff";
7
- export declare const ivory = "#abb2bf";
8
- export declare const stone = "#7d8799";
9
- export declare const malibu = "#61afef";
10
- export declare const sage = "#98c379";
11
- export declare const whiskey = "#d19a66";
12
- export declare const violet = "#c678dd";
13
- export declare const highlightBackground = "#2c313a";
14
- export declare const tooltipBackground = "#353a42";
15
- /**
16
- * NOTE: The '&' prefix denotes the CM editor root.
17
- * https://codemirror.net/examples/styling
18
- */
19
- export declare const markdownTheme: ThemeStyles;
20
- export declare const markdownHighlightStyle: HighlightStyle;
21
- //# sourceMappingURL=theme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/markdown/theme.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKtD,OAAO,EAAsD,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG1G,eAAO,MAAM,MAAM,YAAY,CAAC;AAChC,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,MAAM,YAAY,CAAC;AAChC,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,MAAM,YAAY,CAAC;AAEhC,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAK3C;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,WAsJ3B,CAAC;AAEF,eAAO,MAAM,sBAAsB,gBA6ElC,CAAC"}
@@ -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;;CAGnB,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { Extension } from '@codemirror/state';
2
- import type { ThemeMode } from '@dxos/react-ui';
3
- import type { EditorModel } from './useTextModel';
4
- /**
5
- * Replication and awareness (incl. remote selection).
6
- * https://codemirror.net/docs/ref/#collab
7
- */
8
- export declare const useCollaboration: (model: EditorModel, themeMode: ThemeMode) => Extension | undefined;
9
- //# sourceMappingURL=useCollaboration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCollaboration.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCollaboration.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,UAAW,WAAW,aAAa,SAAS,KAAG,SAAS,GAAG,SAuBvF,CAAC"}
@@ -1,6 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- export * from './bundle';
6
- export * from './theme';
@@ -1,49 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import get from 'lodash.get';
6
- import { type StyleSpec } from 'style-mod';
7
-
8
- import { tokens } from '../../../../styles';
9
-
10
- /**
11
- * Minimal styles.
12
- * NOTE: The '&' prefix denotes the CM editor root.
13
- * https://codemirror.net/examples/styling
14
- */
15
- // TODO(burdon): Remove?
16
- export const basicTheme: {
17
- [selector: string]: StyleSpec;
18
- } = {
19
- '&.cm-focused': {
20
- outline: 'none',
21
- },
22
- '& .cm-line': {
23
- paddingInline: 0,
24
- lineHeight: 1.6,
25
- minBlockSize: '1.6em',
26
- },
27
- '& .cm-line *': {
28
- lineHeight: 1.6,
29
- },
30
- '& .cm-scroller': {
31
- fontFamily: get(tokens, 'fontFamily.body', []).join(','),
32
- overflow: 'visible',
33
- },
34
- '& .cm-content': {
35
- padding: 0,
36
- caretColor: 'black',
37
- },
38
- '.dark & .cm-content': {
39
- caretColor: 'white',
40
- },
41
- '& .cm-tooltip': {
42
- backgroundColor: 'transparent',
43
- border: 'none',
44
- },
45
- '& .cm-link': {
46
- color: get(tokens, 'extend.colors.primary.500'),
47
- textDecoration: 'underline',
48
- },
49
- };
@@ -1,22 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { StateField } from '@codemirror/state';
6
-
7
- /**
8
- * Based on https://github.com/codemirror/dev/issues/44#issuecomment-789093799
9
- * @param onChange
10
- */
11
- // TODO(burdon): Name?
12
- export const onChangeExtension = (onChange: (text: string) => void) =>
13
- StateField.define({
14
- create: () => null,
15
- update: (_value, transaction) => {
16
- if (transaction.docChanged && onChange) {
17
- onChange(transaction.newDoc.toString());
18
- }
19
-
20
- return null;
21
- },
22
- });