@dxos/react-ui-editor 0.6.13-main.ed424a1 → 0.6.13-staging.1e988a3

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/index.mjs +346 -241
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/types/src/TextEditor.stories.d.ts +1 -4
  5. package/dist/types/src/TextEditor.stories.d.ts.map +1 -1
  6. package/dist/types/src/defaults.d.ts.map +1 -1
  7. package/dist/types/src/extensions/autocomplete.d.ts +1 -2
  8. package/dist/types/src/extensions/autocomplete.d.ts.map +1 -1
  9. package/dist/types/src/extensions/automerge/automerge.spec.d.ts +2 -0
  10. package/dist/types/src/extensions/automerge/automerge.spec.d.ts.map +1 -0
  11. package/dist/types/src/extensions/automerge/automerge.test.d.ts.map +1 -1
  12. package/dist/types/src/extensions/automerge/cursor.d.ts +1 -1
  13. package/dist/types/src/extensions/automerge/cursor.d.ts.map +1 -1
  14. package/dist/types/src/extensions/awareness/awareness.d.ts +2 -2
  15. package/dist/types/src/extensions/awareness/awareness.d.ts.map +1 -1
  16. package/dist/types/src/extensions/command/state.d.ts +2 -2
  17. package/dist/types/src/extensions/command/state.d.ts.map +1 -1
  18. package/dist/types/src/extensions/comments.d.ts +1 -1
  19. package/dist/types/src/extensions/comments.d.ts.map +1 -1
  20. package/dist/types/src/{state → extensions}/cursor.d.ts +2 -2
  21. package/dist/types/src/extensions/cursor.d.ts.map +1 -0
  22. package/dist/types/src/extensions/debug.d.ts +2 -2
  23. package/dist/types/src/extensions/debug.d.ts.map +1 -1
  24. package/dist/types/src/extensions/doc.d.ts +6 -0
  25. package/dist/types/src/extensions/doc.d.ts.map +1 -0
  26. package/dist/types/src/extensions/folding.d.ts.map +1 -1
  27. package/dist/types/src/extensions/index.d.ts +4 -0
  28. package/dist/types/src/extensions/index.d.ts.map +1 -1
  29. package/dist/types/src/extensions/listener.d.ts +0 -1
  30. package/dist/types/src/extensions/listener.d.ts.map +1 -1
  31. package/dist/types/src/extensions/markdown/decorate.d.ts.map +1 -1
  32. package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +1 -1
  33. package/dist/types/src/extensions/markdown/highlight.d.ts.map +1 -1
  34. package/dist/types/src/extensions/markdown/link.d.ts +1 -1
  35. package/dist/types/src/extensions/markdown/link.d.ts.map +1 -1
  36. package/dist/types/src/extensions/markdown/styles.d.ts.map +1 -1
  37. package/dist/types/src/extensions/modes.d.ts +3 -3
  38. package/dist/types/src/extensions/modes.d.ts.map +1 -1
  39. package/dist/types/src/{state → extensions}/state.d.ts +2 -2
  40. package/dist/types/src/extensions/state.d.ts.map +1 -0
  41. package/dist/types/src/extensions/types.d.ts.map +1 -0
  42. package/dist/types/src/extensions/util/overlap.d.ts +1 -1
  43. package/dist/types/src/extensions/util/overlap.d.ts.map +1 -1
  44. package/dist/types/src/extensions/util/react.d.ts +1 -1
  45. package/dist/types/src/extensions/util/react.d.ts.map +1 -1
  46. package/dist/types/src/hooks/useTextEditor.d.ts +1 -1
  47. package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
  48. package/dist/types/src/index.d.ts +0 -1
  49. package/dist/types/src/index.d.ts.map +1 -1
  50. package/dist/types/src/styles/markdown.d.ts +2 -1
  51. package/dist/types/src/styles/markdown.d.ts.map +1 -1
  52. package/dist/types/src/styles/theme.d.ts.map +1 -1
  53. package/dist/types/src/util.d.ts +0 -6
  54. package/dist/types/src/util.d.ts.map +1 -1
  55. package/package.json +38 -59
  56. package/src/TextEditor.stories.tsx +20 -25
  57. package/src/defaults.ts +2 -0
  58. package/src/extensions/annotations.ts +1 -1
  59. package/src/extensions/autocomplete.ts +8 -9
  60. package/src/extensions/automerge/{automerge.test.tsx → automerge.spec.tsx} +0 -1
  61. package/src/extensions/automerge/automerge.stories.tsx +1 -1
  62. package/src/extensions/automerge/automerge.test.ts +13 -0
  63. package/src/extensions/automerge/automerge.ts +2 -2
  64. package/src/extensions/automerge/cursor.ts +1 -1
  65. package/src/extensions/awareness/awareness.ts +5 -3
  66. package/src/extensions/command/hint.ts +1 -1
  67. package/src/extensions/command/state.ts +4 -3
  68. package/src/extensions/comments.ts +45 -44
  69. package/src/{state → extensions}/cursor.ts +6 -3
  70. package/src/extensions/debug.ts +2 -2
  71. package/src/extensions/doc.ts +17 -0
  72. package/src/extensions/folding.tsx +2 -4
  73. package/src/extensions/index.ts +4 -0
  74. package/src/extensions/listener.ts +0 -1
  75. package/src/extensions/markdown/changes.test.ts +3 -1
  76. package/src/extensions/markdown/decorate.ts +6 -49
  77. package/src/extensions/markdown/formatting.test.ts +3 -1
  78. package/src/extensions/markdown/highlight.ts +5 -0
  79. package/src/extensions/markdown/link.ts +2 -3
  80. package/src/extensions/markdown/parser.test.ts +2 -1
  81. package/src/extensions/markdown/styles.ts +0 -10
  82. package/src/extensions/markdown/table.ts +3 -3
  83. package/src/extensions/modes.ts +5 -6
  84. package/src/{state → extensions}/state.ts +3 -7
  85. package/src/extensions/util/overlap.ts +1 -1
  86. package/src/extensions/util/react.tsx +1 -5
  87. package/src/hooks/useTextEditor.ts +32 -36
  88. package/src/index.ts +0 -1
  89. package/src/styles/markdown.ts +3 -1
  90. package/src/styles/theme.ts +1 -3
  91. package/src/util.ts +0 -10
  92. package/dist/lib/browser/chunk-CIQSMP7K.mjs +0 -148
  93. package/dist/lib/browser/chunk-CIQSMP7K.mjs.map +0 -7
  94. package/dist/lib/browser/state/index.mjs +0 -17
  95. package/dist/lib/browser/state/index.mjs.map +0 -7
  96. package/dist/lib/node/chunk-GZWIENFM.cjs +0 -169
  97. package/dist/lib/node/chunk-GZWIENFM.cjs.map +0 -7
  98. package/dist/lib/node/index.cjs +0 -5493
  99. package/dist/lib/node/index.cjs.map +0 -7
  100. package/dist/lib/node/meta.json +0 -1
  101. package/dist/lib/node/state/index.cjs +0 -39
  102. package/dist/lib/node/state/index.cjs.map +0 -7
  103. package/dist/lib/node-esm/chunk-GP5RCZ3X.mjs +0 -150
  104. package/dist/lib/node-esm/chunk-GP5RCZ3X.mjs.map +0 -7
  105. package/dist/lib/node-esm/index.mjs +0 -5484
  106. package/dist/lib/node-esm/index.mjs.map +0 -7
  107. package/dist/lib/node-esm/meta.json +0 -1
  108. package/dist/lib/node-esm/state/index.mjs +0 -18
  109. package/dist/lib/node-esm/state/index.mjs.map +0 -7
  110. package/dist/types/src/state/cursor.d.ts.map +0 -1
  111. package/dist/types/src/state/doc.d.ts +0 -5
  112. package/dist/types/src/state/doc.d.ts.map +0 -1
  113. package/dist/types/src/state/index.d.ts +0 -6
  114. package/dist/types/src/state/index.d.ts.map +0 -1
  115. package/dist/types/src/state/state.d.ts.map +0 -1
  116. package/dist/types/src/state/types.d.ts.map +0 -1
  117. package/dist/types/src/state/util.d.ts +0 -3
  118. package/dist/types/src/state/util.d.ts.map +0 -1
  119. package/src/state/doc.ts +0 -10
  120. package/src/state/index.ts +0 -11
  121. package/src/state/util.ts +0 -13
  122. /package/dist/types/src/{state → extensions}/types.d.ts +0 -0
  123. /package/src/{state → extensions}/types.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../src/extensions/listener.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,0BAA2B,eAAe,KAAG,SAmBjE,CAAC"}
1
+ {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../src/extensions/listener.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,0BAA2B,eAAe,KAAG,SAmBjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"decorate.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/decorate.ts"],"names":[],"mappings":"AA+fA,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAED,eAAO,MAAM,gBAAgB,aAAa,eAAe,4CAgExD,CAAC"}
1
+ {"version":3,"file":"decorate.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/decorate.ts"],"names":[],"mappings":"AAodA,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAED,eAAO,MAAM,gBAAgB,aAAa,eAAe,4CAgExD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/formatting.test.ts"],"names":[],"mappings":"AAQA,OAAO,EAeL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,eAAe,EAAE,UAU7B,CAAC"}
1
+ {"version":3,"file":"formatting.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/formatting.test.ts"],"names":[],"mappings":"AAUA,OAAO,EAeL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,eAAe,EAAE,UAU7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/highlight.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAmB,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,iBAAiB,CAAC;AAI7D;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAexB,CAAC;AAaF,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAKlD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAElC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,cAAc,gBAAgB,mBAsHhE,CAAC"}
1
+ {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/highlight.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAmB,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,iBAAiB,CAAC;AAI7D;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAexB,CAAC;AAaF,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAKlD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAElC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,cAAc,gBAAgB,mBA2HhE,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const linkTooltip: (render: (el: HTMLElement, url: string) => void) => import("@codemirror/state").Extension & {
1
+ export declare const linkTooltip: (render: (el: Element, url: string) => void) => import("@codemirror/state").Extension & {
2
2
  active: import("@codemirror/state").StateField<readonly import("@codemirror/view").Tooltip[]>;
3
3
  };
4
4
  //# sourceMappingURL=link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/link.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,WAAW,WAAY,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI;;CA0BzE,CAAC"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/link.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,WAAW,WAAY,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI;;CAyBlE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,eAAO,MAAM,gBAAgB,uCAqG3B,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,eAAO,MAAM,gBAAgB,uCA2F3B,CAAC"}
@@ -1,14 +1,14 @@
1
- import { type Extension } from '@codemirror/state';
1
+ import { type Extension, Facet } from '@codemirror/state';
2
2
  export declare const focusEvent = "focus.container";
3
3
  export declare const EditorViewModes: readonly ["preview", "readonly", "source"];
4
4
  export type EditorViewMode = (typeof EditorViewModes)[number];
5
5
  export declare const EditorInputModes: readonly ["default", "vim", "vscode"];
6
6
  export type EditorInputMode = (typeof EditorInputModes)[number];
7
7
  export type EditorInputConfig = {
8
- type?: string;
8
+ type: string;
9
9
  noTabster?: boolean;
10
10
  };
11
- export declare const editorInputMode: import("@codemirror/state").Facet<EditorInputConfig, EditorInputConfig>;
11
+ export declare const editorInputMode: Facet<EditorInputConfig, EditorInputConfig>;
12
12
  export declare const InputModeExtensions: {
13
13
  [mode: string]: Extension;
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../../../src/extensions/modes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAOnD,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAE5C,eAAO,MAAM,eAAe,4CAA6C,CAAC;AAC1E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,gBAAgB,uCAAwC,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,eAAe,yEAA0C,CAAC;AAEvE,eAAO,MAAM,mBAAmB,EAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAsB5D,CAAC"}
1
+ {"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../../../src/extensions/modes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK1D,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAE5C,eAAO,MAAM,eAAe,4CAA6C,CAAC;AAC1E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,eAAO,MAAM,gBAAgB,uCAAwC,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,eAAe,6CAE1B,CAAC;AAEH,eAAO,MAAM,mBAAmB,EAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAsB5D,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type EditorState, type Extension, type TransactionSpec } from '@codemirror/state';
1
+ import { type Extension, type TransactionSpec } from '@codemirror/state';
2
2
  export type EditorSelection = {
3
3
  anchor: number;
4
4
  head?: number;
@@ -12,7 +12,7 @@ export type EditorStateOptions = {
12
12
  getState: (id: string) => EditorSelectionState | undefined;
13
13
  };
14
14
  export declare const localStorageStateStoreAdapter: EditorStateOptions;
15
- export declare const createEditorStateTransaction: (state: EditorState, { scrollTo, selection }: EditorSelectionState) => TransactionSpec;
15
+ export declare const createEditorStateTransaction: ({ scrollTo, selection }: EditorSelectionState) => TransactionSpec;
16
16
  /**
17
17
  * Track scrolling and selection state to be restored when switching to document.
18
18
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/extensions/state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAe,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWtF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,oBAAoB,GAAG,SAAS,CAAC;CAC5D,CAAC;AAGF,eAAO,MAAM,6BAA6B,EAAE,kBAW3C,CAAC;AAEF,eAAO,MAAM,4BAA4B,4BAA6B,oBAAoB,KAAG,eAO5F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,4BAA4B,OAAO,CAAC,kBAAkB,CAAC,KAAQ,SAuChF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/extensions/types.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAIF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type Range } from '../../state';
1
+ import { type Range } from '../types';
2
2
  /**
3
3
  * Determines if two ranges overlap.
4
4
  * A range is considered to overlap if there is any intersection
@@ -1 +1 @@
1
- {"version":3,"file":"overlap.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/util/overlap.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,OAAO,MAAO,KAAK,KAAK,KAAK,KAAG,OAA2C,CAAC"}
1
+ {"version":3,"file":"overlap.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/util/overlap.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,OAAO,MAAO,KAAK,KAAK,KAAK,KAAG,OAA2C,CAAC"}
@@ -3,5 +3,5 @@ export type ElementOptions = {
3
3
  className?: string;
4
4
  };
5
5
  export declare const createElement: (tag: string, options?: ElementOptions, children?: ReactNode) => HTMLElement;
6
- export declare const renderRoot: <T extends Element>(root: T, node: ReactNode) => T;
6
+ export declare const renderRoot: (root: HTMLElement, node: ReactNode) => HTMLElement;
7
7
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/util/react.tsx"],"names":[],"mappings":"AAIA,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ9C,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,MAAM,YAAY,cAAc,aAAa,SAAS,KAAG,WAS3F,CAAC;AAIF,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,OAAO,QAAQ,CAAC,QAAQ,SAAS,KAAG,CAGxE,CAAC"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/util/react.tsx"],"names":[],"mappings":"AAIA,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM9C,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,MAAM,YAAY,cAAc,aAAa,SAAS,KAAG,WAS3F,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,WAAW,QAAQ,SAAS,KAAG,WAG/D,CAAC"}
@@ -3,7 +3,7 @@ import { EditorView } from '@codemirror/view';
3
3
  import { useFocusableGroup } from '@fluentui/react-tabster';
4
4
  import { type DependencyList, type KeyboardEventHandler, type RefObject } from 'react';
5
5
  import { type MaybeProvider } from '@dxos/util';
6
- import { type EditorSelection } from '../state';
6
+ import { type EditorSelection } from '../extensions';
7
7
  export type UseTextEditor = {
8
8
  parentRef: RefObject<HTMLDivElement>;
9
9
  view?: EditorView;
@@ -1 +1 @@
1
- {"version":3,"file":"useTextEditor.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTextEditor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG9E,OAAO,EAAE,KAAK,eAAe,EAA4C,MAAM,UAAU,CAAC;AAG1F,MAAM,MAAM,aAAa,GAAG;IAE1B,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,GAAG;QACtD,QAAQ,EAAE,CAAC,CAAC;QACZ,OAAO,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;KAC/C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAAG;IACvE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,aAAa,WACjB,aAAa,CAAC,kBAAkB,CAAC,SAClC,cAAc,KACnB,aAwHF,CAAC"}
1
+ {"version":3,"file":"useTextEditor.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTextEditor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EAA6D,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhH,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,GAAG;QACtD,QAAQ,EAAE,CAAC,CAAC;QACZ,OAAO,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;KAC/C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAAG;IACvE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,aAAa,WACjB,aAAa,CAAC,kBAAkB,CAAC,SAClC,cAAc,KACnB,aAsHF,CAAC"}
@@ -7,7 +7,6 @@ export * from './components';
7
7
  export * from './defaults';
8
8
  export * from './extensions';
9
9
  export * from './hooks';
10
- export * from './state';
11
10
  export * from './util';
12
11
  export { translations };
13
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAEtE,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AAEvB,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAEtE,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AAEvB,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,8 +1,9 @@
1
1
  export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
2
2
  export declare const theme: {
3
+ mark: string;
3
4
  code: string;
4
5
  codeMark: string;
5
- mark: string;
6
+ blockquote: string;
6
7
  heading: (level: HeadingLevel) => string;
7
8
  };
8
9
  //# sourceMappingURL=markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../../src/styles/markdown.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAYjD,eAAO,MAAM,KAAK;;;;qBAIC,YAAY;CAG9B,CAAC"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../../src/styles/markdown.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAYjD,eAAO,MAAM,KAAK;;;;;qBAMC,YAAY;CAG9B,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,WA+M1B,CAAC"}
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,WA6M1B,CAAC"}
@@ -1,13 +1,7 @@
1
1
  import type { Transaction } from '@codemirror/state';
2
- import { type EditorView } from '@codemirror/view';
3
2
  /**
4
3
  * CodeMirror callbacks swallow errors so wrap handlers.
5
4
  */
6
5
  export declare const callbackWrapper: <T extends Function>(fn: T) => T;
7
- /**
8
- * Log all changes before dispatching them to the view.
9
- * https://codemirror.net/docs/ref/#view.EditorView.dispatch
10
- */
11
- export declare const debugDispatcher: (trs: readonly Transaction[], view: EditorView) => void;
12
6
  export declare const logChanges: (trs: readonly Transaction[]) => void;
13
7
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD;;GAEG;AAEH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,QAAQ,MAAM,CAAC,KAAG,CAOxC,CAAC;AAErB;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAS,SAAS,WAAW,EAAE,QAAQ,UAAU,SAG5E,CAAC;AAEF,eAAO,MAAM,UAAU,QAAS,SAAS,WAAW,EAAE,SAmBrD,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD;;GAEG;AAEH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,QAAQ,MAAM,CAAC,KAAG,CAOxC,CAAC;AAErB,eAAO,MAAM,UAAU,QAAS,SAAS,WAAW,EAAE,SAmBrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/react-ui-editor",
3
- "version": "0.6.13-main.ed424a1",
3
+ "version": "0.6.13-staging.1e988a3",
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",
@@ -9,52 +9,35 @@
9
9
  "exports": {
10
10
  ".": {
11
11
  "browser": "./dist/lib/browser/index.mjs",
12
- "node": {
13
- "require": "./dist/lib/node/index.cjs",
14
- "default": "./dist/lib/node-esm/index.mjs"
15
- },
16
12
  "types": "./dist/types/src/index.d.ts"
17
- },
18
- "./state": {
19
- "browser": "./dist/lib/browser/state/index.mjs",
20
- "node": {
21
- "require": "./dist/lib/node/state/index.cjs",
22
- "default": "./dist/lib/node-esm/state/index.mjs"
23
- },
24
- "types": "./dist/types/src/state/index.d.ts"
25
13
  }
26
14
  },
27
15
  "types": "dist/types/src/index.d.ts",
28
16
  "typesVersions": {
29
- "*": {
30
- "state": [
31
- "dist/types/src/state/index.d.ts"
32
- ]
33
- }
17
+ "*": {}
34
18
  },
35
19
  "files": [
36
20
  "dist",
37
21
  "src"
38
22
  ],
39
23
  "dependencies": {
40
- "@codemirror/autocomplete": "^6.18.1",
41
- "@codemirror/commands": "^6.6.2",
24
+ "@codemirror/autocomplete": "^6.18.0",
25
+ "@codemirror/commands": "^6.6.0",
42
26
  "@codemirror/lang-javascript": "^6.2.2",
43
- "@codemirror/lang-markdown": "^6.3.0",
44
- "@codemirror/language": "^6.10.3",
27
+ "@codemirror/lang-markdown": "^6.2.5",
28
+ "@codemirror/language": "^6.10.2",
45
29
  "@codemirror/language-data": "^6.5.1",
46
- "@codemirror/lint": "^6.8.2",
30
+ "@codemirror/lint": "^6.8.1",
47
31
  "@codemirror/search": "^6.5.6",
48
32
  "@codemirror/state": "^6.4.1",
49
33
  "@codemirror/theme-one-dark": "^6.1.2",
50
- "@codemirror/view": "^6.34.1",
34
+ "@codemirror/view": "^6.29.1",
51
35
  "@fluentui/react-tabster": "^9.19.0",
52
- "@lezer/common": "^1.2.2",
53
- "@lezer/generator": "^1.7.1",
54
- "@lezer/highlight": "^1.2.1",
55
- "@lezer/markdown": "^1.3.1",
36
+ "@lezer/common": "^1.2.1",
37
+ "@lezer/highlight": "^1.2.0",
38
+ "@lezer/markdown": "^1.3.0",
56
39
  "@radix-ui/react-context": "^1.0.0",
57
- "@replit/codemirror-vim": "^6.2.1",
40
+ "@replit/codemirror-vim": "^6.0.14",
58
41
  "@replit/codemirror-vscode-keymap": "^6.0.2",
59
42
  "codemirror": "^6.0.1",
60
43
  "lib0": "^0.2.65",
@@ -64,19 +47,19 @@
64
47
  "lodash.sortby": "^4.7.0",
65
48
  "react-dropzone": "^14.2.3",
66
49
  "style-mod": "^4.1.0",
67
- "@dxos/async": "0.6.13-main.ed424a1",
68
- "@dxos/automerge": "0.6.13-main.ed424a1",
69
- "@dxos/context": "0.6.13-main.ed424a1",
70
- "@dxos/display-name": "0.6.13-main.ed424a1",
71
- "@dxos/debug": "0.6.13-main.ed424a1",
72
- "@dxos/echo-schema": "0.6.13-main.ed424a1",
73
- "@dxos/invariant": "0.6.13-main.ed424a1",
74
- "@dxos/log": "0.6.13-main.ed424a1",
75
- "@dxos/protocols": "0.6.13-main.ed424a1",
76
- "@dxos/react-hooks": "0.6.13-main.ed424a1",
77
- "@dxos/react-ui-theme": "0.6.13-main.ed424a1",
78
- "@dxos/react-ui": "0.6.13-main.ed424a1",
79
- "@dxos/util": "0.6.13-main.ed424a1"
50
+ "@dxos/async": "0.6.13-staging.1e988a3",
51
+ "@dxos/automerge": "0.6.13-staging.1e988a3",
52
+ "@dxos/context": "0.6.13-staging.1e988a3",
53
+ "@dxos/debug": "0.6.13-staging.1e988a3",
54
+ "@dxos/invariant": "0.6.13-staging.1e988a3",
55
+ "@dxos/display-name": "0.6.13-staging.1e988a3",
56
+ "@dxos/echo-schema": "0.6.13-staging.1e988a3",
57
+ "@dxos/log": "0.6.13-staging.1e988a3",
58
+ "@dxos/react-hooks": "0.6.13-staging.1e988a3",
59
+ "@dxos/protocols": "0.6.13-staging.1e988a3",
60
+ "@dxos/react-ui": "0.6.13-staging.1e988a3",
61
+ "@dxos/util": "0.6.13-staging.1e988a3",
62
+ "@dxos/react-ui-theme": "0.6.13-staging.1e988a3"
80
63
  },
81
64
  "devDependencies": {
82
65
  "@phosphor-icons/react": "^2.1.5",
@@ -84,8 +67,6 @@
84
67
  "@testing-library/dom": "^8.17.1",
85
68
  "@testing-library/react": "^13.4.0",
86
69
  "@testing-library/user-event": "^14.4.3",
87
- "@types/chai": "^4.2.15",
88
- "@types/chai-dom": "^1.11.0",
89
70
  "@types/lodash.defaultsdeep": "^4.6.6",
90
71
  "@types/lodash.get": "^4.4.7",
91
72
  "@types/lodash.merge": "^4.6.6",
@@ -93,31 +74,29 @@
93
74
  "@types/react": "~18.2.0",
94
75
  "@types/react-dom": "~18.2.0",
95
76
  "@types/react-test-renderer": "^17.0.2",
96
- "chai": "^4.4.1",
97
- "chai-dom": "^1.11.0",
98
77
  "happy-dom": "^13.3.1",
99
78
  "jsdom": "^24.0.0",
100
- "mocha": "^10.6.0",
101
79
  "react": "~18.2.0",
102
80
  "react-dom": "~18.2.0",
103
81
  "react-test-renderer": "~18.2.0",
104
- "vite": "5.4.7",
82
+ "vite": "^5.3.4",
105
83
  "vite-plugin-top-level-await": "^1.4.1",
106
84
  "vite-plugin-wasm": "^3.3.0",
107
- "@dxos/automerge": "0.6.13-main.ed424a1",
108
- "@dxos/config": "0.6.13-main.ed424a1",
109
- "@dxos/echo-signals": "0.6.13-main.ed424a1",
110
- "@dxos/keyboard": "0.6.13-main.ed424a1",
111
- "@dxos/random": "0.6.13-main.ed424a1",
112
- "@dxos/react-client": "0.6.13-main.ed424a1",
113
- "@dxos/react-ui": "0.6.13-main.ed424a1",
114
- "@dxos/storybook-utils": "0.6.13-main.ed424a1"
85
+ "@dxos/automerge": "0.6.13-staging.1e988a3",
86
+ "@dxos/config": "0.6.13-staging.1e988a3",
87
+ "@dxos/echo-typegen": "0.6.13-staging.1e988a3",
88
+ "@dxos/echo-signals": "0.6.13-staging.1e988a3",
89
+ "@dxos/random": "0.6.13-staging.1e988a3",
90
+ "@dxos/react-client": "0.6.13-staging.1e988a3",
91
+ "@dxos/react-ui": "0.6.13-staging.1e988a3",
92
+ "@dxos/storybook-utils": "0.6.13-staging.1e988a3",
93
+ "@dxos/keyboard": "0.6.13-staging.1e988a3"
115
94
  },
116
95
  "peerDependencies": {
117
96
  "@phosphor-icons/react": "^2.1.5",
118
- "react": "~18.2.0",
119
- "react-dom": "~18.2.0",
120
- "@dxos/react-client": "0.6.13-main.ed424a1"
97
+ "react": "^18.0.0",
98
+ "react-dom": "^18.0.0",
99
+ "@dxos/react-client": "0.6.13-staging.1e988a3"
121
100
  },
122
101
  "publishConfig": {
123
102
  "access": "public"
@@ -3,7 +3,6 @@
3
3
  //
4
4
 
5
5
  import '@dxos-theme';
6
-
7
6
  import { javascript } from '@codemirror/lang-javascript';
8
7
  import { markdown } from '@codemirror/lang-markdown';
9
8
  import { openSearchPanel } from '@codemirror/search';
@@ -20,7 +19,7 @@ import { keySymbols, parseShortcut } from '@dxos/keyboard';
20
19
  import { PublicKey } from '@dxos/keys';
21
20
  import { log } from '@dxos/log';
22
21
  import { faker } from '@dxos/random';
23
- import { createDocAccessor, createObject } from '@dxos/react-client/echo';
22
+ import { createDocAccessor, createEchoObject } from '@dxos/react-client/echo';
24
23
  import { Button, DensityProvider, Input, useThemeContext } from '@dxos/react-ui';
25
24
  import { baseSurface, mx, getSize } from '@dxos/react-ui-theme';
26
25
  import { withLayout, withTheme } from '@dxos/storybook-utils';
@@ -38,7 +37,6 @@ import {
38
37
  createExternalCommentSync,
39
38
  createMarkdownExtensions,
40
39
  createThemeExtensions,
41
- debugTree,
42
40
  decorateMarkdown,
43
41
  defaultOptions,
44
42
  dropFile,
@@ -48,15 +46,18 @@ import {
48
46
  linkTooltip,
49
47
  listener,
50
48
  mention,
49
+ state,
51
50
  table,
52
51
  typewriter,
53
52
  type CommandAction,
53
+ type Comment,
54
54
  type CommentsOptions,
55
+ type EditorSelectionState,
56
+ debugTree,
55
57
  type DebugNode,
56
58
  } from './extensions';
57
59
  import { renderRoot } from './extensions/util';
58
60
  import { useTextEditor, type UseTextEditorProps } from './hooks';
59
- import { type Comment, type EditorSelectionState, state } from './state';
60
61
  import translations from './translations';
61
62
 
62
63
  faker.seed(101);
@@ -163,8 +164,8 @@ const content = {
163
164
  '> This is a long wrapping block quote. Neque reiciendis ullam quae error labore sit, at, et, nulla, aut at nostrum omnis quas nostrum, at consectetur vitae eos asperiores non omnis ullam in beatae at vitae deserunt asperiores sapiente.',
164
165
  '',
165
166
  '> This is ...',
166
- '... a multi-line ...',
167
- 'block quote.',
167
+ '> ... a multi-line ...',
168
+ '> block quote.',
168
169
  '',
169
170
  ),
170
171
 
@@ -253,7 +254,7 @@ const renderLinkButton = (el: Element, url: string) => {
253
254
  // Story
254
255
  //
255
256
 
256
- type DebugMode = 'raw' | 'tree' | 'raw+tree';
257
+ type DebugMode = 'syntax' | 'raw';
257
258
 
258
259
  type StoryProps = {
259
260
  id?: string;
@@ -277,7 +278,7 @@ const Story = ({
277
278
  lineNumbers,
278
279
  onReady,
279
280
  }: StoryProps) => {
280
- const [object] = useState(createObject(create(Expando, { content: text ?? '' })));
281
+ const [object] = useState(createEchoObject(create(Expando, { content: text ?? '' })));
281
282
  const { themeMode } = useThemeContext();
282
283
  const [tree, setTree] = useState<DebugNode>();
283
284
  const { parentRef, focusAttributes, view } = useTextEditor(
@@ -316,16 +317,16 @@ const Story = ({
316
317
  return (
317
318
  <div className='flex w-full'>
318
319
  <div role='none' className='flex w-full overflow-hidden' ref={parentRef} {...focusAttributes} />
319
- {debug && (
320
- <div className='flex flex-col w-[800px] border-l border-separator divide-y divide-separator overflow-auto'>
321
- {(debug === 'raw' || debug === 'raw+tree') && (
322
- <pre className='p-1 font-mono text-xs text-green-800 dark:text-green-200'>{view?.state.doc.toString()}</pre>
323
- )}
324
- {(debug === 'tree' || debug === 'raw+tree') && (
325
- <pre className='p-1 font-mono text-xs text-green-800 dark:text-green-200'>
326
- {JSON.stringify(tree, null, 2)}
327
- </pre>
328
- )}
320
+ {debug === 'raw' && (
321
+ <div className='w-[800px] border-l border-separator overflow-auto'>
322
+ <pre className='p-1 font-mono text-xs text-green-800 dark:text-green-200'>{view?.state.doc.toString()}</pre>
323
+ </div>
324
+ )}
325
+ {debug === 'syntax' && (
326
+ <div className='w-[800px] border-l border-separator overflow-auto'>
327
+ <pre className='p-1 font-mono text-xs text-green-800 dark:text-green-200'>
328
+ {JSON.stringify(tree, null, 2)}
329
+ </pre>
329
330
  </div>
330
331
  )}
331
332
  </div>
@@ -451,12 +452,6 @@ export const ScrollTo = {
451
452
  // Markdown
452
453
  //
453
454
 
454
- export const Blockquote = {
455
- render: () => (
456
- <Story text={str('> Blockquote', 'continuation', content.footer)} extensions={decorateMarkdown()} debug='raw' />
457
- ),
458
- };
459
-
460
455
  export const Headings = {
461
456
  render: () => <Story text={headings} extensions={decorateMarkdown({ numberedHeadings: { from: 2, to: 4 } })} />,
462
457
  };
@@ -491,7 +486,7 @@ export const OrderedList = {
491
486
  };
492
487
 
493
488
  export const TaskList = {
494
- render: () => <Story text={str(content.tasks, content.footer)} extensions={[decorateMarkdown()]} debug='raw+tree' />,
489
+ render: () => <Story text={str(content.tasks, content.footer)} extensions={[decorateMarkdown()]} debug='raw' />,
495
490
  };
496
491
 
497
492
  export const Table = {
package/src/defaults.ts CHANGED
@@ -8,6 +8,8 @@ import { mx } from '@dxos/react-ui-theme';
8
8
 
9
9
  import { fontMono } from './styles';
10
10
 
11
+ // TODO(burdon): Define scrollMargins for fixed gutter?
12
+ // https://codemirror.net/docs/ref/#view.EditorView^scrollMargins
11
13
  const margin = '!mt-[1rem]';
12
14
 
13
15
  /**
@@ -7,7 +7,7 @@ import { Decoration, EditorView } from '@codemirror/view';
7
7
 
8
8
  import { isNotFalsy } from '@dxos/util';
9
9
 
10
- import { Cursor } from '../state';
10
+ import { Cursor } from './cursor';
11
11
 
12
12
  type Annotation = {
13
13
  cursor: string;
@@ -2,6 +2,10 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ // https://codemirror.net/examples/autocompletion
6
+ // https://codemirror.net/docs/ref/#autocomplete.autocompletion
7
+ // https://codemirror.net/docs/ref/#autocomplete.Completion
8
+
5
9
  import {
6
10
  autocompletion,
7
11
  completionKeymap,
@@ -11,7 +15,6 @@ import {
11
15
  type CompletionResult,
12
16
  } from '@codemirror/autocomplete';
13
17
  import { markdownLanguage } from '@codemirror/lang-markdown';
14
- import { type Extension } from '@codemirror/state';
15
18
  import { keymap } from '@codemirror/view';
16
19
 
17
20
  export type AutocompleteResult = Completion;
@@ -22,15 +25,11 @@ export type AutocompleteOptions = {
22
25
  onSearch?: (text: string) => Completion[];
23
26
  };
24
27
 
25
- // https://codemirror.net/examples/autocompletion
26
- // https://codemirror.net/docs/ref/#autocomplete.autocompletion
27
- // https://codemirror.net/docs/ref/#autocomplete.Completion
28
-
29
28
  /**
30
29
  * Autocomplete extension.
31
30
  */
32
- export const autocomplete = ({ activateOnTyping, override, onSearch }: AutocompleteOptions = {}): Extension => {
33
- const extensions: Extension[] = [
31
+ export const autocomplete = ({ activateOnTyping, override, onSearch }: AutocompleteOptions = {}) => {
32
+ const extentions = [
34
33
  // https://codemirror.net/docs/ref/#view.keymap
35
34
  // https://discuss.codemirror.net/t/how-can-i-replace-the-default-autocompletion-keymap-v6/3322
36
35
  // TODO(burdon): Set custom keymap.
@@ -51,7 +50,7 @@ export const autocomplete = ({ activateOnTyping, override, onSearch }: Autocompl
51
50
  ];
52
51
 
53
52
  if (onSearch) {
54
- extensions.push(
53
+ extentions.push(
55
54
  // TODO(burdon): Optional decoration via addToOptions
56
55
  markdownLanguage.data.of({
57
56
  autocomplete: (context: CompletionContext): CompletionResult | null => {
@@ -69,5 +68,5 @@ export const autocomplete = ({ activateOnTyping, override, onSearch }: Autocompl
69
68
  );
70
69
  }
71
70
 
72
- return extensions;
71
+ return extentions;
73
72
  };
@@ -5,7 +5,6 @@
5
5
  import { EditorState } from '@codemirror/state';
6
6
  import { EditorView } from '@codemirror/view';
7
7
  import { render, screen } from '@testing-library/react';
8
- // TODO(wittjosiah): Move to vitest expect.
9
8
  import chai, { expect } from 'chai';
10
9
  import chaiDom from 'chai-dom';
11
10
  import get from 'lodash.get';
@@ -129,7 +129,7 @@ export const WithEcho = {
129
129
  count={2}
130
130
  component={EchoStory}
131
131
  createSpace
132
- onSpaceCreated={async ({ space }) => {
132
+ onCreateSpace={async (space) => {
133
133
  space.db.add(
134
134
  create({
135
135
  type: 'test',
@@ -0,0 +1,13 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ import { expect } from 'chai';
6
+
7
+ import { describe, test } from '@dxos/test';
8
+
9
+ describe('Test', () => {
10
+ test('checks sanity', async () => {
11
+ expect(true).to.be.true;
12
+ });
13
+ });
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright 2024 DXOS.org
2
+ // Copyright 2023 DXOS.org
3
3
  // Copyright 2024 Automerge
4
4
  // Ref: https://github.com/automerge/automerge-codemirror
5
5
  //
@@ -13,7 +13,7 @@ import { type DocAccessor } from '@dxos/react-client/echo';
13
13
  import { cursorConverter } from './cursor';
14
14
  import { updateHeadsEffect, isReconcile, type State } from './defs';
15
15
  import { Syncer } from './sync';
16
- import { Cursor } from '../../state';
16
+ import { Cursor } from '../cursor';
17
17
 
18
18
  export const automerge = (accessor: DocAccessor): Extension => {
19
19
  const syncState = StateField.define<State>({
@@ -5,7 +5,7 @@
5
5
  import { log } from '@dxos/log';
6
6
  import { type DocAccessor, fromCursor, toCursor } from '@dxos/react-client/echo';
7
7
 
8
- import { type CursorConverter } from '../../state';
8
+ import { type CursorConverter } from '../cursor';
9
9
 
10
10
  export const cursorConverter = (accessor: DocAccessor): CursorConverter => ({
11
11
  toCursor: (pos, assoc) => {