@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.
@@ -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: 152,
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: 191,
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, _handleClick) {
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, () => handleUpdate({
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 handleUpdate = debounce((data) => {
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
- /* view.visibleRanges?.[0] ?? */
550
- {
551
- from: 0,
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
- handleUpdate({
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(hide ? node.from : node.to, node.to, Decoration2.replace({
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, standardKeymap } from "@codemirror/commands";
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
- customkeymap(),
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 provided by default.
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,