@dxos/react-ui-editor 0.8.2 → 0.8.3-main.672df60
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 +159 -105
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +172 -119
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +159 -105
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/extensions/command/menu.d.ts.map +1 -1
- package/dist/types/src/extensions/hashtag.d.ts +3 -0
- package/dist/types/src/extensions/hashtag.d.ts.map +1 -0
- package/dist/types/src/extensions/index.d.ts +1 -0
- package/dist/types/src/extensions/index.d.ts.map +1 -1
- package/dist/types/src/extensions/json.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/debug.d.ts +2 -2
- package/dist/types/src/extensions/markdown/debug.d.ts.map +1 -1
- package/dist/types/src/extensions/outliner/outliner.d.ts +1 -3
- package/dist/types/src/extensions/outliner/outliner.d.ts.map +1 -1
- package/dist/types/src/stories/Command.stories.d.ts +1 -1
- package/dist/types/src/stories/Command.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Comments.stories.d.ts +1 -1
- package/dist/types/src/stories/Comments.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Experimental.stories.d.ts +1 -1
- package/dist/types/src/stories/Experimental.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Markdown.stories.d.ts +1 -1
- package/dist/types/src/stories/Markdown.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Outliner.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Preview.stories.d.ts +1 -1
- package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
- package/dist/types/src/stories/TextEditor.stories.d.ts +1 -1
- package/dist/types/src/stories/TextEditor.stories.d.ts.map +1 -1
- package/dist/types/src/stories/components/EditorStory.d.ts +43 -0
- package/dist/types/src/stories/components/EditorStory.d.ts.map +1 -0
- package/dist/types/src/stories/components/index.d.ts +3 -0
- package/dist/types/src/stories/components/index.d.ts.map +1 -0
- package/dist/types/src/stories/{util.d.ts → components/util.d.ts} +3 -18
- package/dist/types/src/stories/components/util.d.ts.map +1 -0
- package/package.json +28 -27
- package/src/extensions/command/menu.ts +31 -22
- package/src/extensions/hashtag.tsx +68 -0
- package/src/extensions/index.ts +1 -0
- package/src/extensions/json.ts +2 -1
- package/src/extensions/markdown/debug.ts +2 -2
- package/src/extensions/outliner/outliner.ts +9 -8
- package/src/stories/Command.stories.tsx +1 -1
- package/src/stories/Comments.stories.tsx +2 -2
- package/src/stories/Experimental.stories.tsx +2 -2
- package/src/stories/Markdown.stories.tsx +2 -2
- package/src/stories/Outliner.stories.tsx +19 -7
- package/src/stories/Preview.stories.tsx +2 -2
- package/src/stories/TextEditor.stories.tsx +3 -3
- package/src/stories/components/EditorStory.tsx +135 -0
- package/src/stories/components/index.ts +6 -0
- package/src/stories/{util.tsx → components/util.tsx} +5 -100
- package/dist/types/src/stories/util.d.ts.map +0 -1
package/dist/lib/node/index.cjs
CHANGED
@@ -104,6 +104,7 @@ __export(node_exports, {
|
|
104
104
|
getFormatting: () => getFormatting,
|
105
105
|
getListItemContent: () => getListItemContent,
|
106
106
|
getRange: () => getRange,
|
107
|
+
hashtag: () => hashtag,
|
107
108
|
image: () => image,
|
108
109
|
indentItemLess: () => indentItemLess,
|
109
110
|
indentItemMore: () => indentItemMore,
|
@@ -224,6 +225,7 @@ var import_view8 = require("@codemirror/view");
|
|
224
225
|
var import_state10 = require("@codemirror/state");
|
225
226
|
var import_view9 = require("@codemirror/view");
|
226
227
|
var import_view10 = require("@codemirror/view");
|
228
|
+
var import_async3 = require("@dxos/async");
|
227
229
|
var import_state11 = require("@codemirror/state");
|
228
230
|
var import_view11 = require("@codemirror/view");
|
229
231
|
var import_commands = require("@codemirror/commands");
|
@@ -231,12 +233,12 @@ var import_state12 = require("@codemirror/state");
|
|
231
233
|
var import_view12 = require("@codemirror/view");
|
232
234
|
var import_lodash2 = __toESM(require("lodash.sortby"));
|
233
235
|
var import_react4 = require("react");
|
234
|
-
var
|
236
|
+
var import_async4 = require("@dxos/async");
|
235
237
|
var import_log4 = require("@dxos/log");
|
236
238
|
var import_util = require("@dxos/util");
|
237
239
|
var import_state13 = require("@codemirror/state");
|
238
240
|
var import_view13 = require("@codemirror/view");
|
239
|
-
var
|
241
|
+
var import_async5 = require("@dxos/async");
|
240
242
|
var import_invariant3 = require("@dxos/invariant");
|
241
243
|
var import_util2 = require("@dxos/util");
|
242
244
|
var import_language = require("@codemirror/language");
|
@@ -263,14 +265,16 @@ var import_language3 = require("@codemirror/language");
|
|
263
265
|
var import_view17 = require("@codemirror/view");
|
264
266
|
var import_react5 = __toESM(require("react"));
|
265
267
|
var import_react_ui3 = require("@dxos/react-ui");
|
268
|
+
var import_view18 = require("@codemirror/view");
|
269
|
+
var import_react_ui_theme5 = require("@dxos/react-ui-theme");
|
266
270
|
var import_lang_json = require("@codemirror/lang-json");
|
267
271
|
var import_lint = require("@codemirror/lint");
|
268
272
|
var import_ajv = __toESM(require("ajv"));
|
269
|
-
var
|
273
|
+
var import_view19 = require("@codemirror/view");
|
270
274
|
var import_autocomplete3 = require("@codemirror/autocomplete");
|
271
275
|
var import_language4 = require("@codemirror/language");
|
272
276
|
var import_state17 = require("@codemirror/state");
|
273
|
-
var
|
277
|
+
var import_view20 = require("@codemirror/view");
|
274
278
|
var import_react6 = require("react");
|
275
279
|
var import_autocomplete4 = require("@codemirror/autocomplete");
|
276
280
|
var import_commands3 = require("@codemirror/commands");
|
@@ -278,7 +282,7 @@ var import_lang_markdown2 = require("@codemirror/lang-markdown");
|
|
278
282
|
var import_language5 = require("@codemirror/language");
|
279
283
|
var import_language_data = require("@codemirror/language-data");
|
280
284
|
var import_lint2 = require("@codemirror/lint");
|
281
|
-
var
|
285
|
+
var import_view21 = require("@codemirror/view");
|
282
286
|
var import_util5 = require("@dxos/util");
|
283
287
|
var import_lang_markdown3 = require("@codemirror/lang-markdown");
|
284
288
|
var import_language6 = require("@codemirror/language");
|
@@ -288,63 +292,63 @@ var import_language7 = require("@codemirror/language");
|
|
288
292
|
var import_state18 = require("@codemirror/state");
|
289
293
|
var import_language8 = require("@codemirror/language");
|
290
294
|
var import_state19 = require("@codemirror/state");
|
291
|
-
var
|
295
|
+
var import_view22 = require("@codemirror/view");
|
292
296
|
var import_invariant4 = require("@dxos/invariant");
|
293
|
-
var
|
297
|
+
var import_react_ui_theme6 = require("@dxos/react-ui-theme");
|
294
298
|
var import_language9 = require("@codemirror/language");
|
295
299
|
var import_state20 = require("@codemirror/state");
|
296
|
-
var
|
300
|
+
var import_view23 = require("@codemirror/view");
|
297
301
|
var import_language10 = require("@codemirror/language");
|
298
302
|
var import_state21 = require("@codemirror/state");
|
299
|
-
var import_view23 = require("@codemirror/view");
|
300
303
|
var import_view24 = require("@codemirror/view");
|
304
|
+
var import_view25 = require("@codemirror/view");
|
301
305
|
var import_language11 = require("@codemirror/language");
|
302
306
|
var import_state22 = require("@codemirror/state");
|
303
|
-
var import_view25 = require("@codemirror/view");
|
304
|
-
var import_language12 = require("@codemirror/language");
|
305
307
|
var import_view26 = require("@codemirror/view");
|
306
|
-
var
|
308
|
+
var import_language12 = require("@codemirror/language");
|
309
|
+
var import_view27 = require("@codemirror/view");
|
310
|
+
var import_react_ui_theme7 = require("@dxos/react-ui-theme");
|
307
311
|
var import_autocomplete5 = require("@codemirror/autocomplete");
|
308
312
|
var import_log6 = require("@dxos/log");
|
309
|
-
var
|
313
|
+
var import_view28 = require("@codemirror/view");
|
310
314
|
var import_codemirror_vim = require("@replit/codemirror-vim");
|
311
315
|
var import_codemirror_vscode_keymap = require("@replit/codemirror-vscode-keymap");
|
312
316
|
var import_effect = require("effect");
|
313
317
|
var import_commands4 = require("@codemirror/commands");
|
314
318
|
var import_language13 = require("@codemirror/language");
|
315
319
|
var import_state23 = require("@codemirror/state");
|
316
|
-
var
|
320
|
+
var import_view29 = require("@codemirror/view");
|
317
321
|
var import_state24 = require("@codemirror/state");
|
318
322
|
var import_language14 = require("@codemirror/language");
|
319
323
|
var import_state25 = require("@codemirror/state");
|
320
324
|
var import_state26 = require("@codemirror/state");
|
321
325
|
var import_invariant5 = require("@dxos/invariant");
|
322
326
|
var import_state27 = require("@codemirror/state");
|
323
|
-
var import_view29 = require("@codemirror/view");
|
324
|
-
var import_react_ui_theme7 = require("@dxos/react-ui-theme");
|
325
|
-
var import_state28 = require("@codemirror/state");
|
326
327
|
var import_view30 = require("@codemirror/view");
|
328
|
+
var import_react_ui_theme8 = require("@dxos/react-ui-theme");
|
329
|
+
var import_state28 = require("@codemirror/state");
|
330
|
+
var import_view31 = require("@codemirror/view");
|
327
331
|
var import_log7 = require("@dxos/log");
|
328
332
|
var import_dx_ref_tag = require("@dxos/lit-ui/dx-ref-tag.pcss");
|
329
333
|
var import_language15 = require("@codemirror/language");
|
330
334
|
var import_state29 = require("@codemirror/state");
|
331
|
-
var import_view31 = require("@codemirror/view");
|
332
335
|
var import_view32 = require("@codemirror/view");
|
333
|
-
var import_search2 = require("@codemirror/search");
|
334
336
|
var import_view33 = require("@codemirror/view");
|
335
|
-
var
|
337
|
+
var import_search2 = require("@codemirror/search");
|
338
|
+
var import_view34 = require("@codemirror/view");
|
339
|
+
var import_react_ui_theme9 = require("@dxos/react-ui-theme");
|
336
340
|
var import_tracking2 = require("@preact-signals/safe-react/tracking");
|
337
341
|
var import_react_context = require("@radix-ui/react-context");
|
338
342
|
var import_react7 = __toESM(require("react"));
|
339
|
-
var
|
343
|
+
var import_async6 = require("@dxos/async");
|
340
344
|
var import_react_ui4 = require("@dxos/react-ui");
|
341
345
|
var import_tracking3 = require("@preact-signals/safe-react/tracking");
|
342
346
|
var import_react_context2 = require("@radix-ui/react-context");
|
343
347
|
var import_react8 = __toESM(require("react"));
|
344
|
-
var
|
348
|
+
var import_async7 = require("@dxos/async");
|
345
349
|
var import_react_ui5 = require("@dxos/react-ui");
|
346
350
|
var import_state30 = require("@codemirror/state");
|
347
|
-
var
|
351
|
+
var import_view35 = require("@codemirror/view");
|
348
352
|
var import_react_tabster = require("@fluentui/react-tabster");
|
349
353
|
var import_react9 = require("react");
|
350
354
|
var import_log8 = require("@dxos/log");
|
@@ -1704,23 +1708,32 @@ var command = (options = {}) => {
|
|
1704
1708
|
var floatingMenu = (options = {}) => [
|
1705
1709
|
import_view10.ViewPlugin.fromClass(class {
|
1706
1710
|
constructor(view) {
|
1707
|
-
this.rafId = null;
|
1708
1711
|
this.view = view;
|
1709
1712
|
const container = view.scrollDOM;
|
1710
1713
|
if (getComputedStyle(container).position === "static") {
|
1711
1714
|
container.style.position = "relative";
|
1712
1715
|
}
|
1713
|
-
|
1714
|
-
|
1715
|
-
|
1716
|
-
|
1717
|
-
|
1718
|
-
|
1719
|
-
|
1716
|
+
{
|
1717
|
+
const icon = document.createElement("dx-icon");
|
1718
|
+
icon.setAttribute("icon", options.icon ?? "ph--dots-three-vertical--regular");
|
1719
|
+
const button = document.createElement("button");
|
1720
|
+
button.appendChild(icon);
|
1721
|
+
this.tag = document.createElement("dx-ref-tag");
|
1722
|
+
this.tag.classList.add("cm-ref-tag");
|
1723
|
+
this.tag.appendChild(button);
|
1724
|
+
}
|
1720
1725
|
container.appendChild(this.tag);
|
1721
|
-
|
1726
|
+
const handler = () => this.scheduleUpdate();
|
1727
|
+
this.cleanup = (0, import_async3.addEventListener)(container, "scroll", handler);
|
1722
1728
|
this.scheduleUpdate();
|
1723
1729
|
}
|
1730
|
+
destroy() {
|
1731
|
+
this.cleanup?.();
|
1732
|
+
this.tag.remove();
|
1733
|
+
if (this.rafId != null) {
|
1734
|
+
cancelAnimationFrame(this.rafId);
|
1735
|
+
}
|
1736
|
+
}
|
1724
1737
|
update(update2) {
|
1725
1738
|
this.tag.dataset.focused = update2.view.hasFocus ? "true" : "false";
|
1726
1739
|
if (!update2.view.hasFocus) {
|
@@ -1757,20 +1770,19 @@ var floatingMenu = (options = {}) => [
|
|
1757
1770
|
}
|
1758
1771
|
this.rafId = requestAnimationFrame(this.updateButtonPosition.bind(this));
|
1759
1772
|
}
|
1760
|
-
destroy() {
|
1761
|
-
this.tag.remove();
|
1762
|
-
if (this.rafId != null) {
|
1763
|
-
cancelAnimationFrame(this.rafId);
|
1764
|
-
}
|
1765
|
-
}
|
1766
1773
|
}),
|
1767
1774
|
import_view10.EditorView.theme({
|
1768
1775
|
".cm-ref-tag": {
|
1769
1776
|
position: "fixed",
|
1770
1777
|
padding: "0",
|
1771
1778
|
border: "none",
|
1772
|
-
|
1773
|
-
|
1779
|
+
opacity: "0"
|
1780
|
+
},
|
1781
|
+
"[data-has-focus] & .cm-ref-tag": {
|
1782
|
+
opacity: "1"
|
1783
|
+
},
|
1784
|
+
"[data-is-attention-source] & .cm-ref-tag": {
|
1785
|
+
opacity: "1"
|
1774
1786
|
},
|
1775
1787
|
".cm-ref-tag button": {
|
1776
1788
|
display: "grid",
|
@@ -1778,9 +1790,6 @@ var floatingMenu = (options = {}) => [
|
|
1778
1790
|
justifyContent: "center",
|
1779
1791
|
width: "2rem",
|
1780
1792
|
height: "2rem"
|
1781
|
-
},
|
1782
|
-
'.cm-ref-tag[data-focused="true"]': {
|
1783
|
-
opacity: 1
|
1784
1793
|
}
|
1785
1794
|
})
|
1786
1795
|
];
|
@@ -1904,7 +1913,7 @@ var createEditorStateStore = (keyPrefix) => ({
|
|
1904
1913
|
}
|
1905
1914
|
});
|
1906
1915
|
var selectionState = ({ getState, setState } = {}) => {
|
1907
|
-
const setStateDebounced = (0,
|
1916
|
+
const setStateDebounced = (0, import_async5.debounce)(setState, 1e3);
|
1908
1917
|
return [
|
1909
1918
|
// TODO(burdon): Track scrolling (currently only updates when cursor moves).
|
1910
1919
|
// EditorView.domEventHandlers({
|
@@ -2185,7 +2194,7 @@ var createComment = (view) => {
|
|
2185
2194
|
var optionsFacet = singleValueFacet();
|
2186
2195
|
var comments = (options = {}) => {
|
2187
2196
|
const { key: shortcut = "meta-'" } = options;
|
2188
|
-
const handleSelect = (0,
|
2197
|
+
const handleSelect = (0, import_async4.debounce)((state) => options.onSelect?.(state), 200);
|
2189
2198
|
return [
|
2190
2199
|
optionsFacet.of(options),
|
2191
2200
|
options.id ? documentId.of(options.id) : void 0,
|
@@ -2823,11 +2832,51 @@ var folding = (_props = {}) => [
|
|
2823
2832
|
}
|
2824
2833
|
})
|
2825
2834
|
];
|
2835
|
+
var TagWidget = class extends import_view18.WidgetType {
|
2836
|
+
constructor(_text) {
|
2837
|
+
super(), this._text = _text;
|
2838
|
+
}
|
2839
|
+
toDOM() {
|
2840
|
+
const span = document.createElement("span");
|
2841
|
+
span.className = (0, import_react_ui_theme5.mx)("cm-tag", (0, import_react_ui_theme5.getHashColor)(this._text).tag);
|
2842
|
+
span.textContent = this._text;
|
2843
|
+
return span;
|
2844
|
+
}
|
2845
|
+
};
|
2846
|
+
var tagMatcher = new import_view18.MatchDecorator({
|
2847
|
+
regexp: /#(\w+)\W/g,
|
2848
|
+
decoration: (match) => import_view18.Decoration.replace({
|
2849
|
+
widget: new TagWidget(match[1])
|
2850
|
+
})
|
2851
|
+
});
|
2852
|
+
var hashtag = () => [
|
2853
|
+
import_view18.ViewPlugin.fromClass(class {
|
2854
|
+
constructor(view) {
|
2855
|
+
this.tags = tagMatcher.createDeco(view);
|
2856
|
+
}
|
2857
|
+
update(update2) {
|
2858
|
+
this.tags = tagMatcher.updateDeco(update2, this.tags);
|
2859
|
+
}
|
2860
|
+
}, {
|
2861
|
+
decorations: (instance) => instance.tags,
|
2862
|
+
provide: (plugin) => import_view18.EditorView.atomicRanges.of((view) => {
|
2863
|
+
return view.plugin(plugin)?.tags || import_view18.Decoration.none;
|
2864
|
+
})
|
2865
|
+
}),
|
2866
|
+
import_view18.EditorView.theme({
|
2867
|
+
".cm-tag": {
|
2868
|
+
borderRadius: "4px",
|
2869
|
+
marginRight: "6px",
|
2870
|
+
padding: "2px 6px"
|
2871
|
+
}
|
2872
|
+
})
|
2873
|
+
];
|
2826
2874
|
var createJsonExtensions = ({ schema } = {}) => {
|
2827
2875
|
let lintSource = (0, import_lang_json.jsonParseLinter)();
|
2828
2876
|
if (schema) {
|
2829
2877
|
const ajv = new import_ajv.default({
|
2830
|
-
allErrors: false
|
2878
|
+
allErrors: false,
|
2879
|
+
strict: false
|
2831
2880
|
});
|
2832
2881
|
const validate = ajv.compile(schema);
|
2833
2882
|
lintSource = schemaLinter(validate);
|
@@ -2864,11 +2913,11 @@ var schemaLinter = (validate) => (view) => {
|
|
2864
2913
|
};
|
2865
2914
|
var listener = ({ onFocus, onChange }) => {
|
2866
2915
|
const extensions = [];
|
2867
|
-
onFocus && extensions.push(
|
2916
|
+
onFocus && extensions.push(import_view19.EditorView.focusChangeEffect.of((_, focusing) => {
|
2868
2917
|
onFocus(focusing);
|
2869
2918
|
return null;
|
2870
2919
|
}));
|
2871
|
-
onChange && extensions.push(
|
2920
|
+
onChange && extensions.push(import_view19.EditorView.updateListener.of((update2) => {
|
2872
2921
|
onChange(update2.state.doc.toString(), update2.state.facet(documentId));
|
2873
2922
|
}));
|
2874
2923
|
return extensions;
|
@@ -3759,7 +3808,7 @@ var toggleCodeblock = (target) => {
|
|
3759
3808
|
};
|
3760
3809
|
var formattingKeymap = (_options = {}) => {
|
3761
3810
|
return [
|
3762
|
-
|
3811
|
+
import_view20.keymap.of([
|
3763
3812
|
{
|
3764
3813
|
key: "meta-b",
|
3765
3814
|
run: toggleStrong
|
@@ -3960,7 +4009,7 @@ var getFormatting = (state) => {
|
|
3960
4009
|
};
|
3961
4010
|
};
|
3962
4011
|
var useFormattingState = (state) => {
|
3963
|
-
return (0, import_react6.useMemo)(() =>
|
4012
|
+
return (0, import_react6.useMemo)(() => import_view20.EditorView.updateListener.of((update2) => {
|
3964
4013
|
if (update2.docChanged || update2.selectionSet) {
|
3965
4014
|
Object.entries(getFormatting(update2.state)).forEach(([key, active]) => {
|
3966
4015
|
state[key] = active;
|
@@ -4212,7 +4261,7 @@ var createMarkdownExtensions = (options = {}) => {
|
|
4212
4261
|
}),
|
4213
4262
|
// Custom styles.
|
4214
4263
|
(0, import_language5.syntaxHighlighting)(markdownHighlightStyle()),
|
4215
|
-
|
4264
|
+
import_view21.keymap.of([
|
4216
4265
|
// https://codemirror.net/docs/ref/#commands.indentWithTab
|
4217
4266
|
options.indentWithTab !== false && import_commands3.indentWithTab,
|
4218
4267
|
// https://codemirror.net/docs/ref/#commands.defaultKeymap
|
@@ -4246,7 +4295,7 @@ var convertTreeToJson = (state) => {
|
|
4246
4295
|
return treeToJson((0, import_language7.syntaxTree)(state).cursor());
|
4247
4296
|
};
|
4248
4297
|
var adjustChanges = () => {
|
4249
|
-
return
|
4298
|
+
return import_view23.ViewPlugin.fromClass(class {
|
4250
4299
|
update(update2) {
|
4251
4300
|
const tree = (0, import_language9.syntaxTree)(update2.state);
|
4252
4301
|
const adjustments = [];
|
@@ -4388,7 +4437,7 @@ var image = (_options = {}) => {
|
|
4388
4437
|
return [
|
4389
4438
|
import_state21.StateField.define({
|
4390
4439
|
create: (state) => {
|
4391
|
-
return
|
4440
|
+
return import_view24.Decoration.set(buildDecorations(0, state.doc.length, state));
|
4392
4441
|
},
|
4393
4442
|
update: (value, tr) => {
|
4394
4443
|
if (!tr.docChanged && !tr.selection) {
|
@@ -4411,7 +4460,7 @@ var image = (_options = {}) => {
|
|
4411
4460
|
add: buildDecorations(from, to, tr.state)
|
4412
4461
|
});
|
4413
4462
|
},
|
4414
|
-
provide: (field) =>
|
4463
|
+
provide: (field) => import_view24.EditorView.decorations.from(field)
|
4415
4464
|
})
|
4416
4465
|
];
|
4417
4466
|
};
|
@@ -4429,7 +4478,7 @@ var buildDecorations = (from, to, state) => {
|
|
4429
4478
|
return;
|
4430
4479
|
}
|
4431
4480
|
preloadImage(url);
|
4432
|
-
decorations2.push(
|
4481
|
+
decorations2.push(import_view24.Decoration.replace({
|
4433
4482
|
block: true,
|
4434
4483
|
widget: new ImageWidget(url)
|
4435
4484
|
}).range(hide2 ? node.from : node.to, node.to));
|
@@ -4449,7 +4498,7 @@ var preloadImage = (url) => {
|
|
4449
4498
|
preloaded.add(url);
|
4450
4499
|
}
|
4451
4500
|
};
|
4452
|
-
var ImageWidget = class extends
|
4501
|
+
var ImageWidget = class extends import_view24.WidgetType {
|
4453
4502
|
constructor(_url) {
|
4454
4503
|
super(), this._url = _url;
|
4455
4504
|
}
|
@@ -4470,7 +4519,7 @@ var ImageWidget = class extends import_view23.WidgetType {
|
|
4470
4519
|
};
|
4471
4520
|
var bulletListIndentationWidth = 24;
|
4472
4521
|
var orderedListIndentationWidth = 36;
|
4473
|
-
var formattingStyles =
|
4522
|
+
var formattingStyles = import_view25.EditorView.theme({
|
4474
4523
|
/**
|
4475
4524
|
* Horizontal rule.
|
4476
4525
|
*/
|
@@ -4592,7 +4641,7 @@ var table = (options = {}) => {
|
|
4592
4641
|
return import_state22.StateField.define({
|
4593
4642
|
create: (state) => update(state, options),
|
4594
4643
|
update: (_, tr) => update(tr.state, options),
|
4595
|
-
provide: (field) =>
|
4644
|
+
provide: (field) => import_view26.EditorView.decorations.from(field)
|
4596
4645
|
});
|
4597
4646
|
};
|
4598
4647
|
var update = (state, _options) => {
|
@@ -4637,19 +4686,19 @@ var update = (state, _options) => {
|
|
4637
4686
|
tables.forEach((table2) => {
|
4638
4687
|
const replace = state.readOnly || cursor < table2.from || cursor > table2.to;
|
4639
4688
|
if (replace) {
|
4640
|
-
builder.add(table2.from, table2.to,
|
4689
|
+
builder.add(table2.from, table2.to, import_view26.Decoration.replace({
|
4641
4690
|
block: true,
|
4642
4691
|
widget: new TableWidget(table2)
|
4643
4692
|
}));
|
4644
4693
|
} else {
|
4645
|
-
builder.add(table2.from, table2.to,
|
4694
|
+
builder.add(table2.from, table2.to, import_view26.Decoration.mark({
|
4646
4695
|
class: "cm-table"
|
4647
4696
|
}));
|
4648
4697
|
}
|
4649
4698
|
});
|
4650
4699
|
return builder.finish();
|
4651
4700
|
};
|
4652
|
-
var TableWidget = class extends
|
4701
|
+
var TableWidget = class extends import_view26.WidgetType {
|
4653
4702
|
constructor(_table) {
|
4654
4703
|
super(), this._table = _table;
|
4655
4704
|
}
|
@@ -4688,14 +4737,14 @@ var Unicode = {
|
|
4688
4737
|
bulletSmall: "\u2219",
|
4689
4738
|
bulletSquare: "\u2B1D"
|
4690
4739
|
};
|
4691
|
-
var HorizontalRuleWidget = class extends
|
4740
|
+
var HorizontalRuleWidget = class extends import_view22.WidgetType {
|
4692
4741
|
toDOM() {
|
4693
4742
|
const el = document.createElement("span");
|
4694
4743
|
el.className = "cm-hr";
|
4695
4744
|
return el;
|
4696
4745
|
}
|
4697
4746
|
};
|
4698
|
-
var LinkButton = class extends
|
4747
|
+
var LinkButton = class extends import_view22.WidgetType {
|
4699
4748
|
constructor(url, render) {
|
4700
4749
|
super(), this.url = url, this.render = render;
|
4701
4750
|
}
|
@@ -4711,7 +4760,7 @@ var LinkButton = class extends import_view21.WidgetType {
|
|
4711
4760
|
return el;
|
4712
4761
|
}
|
4713
4762
|
};
|
4714
|
-
var CheckboxWidget = class extends
|
4763
|
+
var CheckboxWidget = class extends import_view22.WidgetType {
|
4715
4764
|
constructor(_checked) {
|
4716
4765
|
super(), this._checked = _checked;
|
4717
4766
|
}
|
@@ -4755,7 +4804,7 @@ var CheckboxWidget = class extends import_view21.WidgetType {
|
|
4755
4804
|
return false;
|
4756
4805
|
}
|
4757
4806
|
};
|
4758
|
-
var TextWidget = class extends
|
4807
|
+
var TextWidget = class extends import_view22.WidgetType {
|
4759
4808
|
constructor(text, className) {
|
4760
4809
|
super(), this.text = text, this.className = className;
|
4761
4810
|
}
|
@@ -4768,29 +4817,29 @@ var TextWidget = class extends import_view21.WidgetType {
|
|
4768
4817
|
return el;
|
4769
4818
|
}
|
4770
4819
|
};
|
4771
|
-
var hide =
|
4772
|
-
var blockQuote =
|
4820
|
+
var hide = import_view22.Decoration.replace({});
|
4821
|
+
var blockQuote = import_view22.Decoration.line({
|
4773
4822
|
class: "cm-blockquote"
|
4774
4823
|
});
|
4775
|
-
var fencedCodeLine =
|
4824
|
+
var fencedCodeLine = import_view22.Decoration.line({
|
4776
4825
|
class: "cm-code cm-codeblock-line"
|
4777
4826
|
});
|
4778
|
-
var fencedCodeLineFirst =
|
4779
|
-
class: (0,
|
4827
|
+
var fencedCodeLineFirst = import_view22.Decoration.line({
|
4828
|
+
class: (0, import_react_ui_theme6.mx)("cm-code cm-codeblock-line", "cm-codeblock-start")
|
4780
4829
|
});
|
4781
|
-
var fencedCodeLineLast =
|
4782
|
-
class: (0,
|
4830
|
+
var fencedCodeLineLast = import_view22.Decoration.line({
|
4831
|
+
class: (0, import_react_ui_theme6.mx)("cm-code cm-codeblock-line", "cm-codeblock-end")
|
4783
4832
|
});
|
4784
4833
|
var commentBlockLine = fencedCodeLine;
|
4785
4834
|
var commentBlockLineFirst = fencedCodeLineFirst;
|
4786
4835
|
var commentBlockLineLast = fencedCodeLineLast;
|
4787
|
-
var horizontalRule =
|
4836
|
+
var horizontalRule = import_view22.Decoration.replace({
|
4788
4837
|
widget: new HorizontalRuleWidget()
|
4789
4838
|
});
|
4790
|
-
var checkedTask =
|
4839
|
+
var checkedTask = import_view22.Decoration.replace({
|
4791
4840
|
widget: new CheckboxWidget(true)
|
4792
4841
|
});
|
4793
|
-
var uncheckedTask =
|
4842
|
+
var uncheckedTask = import_view22.Decoration.replace({
|
4794
4843
|
widget: new CheckboxWidget(false)
|
4795
4844
|
});
|
4796
4845
|
var editingRange = (state, range, focus2) => {
|
@@ -4894,7 +4943,7 @@ var buildDecorations2 = (view, options, focus2) => {
|
|
4894
4943
|
} else {
|
4895
4944
|
const num = headers.slice(from - 1).map((level2) => level2?.number ?? 0).join(".") + " ";
|
4896
4945
|
if (num.length) {
|
4897
|
-
atomicDeco.add(mark.from, mark.from + len,
|
4946
|
+
atomicDeco.add(mark.from, mark.from + len, import_view22.Decoration.replace({
|
4898
4947
|
widget: new TextWidget(num, theme.heading(level))
|
4899
4948
|
}));
|
4900
4949
|
}
|
@@ -4919,7 +4968,7 @@ var buildDecorations2 = (view, options, focus2) => {
|
|
4919
4968
|
if (node.from === line.to - 1) {
|
4920
4969
|
return false;
|
4921
4970
|
}
|
4922
|
-
deco.add(line.from, line.from,
|
4971
|
+
deco.add(line.from, line.from, import_view22.Decoration.line({
|
4923
4972
|
class: "cm-list-item",
|
4924
4973
|
attributes: {
|
4925
4974
|
style: `padding-left: ${offset}px; text-indent: -${width}px;`
|
@@ -4936,7 +4985,7 @@ var buildDecorations2 = (view, options, focus2) => {
|
|
4936
4985
|
const label = list.type === "OrderedList" ? `${++list.number}.` : Unicode.bulletSmall;
|
4937
4986
|
const line = state.doc.lineAt(node.from);
|
4938
4987
|
const to = state.doc.sliceString(node.to, node.to + 1) === " " ? node.to + 1 : node.to;
|
4939
|
-
atomicDeco.add(line.from, to,
|
4988
|
+
atomicDeco.add(line.from, to, import_view22.Decoration.replace({
|
4940
4989
|
widget: new TextWidget(label, list.type === "OrderedList" ? "cm-list-mark cm-list-mark-ordered" : "cm-list-mark cm-list-mark-bullet")
|
4941
4990
|
}));
|
4942
4991
|
break;
|
@@ -5023,7 +5072,7 @@ var buildDecorations2 = (view, options, focus2) => {
|
|
5023
5072
|
if (!editing) {
|
5024
5073
|
atomicDeco.add(node.from, marks[0].to, hide);
|
5025
5074
|
}
|
5026
|
-
deco.add(marks[0].to, marks[1].from,
|
5075
|
+
deco.add(marks[0].to, marks[1].from, import_view22.Decoration.mark({
|
5027
5076
|
tagName: "a",
|
5028
5077
|
attributes: {
|
5029
5078
|
class: "cm-link",
|
@@ -5033,7 +5082,7 @@ var buildDecorations2 = (view, options, focus2) => {
|
|
5033
5082
|
}
|
5034
5083
|
}));
|
5035
5084
|
if (!editing) {
|
5036
|
-
atomicDeco.add(marks[1].from, node.to, options.renderLinkButton ?
|
5085
|
+
atomicDeco.add(marks[1].from, node.to, options.renderLinkButton ? import_view22.Decoration.replace({
|
5037
5086
|
widget: new LinkButton(url, options.renderLinkButton)
|
5038
5087
|
}) : hide);
|
5039
5088
|
}
|
@@ -5091,7 +5140,7 @@ var buildDecorations2 = (view, options, focus2) => {
|
|
5091
5140
|
var forceUpdate = import_state19.StateEffect.define();
|
5092
5141
|
var decorateMarkdown = (options = {}) => {
|
5093
5142
|
return [
|
5094
|
-
|
5143
|
+
import_view22.ViewPlugin.fromClass(class {
|
5095
5144
|
constructor(view) {
|
5096
5145
|
({ deco: this.deco, atomicDeco: this.atomicDeco } = buildDecorations2(view, options, view.hasFocus));
|
5097
5146
|
}
|
@@ -5123,9 +5172,9 @@ var decorateMarkdown = (options = {}) => {
|
|
5123
5172
|
}
|
5124
5173
|
}, {
|
5125
5174
|
provide: (plugin) => [
|
5126
|
-
|
5127
|
-
|
5128
|
-
|
5175
|
+
import_view22.EditorView.atomicRanges.of((view) => view.plugin(plugin)?.atomicDeco ?? import_view22.Decoration.none),
|
5176
|
+
import_view22.EditorView.decorations.of((view) => view.plugin(plugin)?.atomicDeco ?? import_view22.Decoration.none),
|
5177
|
+
import_view22.EditorView.decorations.of((view) => view.plugin(plugin)?.deco ?? import_view22.Decoration.none)
|
5129
5178
|
]
|
5130
5179
|
}),
|
5131
5180
|
image(),
|
@@ -5135,7 +5184,7 @@ var decorateMarkdown = (options = {}) => {
|
|
5135
5184
|
];
|
5136
5185
|
};
|
5137
5186
|
var linkTooltip = (renderTooltip) => {
|
5138
|
-
return (0,
|
5187
|
+
return (0, import_view27.hoverTooltip)((view, pos, side) => {
|
5139
5188
|
const syntax = (0, import_language12.syntaxTree)(view.state).resolveInner(pos, side);
|
5140
5189
|
let link = null;
|
5141
5190
|
for (let i = 0, node = syntax; !link && node && i < 5; node = node.parent, i++) {
|
@@ -5153,7 +5202,7 @@ var linkTooltip = (renderTooltip) => {
|
|
5153
5202
|
// above: true,
|
5154
5203
|
create: () => {
|
5155
5204
|
const el = document.createElement("div");
|
5156
|
-
el.className = (0,
|
5205
|
+
el.className = (0, import_react_ui_theme7.tooltipContent)({});
|
5157
5206
|
renderTooltip(el, {
|
5158
5207
|
url: urlText
|
5159
5208
|
}, view);
|
@@ -5225,7 +5274,7 @@ var InputModeExtensions = {
|
|
5225
5274
|
editorInputMode.of({
|
5226
5275
|
type: "vscode"
|
5227
5276
|
}),
|
5228
|
-
|
5277
|
+
import_view28.keymap.of(import_codemirror_vscode_keymap.vscodeKeymap)
|
5229
5278
|
],
|
5230
5279
|
vim: [
|
5231
5280
|
// https://github.com/replit/codemirror-vim
|
@@ -5234,7 +5283,7 @@ var InputModeExtensions = {
|
|
5234
5283
|
type: "vim",
|
5235
5284
|
noTabster: true
|
5236
5285
|
}),
|
5237
|
-
|
5286
|
+
import_view28.keymap.of([
|
5238
5287
|
{
|
5239
5288
|
key: "Alt-Escape",
|
5240
5289
|
run: (view) => {
|
@@ -5693,7 +5742,7 @@ var toggleTask = (view) => {
|
|
5693
5742
|
}
|
5694
5743
|
return true;
|
5695
5744
|
};
|
5696
|
-
var commands = () =>
|
5745
|
+
var commands = () => import_view29.keymap.of([
|
5697
5746
|
//
|
5698
5747
|
// Indentation.
|
5699
5748
|
//
|
@@ -5800,7 +5849,7 @@ var commands = () => import_view28.keymap.of([
|
|
5800
5849
|
var __dxlog_file12 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-editor/src/extensions/outliner/editor.ts";
|
5801
5850
|
var LIST_ITEM_REGEX = /^\s*- (\[ \]|\[x\])? /;
|
5802
5851
|
var initialize = () => {
|
5803
|
-
return
|
5852
|
+
return import_view31.ViewPlugin.fromClass(class {
|
5804
5853
|
constructor(view) {
|
5805
5854
|
const first = view.state.doc.lineAt(0);
|
5806
5855
|
const text = view.state.sliceDoc(first.from, first.to);
|
@@ -5993,20 +6042,20 @@ var outliner = (options = {}) => [
|
|
5993
6042
|
// Floating menu.
|
5994
6043
|
floatingMenu(),
|
5995
6044
|
// Line decorations.
|
5996
|
-
decorations(
|
6045
|
+
decorations(),
|
5997
6046
|
// Default markdown decorations.
|
5998
6047
|
decorateMarkdown({
|
5999
6048
|
listPaddingLeft: 8
|
6000
6049
|
}),
|
6001
6050
|
// Researve space for menu.
|
6002
|
-
|
6051
|
+
import_view30.EditorView.contentAttributes.of({
|
6003
6052
|
class: "is-full !mr-[3rem]"
|
6004
6053
|
})
|
6005
6054
|
];
|
6006
|
-
var decorations = (
|
6007
|
-
|
6055
|
+
var decorations = () => [
|
6056
|
+
import_view30.ViewPlugin.fromClass(class {
|
6008
6057
|
constructor(view) {
|
6009
|
-
this.decorations =
|
6058
|
+
this.decorations = import_view30.Decoration.none;
|
6010
6059
|
this.updateDecorations(view.state, view);
|
6011
6060
|
}
|
6012
6061
|
update(update2) {
|
@@ -6028,18 +6077,18 @@ var decorations = (options) => [
|
|
6028
6077
|
const lineFrom = doc.lineAt(item.contentRange.from);
|
6029
6078
|
const lineTo = doc.lineAt(item.contentRange.to);
|
6030
6079
|
const isSelected = selection.includes(item.index) || item === current;
|
6031
|
-
decorations2.push(
|
6032
|
-
class: (0,
|
6080
|
+
decorations2.push(import_view30.Decoration.line({
|
6081
|
+
class: (0, import_react_ui_theme8.mx)("cm-list-item", lineFrom.number === line.number && "cm-list-item-start", lineTo.number === line.number && "cm-list-item-end", isSelected && (hasFocus ? "cm-list-item-focused" : "cm-list-item-selected"))
|
6033
6082
|
}).range(line.from, line.from));
|
6034
6083
|
}
|
6035
6084
|
}
|
6036
|
-
this.decorations =
|
6085
|
+
this.decorations = import_view30.Decoration.set(decorations2);
|
6037
6086
|
}
|
6038
6087
|
}, {
|
6039
6088
|
decorations: (v) => v.decorations
|
6040
6089
|
}),
|
6041
6090
|
// Theme.
|
6042
|
-
|
6091
|
+
import_view30.EditorView.theme(Object.assign({
|
6043
6092
|
".cm-list-item": {
|
6044
6093
|
borderLeftWidth: "1px",
|
6045
6094
|
borderRightWidth: "1px",
|
@@ -6063,11 +6112,14 @@ var decorations = (options) => [
|
|
6063
6112
|
paddingBottom: "4px",
|
6064
6113
|
marginBottom: "2px"
|
6065
6114
|
},
|
6066
|
-
".cm-list-item-selected": {
|
6067
|
-
borderColor: options.showSelected ? "var(--dx-separator)" : void 0
|
6068
|
-
},
|
6069
6115
|
".cm-list-item-focused": {
|
6070
6116
|
borderColor: "var(--dx-accentFocusIndicator)"
|
6117
|
+
},
|
6118
|
+
"[data-has-focus] & .cm-list-item-selected": {
|
6119
|
+
borderColor: "var(--dx-separator)"
|
6120
|
+
},
|
6121
|
+
"[data-is-attention-source] & .cm-list-item-selected": {
|
6122
|
+
borderColor: "var(--dx-separator)"
|
6071
6123
|
}
|
6072
6124
|
}))
|
6073
6125
|
];
|
@@ -6079,11 +6131,11 @@ var preview = (options = {}) => {
|
|
6079
6131
|
create: (state) => buildDecorations3(state, options),
|
6080
6132
|
update: (_, tr) => buildDecorations3(tr.state, options),
|
6081
6133
|
provide: (field) => [
|
6082
|
-
|
6083
|
-
|
6134
|
+
import_view32.EditorView.decorations.from(field),
|
6135
|
+
import_view32.EditorView.atomicRanges.of((view) => view.state.field(field))
|
6084
6136
|
]
|
6085
6137
|
}),
|
6086
|
-
|
6138
|
+
import_view32.EditorView.theme({
|
6087
6139
|
".cm-preview-block": {
|
6088
6140
|
marginLeft: "-1rem",
|
6089
6141
|
marginRight: "-1rem",
|
@@ -6120,7 +6172,7 @@ var buildDecorations3 = (state, options) => {
|
|
6120
6172
|
case "Link": {
|
6121
6173
|
const link = getLinkRef(state, node.node);
|
6122
6174
|
if (link) {
|
6123
|
-
builder.add(node.from, node.to,
|
6175
|
+
builder.add(node.from, node.to, import_view32.Decoration.replace({
|
6124
6176
|
widget: new PreviewInlineWidget(options, link)
|
6125
6177
|
}));
|
6126
6178
|
}
|
@@ -6133,7 +6185,7 @@ var buildDecorations3 = (state, options) => {
|
|
6133
6185
|
case "Image": {
|
6134
6186
|
const link = getLinkRef(state, node.node);
|
6135
6187
|
if (options.renderBlock && link) {
|
6136
|
-
builder.add(node.from, node.to,
|
6188
|
+
builder.add(node.from, node.to, import_view32.Decoration.replace({
|
6137
6189
|
block: true,
|
6138
6190
|
// atomic: true,
|
6139
6191
|
widget: new PreviewBlockWidget(options, link)
|
@@ -6146,7 +6198,7 @@ var buildDecorations3 = (state, options) => {
|
|
6146
6198
|
});
|
6147
6199
|
return builder.finish();
|
6148
6200
|
};
|
6149
|
-
var PreviewInlineWidget = class extends
|
6201
|
+
var PreviewInlineWidget = class extends import_view32.WidgetType {
|
6150
6202
|
constructor(_options, _link) {
|
6151
6203
|
super(), this._options = _options, this._link = _link;
|
6152
6204
|
}
|
@@ -6163,7 +6215,7 @@ var PreviewInlineWidget = class extends import_view31.WidgetType {
|
|
6163
6215
|
return root;
|
6164
6216
|
}
|
6165
6217
|
};
|
6166
|
-
var PreviewBlockWidget = class extends
|
6218
|
+
var PreviewBlockWidget = class extends import_view32.WidgetType {
|
6167
6219
|
constructor(_options, _link) {
|
6168
6220
|
super(), this._options = _options, this._link = _link;
|
6169
6221
|
}
|
@@ -6229,7 +6281,7 @@ var typewriter = ({ delay = 75, items = defaultItems } = {}) => {
|
|
6229
6281
|
let t;
|
6230
6282
|
let idx = 0;
|
6231
6283
|
return [
|
6232
|
-
|
6284
|
+
import_view33.keymap.of([
|
6233
6285
|
{
|
6234
6286
|
// Reset.
|
6235
6287
|
key: "alt-meta-'",
|
@@ -6565,19 +6617,19 @@ var editorSlots = {
|
|
6565
6617
|
className: editorWidth
|
6566
6618
|
}
|
6567
6619
|
};
|
6568
|
-
var editorGutter =
|
6620
|
+
var editorGutter = import_view34.EditorView.theme({
|
6569
6621
|
".cm-gutters": {
|
6570
6622
|
paddingRight: "1rem"
|
6571
6623
|
}
|
6572
6624
|
});
|
6573
|
-
var editorMonospace =
|
6625
|
+
var editorMonospace = import_view34.EditorView.theme({
|
6574
6626
|
".cm-content": {
|
6575
6627
|
fontFamily: fontMono
|
6576
6628
|
}
|
6577
6629
|
});
|
6578
6630
|
var editorWithToolbarLayout = "grid grid-cols-1 grid-rows-[min-content_1fr] data-[toolbar=disabled]:grid-rows-[1fr] justify-center content-start overflow-hidden";
|
6579
|
-
var stackItemContentEditorClassNames = (role) => (0,
|
6580
|
-
var stackItemContentToolbarClassNames = (role) => (0,
|
6631
|
+
var stackItemContentEditorClassNames = (role) => (0, import_react_ui_theme9.mx)("attention-surface dx-focus-ring-inset data-[toolbar=disabled]:pbs-2", role === "section" ? "[&_.cm-scroller]:overflow-hidden [&_.cm-scroller]:min-bs-24" : "min-bs-0");
|
6632
|
+
var stackItemContentToolbarClassNames = (role) => (0, import_react_ui_theme9.mx)("relative z-[1] flex is-full bg-toolbarSurface border-be border-subduedSeparator", role === "section" && "sticky block-start-0 -mbe-px min-is-0");
|
6581
6633
|
var createToolbar = ({ getView, state, customActions, ...features }) => {
|
6582
6634
|
return import_rx_react.Rx.make((get2) => {
|
6583
6635
|
const nodes = [];
|
@@ -6716,7 +6768,7 @@ var RefPopoverProvider = ({ children, onLookup }) => {
|
|
6716
6768
|
onLookup
|
6717
6769
|
]);
|
6718
6770
|
(0, import_react7.useEffect)(() => {
|
6719
|
-
return rootRef ? (0,
|
6771
|
+
return rootRef ? (0, import_async6.addEventListener)(rootRef, "dx-ref-tag-activate", handleDxRefTagActivate, customEventOptions) : void 0;
|
6720
6772
|
}, [
|
6721
6773
|
rootRef
|
6722
6774
|
]);
|
@@ -6778,7 +6830,7 @@ var RefDropdownMenuProvider = ({ children, onLookup }) => {
|
|
6778
6830
|
onLookup
|
6779
6831
|
]);
|
6780
6832
|
(0, import_react8.useEffect)(() => {
|
6781
|
-
return rootRef ? (0,
|
6833
|
+
return rootRef ? (0, import_async7.addEventListener)(rootRef, "dx-ref-tag-activate", handleDxRefTagActivate, customEventOptions2) : void 0;
|
6782
6834
|
}, [
|
6783
6835
|
rootRef
|
6784
6836
|
]);
|
@@ -6842,7 +6894,7 @@ var useTextEditor = (props = {}, deps = []) => {
|
|
6842
6894
|
id && documentId.of(id),
|
6843
6895
|
extensions,
|
6844
6896
|
// NOTE: This doesn't catch errors in keymap functions.
|
6845
|
-
|
6897
|
+
import_view35.EditorView.exceptionSink.of((err) => {
|
6846
6898
|
import_log8.log.catch(err, void 0, {
|
6847
6899
|
F: __dxlog_file13,
|
6848
6900
|
L: 98,
|
@@ -6852,10 +6904,10 @@ var useTextEditor = (props = {}, deps = []) => {
|
|
6852
6904
|
})
|
6853
6905
|
].filter(import_util6.isNotFalsy)
|
6854
6906
|
});
|
6855
|
-
view2 = new
|
6907
|
+
view2 = new import_view35.EditorView({
|
6856
6908
|
parent: parentRef.current,
|
6857
6909
|
state,
|
6858
|
-
scrollTo: scrollTo ?
|
6910
|
+
scrollTo: scrollTo ? import_view35.EditorView.scrollIntoView(scrollTo, {
|
6859
6911
|
yMargin: 96
|
6860
6912
|
}) : void 0,
|
6861
6913
|
dispatchTransactions: debug ? debugDispatcher : void 0
|
@@ -7026,6 +7078,7 @@ var useTextEditor = (props = {}, deps = []) => {
|
|
7026
7078
|
getFormatting,
|
7027
7079
|
getListItemContent,
|
7028
7080
|
getRange,
|
7081
|
+
hashtag,
|
7029
7082
|
image,
|
7030
7083
|
indentItemLess,
|
7031
7084
|
indentItemMore,
|