@dxos/react-ui-editor 0.3.10-main.c5193cc → 0.3.10-main.cbe7692
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 +38 -45
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/components/TextEditor/MarkdownEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TextEditor/TextEditor.d.ts.map +1 -1
- package/dist/types/src/components/TextEditor/extensions/blast.d.ts.map +1 -1
- package/dist/types/src/components/TextEditor/extensions/comments.d.ts +1 -1
- package/dist/types/src/components/TextEditor/extensions/comments.d.ts.map +1 -1
- package/dist/types/src/components/TextEditor/extensions/markdown/bundle.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/components/TextEditor/MarkdownEditor.stories.tsx +0 -3
- package/src/components/TextEditor/TextEditor.tsx +22 -3
- package/src/components/TextEditor/extensions/blast.ts +1 -13
- package/src/components/TextEditor/extensions/comments.ts +7 -8
- package/src/components/TextEditor/extensions/image.ts +5 -4
- package/src/components/TextEditor/extensions/link.ts +0 -1
- package/src/components/TextEditor/extensions/markdown/bundle.ts +15 -18
|
@@ -61,7 +61,6 @@ import defaultsDeep from "lodash.defaultsdeep";
|
|
|
61
61
|
import { invariant } from "@dxos/invariant";
|
|
62
62
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/ui/react-ui-editor/src/components/TextEditor/extensions/blast.ts";
|
|
63
63
|
var defaultOptions = {
|
|
64
|
-
effect: 2,
|
|
65
64
|
maxParticles: 200,
|
|
66
65
|
particleGravity: 0.08,
|
|
67
66
|
particleAlphaFadeout: 0.996,
|
|
@@ -109,15 +108,7 @@ var blast = (options) => {
|
|
|
109
108
|
if (blaster) {
|
|
110
109
|
blaster.destroy();
|
|
111
110
|
}
|
|
112
|
-
blaster = new Blaster(update4.view.scrollDOM, defaultsDeep({
|
|
113
|
-
particleGravity: 0.2,
|
|
114
|
-
particleShrinkRate: 0.995,
|
|
115
|
-
color: () => [
|
|
116
|
-
100 + Math.random() * 100,
|
|
117
|
-
0,
|
|
118
|
-
0
|
|
119
|
-
]
|
|
120
|
-
}, options, defaultOptions));
|
|
111
|
+
blaster = new Blaster(update4.view.scrollDOM, defaultsDeep({}, options, defaultOptions));
|
|
121
112
|
blaster.initialize();
|
|
122
113
|
blaster.start();
|
|
123
114
|
} else {
|
|
@@ -201,7 +192,7 @@ var Blaster = class {
|
|
|
201
192
|
initialize() {
|
|
202
193
|
invariant(!this._canvas && !this._ctx, void 0, {
|
|
203
194
|
F: __dxlog_file,
|
|
204
|
-
L:
|
|
195
|
+
L: 140,
|
|
205
196
|
S: this,
|
|
206
197
|
A: [
|
|
207
198
|
"!this._canvas && !this._ctx",
|
|
@@ -238,7 +229,7 @@ var Blaster = class {
|
|
|
238
229
|
start() {
|
|
239
230
|
invariant(this._canvas && this._ctx, void 0, {
|
|
240
231
|
F: __dxlog_file,
|
|
241
|
-
L:
|
|
232
|
+
L: 179,
|
|
242
233
|
S: this,
|
|
243
234
|
A: [
|
|
244
235
|
"this._canvas && this._ctx",
|
|
@@ -442,11 +433,10 @@ import { debounce } from "@dxos/async";
|
|
|
442
433
|
import { invariant as invariant2 } from "@dxos/invariant";
|
|
443
434
|
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-editor/src/components/TextEditor/extensions/comments.ts";
|
|
444
435
|
var BookmarkWidget = class extends WidgetType {
|
|
445
|
-
constructor(_pos, _id
|
|
436
|
+
constructor(_pos, _id) {
|
|
446
437
|
super();
|
|
447
438
|
this._pos = _pos;
|
|
448
439
|
this._id = _id;
|
|
449
|
-
this._handleClick = _handleClick;
|
|
450
440
|
invariant2(this._id, void 0, {
|
|
451
441
|
F: __dxlog_file2,
|
|
452
442
|
L: 41,
|
|
@@ -464,7 +454,6 @@ var BookmarkWidget = class extends WidgetType {
|
|
|
464
454
|
const span = document.createElement("span");
|
|
465
455
|
span.className = "cm-bookmark";
|
|
466
456
|
span.textContent = "\u{1F4AC}";
|
|
467
|
-
span.onclick = () => this._handleClick();
|
|
468
457
|
return span;
|
|
469
458
|
}
|
|
470
459
|
};
|
|
@@ -487,9 +476,7 @@ var comments = (options = {}) => {
|
|
|
487
476
|
const id = match[1];
|
|
488
477
|
return Decoration.replace({
|
|
489
478
|
id,
|
|
490
|
-
widget: new BookmarkWidget(pos, id
|
|
491
|
-
active: id
|
|
492
|
-
}))
|
|
479
|
+
widget: new BookmarkWidget(pos, id)
|
|
493
480
|
});
|
|
494
481
|
}
|
|
495
482
|
});
|
|
@@ -506,7 +493,7 @@ var comments = (options = {}) => {
|
|
|
506
493
|
return view.plugin(plugin)?.bookmarks || Decoration.none;
|
|
507
494
|
})
|
|
508
495
|
});
|
|
509
|
-
const
|
|
496
|
+
const doUpdate = debounce((data) => {
|
|
510
497
|
options.onUpdate?.(data);
|
|
511
498
|
}, 200);
|
|
512
499
|
return [
|
|
@@ -545,13 +532,10 @@ var comments = (options = {}) => {
|
|
|
545
532
|
const decorations = [];
|
|
546
533
|
const rangeSet = view.plugin(bookmarks)?.bookmarks;
|
|
547
534
|
let closest = Infinity;
|
|
548
|
-
const { from, to } =
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
to: view.state.doc.length
|
|
553
|
-
}
|
|
554
|
-
);
|
|
535
|
+
const { from, to } = view.visibleRanges?.[0] ?? {
|
|
536
|
+
from: 0,
|
|
537
|
+
to: view.state.doc.length
|
|
538
|
+
};
|
|
555
539
|
rangeSet?.between(from, to, (from2, to2, value) => {
|
|
556
540
|
decorations.push({
|
|
557
541
|
from: from2,
|
|
@@ -565,7 +549,7 @@ var comments = (options = {}) => {
|
|
|
565
549
|
}
|
|
566
550
|
});
|
|
567
551
|
if (decorations.length) {
|
|
568
|
-
|
|
552
|
+
doUpdate({
|
|
569
553
|
active,
|
|
570
554
|
items: decorations.map(({ from: from2, value: { spec: { id } } }) => ({
|
|
571
555
|
id,
|
|
@@ -592,15 +576,13 @@ var image = (options = {}) => {
|
|
|
592
576
|
};
|
|
593
577
|
var update = (state, options) => {
|
|
594
578
|
const builder = new RangeSetBuilder();
|
|
595
|
-
const cursor = state.selection.main.head;
|
|
596
579
|
syntaxTree(state).iterate({
|
|
597
580
|
enter: (node) => {
|
|
598
581
|
if (node.name === "Image") {
|
|
599
582
|
const urlNode = node.node.getChild("URL");
|
|
600
583
|
if (urlNode) {
|
|
601
|
-
const hide = state.readOnly || cursor < node.from || cursor > node.to;
|
|
602
584
|
const url = state.sliceDoc(urlNode.from, urlNode.to);
|
|
603
|
-
builder.add(
|
|
585
|
+
builder.add(state.readOnly ? node.from : node.to, node.to, Decoration2.widget({
|
|
604
586
|
widget: new ImageWidget(url)
|
|
605
587
|
}));
|
|
606
588
|
}
|
|
@@ -728,7 +710,7 @@ var listener = ({ onChange }) => {
|
|
|
728
710
|
|
|
729
711
|
// packages/ui/react-ui-editor/src/components/TextEditor/extensions/markdown/bundle.ts
|
|
730
712
|
import { closeBrackets as closeBrackets2, closeBracketsKeymap } from "@codemirror/autocomplete";
|
|
731
|
-
import { history, historyKeymap, indentWithTab
|
|
713
|
+
import { defaultKeymap, history, historyKeymap, indentWithTab } from "@codemirror/commands";
|
|
732
714
|
import { markdownLanguage as markdownLanguage2, markdown } from "@codemirror/lang-markdown";
|
|
733
715
|
import { bracketMatching as bracketMatching2, defaultHighlightStyle as defaultHighlightStyle2, indentOnInput, syntaxHighlighting as syntaxHighlighting2 } from "@codemirror/language";
|
|
734
716
|
import { languages } from "@codemirror/language-data";
|
|
@@ -973,7 +955,19 @@ var markdownBundle = ({ readonly, themeMode, placeholder: _placeholder }) => {
|
|
|
973
955
|
history(),
|
|
974
956
|
indentOnInput(),
|
|
975
957
|
rectangularSelection(),
|
|
976
|
-
|
|
958
|
+
// https://codemirror.net/docs/ref/#view.keymap
|
|
959
|
+
keymap5.of([
|
|
960
|
+
// https://codemirror.net/docs/ref/#commands.defaultKeymap
|
|
961
|
+
...defaultKeymap,
|
|
962
|
+
// https://codemirror.net/docs/ref/#commands.historyKeymap
|
|
963
|
+
...historyKeymap,
|
|
964
|
+
// https://codemirror.net/docs/ref/#autocomplete.closeBracketsKeymap
|
|
965
|
+
...closeBracketsKeymap,
|
|
966
|
+
// https://codemirror.net/docs/ref/#search.searchKeymap
|
|
967
|
+
...searchKeymap,
|
|
968
|
+
// https://codemirror.net/docs/ref/#commands.indentWithTab
|
|
969
|
+
indentWithTab
|
|
970
|
+
]),
|
|
977
971
|
// Main extension.
|
|
978
972
|
// https://github.com/codemirror/lang-markdown
|
|
979
973
|
// https://codemirror.net/5/mode/markdown/index.html (demo).
|
|
@@ -988,7 +982,7 @@ var markdownBundle = ({ readonly, themeMode, placeholder: _placeholder }) => {
|
|
|
988
982
|
codeLanguages: languages,
|
|
989
983
|
// Parser extensions.
|
|
990
984
|
extensions: [
|
|
991
|
-
// GFM
|
|
985
|
+
// GFM, // TODO(burdon): Provided by default?
|
|
992
986
|
markdownTagsExtension
|
|
993
987
|
]
|
|
994
988
|
}),
|
|
@@ -998,18 +992,6 @@ var markdownBundle = ({ readonly, themeMode, placeholder: _placeholder }) => {
|
|
|
998
992
|
syntaxHighlighting2(markdownHighlightStyle(readonly))
|
|
999
993
|
].filter(Boolean);
|
|
1000
994
|
};
|
|
1001
|
-
var customkeymap = () => keymap5.of([
|
|
1002
|
-
// https://codemirror.net/docs/ref/#commands.indentWithTab
|
|
1003
|
-
indentWithTab,
|
|
1004
|
-
// https://codemirror.net/docs/ref/#commands.standardKeymap
|
|
1005
|
-
...standardKeymap,
|
|
1006
|
-
// https://codemirror.net/docs/ref/#commands.historyKeymap
|
|
1007
|
-
...historyKeymap,
|
|
1008
|
-
// https://codemirror.net/docs/ref/#autocomplete.closeBracketsKeymap
|
|
1009
|
-
...closeBracketsKeymap,
|
|
1010
|
-
// https://codemirror.net/docs/ref/#search.searchKeymap
|
|
1011
|
-
...searchKeymap
|
|
1012
|
-
]);
|
|
1013
995
|
|
|
1014
996
|
// packages/ui/react-ui-editor/src/components/TextEditor/extensions/mention.ts
|
|
1015
997
|
import { autocompletion as autocompletion2 } from "@codemirror/autocomplete";
|
|
@@ -1578,6 +1560,15 @@ var BaseTextEditor = /* @__PURE__ */ forwardRef(({ model, readonly, editorMode,
|
|
|
1578
1560
|
onKeyUp: handleKeyUp
|
|
1579
1561
|
});
|
|
1580
1562
|
});
|
|
1563
|
+
var maybeDebug = () => {
|
|
1564
|
+
const items = localStorage.getItem("dxos.composer.demo");
|
|
1565
|
+
if (items) {
|
|
1566
|
+
return demo({
|
|
1567
|
+
items: items.split(",")
|
|
1568
|
+
});
|
|
1569
|
+
}
|
|
1570
|
+
return [];
|
|
1571
|
+
};
|
|
1581
1572
|
var TextEditor = /* @__PURE__ */ forwardRef(({ readonly, extensions = [], slots: _slots, ...props }, forwardedRef) => {
|
|
1582
1573
|
const { themeMode } = useThemeContext();
|
|
1583
1574
|
const slots = defaultsDeep2({}, _slots, defaultTextSlots);
|
|
@@ -1590,6 +1581,7 @@ var TextEditor = /* @__PURE__ */ forwardRef(({ readonly, extensions = [], slots:
|
|
|
1590
1581
|
themeMode,
|
|
1591
1582
|
placeholder: slots?.editor?.placeholder
|
|
1592
1583
|
}),
|
|
1584
|
+
maybeDebug(),
|
|
1593
1585
|
...extensions
|
|
1594
1586
|
],
|
|
1595
1587
|
slots,
|
|
@@ -1608,6 +1600,7 @@ var MarkdownEditor = /* @__PURE__ */ forwardRef(({ readonly, extensions = [], sl
|
|
|
1608
1600
|
themeMode,
|
|
1609
1601
|
placeholder: slots?.editor?.placeholder
|
|
1610
1602
|
}),
|
|
1603
|
+
maybeDebug(),
|
|
1611
1604
|
...extensions
|
|
1612
1605
|
],
|
|
1613
1606
|
slots,
|