@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.
- package/dist/lib/browser/index.mjs +77 -139
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +36 -105
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +77 -139
- 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 +10 -1
- package/dist/types/src/extensions/command/menu.d.ts.map +1 -1
- package/dist/types/src/extensions/outliner/commands.d.ts +0 -1
- package/dist/types/src/extensions/outliner/commands.d.ts.map +1 -1
- package/dist/types/src/extensions/outliner/editor.d.ts.map +1 -1
- package/dist/types/src/extensions/outliner/index.d.ts +0 -1
- package/dist/types/src/extensions/outliner/index.d.ts.map +1 -1
- package/dist/types/src/extensions/outliner/outliner.d.ts +1 -4
- package/dist/types/src/extensions/outliner/outliner.d.ts.map +1 -1
- package/package.json +27 -27
- package/src/extensions/command/menu.ts +4 -35
- package/src/extensions/outliner/commands.ts +1 -29
- package/src/extensions/outliner/editor.ts +3 -7
- package/src/extensions/outliner/index.ts +0 -1
- package/src/extensions/outliner/outliner.test.ts +2 -2
- package/src/extensions/outliner/outliner.ts +37 -43
package/dist/lib/node/index.cjs
CHANGED
@@ -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
|
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
|
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("
|
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.
|
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 =
|
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
|
-
|
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 =
|
5512
|
+
var selectionFacet = import_state25.Facet.define({
|
5543
5513
|
combine: (values) => values[0]
|
5544
5514
|
});
|
5545
|
-
var selectionCompartment = new
|
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:
|
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:
|
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 = () =>
|
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:
|
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:
|
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:
|
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:
|
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:
|
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 = (
|
5922
|
+
var outliner = () => [
|
5985
5923
|
// Commands.
|
5986
|
-
|
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(
|
5934
|
+
decorations(),
|
5997
5935
|
// Default markdown decorations.
|
5998
5936
|
decorateMarkdown({
|
5999
5937
|
listPaddingLeft: 8
|
6000
5938
|
}),
|
6001
5939
|
// Researve space for menu.
|
6002
|
-
|
5940
|
+
import_view28.EditorView.contentAttributes.of({
|
6003
5941
|
class: "is-full !mr-[3rem]"
|
6004
5942
|
})
|
6005
5943
|
];
|
6006
|
-
var decorations = (
|
6007
|
-
|
5944
|
+
var decorations = () => [
|
5945
|
+
import_view28.ViewPlugin.fromClass(class {
|
6008
5946
|
constructor(view) {
|
6009
|
-
this.decorations =
|
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(
|
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 =
|
5974
|
+
this.decorations = import_view28.Decoration.set(decorations2);
|
6037
5975
|
}
|
6038
5976
|
}, {
|
6039
5977
|
decorations: (v) => v.decorations
|
6040
5978
|
}),
|
6041
5979
|
// Theme.
|
6042
|
-
|
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: "
|
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: "
|
6002
|
+
marginBottom: "8px"
|
6065
6003
|
},
|
6066
6004
|
".cm-list-item-selected": {
|
6067
|
-
borderColor:
|
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,
|