@dxos/react-ui-editor 0.4.4-main.3a00f69 → 0.4.4-main.62445ee
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 +59 -48
- 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 +1 -1
- package/dist/types/src/components/TextEditor/TextEditor.d.ts +3 -3
- package/dist/types/src/components/TextEditor/TextEditor.d.ts.map +1 -1
- package/dist/types/src/components/TextEditor/TextEditor.stories.d.ts +1 -1
- package/dist/types/src/components/TextEditor/hooks.stories.d.ts +1 -1
- package/dist/types/src/extensions/automerge/cursor.d.ts.map +1 -1
- package/dist/types/src/hooks/useEditorView.d.ts +6 -4
- package/dist/types/src/hooks/useEditorView.d.ts.map +1 -1
- package/dist/types/src/hooks/useTextModel.d.ts.map +1 -1
- package/package.json +24 -24
- package/src/components/TextEditor/TextEditor.tsx +3 -3
- package/src/components/Toolbar/Toolbar.stories.tsx +3 -3
- package/src/extensions/automerge/cursor.ts +3 -2
- package/src/hooks/useEditorView.ts +13 -11
- package/src/hooks/useTextModel.ts +3 -9
|
@@ -12,7 +12,7 @@ import { EditorView as EditorView15 } from "@codemirror/view";
|
|
|
12
12
|
import { useFocusableGroup } from "@fluentui/react-tabster";
|
|
13
13
|
import defaultsDeep2 from "lodash.defaultsdeep";
|
|
14
14
|
import React, { forwardRef, useCallback, useEffect as useEffect2, useImperativeHandle, useRef, useState as useState2 } from "react";
|
|
15
|
-
import { log as
|
|
15
|
+
import { log as log3 } from "@dxos/log";
|
|
16
16
|
import { useThemeContext } from "@dxos/react-ui";
|
|
17
17
|
import { focusRing } from "@dxos/react-ui-theme";
|
|
18
18
|
import { isNotFalsy as isNotFalsy4 } from "@dxos/util";
|
|
@@ -163,6 +163,8 @@ import { next as A4 } from "@dxos/automerge/automerge";
|
|
|
163
163
|
// packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts
|
|
164
164
|
import get from "lodash.get";
|
|
165
165
|
import { next as A } from "@dxos/automerge/automerge";
|
|
166
|
+
import { log } from "@dxos/log";
|
|
167
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts";
|
|
166
168
|
var cursorConverter = (handle, path) => ({
|
|
167
169
|
// TODO(burdon): Handle assoc to associate with a previous character.
|
|
168
170
|
toCursor: (pos) => {
|
|
@@ -177,6 +179,12 @@ var cursorConverter = (handle, path) => ({
|
|
|
177
179
|
try {
|
|
178
180
|
return A.getCursor(doc, path.slice(), pos);
|
|
179
181
|
} catch (err) {
|
|
182
|
+
log.catch(err, void 0, {
|
|
183
|
+
F: __dxlog_file,
|
|
184
|
+
L: 31,
|
|
185
|
+
S: void 0,
|
|
186
|
+
C: (f, a) => f(...a)
|
|
187
|
+
});
|
|
180
188
|
return "";
|
|
181
189
|
}
|
|
182
190
|
},
|
|
@@ -199,6 +207,12 @@ var cursorConverter = (handle, path) => ({
|
|
|
199
207
|
try {
|
|
200
208
|
return A.getCursorPosition(doc, path.slice(), cursor);
|
|
201
209
|
} catch (err) {
|
|
210
|
+
log.catch(err, void 0, {
|
|
211
|
+
F: __dxlog_file,
|
|
212
|
+
L: 59,
|
|
213
|
+
S: void 0,
|
|
214
|
+
C: (f, a) => f(...a)
|
|
215
|
+
});
|
|
202
216
|
return 0;
|
|
203
217
|
}
|
|
204
218
|
}
|
|
@@ -718,7 +732,7 @@ var createBasicBundle = ({ themeMode, placeholder: _placeholder, lineWrapping =
|
|
|
718
732
|
import { EditorView as EditorView5, keymap as keymap2 } from "@codemirror/view";
|
|
719
733
|
import defaultsDeep from "lodash.defaultsdeep";
|
|
720
734
|
import { invariant } from "@dxos/invariant";
|
|
721
|
-
var
|
|
735
|
+
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-editor/src/extensions/blast.ts";
|
|
722
736
|
var defaultOptions = {
|
|
723
737
|
effect: 2,
|
|
724
738
|
maxParticles: 200,
|
|
@@ -845,7 +859,7 @@ var Blaster = class {
|
|
|
845
859
|
}
|
|
846
860
|
initialize() {
|
|
847
861
|
invariant(!this._canvas && !this._ctx, void 0, {
|
|
848
|
-
F:
|
|
862
|
+
F: __dxlog_file2,
|
|
849
863
|
L: 141,
|
|
850
864
|
S: this,
|
|
851
865
|
A: [
|
|
@@ -882,7 +896,7 @@ var Blaster = class {
|
|
|
882
896
|
}
|
|
883
897
|
start() {
|
|
884
898
|
invariant(this._canvas && this._ctx, void 0, {
|
|
885
|
-
F:
|
|
899
|
+
F: __dxlog_file2,
|
|
886
900
|
L: 180,
|
|
887
901
|
S: this,
|
|
888
902
|
A: [
|
|
@@ -1107,14 +1121,14 @@ var editorFillLayoutEditor = "min-bs-full";
|
|
|
1107
1121
|
var editorHalfViewportOverscrollContent = "after:block after:min-bs-[50dvh] after:pointer-events-none";
|
|
1108
1122
|
|
|
1109
1123
|
// packages/ui/react-ui-editor/src/util.ts
|
|
1110
|
-
import { log } from "@dxos/log";
|
|
1111
|
-
var
|
|
1124
|
+
import { log as log2 } from "@dxos/log";
|
|
1125
|
+
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-editor/src/util.ts";
|
|
1112
1126
|
var callbackWrapper = (fn) => (...args) => {
|
|
1113
1127
|
try {
|
|
1114
1128
|
return fn(...args);
|
|
1115
1129
|
} catch (err) {
|
|
1116
|
-
|
|
1117
|
-
F:
|
|
1130
|
+
log2.catch(err, void 0, {
|
|
1131
|
+
F: __dxlog_file3,
|
|
1118
1132
|
L: 18,
|
|
1119
1133
|
S: void 0,
|
|
1120
1134
|
C: (f, a) => f(...a)
|
|
@@ -3892,7 +3906,7 @@ var codeTheme = {
|
|
|
3892
3906
|
};
|
|
3893
3907
|
|
|
3894
3908
|
// packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx
|
|
3895
|
-
var
|
|
3909
|
+
var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx";
|
|
3896
3910
|
var BaseTextEditor = /* @__PURE__ */ forwardRef(({ model, readonly, autoFocus, scrollTo, selection, theme, slots = defaultSlots, extensions = [], debug }, forwardedRef) => {
|
|
3897
3911
|
const tabsterDOMAttribute = useFocusableGroup({
|
|
3898
3912
|
tabBehavior: "limited"
|
|
@@ -3929,8 +3943,8 @@ var BaseTextEditor = /* @__PURE__ */ forwardRef(({ model, readonly, autoFocus, s
|
|
|
3929
3943
|
extensions: [
|
|
3930
3944
|
// TODO(burdon): Doesn't catch errors in keymap functions.
|
|
3931
3945
|
EditorView15.exceptionSink.of((err) => {
|
|
3932
|
-
|
|
3933
|
-
F:
|
|
3946
|
+
log3.catch(err, void 0, {
|
|
3947
|
+
F: __dxlog_file4,
|
|
3934
3948
|
L: 112,
|
|
3935
3949
|
S: void 0,
|
|
3936
3950
|
C: (f, a) => f(...a)
|
|
@@ -4332,8 +4346,8 @@ var Toolbar = {
|
|
|
4332
4346
|
import { DeferredTask, Event as Event2, sleep } from "@dxos/async";
|
|
4333
4347
|
import { Context as Context2 } from "@dxos/context";
|
|
4334
4348
|
import { invariant as invariant2 } from "@dxos/invariant";
|
|
4335
|
-
import { log as
|
|
4336
|
-
var
|
|
4349
|
+
import { log as log4 } from "@dxos/log";
|
|
4350
|
+
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-editor/src/hooks/awareness-provider.ts";
|
|
4337
4351
|
var DEBOUNCE_INTERVAL = 100;
|
|
4338
4352
|
var SpaceAwarenessProvider = class {
|
|
4339
4353
|
constructor(params) {
|
|
@@ -4370,10 +4384,10 @@ var SpaceAwarenessProvider = class {
|
|
|
4370
4384
|
void this._space.postMessage(this._channel, {
|
|
4371
4385
|
kind: "query"
|
|
4372
4386
|
}).catch((err) => {
|
|
4373
|
-
|
|
4387
|
+
log4.debug("failed to query awareness", {
|
|
4374
4388
|
err
|
|
4375
4389
|
}, {
|
|
4376
|
-
F:
|
|
4390
|
+
F: __dxlog_file5,
|
|
4377
4391
|
L: 89,
|
|
4378
4392
|
S: this,
|
|
4379
4393
|
C: (f, a) => f(...a)
|
|
@@ -4390,7 +4404,7 @@ var SpaceAwarenessProvider = class {
|
|
|
4390
4404
|
}
|
|
4391
4405
|
update(position) {
|
|
4392
4406
|
invariant2(this._postTask, void 0, {
|
|
4393
|
-
F:
|
|
4407
|
+
F: __dxlog_file5,
|
|
4394
4408
|
L: 104,
|
|
4395
4409
|
S: this,
|
|
4396
4410
|
A: [
|
|
@@ -4407,7 +4421,7 @@ var SpaceAwarenessProvider = class {
|
|
|
4407
4421
|
}
|
|
4408
4422
|
_handleQueryMessage() {
|
|
4409
4423
|
invariant2(this._postTask, void 0, {
|
|
4410
|
-
F:
|
|
4424
|
+
F: __dxlog_file5,
|
|
4411
4425
|
L: 115,
|
|
4412
4426
|
S: this,
|
|
4413
4427
|
A: [
|
|
@@ -4419,7 +4433,7 @@ var SpaceAwarenessProvider = class {
|
|
|
4419
4433
|
}
|
|
4420
4434
|
_handlePostMessage(message) {
|
|
4421
4435
|
invariant2(message.kind === "post", void 0, {
|
|
4422
|
-
F:
|
|
4436
|
+
F: __dxlog_file5,
|
|
4423
4437
|
L: 120,
|
|
4424
4438
|
S: this,
|
|
4425
4439
|
A: [
|
|
@@ -4488,28 +4502,36 @@ var useActionHandler = (view) => {
|
|
|
4488
4502
|
};
|
|
4489
4503
|
|
|
4490
4504
|
// packages/ui/react-ui-editor/src/hooks/useEditorView.ts
|
|
4491
|
-
import { useState as useState3 } from "react";
|
|
4492
|
-
var useEditorView = () => {
|
|
4493
|
-
const
|
|
4505
|
+
import { useRef as useRef2, useState as useState3 } from "react";
|
|
4506
|
+
var useEditorView = (id) => {
|
|
4507
|
+
const editorRef = useRef2(null);
|
|
4508
|
+
const [prev, setPrev] = useState3([
|
|
4509
|
+
null,
|
|
4510
|
+
""
|
|
4511
|
+
]);
|
|
4512
|
+
if (prev[0] !== editorRef.current) {
|
|
4513
|
+
setPrev([
|
|
4514
|
+
editorRef.current,
|
|
4515
|
+
id
|
|
4516
|
+
]);
|
|
4517
|
+
}
|
|
4494
4518
|
return [
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
},
|
|
4498
|
-
view
|
|
4519
|
+
editorRef,
|
|
4520
|
+
prev[1] !== id
|
|
4499
4521
|
];
|
|
4500
4522
|
};
|
|
4501
4523
|
|
|
4502
4524
|
// packages/ui/react-ui-editor/src/hooks/useTextEditor.ts
|
|
4503
4525
|
import { EditorSelection as EditorSelection2, EditorState as EditorState3 } from "@codemirror/state";
|
|
4504
4526
|
import { EditorView as EditorView16 } from "@codemirror/view";
|
|
4505
|
-
import { useEffect as useEffect3, useRef as
|
|
4506
|
-
import { log as
|
|
4527
|
+
import { useEffect as useEffect3, useRef as useRef3, useState as useState4 } from "react";
|
|
4528
|
+
import { log as log5 } from "@dxos/log";
|
|
4507
4529
|
import { isNotFalsy as isNotFalsy5 } from "@dxos/util";
|
|
4508
|
-
var
|
|
4530
|
+
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-editor/src/hooks/useTextEditor.ts";
|
|
4509
4531
|
var useTextEditor = ({ autoFocus, scrollTo, debug, doc, selection, extensions } = {}) => {
|
|
4510
|
-
const onUpdate =
|
|
4532
|
+
const onUpdate = useRef3();
|
|
4511
4533
|
const [view, setView] = useState4();
|
|
4512
|
-
const parentRef =
|
|
4534
|
+
const parentRef = useRef3(null);
|
|
4513
4535
|
useEffect3(() => {
|
|
4514
4536
|
if (parentRef.current) {
|
|
4515
4537
|
const state = EditorState3.create({
|
|
@@ -4518,8 +4540,8 @@ var useTextEditor = ({ autoFocus, scrollTo, debug, doc, selection, extensions }
|
|
|
4518
4540
|
extensions: [
|
|
4519
4541
|
// TODO(burdon): Doesn't catch errors in keymap functions.
|
|
4520
4542
|
EditorView16.exceptionSink.of((err) => {
|
|
4521
|
-
|
|
4522
|
-
F:
|
|
4543
|
+
log5.catch(err, void 0, {
|
|
4544
|
+
F: __dxlog_file6,
|
|
4523
4545
|
L: 57,
|
|
4524
4546
|
S: void 0,
|
|
4525
4547
|
C: (f, a) => f(...a)
|
|
@@ -4608,24 +4630,13 @@ var createThemeExtensions = ({ theme, themeMode, slots } = {}) => {
|
|
|
4608
4630
|
|
|
4609
4631
|
// packages/ui/react-ui-editor/src/hooks/useTextModel.ts
|
|
4610
4632
|
import get4 from "lodash.get";
|
|
4611
|
-
import {
|
|
4633
|
+
import { useState as useState5, useMemo as useMemo2 } from "react";
|
|
4612
4634
|
import { generateName } from "@dxos/display-name";
|
|
4613
4635
|
import { getRawDoc } from "@dxos/echo-schema";
|
|
4614
4636
|
import { invariant as invariant3 } from "@dxos/invariant";
|
|
4615
4637
|
import { isAutomergeObject } from "@dxos/react-client/echo";
|
|
4616
|
-
var
|
|
4617
|
-
var useTextModel = (props) =>
|
|
4618
|
-
const [model, setModel] = useState5();
|
|
4619
|
-
const { identity, space, text } = props;
|
|
4620
|
-
useEffect4(() => {
|
|
4621
|
-
setModel(createModel(props));
|
|
4622
|
-
}, [
|
|
4623
|
-
identity,
|
|
4624
|
-
space,
|
|
4625
|
-
text
|
|
4626
|
-
]);
|
|
4627
|
-
return model;
|
|
4628
|
-
};
|
|
4638
|
+
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-editor/src/hooks/useTextModel.ts";
|
|
4639
|
+
var useTextModel = (props) => useMemo2(() => createModel(props), Object.values(props));
|
|
4629
4640
|
var useInMemoryTextModel = ({ id, defaultContent }) => {
|
|
4630
4641
|
const [content, setContent] = useState5(defaultContent ?? "");
|
|
4631
4642
|
return {
|
|
@@ -4640,8 +4651,8 @@ var createModel = ({ space, identity, text }) => {
|
|
|
4640
4651
|
return void 0;
|
|
4641
4652
|
}
|
|
4642
4653
|
invariant3(isAutomergeObject(text), void 0, {
|
|
4643
|
-
F:
|
|
4644
|
-
L:
|
|
4654
|
+
F: __dxlog_file7,
|
|
4655
|
+
L: 54,
|
|
4645
4656
|
S: void 0,
|
|
4646
4657
|
A: [
|
|
4647
4658
|
"isAutomergeObject(text)",
|