@dxos/react-ui-editor 0.4.8-main.beadd4b → 0.4.8-main.c1580f6
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.
- package/dist/lib/browser/index.mjs +129 -61
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/comments.d.ts.map +1 -1
- package/dist/types/src/extensions/factories.d.ts +3 -0
- package/dist/types/src/extensions/factories.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/bundle.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/formatting.d.ts +3 -3
- package/dist/types/src/extensions/markdown/formatting.d.ts.map +1 -1
- package/dist/types/src/extensions/modes.d.ts +1 -1
- package/dist/types/src/extensions/modes.d.ts.map +1 -1
- package/dist/types/src/hooks/useDocAccessor.d.ts +4 -2
- package/dist/types/src/hooks/useDocAccessor.d.ts.map +1 -1
- package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
- package/dist/types/src/themes/default.d.ts.map +1 -1
- package/package.json +25 -24
- package/src/components/TextEditor/TextEditor.tsx +2 -2
- package/src/components/Toolbar/Toolbar.stories.tsx +23 -25
- package/src/components/Toolbar/Toolbar.tsx +18 -6
- package/src/extensions/automerge/automerge.ts +4 -4
- package/src/extensions/comments.ts +2 -2
- package/src/extensions/factories.ts +30 -7
- package/src/extensions/markdown/bundle.ts +8 -11
- package/src/extensions/markdown/formatting.ts +15 -11
- package/src/extensions/modes.ts +8 -1
- package/src/hooks/useDocAccessor.ts +8 -2
- package/src/hooks/useTextEditor.ts +3 -0
- package/src/themes/default.ts +24 -8
|
@@ -24,7 +24,7 @@ var translations_default = [
|
|
|
24
24
|
];
|
|
25
25
|
|
|
26
26
|
// packages/ui/react-ui-editor/src/index.ts
|
|
27
|
-
import { keymap as
|
|
27
|
+
import { keymap as keymap11 } from "@codemirror/view";
|
|
28
28
|
import { tags as tags2 } from "@lezer/highlight";
|
|
29
29
|
import { TextKind } from "@dxos/protocols/proto/dxos/echo/model/text";
|
|
30
30
|
import { Doc, YText, YXmlFragment } from "@dxos/text-model";
|
|
@@ -475,13 +475,13 @@ var automerge = (accessor) => {
|
|
|
475
475
|
ViewPlugin.fromClass(class {
|
|
476
476
|
constructor(_view) {
|
|
477
477
|
this._view = _view;
|
|
478
|
-
|
|
478
|
+
this._handleChange = () => {
|
|
479
|
+
syncer.reconcile(this._view, false);
|
|
480
|
+
};
|
|
481
|
+
accessor.handle.addListener("change", this._handleChange);
|
|
479
482
|
}
|
|
480
483
|
destroy() {
|
|
481
|
-
accessor.handle.removeListener("change", this._handleChange
|
|
482
|
-
}
|
|
483
|
-
_handleChange() {
|
|
484
|
-
syncer.reconcile(this._view, false);
|
|
484
|
+
accessor.handle.removeListener("change", this._handleChange);
|
|
485
485
|
}
|
|
486
486
|
}),
|
|
487
487
|
// Reconcile local updates.
|
|
@@ -1832,14 +1832,14 @@ var focusComment = (view, id, center = true) => {
|
|
|
1832
1832
|
});
|
|
1833
1833
|
}
|
|
1834
1834
|
};
|
|
1835
|
-
var useComments = (view, id, comments2
|
|
1835
|
+
var useComments = (view, id, comments2) => {
|
|
1836
1836
|
useEffect(() => {
|
|
1837
1837
|
if (view) {
|
|
1838
1838
|
if (id === view.state.facet(documentId)) {
|
|
1839
1839
|
view.dispatch({
|
|
1840
1840
|
effects: setComments.of({
|
|
1841
1841
|
id,
|
|
1842
|
-
comments: comments2
|
|
1842
|
+
comments: comments2 ?? []
|
|
1843
1843
|
})
|
|
1844
1844
|
});
|
|
1845
1845
|
}
|
|
@@ -1952,11 +1952,12 @@ var dnd = () => {
|
|
|
1952
1952
|
};
|
|
1953
1953
|
|
|
1954
1954
|
// packages/ui/react-ui-editor/src/extensions/factories.ts
|
|
1955
|
-
import { closeBrackets } from "@codemirror/autocomplete";
|
|
1956
|
-
import { history } from "@codemirror/commands";
|
|
1955
|
+
import { closeBrackets, closeBracketsKeymap } from "@codemirror/autocomplete";
|
|
1956
|
+
import { history, historyKeymap, indentWithTab, standardKeymap } from "@codemirror/commands";
|
|
1957
1957
|
import { bracketMatching } from "@codemirror/language";
|
|
1958
|
+
import { searchKeymap } from "@codemirror/search";
|
|
1958
1959
|
import { EditorState } from "@codemirror/state";
|
|
1959
|
-
import { EditorView as EditorView10, crosshairCursor, drawSelection, dropCursor, highlightActiveLine, lineNumbers, placeholder, scrollPastEnd } from "@codemirror/view";
|
|
1960
|
+
import { EditorView as EditorView10, crosshairCursor, drawSelection, dropCursor, highlightActiveLine, highlightSpecialChars, keymap as keymap5, lineNumbers, placeholder, scrollPastEnd } from "@codemirror/view";
|
|
1960
1961
|
import defaultsDeep2 from "lodash.defaultsdeep";
|
|
1961
1962
|
import { generateName } from "@dxos/display-name";
|
|
1962
1963
|
import { log as log7 } from "@dxos/log";
|
|
@@ -2164,41 +2165,59 @@ var defaultTheme = {
|
|
|
2164
2165
|
* </div>
|
|
2165
2166
|
* </div
|
|
2166
2167
|
*/
|
|
2167
|
-
".cm-panels": {
|
|
2168
|
-
border: `1px solid ${get3(tokens, "extend.colors.neutral.200")}`
|
|
2169
|
-
},
|
|
2168
|
+
".cm-panels": {},
|
|
2170
2169
|
".cm-panel": {
|
|
2171
|
-
background: get3(tokens, "extend.colors.neutral.50"),
|
|
2172
2170
|
fontFamily: get3(tokens, "fontFamily.body", []).join(",")
|
|
2173
2171
|
},
|
|
2172
|
+
".cm-panel input[type=checkbox]": {
|
|
2173
|
+
marginRight: "0.4rem !important"
|
|
2174
|
+
},
|
|
2175
|
+
"&light .cm-panel": {
|
|
2176
|
+
background: get3(tokens, "extend.colors.neutral.50")
|
|
2177
|
+
},
|
|
2178
|
+
"&dark .cm-panel": {
|
|
2179
|
+
background: get3(tokens, "extend.colors.neutral.850")
|
|
2180
|
+
},
|
|
2174
2181
|
".cm-button": {
|
|
2175
2182
|
margin: "4px",
|
|
2176
2183
|
fontFamily: get3(tokens, "fontFamily.body", []).join(","),
|
|
2177
|
-
background: get3(tokens, "extend.colors.neutral.100"),
|
|
2178
2184
|
backgroundImage: "none",
|
|
2179
2185
|
border: "none",
|
|
2186
|
+
"&:active": {
|
|
2187
|
+
backgroundImage: "none"
|
|
2188
|
+
}
|
|
2189
|
+
},
|
|
2190
|
+
"&light .cm-button": {
|
|
2191
|
+
background: get3(tokens, "extend.colors.neutral.100"),
|
|
2180
2192
|
"&:hover": {
|
|
2181
2193
|
background: get3(tokens, "extend.colors.neutral.200")
|
|
2182
2194
|
},
|
|
2183
2195
|
"&:active": {
|
|
2184
|
-
background: get3(tokens, "extend.colors.neutral.300")
|
|
2185
|
-
backgroundImage: "none"
|
|
2196
|
+
background: get3(tokens, "extend.colors.neutral.300")
|
|
2186
2197
|
}
|
|
2187
2198
|
},
|
|
2188
|
-
".cm-
|
|
2189
|
-
|
|
2199
|
+
"&dark .cm-button": {
|
|
2200
|
+
background: get3(tokens, "extend.colors.neutral.800"),
|
|
2201
|
+
"&:hover": {
|
|
2202
|
+
background: get3(tokens, "extend.colors.neutral.700")
|
|
2203
|
+
},
|
|
2204
|
+
"&:active": {
|
|
2205
|
+
background: get3(tokens, "extend.colors.neutral.600")
|
|
2206
|
+
}
|
|
2190
2207
|
}
|
|
2191
2208
|
};
|
|
2192
2209
|
|
|
2193
2210
|
// packages/ui/react-ui-editor/src/extensions/factories.ts
|
|
2194
2211
|
var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-editor/src/extensions/factories.ts";
|
|
2195
2212
|
var defaults = {
|
|
2213
|
+
allowMultipleSelections: true,
|
|
2196
2214
|
bracketMatching: true,
|
|
2197
2215
|
closeBrackets: true,
|
|
2198
2216
|
drawSelection: true,
|
|
2199
2217
|
editable: true,
|
|
2200
2218
|
history: true,
|
|
2201
|
-
lineWrapping: true
|
|
2219
|
+
lineWrapping: true,
|
|
2220
|
+
search: true
|
|
2202
2221
|
};
|
|
2203
2222
|
var createBasicExtensions = (_props) => {
|
|
2204
2223
|
const props = defaultsDeep2({}, _props, defaults);
|
|
@@ -2207,7 +2226,7 @@ var createBasicExtensions = (_props) => {
|
|
|
2207
2226
|
EditorView10.exceptionSink.of((err) => {
|
|
2208
2227
|
log7.catch(err, void 0, {
|
|
2209
2228
|
F: __dxlog_file9,
|
|
2210
|
-
L:
|
|
2229
|
+
L: 83,
|
|
2211
2230
|
S: void 0,
|
|
2212
2231
|
C: (f, a) => f(...a)
|
|
2213
2232
|
});
|
|
@@ -2219,6 +2238,7 @@ var createBasicExtensions = (_props) => {
|
|
|
2219
2238
|
props.dropCursor && dropCursor(),
|
|
2220
2239
|
props.drawSelection && drawSelection(),
|
|
2221
2240
|
props.highlightActiveLine && highlightActiveLine(),
|
|
2241
|
+
highlightSpecialChars(),
|
|
2222
2242
|
props.history && history(),
|
|
2223
2243
|
props.lineNumbers && lineNumbers(),
|
|
2224
2244
|
props.lineWrapping && EditorView10.lineWrapping,
|
|
@@ -2228,7 +2248,20 @@ var createBasicExtensions = (_props) => {
|
|
|
2228
2248
|
EditorView10.editable.of(false)
|
|
2229
2249
|
],
|
|
2230
2250
|
props.scrollPastEnd && scrollPastEnd(),
|
|
2231
|
-
props.tabSize && EditorState.tabSize.of(props.tabSize)
|
|
2251
|
+
props.tabSize && EditorState.tabSize.of(props.tabSize),
|
|
2252
|
+
// https://codemirror.net/docs/ref/#view.KeyBinding
|
|
2253
|
+
keymap5.of([
|
|
2254
|
+
// https://codemirror.net/docs/ref/#commands.standardKeymap
|
|
2255
|
+
...standardKeymap,
|
|
2256
|
+
// https://codemirror.net/docs/ref/#commands.indentWithTab
|
|
2257
|
+
props.indentWithTab && indentWithTab,
|
|
2258
|
+
// https://codemirror.net/docs/ref/#autocomplete.closeBracketsKeymap
|
|
2259
|
+
...props.closeBrackets ? closeBracketsKeymap : [],
|
|
2260
|
+
// https://codemirror.net/docs/ref/#commands.historyKeymap
|
|
2261
|
+
...props.history ? historyKeymap : [],
|
|
2262
|
+
// https://codemirror.net/docs/ref/#search.searchKeymap
|
|
2263
|
+
...props.search ? searchKeymap : []
|
|
2264
|
+
].filter(isNotFalsy2))
|
|
2232
2265
|
].filter(isNotFalsy2);
|
|
2233
2266
|
};
|
|
2234
2267
|
var defaultSlots = {
|
|
@@ -2287,14 +2320,14 @@ var listener = ({ onFocus, onChange }) => {
|
|
|
2287
2320
|
};
|
|
2288
2321
|
|
|
2289
2322
|
// packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts
|
|
2290
|
-
import {
|
|
2291
|
-
import {
|
|
2323
|
+
import { completionKeymap as completionKeymap2 } from "@codemirror/autocomplete";
|
|
2324
|
+
import { defaultKeymap, indentWithTab as indentWithTab2 } from "@codemirror/commands";
|
|
2292
2325
|
import { markdownLanguage as markdownLanguage3, markdown } from "@codemirror/lang-markdown";
|
|
2293
2326
|
import { defaultHighlightStyle, syntaxHighlighting } from "@codemirror/language";
|
|
2294
2327
|
import { languages } from "@codemirror/language-data";
|
|
2295
|
-
import {
|
|
2328
|
+
import { lintKeymap } from "@codemirror/lint";
|
|
2296
2329
|
import { oneDarkHighlightStyle } from "@codemirror/theme-one-dark";
|
|
2297
|
-
import { keymap as
|
|
2330
|
+
import { keymap as keymap6 } from "@codemirror/view";
|
|
2298
2331
|
|
|
2299
2332
|
// packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts
|
|
2300
2333
|
import { markdownLanguage as markdownLanguage2 } from "@codemirror/lang-markdown";
|
|
@@ -2509,17 +2542,13 @@ var createMarkdownExtensions = ({ themeMode } = {}) => {
|
|
|
2509
2542
|
themeMode === "dark" ? syntaxHighlighting(oneDarkHighlightStyle) : syntaxHighlighting(defaultHighlightStyle),
|
|
2510
2543
|
// Custom styles.
|
|
2511
2544
|
syntaxHighlighting(markdownHighlightStyle()),
|
|
2512
|
-
|
|
2545
|
+
keymap6.of([
|
|
2513
2546
|
// https://codemirror.net/docs/ref/#commands.indentWithTab
|
|
2514
|
-
|
|
2515
|
-
// https://codemirror.net/docs/ref/#
|
|
2516
|
-
...
|
|
2517
|
-
|
|
2518
|
-
...
|
|
2519
|
-
// https://codemirror.net/docs/ref/#search.searchKeymap
|
|
2520
|
-
...searchKeymap,
|
|
2521
|
-
// https://codemirror.net/docs/ref/#commands.standardKeymap
|
|
2522
|
-
...standardKeymap
|
|
2547
|
+
indentWithTab2,
|
|
2548
|
+
// https://codemirror.net/docs/ref/#commands.defaultKeymap
|
|
2549
|
+
...defaultKeymap,
|
|
2550
|
+
...completionKeymap2,
|
|
2551
|
+
...lintKeymap
|
|
2523
2552
|
])
|
|
2524
2553
|
];
|
|
2525
2554
|
};
|
|
@@ -2796,9 +2825,9 @@ var formattingStyles = EditorView12.baseTheme({
|
|
|
2796
2825
|
import { snippet } from "@codemirror/autocomplete";
|
|
2797
2826
|
import { syntaxTree as syntaxTree2 } from "@codemirror/language";
|
|
2798
2827
|
import { EditorSelection } from "@codemirror/state";
|
|
2799
|
-
import { EditorView as EditorView13, keymap as
|
|
2800
|
-
import {
|
|
2801
|
-
var
|
|
2828
|
+
import { EditorView as EditorView13, keymap as keymap7 } from "@codemirror/view";
|
|
2829
|
+
import { useMemo, useState } from "react";
|
|
2830
|
+
var formattingEquals = (a, b) => a.blockType === b.blockType && a.strong === b.strong && a.emphasis === b.emphasis && a.strikethrough === b.strikethrough && a.code === b.code && a.link === b.link && a.listStyle === b.listStyle && a.blockQuote === b.blockQuote;
|
|
2802
2831
|
var Inline;
|
|
2803
2832
|
(function(Inline2) {
|
|
2804
2833
|
Inline2[Inline2["Strong"] = 0] = "Strong";
|
|
@@ -3668,7 +3697,7 @@ var toggleCodeblock = (target) => {
|
|
|
3668
3697
|
};
|
|
3669
3698
|
var formattingKeymap = (options = {}) => {
|
|
3670
3699
|
return [
|
|
3671
|
-
|
|
3700
|
+
keymap7.of([
|
|
3672
3701
|
{
|
|
3673
3702
|
key: "meta-b",
|
|
3674
3703
|
run: toggleStrong
|
|
@@ -3865,15 +3894,20 @@ var getFormatting = (state2) => {
|
|
|
3865
3894
|
};
|
|
3866
3895
|
};
|
|
3867
3896
|
var useFormattingState = () => {
|
|
3868
|
-
const [state2, setState] = useState(
|
|
3897
|
+
const [state2, setState] = useState();
|
|
3869
3898
|
const observer = useMemo(() => EditorView13.updateListener.of((update2) => {
|
|
3870
3899
|
if (update2.docChanged || update2.selectionSet) {
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
|
|
3900
|
+
setState((prevState) => {
|
|
3901
|
+
const newState = getFormatting(update2.state);
|
|
3902
|
+
if (!prevState || !formattingEquals(prevState, newState)) {
|
|
3903
|
+
return newState;
|
|
3904
|
+
}
|
|
3905
|
+
return prevState;
|
|
3906
|
+
});
|
|
3875
3907
|
}
|
|
3876
|
-
}), [
|
|
3908
|
+
}), [
|
|
3909
|
+
setState
|
|
3910
|
+
]);
|
|
3877
3911
|
return [
|
|
3878
3912
|
state2,
|
|
3879
3913
|
observer
|
|
@@ -4137,21 +4171,30 @@ var mention = ({ onSearch }) => {
|
|
|
4137
4171
|
|
|
4138
4172
|
// packages/ui/react-ui-editor/src/extensions/modes.ts
|
|
4139
4173
|
import { Facet as Facet6 } from "@codemirror/state";
|
|
4140
|
-
import { keymap as
|
|
4174
|
+
import { keymap as keymap8 } from "@codemirror/view";
|
|
4141
4175
|
import { vim } from "@replit/codemirror-vim";
|
|
4176
|
+
import { vscodeKeymap } from "@replit/codemirror-vscode-keymap";
|
|
4142
4177
|
var focusEvent = "focus.container";
|
|
4143
4178
|
var editorMode = Facet6.define({
|
|
4144
4179
|
combine: (modes) => modes[0] ?? {}
|
|
4145
4180
|
});
|
|
4146
4181
|
var EditorModes = {
|
|
4147
4182
|
default: [],
|
|
4183
|
+
vscode: [
|
|
4184
|
+
// https://github.com/replit/codemirror-vscode-keymap
|
|
4185
|
+
editorMode.of({
|
|
4186
|
+
type: "vscode"
|
|
4187
|
+
}),
|
|
4188
|
+
keymap8.of(vscodeKeymap)
|
|
4189
|
+
],
|
|
4148
4190
|
vim: [
|
|
4191
|
+
// https://github.com/replit/codemirror-vim
|
|
4149
4192
|
vim(),
|
|
4150
4193
|
editorMode.of({
|
|
4151
4194
|
type: "vim",
|
|
4152
4195
|
noTabster: true
|
|
4153
4196
|
}),
|
|
4154
|
-
|
|
4197
|
+
keymap8.of([
|
|
4155
4198
|
{
|
|
4156
4199
|
key: "Alt-Escape",
|
|
4157
4200
|
run: (view) => {
|
|
@@ -4167,7 +4210,7 @@ var EditorModes = {
|
|
|
4167
4210
|
|
|
4168
4211
|
// packages/ui/react-ui-editor/src/extensions/state.ts
|
|
4169
4212
|
import { Transaction as Transaction2 } from "@codemirror/state";
|
|
4170
|
-
import { EditorView as EditorView16, keymap as
|
|
4213
|
+
import { EditorView as EditorView16, keymap as keymap9 } from "@codemirror/view";
|
|
4171
4214
|
import { debounce as debounce2 } from "@dxos/async";
|
|
4172
4215
|
import { invariant as invariant4 } from "@dxos/invariant";
|
|
4173
4216
|
import { isNotFalsy as isNotFalsy3 } from "@dxos/util";
|
|
@@ -4231,7 +4274,7 @@ var state = ({ getState, setState } = {}) => {
|
|
|
4231
4274
|
}
|
|
4232
4275
|
}
|
|
4233
4276
|
}),
|
|
4234
|
-
getState &&
|
|
4277
|
+
getState && keymap9.of([
|
|
4235
4278
|
{
|
|
4236
4279
|
key: "ctrl-r",
|
|
4237
4280
|
run: (view) => {
|
|
@@ -4253,7 +4296,7 @@ var state = ({ getState, setState } = {}) => {
|
|
|
4253
4296
|
};
|
|
4254
4297
|
|
|
4255
4298
|
// packages/ui/react-ui-editor/src/extensions/typewriter.ts
|
|
4256
|
-
import { keymap as
|
|
4299
|
+
import { keymap as keymap10 } from "@codemirror/view";
|
|
4257
4300
|
var defaultItems = [
|
|
4258
4301
|
"hello world!",
|
|
4259
4302
|
"this is a test.",
|
|
@@ -4263,7 +4306,7 @@ var typewriter = ({ delay = 75, items = defaultItems } = {}) => {
|
|
|
4263
4306
|
let t;
|
|
4264
4307
|
let idx = 0;
|
|
4265
4308
|
return [
|
|
4266
|
-
|
|
4309
|
+
keymap10.of([
|
|
4267
4310
|
{
|
|
4268
4311
|
// Reset.
|
|
4269
4312
|
key: "alt-meta-'",
|
|
@@ -4333,7 +4376,7 @@ var TextEditor = /* @__PURE__ */ forwardRef(({ id, doc, selection, extensions, c
|
|
|
4333
4376
|
autoFocus
|
|
4334
4377
|
]);
|
|
4335
4378
|
useEffect2(() => {
|
|
4336
|
-
log9("
|
|
4379
|
+
log9("create", {
|
|
4337
4380
|
id,
|
|
4338
4381
|
instanceId
|
|
4339
4382
|
}, {
|
|
@@ -4393,8 +4436,16 @@ var TextEditor = /* @__PURE__ */ forwardRef(({ id, doc, selection, extensions, c
|
|
|
4393
4436
|
}
|
|
4394
4437
|
setView(view2);
|
|
4395
4438
|
return () => {
|
|
4439
|
+
log9("destroy", {
|
|
4440
|
+
id,
|
|
4441
|
+
instanceId
|
|
4442
|
+
}, {
|
|
4443
|
+
F: __dxlog_file12,
|
|
4444
|
+
L: 150,
|
|
4445
|
+
S: void 0,
|
|
4446
|
+
C: (f, a) => f(...a)
|
|
4447
|
+
});
|
|
4396
4448
|
view2?.destroy();
|
|
4397
|
-
setView(null);
|
|
4398
4449
|
};
|
|
4399
4450
|
}, [
|
|
4400
4451
|
doc,
|
|
@@ -4424,7 +4475,7 @@ var TextEditor = /* @__PURE__ */ forwardRef(({ id, doc, selection, extensions, c
|
|
|
4424
4475
|
});
|
|
4425
4476
|
|
|
4426
4477
|
// packages/ui/react-ui-editor/src/components/Toolbar/Toolbar.tsx
|
|
4427
|
-
import { ChatText, Code, CodeBlock, Image, Link, ListBullets, ListChecks, ListNumbers, Paragraph, TextStrikethrough, Table as Table2, TextB, TextHOne, TextHTwo, TextHThree, TextHFour, TextHFive, TextHSix, TextItalic
|
|
4478
|
+
import { ChatText, Code, CodeBlock, Image, Link, ListBullets, ListChecks, ListNumbers, Paragraph, Quotes, TextStrikethrough, Table as Table2, TextB, TextHOne, TextHTwo, TextHThree, TextHFour, TextHFive, TextHSix, TextItalic } from "@phosphor-icons/react";
|
|
4428
4479
|
import { createContext } from "@radix-ui/react-context";
|
|
4429
4480
|
import React2, { useEffect as useEffect3, useRef as useRef2, useState as useState3 } from "react";
|
|
4430
4481
|
import { useDropzone } from "react-dropzone";
|
|
@@ -4724,13 +4775,14 @@ var MarkdownCustom = ({ onUpload } = {}) => {
|
|
|
4724
4775
|
var MarkdownActions = () => {
|
|
4725
4776
|
const { onAction } = useToolbarContext("MarkdownStyles");
|
|
4726
4777
|
const { t } = useTranslation(translationKey);
|
|
4727
|
-
return /* @__PURE__ */ React2.createElement(ToolbarButton, {
|
|
4778
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(ToolbarButton, {
|
|
4728
4779
|
value: "comment",
|
|
4729
4780
|
Icon: ChatText,
|
|
4781
|
+
"data-testid": "editor.toolbar.comment",
|
|
4730
4782
|
onClick: () => onAction?.({
|
|
4731
4783
|
type: "comment"
|
|
4732
4784
|
})
|
|
4733
|
-
}, t("comment label"));
|
|
4785
|
+
}, t("comment label")));
|
|
4734
4786
|
};
|
|
4735
4787
|
var Toolbar = {
|
|
4736
4788
|
Root: ToolbarRoot,
|
|
@@ -4823,6 +4875,14 @@ var useTextEditor = (cb = () => ({}), deps = []) => {
|
|
|
4823
4875
|
useEffect4(() => {
|
|
4824
4876
|
let view2;
|
|
4825
4877
|
if (parentRef.current) {
|
|
4878
|
+
log10("create", {
|
|
4879
|
+
id
|
|
4880
|
+
}, {
|
|
4881
|
+
F: __dxlog_file13,
|
|
4882
|
+
L: 36,
|
|
4883
|
+
S: void 0,
|
|
4884
|
+
C: (f, a) => f(...a)
|
|
4885
|
+
});
|
|
4826
4886
|
const state2 = EditorState3.create({
|
|
4827
4887
|
doc,
|
|
4828
4888
|
selection,
|
|
@@ -4832,7 +4892,7 @@ var useTextEditor = (cb = () => ({}), deps = []) => {
|
|
|
4832
4892
|
EditorView18.exceptionSink.of((err) => {
|
|
4833
4893
|
log10.catch(err, void 0, {
|
|
4834
4894
|
F: __dxlog_file13,
|
|
4835
|
-
L:
|
|
4895
|
+
L: 46,
|
|
4836
4896
|
S: void 0,
|
|
4837
4897
|
C: (f, a) => f(...a)
|
|
4838
4898
|
});
|
|
@@ -4859,6 +4919,14 @@ var useTextEditor = (cb = () => ({}), deps = []) => {
|
|
|
4859
4919
|
setView(view2);
|
|
4860
4920
|
}
|
|
4861
4921
|
return () => {
|
|
4922
|
+
log10("destroy", {
|
|
4923
|
+
id
|
|
4924
|
+
}, {
|
|
4925
|
+
F: __dxlog_file13,
|
|
4926
|
+
L: 74,
|
|
4927
|
+
S: void 0,
|
|
4928
|
+
C: (f, a) => f(...a)
|
|
4929
|
+
});
|
|
4862
4930
|
view2?.destroy();
|
|
4863
4931
|
};
|
|
4864
4932
|
}, deps);
|
|
@@ -4921,7 +4989,6 @@ export {
|
|
|
4921
4989
|
callbackWrapper,
|
|
4922
4990
|
command,
|
|
4923
4991
|
comments,
|
|
4924
|
-
compareFormatting,
|
|
4925
4992
|
createBasicExtensions,
|
|
4926
4993
|
createComment,
|
|
4927
4994
|
createDataExtensions,
|
|
@@ -4939,13 +5006,14 @@ export {
|
|
|
4939
5006
|
editorWithToolbarLayout,
|
|
4940
5007
|
focusComment,
|
|
4941
5008
|
focusEvent,
|
|
5009
|
+
formattingEquals,
|
|
4942
5010
|
formattingKeymap,
|
|
4943
5011
|
getFormatting,
|
|
4944
5012
|
getToken,
|
|
4945
5013
|
image,
|
|
4946
5014
|
imageUpload,
|
|
4947
5015
|
insertTable,
|
|
4948
|
-
|
|
5016
|
+
keymap11 as keymap,
|
|
4949
5017
|
linkTooltip,
|
|
4950
5018
|
listener,
|
|
4951
5019
|
localStorageStateStoreAdapter,
|