@dxos/react-ui-editor 0.6.11 → 0.6.12-main.2d19bf1

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.
Files changed (123) hide show
  1. package/dist/lib/browser/chunk-CIQSMP7K.mjs +148 -0
  2. package/dist/lib/browser/chunk-CIQSMP7K.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +227 -345
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/state/index.mjs +17 -0
  7. package/dist/lib/browser/state/index.mjs.map +7 -0
  8. package/dist/lib/node/chunk-GZWIENFM.cjs +169 -0
  9. package/dist/lib/node/chunk-GZWIENFM.cjs.map +7 -0
  10. package/dist/lib/node/index.cjs +5480 -0
  11. package/dist/lib/node/index.cjs.map +7 -0
  12. package/dist/lib/node/meta.json +1 -0
  13. package/dist/lib/node/state/index.cjs +39 -0
  14. package/dist/lib/node/state/index.cjs.map +7 -0
  15. package/dist/lib/node-esm/chunk-GP5RCZ3X.mjs +150 -0
  16. package/dist/lib/node-esm/chunk-GP5RCZ3X.mjs.map +7 -0
  17. package/dist/lib/node-esm/index.mjs +5471 -0
  18. package/dist/lib/node-esm/index.mjs.map +7 -0
  19. package/dist/lib/node-esm/meta.json +1 -0
  20. package/dist/lib/node-esm/state/index.mjs +18 -0
  21. package/dist/lib/node-esm/state/index.mjs.map +7 -0
  22. package/dist/types/src/TextEditor.stories.d.ts +4 -1
  23. package/dist/types/src/TextEditor.stories.d.ts.map +1 -1
  24. package/dist/types/src/defaults.d.ts.map +1 -1
  25. package/dist/types/src/extensions/autocomplete.d.ts +2 -1
  26. package/dist/types/src/extensions/autocomplete.d.ts.map +1 -1
  27. package/dist/types/src/extensions/automerge/automerge.test.d.ts.map +1 -1
  28. package/dist/types/src/extensions/automerge/cursor.d.ts +1 -1
  29. package/dist/types/src/extensions/automerge/cursor.d.ts.map +1 -1
  30. package/dist/types/src/extensions/awareness/awareness.d.ts +2 -2
  31. package/dist/types/src/extensions/awareness/awareness.d.ts.map +1 -1
  32. package/dist/types/src/extensions/command/state.d.ts +2 -2
  33. package/dist/types/src/extensions/command/state.d.ts.map +1 -1
  34. package/dist/types/src/extensions/comments.d.ts +1 -1
  35. package/dist/types/src/extensions/comments.d.ts.map +1 -1
  36. package/dist/types/src/extensions/debug.d.ts +2 -2
  37. package/dist/types/src/extensions/debug.d.ts.map +1 -1
  38. package/dist/types/src/extensions/folding.d.ts.map +1 -1
  39. package/dist/types/src/extensions/index.d.ts +0 -4
  40. package/dist/types/src/extensions/index.d.ts.map +1 -1
  41. package/dist/types/src/extensions/listener.d.ts +1 -0
  42. package/dist/types/src/extensions/listener.d.ts.map +1 -1
  43. package/dist/types/src/extensions/markdown/decorate.d.ts.map +1 -1
  44. package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +1 -1
  45. package/dist/types/src/extensions/markdown/highlight.d.ts.map +1 -1
  46. package/dist/types/src/extensions/markdown/link.d.ts +1 -1
  47. package/dist/types/src/extensions/markdown/link.d.ts.map +1 -1
  48. package/dist/types/src/extensions/markdown/styles.d.ts.map +1 -1
  49. package/dist/types/src/extensions/modes.d.ts +3 -3
  50. package/dist/types/src/extensions/modes.d.ts.map +1 -1
  51. package/dist/types/src/extensions/util/overlap.d.ts +1 -1
  52. package/dist/types/src/extensions/util/overlap.d.ts.map +1 -1
  53. package/dist/types/src/extensions/util/react.d.ts +1 -1
  54. package/dist/types/src/extensions/util/react.d.ts.map +1 -1
  55. package/dist/types/src/hooks/useTextEditor.d.ts +1 -1
  56. package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
  57. package/dist/types/src/index.d.ts +1 -0
  58. package/dist/types/src/index.d.ts.map +1 -1
  59. package/dist/types/src/{extensions → state}/cursor.d.ts +2 -2
  60. package/dist/types/src/state/cursor.d.ts.map +1 -0
  61. package/dist/types/src/state/doc.d.ts +5 -0
  62. package/dist/types/src/state/doc.d.ts.map +1 -0
  63. package/dist/types/src/state/index.d.ts +6 -0
  64. package/dist/types/src/state/index.d.ts.map +1 -0
  65. package/dist/types/src/{extensions → state}/state.d.ts +2 -2
  66. package/dist/types/src/state/state.d.ts.map +1 -0
  67. package/dist/types/src/state/types.d.ts.map +1 -0
  68. package/dist/types/src/state/util.d.ts +3 -0
  69. package/dist/types/src/state/util.d.ts.map +1 -0
  70. package/dist/types/src/styles/markdown.d.ts +1 -2
  71. package/dist/types/src/styles/markdown.d.ts.map +1 -1
  72. package/dist/types/src/styles/theme.d.ts.map +1 -1
  73. package/dist/types/src/util.d.ts +6 -0
  74. package/dist/types/src/util.d.ts.map +1 -1
  75. package/package.json +54 -37
  76. package/src/TextEditor.stories.tsx +22 -17
  77. package/src/defaults.ts +0 -2
  78. package/src/extensions/annotations.ts +1 -1
  79. package/src/extensions/autocomplete.ts +9 -8
  80. package/src/extensions/automerge/automerge.stories.tsx +1 -1
  81. package/src/extensions/automerge/{automerge.spec.tsx → automerge.test.tsx} +1 -0
  82. package/src/extensions/automerge/automerge.ts +2 -2
  83. package/src/extensions/automerge/cursor.ts +1 -1
  84. package/src/extensions/awareness/awareness.ts +3 -5
  85. package/src/extensions/command/hint.ts +1 -1
  86. package/src/extensions/command/state.ts +3 -4
  87. package/src/extensions/comments.ts +44 -45
  88. package/src/extensions/debug.ts +2 -2
  89. package/src/extensions/folding.tsx +4 -2
  90. package/src/extensions/index.ts +0 -4
  91. package/src/extensions/listener.ts +1 -0
  92. package/src/extensions/markdown/changes.test.ts +1 -3
  93. package/src/extensions/markdown/decorate.ts +49 -6
  94. package/src/extensions/markdown/formatting.test.ts +1 -3
  95. package/src/extensions/markdown/highlight.ts +0 -5
  96. package/src/extensions/markdown/link.ts +3 -2
  97. package/src/extensions/markdown/parser.test.ts +1 -2
  98. package/src/extensions/markdown/styles.ts +10 -0
  99. package/src/extensions/markdown/table.ts +3 -3
  100. package/src/extensions/modes.ts +6 -5
  101. package/src/extensions/util/overlap.ts +1 -1
  102. package/src/extensions/util/react.tsx +5 -1
  103. package/src/hooks/useTextEditor.ts +30 -31
  104. package/src/index.ts +1 -0
  105. package/src/{extensions → state}/cursor.ts +3 -6
  106. package/src/state/doc.ts +10 -0
  107. package/src/state/index.ts +11 -0
  108. package/src/{extensions → state}/state.ts +7 -3
  109. package/src/state/util.ts +13 -0
  110. package/src/styles/markdown.ts +1 -3
  111. package/src/styles/theme.ts +3 -1
  112. package/src/util.ts +10 -0
  113. package/dist/types/src/extensions/automerge/automerge.spec.d.ts +0 -2
  114. package/dist/types/src/extensions/automerge/automerge.spec.d.ts.map +0 -1
  115. package/dist/types/src/extensions/cursor.d.ts.map +0 -1
  116. package/dist/types/src/extensions/doc.d.ts +0 -6
  117. package/dist/types/src/extensions/doc.d.ts.map +0 -1
  118. package/dist/types/src/extensions/state.d.ts.map +0 -1
  119. package/dist/types/src/extensions/types.d.ts.map +0 -1
  120. package/src/extensions/automerge/automerge.test.ts +0 -13
  121. package/src/extensions/doc.ts +0 -17
  122. /package/dist/types/src/{extensions → state}/types.d.ts +0 -0
  123. /package/src/{extensions → state}/types.ts +0 -0
@@ -0,0 +1,148 @@
1
+ // packages/ui/react-ui-editor/src/state/util.ts
2
+ import { Facet } from "@codemirror/state";
3
+ var singleValueFacet = (defaultValue) => Facet.define({
4
+ // Called immediately.
5
+ combine: (providers) => {
6
+ return providers[0] ?? defaultValue;
7
+ }
8
+ });
9
+
10
+ // packages/ui/react-ui-editor/src/state/cursor.ts
11
+ var defaultCursorConverter = {
12
+ toCursor: (position) => position.toString(),
13
+ fromCursor: (cursor) => parseInt(cursor)
14
+ };
15
+ var Cursor = class _Cursor {
16
+ static {
17
+ this.converter = singleValueFacet(defaultCursorConverter);
18
+ }
19
+ static {
20
+ this.getCursorFromRange = (state2, range) => {
21
+ const cursorConverter = state2.facet(_Cursor.converter);
22
+ const from = cursorConverter.toCursor(range.from);
23
+ const to = cursorConverter.toCursor(range.to, -1);
24
+ return [
25
+ from,
26
+ to
27
+ ].join(":");
28
+ };
29
+ }
30
+ static {
31
+ this.getRangeFromCursor = (state2, cursor) => {
32
+ const cursorConverter = state2.facet(_Cursor.converter);
33
+ const parts = cursor.split(":");
34
+ const from = cursorConverter.fromCursor(parts[0]);
35
+ const to = cursorConverter.fromCursor(parts[1]);
36
+ return from !== void 0 && to !== void 0 ? {
37
+ from,
38
+ to
39
+ } : void 0;
40
+ };
41
+ }
42
+ };
43
+
44
+ // packages/ui/react-ui-editor/src/state/doc.ts
45
+ var documentId = singleValueFacet();
46
+
47
+ // packages/ui/react-ui-editor/src/state/state.ts
48
+ import { Transaction } from "@codemirror/state";
49
+ import { EditorView, keymap } from "@codemirror/view";
50
+ import { debounce } from "@dxos/async";
51
+ import { invariant } from "@dxos/invariant";
52
+ import { isNotFalsy } from "@dxos/util";
53
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/ui/react-ui-editor/src/state/state.ts";
54
+ var stateRestoreAnnotation = "dxos.org/cm/state-restore";
55
+ var keyPrefix = "dxos.org/react-ui-editor/state";
56
+ var localStorageStateStoreAdapter = {
57
+ getState: (id) => {
58
+ invariant(id, void 0, {
59
+ F: __dxlog_file,
60
+ L: 34,
61
+ S: void 0,
62
+ A: [
63
+ "id",
64
+ ""
65
+ ]
66
+ });
67
+ const state2 = localStorage.getItem(`${keyPrefix}/${id}`);
68
+ return state2 ? JSON.parse(state2) : void 0;
69
+ },
70
+ setState: (id, state2) => {
71
+ invariant(id, void 0, {
72
+ F: __dxlog_file,
73
+ L: 40,
74
+ S: void 0,
75
+ A: [
76
+ "id",
77
+ ""
78
+ ]
79
+ });
80
+ localStorage.setItem(`${keyPrefix}/${id}`, JSON.stringify(state2));
81
+ }
82
+ };
83
+ var createEditorStateTransaction = (state2, { scrollTo, selection }) => {
84
+ return {
85
+ selection,
86
+ scrollIntoView: !scrollTo,
87
+ effects: scrollTo ? EditorView.scrollIntoView(scrollTo, {
88
+ yMargin: 96
89
+ }) : void 0,
90
+ annotations: Transaction.userEvent.of(stateRestoreAnnotation)
91
+ };
92
+ };
93
+ var state = ({ getState, setState } = {}) => {
94
+ const setStateDebounced = debounce(setState, 1e3);
95
+ return [
96
+ // TODO(burdon): Track scrolling (currently only updates when cursor moves).
97
+ // EditorView.domEventHandlers({
98
+ // scroll: (event) => {
99
+ // setStateDebounced(id, {});
100
+ // },
101
+ // }),
102
+ EditorView.updateListener.of(({ view, transactions }) => {
103
+ const id = view.state.facet(documentId);
104
+ if (!id || transactions.some((tr) => tr.isUserEvent(stateRestoreAnnotation))) {
105
+ return;
106
+ }
107
+ if (setState) {
108
+ const { scrollTop } = view.scrollDOM;
109
+ const pos = view.posAtCoords({
110
+ x: 0,
111
+ y: scrollTop
112
+ });
113
+ if (pos !== null) {
114
+ const { anchor, head } = view.state.selection.main;
115
+ setStateDebounced(id, {
116
+ scrollTo: pos,
117
+ selection: {
118
+ anchor,
119
+ head
120
+ }
121
+ });
122
+ }
123
+ }
124
+ }),
125
+ getState && keymap.of([
126
+ {
127
+ key: "ctrl-r",
128
+ run: (view) => {
129
+ const state2 = getState(view.state.facet(documentId));
130
+ if (state2) {
131
+ view.dispatch(createEditorStateTransaction(view.state, state2));
132
+ }
133
+ return true;
134
+ }
135
+ }
136
+ ])
137
+ ].filter(isNotFalsy);
138
+ };
139
+
140
+ export {
141
+ singleValueFacet,
142
+ Cursor,
143
+ documentId,
144
+ localStorageStateStoreAdapter,
145
+ createEditorStateTransaction,
146
+ state
147
+ };
148
+ //# sourceMappingURL=chunk-CIQSMP7K.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/state/util.ts", "../../../src/state/cursor.ts", "../../../src/state/doc.ts", "../../../src/state/state.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Facet } from '@codemirror/state';\n\nexport const singleValueFacet = <I, O = I>(defaultValue?: O) =>\n Facet.define<I, O>({\n // Called immediately.\n combine: (providers) => {\n return (providers[0] ?? defaultValue) as O;\n },\n });\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type EditorState } from '@codemirror/state';\n\nimport { type Range } from './types';\nimport { singleValueFacet } from './util';\n\n/**\n * Converts indexes into the text document into stable peer-independent cursors.\n *\n * See:\n * - https://automerge.org/automerge/api-docs/js/functions/next.getCursor.html\n * - https://github.com/yjs/yjs?tab=readme-ov-file#relative-positions\n *\n * @param {assoc} number Negative values will associate the cursor with the previous character\n * while positive - with the next one.\n */\nexport interface CursorConverter {\n toCursor(position: number, assoc?: -1 | 1 | undefined): string;\n fromCursor(cursor: string): number;\n}\n\nconst defaultCursorConverter: CursorConverter = {\n toCursor: (position) => position.toString(),\n fromCursor: (cursor) => parseInt(cursor),\n};\n\nexport class Cursor {\n static readonly converter = singleValueFacet(defaultCursorConverter);\n\n static readonly getCursorFromRange = (state: EditorState, range: Range) => {\n const cursorConverter = state.facet(Cursor.converter);\n\n const from = cursorConverter.toCursor(range.from);\n const to = cursorConverter.toCursor(range.to, -1);\n return [from, to].join(':');\n };\n\n static readonly getRangeFromCursor = (state: EditorState, cursor: string) => {\n const cursorConverter = state.facet(Cursor.converter);\n\n const parts = cursor.split(':');\n const from = cursorConverter.fromCursor(parts[0]);\n const to = cursorConverter.fromCursor(parts[1]);\n return from !== undefined && to !== undefined ? { from, to } : undefined;\n };\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { singleValueFacet } from './util';\n\n/**\n * Currently edited document id as FQ string.\n */\nexport const documentId = singleValueFacet<string>();\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type EditorState, type Extension, Transaction, type TransactionSpec } from '@codemirror/state';\nimport { EditorView, keymap } from '@codemirror/view';\n\nimport { debounce } from '@dxos/async';\nimport { invariant } from '@dxos/invariant';\nimport { isNotFalsy } from '@dxos/util';\n\nimport { documentId } from './doc';\n\nconst stateRestoreAnnotation = 'dxos.org/cm/state-restore';\n\nexport type EditorSelection = {\n anchor: number;\n head?: number;\n};\n\nexport type EditorSelectionState = {\n scrollTo?: number;\n selection?: EditorSelection;\n};\n\nexport type EditorStateOptions = {\n setState: (id: string, state: EditorSelectionState) => void;\n getState: (id: string) => EditorSelectionState | undefined;\n};\n\nconst keyPrefix = 'dxos.org/react-ui-editor/state';\nexport const localStorageStateStoreAdapter: EditorStateOptions = {\n getState: (id) => {\n invariant(id);\n const state = localStorage.getItem(`${keyPrefix}/${id}`);\n return state ? JSON.parse(state) : undefined;\n },\n\n setState: (id, state) => {\n invariant(id);\n localStorage.setItem(`${keyPrefix}/${id}`, JSON.stringify(state));\n },\n};\n\nexport const createEditorStateTransaction = (\n state: EditorState,\n { scrollTo, selection }: EditorSelectionState,\n): TransactionSpec => {\n return {\n selection,\n scrollIntoView: !scrollTo,\n effects: scrollTo ? EditorView.scrollIntoView(scrollTo, { yMargin: 96 }) : undefined,\n annotations: Transaction.userEvent.of(stateRestoreAnnotation),\n };\n};\n\n/**\n * Track scrolling and selection state to be restored when switching to document.\n */\n// TODO(burdon): Rename.\nexport const state = ({ getState, setState }: Partial<EditorStateOptions> = {}): Extension => {\n const setStateDebounced = debounce(setState!, 1_000);\n\n return [\n // TODO(burdon): Track scrolling (currently only updates when cursor moves).\n // EditorView.domEventHandlers({\n // scroll: (event) => {\n // setStateDebounced(id, {});\n // },\n // }),\n EditorView.updateListener.of(({ view, transactions }) => {\n const id = view.state.facet(documentId);\n if (!id || transactions.some((tr) => tr.isUserEvent(stateRestoreAnnotation))) {\n return;\n }\n\n if (setState) {\n const { scrollTop } = view.scrollDOM;\n const pos = view.posAtCoords({ x: 0, y: scrollTop });\n if (pos !== null) {\n const { anchor, head } = view.state.selection.main;\n setStateDebounced(id, { scrollTo: pos, selection: { anchor, head } });\n }\n }\n }),\n getState &&\n keymap.of([\n {\n key: 'ctrl-r', // TODO(burdon): Setting to jump back to selection.\n run: (view) => {\n const state = getState(view.state.facet(documentId));\n if (state) {\n view.dispatch(createEditorStateTransaction(view.state, state));\n }\n return true;\n },\n },\n ]),\n ].filter(isNotFalsy);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Facet", "singleValueFacet", "defaultValue", "Facet", "define", "combine", "providers", "defaultCursorConverter", "toCursor", "position", "toString", "fromCursor", "cursor", "parseInt", "Cursor", "converter", "singleValueFacet", "getCursorFromRange", "state", "range", "cursorConverter", "facet", "from", "to", "join", "getRangeFromCursor", "parts", "split", "undefined", "documentId", "singleValueFacet", "Transaction", "EditorView", "keymap", "debounce", "invariant", "isNotFalsy", "stateRestoreAnnotation", "keyPrefix", "localStorageStateStoreAdapter", "getState", "id", "invariant", "state", "localStorage", "getItem", "JSON", "parse", "undefined", "setState", "setItem", "stringify", "createEditorStateTransaction", "scrollTo", "selection", "scrollIntoView", "effects", "EditorView", "yMargin", "annotations", "Transaction", "userEvent", "of", "setStateDebounced", "debounce", "updateListener", "view", "transactions", "facet", "documentId", "some", "tr", "isUserEvent", "scrollTop", "scrollDOM", "pos", "posAtCoords", "x", "y", "anchor", "head", "main", "keymap", "key", "run", "dispatch", "filter", "isNotFalsy"]
7
+ }