@dxos/react-ui-editor 0.7.5-main.e9bb01b → 0.7.5-staging.2ff1350
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 +17 -12
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +23 -18
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +17 -12
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/InputMode.stories.d.ts +2 -3
- package/dist/types/src/InputMode.stories.d.ts.map +1 -1
- package/dist/types/src/TextEditor.stories.d.ts +33 -34
- package/dist/types/src/TextEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts +1 -2
- package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/automerge.stories.d.ts +3 -4
- package/dist/types/src/extensions/automerge/automerge.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/factories.d.ts.map +1 -1
- package/dist/types/src/styles/theme.d.ts.map +1 -1
- package/package.json +28 -27
- package/src/extensions/comments.ts +4 -4
- package/src/extensions/factories.ts +11 -5
- package/src/styles/theme.ts +1 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"automerge.stories.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/automerge.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"automerge.stories.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/automerge.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,uBAAuB,CAAC;AAM/B,OAAO,EACL,WAAW,EAMX,KAAK,KAAK,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAgBrE,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;;;wDAEsD,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDnE,wBAME;AAsBF,eAAO,MAAM,OAAO,IAAK,CAAC;AAE1B,eAAO,MAAM,QAAQ;;;CAmBpB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../../src/extensions/factories.ts"],"names":[],"mappings":"AAQA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAkBhE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAOhD,OAAO,EAAE,KAAK,WAAW,EAAgB,MAAM,WAAW,CAAC;AAM3D,eAAO,MAAM,cAAc,WAA4E,CAAC;AAExG;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAsBF,eAAO,MAAM,qBAAqB,YAAa,sBAAsB,KAAG,
|
1
|
+
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../../src/extensions/factories.ts"],"names":[],"mappings":"AAQA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAkBhE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAOhD,OAAO,EAAE,KAAK,WAAW,EAAgB,MAAM,WAAW,CAAC;AAM3D,eAAO,MAAM,cAAc,WAA4E,CAAC;AAExG;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAsBF,eAAO,MAAM,qBAAqB,YAAa,sBAAsB,KAAG,SA8CvE,CAAC;AAMF,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE;YACP,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,OAAO,CAAC,EAAE;YACR,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH,CAAC;AAQF;;GAEG;AACH,eAAO,MAAM,qBAAqB,oFAK/B,sBAAsB,KAAQ,SAWhC,CAAC;AAMF,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC5B,CAAC;AAGF,eAAO,MAAM,oBAAoB,GAAI,CAAC,iCAAiC,mBAAmB,CAAC,CAAC,CAAC,KAAG,SAAS,EA2BxG,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../src/styles/theme.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAI3C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,YAAY,EAAE,
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../src/styles/theme.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAI3C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,YAAY,EAAE,WA8M1B,CAAC"}
|
package/package.json
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"name": "@dxos/react-ui-editor",
|
3
|
-
"version": "0.7.5-
|
3
|
+
"version": "0.7.5-staging.2ff1350",
|
4
4
|
"description": "Document editing experience within a DXOS shell.",
|
5
5
|
"homepage": "https://dxos.org",
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
7
7
|
"license": "MIT",
|
8
8
|
"author": "DXOS.org",
|
9
9
|
"sideEffects": true,
|
10
|
+
"type": "module",
|
10
11
|
"exports": {
|
11
12
|
".": {
|
12
13
|
"types": "./dist/types/src/index.d.ts",
|
@@ -50,20 +51,20 @@
|
|
50
51
|
"lodash.merge": "^4.6.2",
|
51
52
|
"lodash.sortby": "^4.7.0",
|
52
53
|
"style-mod": "^4.1.0",
|
53
|
-
"@dxos/app-graph": "0.7.5-
|
54
|
-
"@dxos/
|
55
|
-
"@dxos/
|
56
|
-
"@dxos/debug": "0.7.5-
|
57
|
-
"@dxos/
|
58
|
-
"@dxos/
|
59
|
-
"@dxos/echo-schema": "0.7.5-
|
60
|
-
"@dxos/invariant": "0.7.5-
|
61
|
-
"@dxos/live-object": "0.7.5-
|
62
|
-
"@dxos/
|
63
|
-
"@dxos/
|
64
|
-
"@dxos/
|
65
|
-
"@dxos/
|
66
|
-
"@dxos/
|
54
|
+
"@dxos/app-graph": "0.7.5-staging.2ff1350",
|
55
|
+
"@dxos/context": "0.7.5-staging.2ff1350",
|
56
|
+
"@dxos/async": "0.7.5-staging.2ff1350",
|
57
|
+
"@dxos/debug": "0.7.5-staging.2ff1350",
|
58
|
+
"@dxos/automerge": "0.7.5-staging.2ff1350",
|
59
|
+
"@dxos/display-name": "0.7.5-staging.2ff1350",
|
60
|
+
"@dxos/echo-schema": "0.7.5-staging.2ff1350",
|
61
|
+
"@dxos/invariant": "0.7.5-staging.2ff1350",
|
62
|
+
"@dxos/live-object": "0.7.5-staging.2ff1350",
|
63
|
+
"@dxos/protocols": "0.7.5-staging.2ff1350",
|
64
|
+
"@dxos/log": "0.7.5-staging.2ff1350",
|
65
|
+
"@dxos/react-hooks": "0.7.5-staging.2ff1350",
|
66
|
+
"@dxos/util": "0.7.5-staging.2ff1350",
|
67
|
+
"@dxos/react-ui-menu": "0.7.5-staging.2ff1350"
|
67
68
|
},
|
68
69
|
"devDependencies": {
|
69
70
|
"@phosphor-icons/react": "^2.1.5",
|
@@ -87,23 +88,23 @@
|
|
87
88
|
"vite": "5.4.7",
|
88
89
|
"vite-plugin-top-level-await": "^1.4.1",
|
89
90
|
"vite-plugin-wasm": "^3.3.0",
|
90
|
-
"@dxos/automerge": "0.7.5-
|
91
|
-
"@dxos/config": "0.7.5-
|
92
|
-
"@dxos/echo-signals": "0.7.5-
|
93
|
-
"@dxos/
|
94
|
-
"@dxos/
|
95
|
-
"@dxos/
|
96
|
-
"@dxos/react-ui-theme": "0.7.5-
|
97
|
-
"@dxos/
|
98
|
-
"@dxos/
|
91
|
+
"@dxos/automerge": "0.7.5-staging.2ff1350",
|
92
|
+
"@dxos/config": "0.7.5-staging.2ff1350",
|
93
|
+
"@dxos/echo-signals": "0.7.5-staging.2ff1350",
|
94
|
+
"@dxos/random": "0.7.5-staging.2ff1350",
|
95
|
+
"@dxos/react-client": "0.7.5-staging.2ff1350",
|
96
|
+
"@dxos/keyboard": "0.7.5-staging.2ff1350",
|
97
|
+
"@dxos/react-ui-theme": "0.7.5-staging.2ff1350",
|
98
|
+
"@dxos/react-ui": "0.7.5-staging.2ff1350",
|
99
|
+
"@dxos/storybook-utils": "0.7.5-staging.2ff1350"
|
99
100
|
},
|
100
101
|
"peerDependencies": {
|
101
102
|
"@phosphor-icons/react": "^2.1.5",
|
102
103
|
"react": "~18.2.0",
|
103
104
|
"react-dom": "~18.2.0",
|
104
|
-
"@dxos/react-ui": "0.7.5-
|
105
|
-
"@dxos/react-
|
106
|
-
"@dxos/react-
|
105
|
+
"@dxos/react-ui": "0.7.5-staging.2ff1350",
|
106
|
+
"@dxos/react-ui-theme": "0.7.5-staging.2ff1350",
|
107
|
+
"@dxos/react-client": "0.7.5-staging.2ff1350"
|
107
108
|
},
|
108
109
|
"publishConfig": {
|
109
110
|
"access": "public"
|
@@ -27,7 +27,7 @@ import { useEffect, useMemo } from 'react';
|
|
27
27
|
import { debounce, type UnsubscribeCallback } from '@dxos/async';
|
28
28
|
import { type ReactiveObject } from '@dxos/live-object';
|
29
29
|
import { log } from '@dxos/log';
|
30
|
-
import {
|
30
|
+
import { isNonNullable } from '@dxos/util';
|
31
31
|
|
32
32
|
import { documentId } from './selection';
|
33
33
|
import { type EditorToolbarState } from '../components';
|
@@ -87,7 +87,7 @@ export const commentsState = StateField.define<CommentsState>({
|
|
87
87
|
const range = Cursor.getRangeFromCursor(tr.state, comment.cursor);
|
88
88
|
return range && { comment, range };
|
89
89
|
})
|
90
|
-
.filter(
|
90
|
+
.filter(isNonNullable);
|
91
91
|
|
92
92
|
return { ...value, comments: commentStates };
|
93
93
|
}
|
@@ -151,7 +151,7 @@ const commentsDecorations = EditorView.decorations.compute([commentsState], (sta
|
|
151
151
|
const mark = createCommentMark(comment.comment.id, comment.comment.id === current);
|
152
152
|
return mark.range(range.from, range.to);
|
153
153
|
})
|
154
|
-
.filter(
|
154
|
+
.filter(isNonNullable);
|
155
155
|
|
156
156
|
return Decoration.set(decorations);
|
157
157
|
});
|
@@ -507,7 +507,7 @@ export const comments = (options: CommentsOptions = {}): Extension => {
|
|
507
507
|
}),
|
508
508
|
|
509
509
|
options.onUpdate && trackPastedComments(options.onUpdate),
|
510
|
-
].filter(
|
510
|
+
].filter(isNonNullable);
|
511
511
|
};
|
512
512
|
|
513
513
|
//
|
@@ -27,7 +27,7 @@ import { log } from '@dxos/log';
|
|
27
27
|
import { type DocAccessor, type Space } from '@dxos/react-client/echo';
|
28
28
|
import { type Identity } from '@dxos/react-client/halo';
|
29
29
|
import { type ThemeMode } from '@dxos/react-ui';
|
30
|
-
import { type HuePalette
|
30
|
+
import { type HuePalette } from '@dxos/react-ui-theme';
|
31
31
|
import { hexToHue, isNotFalsy } from '@dxos/util';
|
32
32
|
|
33
33
|
import { automerge } from './automerge';
|
@@ -124,6 +124,13 @@ export const createBasicExtensions = (_props?: BasicExtensionsOptions): Extensio
|
|
124
124
|
...(props.history ? historyKeymap : []),
|
125
125
|
// https://codemirror.net/docs/ref/#search.searchKeymap
|
126
126
|
...(props.search ? searchKeymap : []),
|
127
|
+
// Disable bindings that conflict with system shortcuts.
|
128
|
+
// TODO(burdon): Catalog global shortcuts.
|
129
|
+
{
|
130
|
+
key: 'Mod-Shift-k',
|
131
|
+
preventDefault: true,
|
132
|
+
run: () => true,
|
133
|
+
},
|
127
134
|
].filter(isNotFalsy),
|
128
135
|
),
|
129
136
|
].filter(isNotFalsy);
|
@@ -194,8 +201,7 @@ export const createDataExtensions = <T>({ id, text, space, identity }: DataExten
|
|
194
201
|
|
195
202
|
if (space && identity) {
|
196
203
|
const peerId = identity?.identityKey.toHex();
|
197
|
-
const
|
198
|
-
hueTokens[(identity?.profile?.data?.hue as HuePalette | undefined) ?? hexToHue(peerId ?? '0')];
|
204
|
+
const hue = (identity?.profile?.data?.hue as HuePalette | undefined) ?? hexToHue(peerId ?? '0');
|
199
205
|
|
200
206
|
extensions.push(
|
201
207
|
awareness(
|
@@ -205,8 +211,8 @@ export const createDataExtensions = <T>({ id, text, space, identity }: DataExten
|
|
205
211
|
peerId: identity.identityKey.toHex(),
|
206
212
|
info: {
|
207
213
|
displayName: identity.profile?.displayName ?? generateName(identity.identityKey.toHex()),
|
208
|
-
darkColor:
|
209
|
-
lightColor:
|
214
|
+
darkColor: `var(--dx-${hue}Cursor)`,
|
215
|
+
lightColor: `var(--dx-${hue}Cursor)`,
|
210
216
|
},
|
211
217
|
}),
|
212
218
|
),
|
package/src/styles/theme.ts
CHANGED
@@ -71,11 +71,10 @@ export const defaultTheme: ThemeStyles = {
|
|
71
71
|
/**
|
72
72
|
* Gutters
|
73
73
|
* NOTE: Gutters should have the same top margin as the content.
|
74
|
-
* NOTE: They can't be transparent since the content needs to scroll below.
|
75
74
|
*/
|
76
75
|
'.cm-gutters': {
|
77
|
-
background: 'var(--surface-bg)',
|
78
76
|
borderRight: 'none',
|
77
|
+
background: 'transparent',
|
79
78
|
},
|
80
79
|
'.cm-gutter': {},
|
81
80
|
'.cm-gutter.cm-lineNumbers .cm-gutterElement': {
|