@dxos/react-ui-editor 0.8.2-staging.42af850 → 0.8.2-staging.4d6ad0f

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.
@@ -62,7 +62,6 @@ __export(node_exports, {
62
62
  closeEffect: () => closeEffect,
63
63
  command: () => command,
64
64
  commandKeyBindings: () => commandKeyBindings,
65
- commands: () => commands,
66
65
  commentClickedEffect: () => commentClickedEffect,
67
66
  comments: () => comments,
68
67
  commentsState: () => commentsState,
@@ -85,7 +84,6 @@ __export(node_exports, {
85
84
  debugTree: () => debugTree,
86
85
  decorateMarkdown: () => decorateMarkdown,
87
86
  defaultOptions: () => defaultOptions,
88
- deleteItem: () => deleteItem,
89
87
  documentId: () => documentId,
90
88
  dropFile: () => dropFile,
91
89
  editorGutter: () => editorGutter,
@@ -105,8 +103,6 @@ __export(node_exports, {
105
103
  getListItemContent: () => getListItemContent,
106
104
  getRange: () => getRange,
107
105
  image: () => image,
108
- indentItemLess: () => indentItemLess,
109
- indentItemMore: () => indentItemMore,
110
106
  insertTable: () => insertTable,
111
107
  itemToJSON: () => itemToJSON,
112
108
  keymap: () => import_view.keymap,
@@ -119,8 +115,6 @@ __export(node_exports, {
119
115
  markdownTagsExtensions: () => markdownTagsExtensions,
120
116
  matchCompletion: () => matchCompletion,
121
117
  mention: () => mention,
122
- moveItemDown: () => moveItemDown,
123
- moveItemUp: () => moveItemUp,
124
118
  openCommand: () => openCommand,
125
119
  openEffect: () => openEffect,
126
120
  outliner: () => outliner,
@@ -157,7 +151,6 @@ __export(node_exports, {
157
151
  toggleStrikethrough: () => toggleStrikethrough,
158
152
  toggleStrong: () => toggleStrong,
159
153
  toggleStyle: () => toggleStyle,
160
- toggleTask: () => toggleTask,
161
154
  translations: () => translations_default,
162
155
  traverse: () => traverse,
163
156
  treeFacet: () => treeFacet,
@@ -310,18 +303,18 @@ var import_view27 = require("@codemirror/view");
310
303
  var import_codemirror_vim = require("@replit/codemirror-vim");
311
304
  var import_codemirror_vscode_keymap = require("@replit/codemirror-vscode-keymap");
312
305
  var import_effect = require("effect");
313
- var import_commands4 = require("@codemirror/commands");
314
- var import_language13 = require("@codemirror/language");
315
306
  var import_state23 = require("@codemirror/state");
316
307
  var import_view28 = require("@codemirror/view");
308
+ var import_react_ui_theme7 = require("@dxos/react-ui-theme");
309
+ var import_commands4 = require("@codemirror/commands");
310
+ var import_language13 = require("@codemirror/language");
317
311
  var import_state24 = require("@codemirror/state");
318
- var import_language14 = require("@codemirror/language");
312
+ var import_view29 = require("@codemirror/view");
319
313
  var import_state25 = require("@codemirror/state");
314
+ var import_language14 = require("@codemirror/language");
320
315
  var import_state26 = require("@codemirror/state");
321
- var import_invariant5 = require("@dxos/invariant");
322
316
  var import_state27 = require("@codemirror/state");
323
- var import_view29 = require("@codemirror/view");
324
- var import_react_ui_theme7 = require("@dxos/react-ui-theme");
317
+ var import_invariant5 = require("@dxos/invariant");
325
318
  var import_state28 = require("@codemirror/state");
326
319
  var import_view30 = require("@codemirror/view");
327
320
  var import_log7 = require("@dxos/log");
@@ -1714,24 +1707,20 @@ var floatingMenu = (options = {}) => [
1714
1707
  icon.setAttribute("icon", options.icon ?? "ph--dots-three-outline--regular");
1715
1708
  const button = document.createElement("button");
1716
1709
  button.appendChild(icon);
1710
+ button.classList.add("grid", "items-center", "justify-center", "w-8", "h-8");
1717
1711
  this.tag = document.createElement("dx-ref-tag");
1718
- this.tag.classList.add("cm-ref-tag");
1712
+ this.tag.classList.add("border-none", "fixed", "p-0");
1719
1713
  this.tag.appendChild(button);
1720
1714
  container.appendChild(this.tag);
1721
1715
  container.addEventListener("scroll", this.scheduleUpdate.bind(this));
1722
1716
  this.scheduleUpdate();
1723
1717
  }
1724
1718
  update(update2) {
1725
- this.tag.dataset.focused = update2.view.hasFocus ? "true" : "false";
1726
- if (!update2.view.hasFocus) {
1727
- return;
1728
- }
1729
1719
  if (update2.transactions.some((tr) => tr.effects.some((effect) => effect.is(openEffect)))) {
1730
1720
  this.tag.style.display = "none";
1731
- this.tag.classList.add("opacity-10");
1732
1721
  } else if (update2.transactions.some((tr) => tr.effects.some((effect) => effect.is(closeEffect)))) {
1733
1722
  this.tag.style.display = "block";
1734
- } else if (update2.docChanged || update2.focusChanged || update2.geometryChanged || update2.selectionSet || update2.viewportChanged) {
1723
+ } else if (update2.selectionSet || update2.viewportChanged || update2.docChanged || update2.geometryChanged) {
1735
1724
  this.scheduleUpdate();
1736
1725
  }
1737
1726
  }
@@ -1763,25 +1752,6 @@ var floatingMenu = (options = {}) => [
1763
1752
  cancelAnimationFrame(this.rafId);
1764
1753
  }
1765
1754
  }
1766
- }),
1767
- import_view10.EditorView.theme({
1768
- ".cm-ref-tag": {
1769
- position: "fixed",
1770
- padding: "0",
1771
- border: "none",
1772
- transition: "opacity 0.3s ease-in-out",
1773
- opacity: 0.1
1774
- },
1775
- ".cm-ref-tag button": {
1776
- display: "grid",
1777
- alignItems: "center",
1778
- justifyContent: "center",
1779
- width: "2rem",
1780
- height: "2rem"
1781
- },
1782
- '.cm-ref-tag[data-focused="true"]': {
1783
- opacity: 1
1784
- }
1785
1755
  })
1786
1756
  ];
1787
1757
  var typeahead = ({ onComplete } = {}) => {
@@ -5374,7 +5344,7 @@ var format = (value) => JSON.stringify(value, (key, value2) => {
5374
5344
  }
5375
5345
  return value2;
5376
5346
  }).replaceAll('"', "");
5377
- var treeFacet = import_state26.Facet.define({
5347
+ var treeFacet = import_state27.Facet.define({
5378
5348
  combine: (values) => values[0]
5379
5349
  });
5380
5350
  var outlinerTree = (options = {}) => {
@@ -5523,7 +5493,7 @@ var outlinerTree = (options = {}) => {
5523
5493
  return tree;
5524
5494
  };
5525
5495
  return [
5526
- import_state25.StateField.define({
5496
+ import_state26.StateField.define({
5527
5497
  create: (state) => {
5528
5498
  return buildTree(state);
5529
5499
  },
@@ -5539,10 +5509,10 @@ var outlinerTree = (options = {}) => {
5539
5509
  };
5540
5510
  var getSelection = (state) => state.selection.main;
5541
5511
  var selectionEquals = (a, b) => a.length === b.length && a.every((i) => b.includes(i));
5542
- var selectionFacet = import_state24.Facet.define({
5512
+ var selectionFacet = import_state25.Facet.define({
5543
5513
  combine: (values) => values[0]
5544
5514
  });
5545
- var selectionCompartment = new import_state24.Compartment();
5515
+ var selectionCompartment = new import_state25.Compartment();
5546
5516
  var selectNone = (view) => {
5547
5517
  view.dispatch({
5548
5518
  effects: selectionCompartment.reconfigure(selectionFacet.of([]))
@@ -5623,7 +5593,7 @@ var moveItemDown = (view) => {
5623
5593
  ];
5624
5594
  view.dispatch({
5625
5595
  changes,
5626
- selection: import_state23.EditorSelection.cursor(pos + nextContent.length + 1),
5596
+ selection: import_state24.EditorSelection.cursor(pos + nextContent.length + 1),
5627
5597
  scrollIntoView: true
5628
5598
  });
5629
5599
  }
@@ -5651,32 +5621,15 @@ var moveItemUp = (view) => {
5651
5621
  ];
5652
5622
  view.dispatch({
5653
5623
  changes,
5654
- selection: import_state23.EditorSelection.cursor(pos - prevContent.length - 1),
5624
+ selection: import_state24.EditorSelection.cursor(pos - prevContent.length - 1),
5655
5625
  scrollIntoView: true
5656
5626
  });
5657
5627
  }
5658
5628
  return true;
5659
5629
  };
5660
- var deleteItem = (view) => {
5661
- const tree = view.state.facet(treeFacet);
5662
- const pos = getSelection(view.state).from;
5663
- const current = tree.find(pos);
5664
- if (current) {
5665
- view.dispatch({
5666
- selection: import_state23.EditorSelection.cursor(current.lineRange.from),
5667
- changes: [
5668
- {
5669
- from: current.lineRange.from,
5670
- to: Math.min(current.lineRange.to + 1, view.state.doc.length)
5671
- }
5672
- ]
5673
- });
5674
- }
5675
- return true;
5676
- };
5677
5630
  var toggleTask = (view) => {
5678
- const tree = view.state.facet(treeFacet);
5679
5631
  const pos = getSelection(view.state)?.from;
5632
+ const tree = view.state.facet(treeFacet);
5680
5633
  const current = tree.find(pos);
5681
5634
  if (current) {
5682
5635
  const type = current.type === "task" ? "bullet" : "task";
@@ -5693,7 +5646,7 @@ var toggleTask = (view) => {
5693
5646
  }
5694
5647
  return true;
5695
5648
  };
5696
- var commands = () => import_view28.keymap.of([
5649
+ var commands = () => import_view29.keymap.of([
5697
5650
  //
5698
5651
  // Indentation.
5699
5652
  //
@@ -5719,7 +5672,7 @@ var commands = () => import_view28.keymap.of([
5719
5672
  insert
5720
5673
  }
5721
5674
  ],
5722
- selection: import_state23.EditorSelection.cursor(pos + insert.length)
5675
+ selection: import_state24.EditorSelection.cursor(pos + insert.length)
5723
5676
  });
5724
5677
  return true;
5725
5678
  }
@@ -5737,7 +5690,7 @@ var commands = () => import_view28.keymap.of([
5737
5690
  const next = tree.next(item);
5738
5691
  if (next) {
5739
5692
  view.dispatch({
5740
- selection: import_state23.EditorSelection.cursor(next.contentRange.from)
5693
+ selection: import_state24.EditorSelection.cursor(next.contentRange.from)
5741
5694
  });
5742
5695
  return true;
5743
5696
  }
@@ -5781,19 +5734,10 @@ var commands = () => import_view28.keymap.of([
5781
5734
  run: moveItemUp
5782
5735
  },
5783
5736
  //
5784
- // Delete.
5785
- //
5786
- {
5787
- key: "Mod-Backspace",
5788
- preventDefault: true,
5789
- run: deleteItem
5790
- },
5791
- //
5792
5737
  // Misc.
5793
5738
  //
5794
5739
  {
5795
5740
  key: "Alt-t",
5796
- preventDefault: true,
5797
5741
  run: toggleTask
5798
5742
  }
5799
5743
  ]);
@@ -5886,12 +5830,6 @@ var editor = () => [
5886
5830
  const line = tr.startState.doc.lineAt(fromA);
5887
5831
  const match = line.text.match(LIST_ITEM_REGEX);
5888
5832
  if (match) {
5889
- const startTree = tr.startState.facet(treeFacet);
5890
- const startItem = startTree.find(tr.startState.selection.main.from);
5891
- const deleteLine = fromA === startItem?.lineRange.from && toA === startItem?.lineRange.to + 1;
5892
- if (deleteLine) {
5893
- return;
5894
- }
5895
5833
  const currentItem = tree.find(tr.state.selection.main.from);
5896
5834
  if (!currentItem?.contentRange) {
5897
5835
  cancel = true;
@@ -5949,7 +5887,7 @@ var editor = () => [
5949
5887
  }
5950
5888
  }, {
5951
5889
  F: __dxlog_file12,
5952
- L: 164,
5890
+ L: 160,
5953
5891
  S: void 0,
5954
5892
  C: (f, a) => f(...a)
5955
5893
  });
@@ -5960,7 +5898,7 @@ var editor = () => [
5960
5898
  changes
5961
5899
  }, {
5962
5900
  F: __dxlog_file12,
5963
- L: 175,
5901
+ L: 171,
5964
5902
  S: void 0,
5965
5903
  C: (f, a) => f(...a)
5966
5904
  });
@@ -5972,7 +5910,7 @@ var editor = () => [
5972
5910
  } else if (cancel) {
5973
5911
  (0, import_log7.log)("cancel", void 0, {
5974
5912
  F: __dxlog_file12,
5975
- L: 178,
5913
+ L: 174,
5976
5914
  S: void 0,
5977
5915
  C: (f, a) => f(...a)
5978
5916
  });
@@ -5981,9 +5919,9 @@ var editor = () => [
5981
5919
  return tr;
5982
5920
  })
5983
5921
  ];
5984
- var outliner = (options = {}) => [
5922
+ var outliner = () => [
5985
5923
  // Commands.
5986
- import_state27.Prec.highest(commands()),
5924
+ import_state23.Prec.highest(commands()),
5987
5925
  // Selection.
5988
5926
  selectionCompartment.of(selectionFacet.of([])),
5989
5927
  // State.
@@ -5993,20 +5931,20 @@ var outliner = (options = {}) => [
5993
5931
  // Floating menu.
5994
5932
  floatingMenu(),
5995
5933
  // Line decorations.
5996
- decorations(options),
5934
+ decorations(),
5997
5935
  // Default markdown decorations.
5998
5936
  decorateMarkdown({
5999
5937
  listPaddingLeft: 8
6000
5938
  }),
6001
5939
  // Researve space for menu.
6002
- import_view29.EditorView.contentAttributes.of({
5940
+ import_view28.EditorView.contentAttributes.of({
6003
5941
  class: "is-full !mr-[3rem]"
6004
5942
  })
6005
5943
  ];
6006
- var decorations = (options) => [
6007
- import_view29.ViewPlugin.fromClass(class {
5944
+ var decorations = () => [
5945
+ import_view28.ViewPlugin.fromClass(class {
6008
5946
  constructor(view) {
6009
- this.decorations = import_view29.Decoration.none;
5947
+ this.decorations = import_view28.Decoration.none;
6010
5948
  this.updateDecorations(view.state, view);
6011
5949
  }
6012
5950
  update(update2) {
@@ -6028,18 +5966,18 @@ var decorations = (options) => [
6028
5966
  const lineFrom = doc.lineAt(item.contentRange.from);
6029
5967
  const lineTo = doc.lineAt(item.contentRange.to);
6030
5968
  const isSelected = selection.includes(item.index) || item === current;
6031
- decorations2.push(import_view29.Decoration.line({
5969
+ decorations2.push(import_view28.Decoration.line({
6032
5970
  class: (0, import_react_ui_theme7.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
5971
  }).range(line.from, line.from));
6034
5972
  }
6035
5973
  }
6036
- this.decorations = import_view29.Decoration.set(decorations2);
5974
+ this.decorations = import_view28.Decoration.set(decorations2);
6037
5975
  }
6038
5976
  }, {
6039
5977
  decorations: (v) => v.decorations
6040
5978
  }),
6041
5979
  // Theme.
6042
- import_view29.EditorView.theme(Object.assign({
5980
+ import_view28.EditorView.theme({
6043
5981
  ".cm-list-item": {
6044
5982
  borderLeftWidth: "1px",
6045
5983
  borderRightWidth: "1px",
@@ -6054,22 +5992,22 @@ var decorations = (options) => [
6054
5992
  borderTopLeftRadius: "4px",
6055
5993
  borderTopRightRadius: "4px",
6056
5994
  paddingTop: "4px",
6057
- marginTop: "2px"
5995
+ marginTop: "8px"
6058
5996
  },
6059
5997
  ".cm-list-item-end": {
6060
5998
  borderBottomWidth: "1px",
6061
5999
  borderBottomLeftRadius: "4px",
6062
6000
  borderBottomRightRadius: "4px",
6063
6001
  paddingBottom: "4px",
6064
- marginBottom: "2px"
6002
+ marginBottom: "8px"
6065
6003
  },
6066
6004
  ".cm-list-item-selected": {
6067
- borderColor: options.showSelected ? "var(--dx-separator)" : void 0
6005
+ borderColor: "var(--dx-separator)"
6068
6006
  },
6069
6007
  ".cm-list-item-focused": {
6070
6008
  borderColor: "var(--dx-accentFocusIndicator)"
6071
6009
  }
6072
- }))
6010
+ })
6073
6011
  ];
6074
6012
  var preview = (options = {}) => {
6075
6013
  return [
@@ -6984,7 +6922,6 @@ var useTextEditor = (props = {}, deps = []) => {
6984
6922
  closeEffect,
6985
6923
  command,
6986
6924
  commandKeyBindings,
6987
- commands,
6988
6925
  commentClickedEffect,
6989
6926
  comments,
6990
6927
  commentsState,
@@ -7007,7 +6944,6 @@ var useTextEditor = (props = {}, deps = []) => {
7007
6944
  debugTree,
7008
6945
  decorateMarkdown,
7009
6946
  defaultOptions,
7010
- deleteItem,
7011
6947
  documentId,
7012
6948
  dropFile,
7013
6949
  editorGutter,
@@ -7027,8 +6963,6 @@ var useTextEditor = (props = {}, deps = []) => {
7027
6963
  getListItemContent,
7028
6964
  getRange,
7029
6965
  image,
7030
- indentItemLess,
7031
- indentItemMore,
7032
6966
  insertTable,
7033
6967
  itemToJSON,
7034
6968
  keymap,
@@ -7041,8 +6975,6 @@ var useTextEditor = (props = {}, deps = []) => {
7041
6975
  markdownTagsExtensions,
7042
6976
  matchCompletion,
7043
6977
  mention,
7044
- moveItemDown,
7045
- moveItemUp,
7046
6978
  openCommand,
7047
6979
  openEffect,
7048
6980
  outliner,
@@ -7079,7 +7011,6 @@ var useTextEditor = (props = {}, deps = []) => {
7079
7011
  toggleStrikethrough,
7080
7012
  toggleStrong,
7081
7013
  toggleStyle,
7082
- toggleTask,
7083
7014
  translations,
7084
7015
  traverse,
7085
7016
  treeFacet,