@dxos/react-ui-editor 0.8.4-main.406dc2a → 0.8.4-main.548089c

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 (108) hide show
  1. package/dist/lib/browser/index.mjs +1379 -1139
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +1379 -1139
  5. package/dist/lib/node-esm/index.mjs.map +4 -4
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/components/Editor/Editor.stories.d.ts +0 -3
  8. package/dist/types/src/components/Editor/Editor.stories.d.ts.map +1 -1
  9. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts +17 -2
  10. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
  11. package/dist/types/src/components/EditorToolbar/headings.d.ts.map +1 -1
  12. package/dist/types/src/components/EditorToolbar/util.d.ts +5 -19
  13. package/dist/types/src/components/EditorToolbar/util.d.ts.map +1 -1
  14. package/dist/types/src/extensions/automerge/automerge.d.ts +1 -1
  15. package/dist/types/src/extensions/automerge/automerge.d.ts.map +1 -1
  16. package/dist/types/src/extensions/automerge/cursor.d.ts +1 -1
  17. package/dist/types/src/extensions/automerge/cursor.d.ts.map +1 -1
  18. package/dist/types/src/extensions/automerge/sync.d.ts +1 -1
  19. package/dist/types/src/extensions/automerge/sync.d.ts.map +1 -1
  20. package/dist/types/src/extensions/automerge/update-automerge.d.ts +1 -1
  21. package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +1 -1
  22. package/dist/types/src/extensions/autoscroll.d.ts +14 -4
  23. package/dist/types/src/extensions/autoscroll.d.ts.map +1 -1
  24. package/dist/types/src/extensions/awareness/awareness-provider.d.ts +1 -1
  25. package/dist/types/src/extensions/awareness/awareness-provider.d.ts.map +1 -1
  26. package/dist/types/src/extensions/blocks.d.ts +2 -0
  27. package/dist/types/src/extensions/blocks.d.ts.map +1 -0
  28. package/dist/types/src/extensions/bookmarks.d.ts +12 -0
  29. package/dist/types/src/extensions/bookmarks.d.ts.map +1 -0
  30. package/dist/types/src/extensions/comments.d.ts.map +1 -1
  31. package/dist/types/src/extensions/factories.d.ts +4 -4
  32. package/dist/types/src/extensions/factories.d.ts.map +1 -1
  33. package/dist/types/src/extensions/folding.d.ts.map +1 -1
  34. package/dist/types/src/extensions/index.d.ts +4 -0
  35. package/dist/types/src/extensions/index.d.ts.map +1 -1
  36. package/dist/types/src/extensions/listener.d.ts +8 -6
  37. package/dist/types/src/extensions/listener.d.ts.map +1 -1
  38. package/dist/types/src/extensions/markdown/bundle.d.ts.map +1 -1
  39. package/dist/types/src/extensions/markdown/formatting.d.ts +1 -2
  40. package/dist/types/src/extensions/markdown/formatting.d.ts.map +1 -1
  41. package/dist/types/src/extensions/popover/PopoverMenuProvider.d.ts +1 -1
  42. package/dist/types/src/extensions/popover/PopoverMenuProvider.d.ts.map +1 -1
  43. package/dist/types/src/extensions/popover/popover.d.ts.map +1 -1
  44. package/dist/types/src/extensions/preview/preview.d.ts +6 -2
  45. package/dist/types/src/extensions/preview/preview.d.ts.map +1 -1
  46. package/dist/types/src/extensions/replacer.d.ts +21 -0
  47. package/dist/types/src/extensions/replacer.d.ts.map +1 -0
  48. package/dist/types/src/extensions/replacer.test.d.ts +2 -0
  49. package/dist/types/src/extensions/replacer.test.d.ts.map +1 -0
  50. package/dist/types/src/extensions/scrolling.d.ts +78 -0
  51. package/dist/types/src/extensions/scrolling.d.ts.map +1 -0
  52. package/dist/types/src/extensions/tags/xml-tags.d.ts +41 -16
  53. package/dist/types/src/extensions/tags/xml-tags.d.ts.map +1 -1
  54. package/dist/types/src/stories/CommandDialog.stories.d.ts.map +1 -1
  55. package/dist/types/src/stories/EditorToolbar.stories.d.ts.map +1 -1
  56. package/dist/types/src/stories/Popover.stories.d.ts.map +1 -1
  57. package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
  58. package/dist/types/src/stories/Tags.stories.d.ts.map +1 -1
  59. package/dist/types/src/stories/components/EditorStory.d.ts.map +1 -1
  60. package/dist/types/src/stories/components/util.d.ts.map +1 -1
  61. package/dist/types/tsconfig.tsbuildinfo +1 -1
  62. package/package.json +41 -38
  63. package/src/components/Editor/Editor.stories.tsx +4 -7
  64. package/src/components/EditorToolbar/EditorToolbar.tsx +90 -90
  65. package/src/components/EditorToolbar/headings.ts +6 -4
  66. package/src/components/EditorToolbar/util.ts +4 -20
  67. package/src/extensions/autocomplete/autocomplete.ts +5 -5
  68. package/src/extensions/automerge/automerge.stories.tsx +1 -1
  69. package/src/extensions/automerge/automerge.ts +1 -1
  70. package/src/extensions/automerge/cursor.ts +1 -1
  71. package/src/extensions/automerge/sync.ts +1 -1
  72. package/src/extensions/automerge/update-automerge.ts +1 -1
  73. package/src/extensions/autoscroll.ts +74 -68
  74. package/src/extensions/awareness/awareness-provider.ts +2 -2
  75. package/src/extensions/blocks.ts +131 -0
  76. package/src/extensions/bookmarks.ts +75 -0
  77. package/src/extensions/comments.ts +2 -1
  78. package/src/extensions/factories.ts +6 -4
  79. package/src/extensions/folding.tsx +1 -2
  80. package/src/extensions/index.ts +4 -0
  81. package/src/extensions/listener.ts +14 -20
  82. package/src/extensions/markdown/bundle.ts +12 -2
  83. package/src/extensions/markdown/decorate.ts +8 -8
  84. package/src/extensions/markdown/formatting.ts +8 -8
  85. package/src/extensions/markdown/highlight.ts +1 -1
  86. package/src/extensions/markdown/image.ts +2 -2
  87. package/src/extensions/markdown/table.ts +6 -6
  88. package/src/extensions/popover/PopoverMenuProvider.tsx +2 -3
  89. package/src/extensions/popover/popover.ts +0 -4
  90. package/src/extensions/preview/preview.ts +14 -9
  91. package/src/extensions/replacer.test.ts +75 -0
  92. package/src/extensions/replacer.ts +93 -0
  93. package/src/extensions/scrolling.ts +189 -0
  94. package/src/extensions/selection.ts +1 -1
  95. package/src/extensions/tags/extended-markdown.test.ts +2 -1
  96. package/src/extensions/tags/xml-tags.ts +310 -203
  97. package/src/extensions/typewriter.ts +1 -1
  98. package/src/stories/CommandDialog.stories.tsx +9 -4
  99. package/src/stories/Comments.stories.tsx +1 -1
  100. package/src/stories/EditorToolbar.stories.tsx +4 -5
  101. package/src/stories/Popover.stories.tsx +4 -6
  102. package/src/stories/Preview.stories.tsx +15 -8
  103. package/src/stories/Tags.stories.tsx +19 -5
  104. package/src/stories/TextEditor.stories.tsx +2 -2
  105. package/src/stories/components/EditorStory.tsx +3 -3
  106. package/src/stories/components/util.tsx +39 -6
  107. package/src/styles/markdown.ts +1 -1
  108. package/src/styles/theme.ts +1 -1
@@ -1,33 +1,19 @@
1
1
  import { type EditorView } from '@codemirror/view';
2
- import { type Rx } from '@effect-rx/rx-react';
2
+ import { type Atom } from '@effect-atom/atom-react';
3
3
  import { type Action } from '@dxos/app-graph';
4
4
  import { type Live } from '@dxos/live-object';
5
- import { type ThemedClassName } from '@dxos/react-ui';
6
5
  import { type ActionGraphProps, type MenuActionProperties, type MenuItemGroup, type MenuSeparator, type ToolbarMenuActionGroupProperties } from '@dxos/react-ui-menu';
7
6
  import type { EditorAction, Formatting } from '../../extensions';
8
7
  import { type EditorViewMode } from '../../types';
9
- export type EditorToolbarState = Formatting & Partial<{
10
- viewMode: EditorViewMode;
11
- }>;
8
+ export type EditorToolbarState = {
9
+ viewMode?: EditorViewMode;
10
+ } & Formatting;
12
11
  export declare const useEditorToolbarState: (initialState?: Partial<EditorToolbarState>) => Live<EditorToolbarState>;
13
- export type EditorToolbarFeatureFlags = Partial<{
14
- headings: boolean;
15
- formatting: boolean;
16
- lists: boolean;
17
- blocks: boolean;
18
- search: boolean;
19
- image: () => void;
20
- viewMode: (mode: EditorViewMode) => void;
21
- }>;
22
12
  export type EditorToolbarActionGraphProps = {
23
13
  state: Live<EditorToolbarState>;
24
14
  getView: () => EditorView;
25
- customActions?: Rx.Rx<ActionGraphProps>;
15
+ customActions?: Atom.Atom<ActionGraphProps>;
26
16
  };
27
- export type EditorToolbarProps = ThemedClassName<EditorToolbarActionGraphProps & EditorToolbarFeatureFlags & {
28
- attendableId?: string;
29
- role?: string;
30
- }>;
31
17
  export type EditorToolbarItem = EditorAction | MenuItemGroup | MenuSeparator;
32
18
  export declare const createEditorAction: (id: string, props: Partial<MenuActionProperties>, invoke: () => void) => Action<MenuActionProperties>;
33
19
  export declare const createEditorActionGroup: (id: string, props: Omit<ToolbarMenuActionGroupProperties, "icon">, icon?: string) => {
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/components/EditorToolbar/util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gCAAgC,EAGtC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,cAAc,CAAA;CAAE,CAAC,CAAC;AAEpF,eAAO,MAAM,qBAAqB,GAAI,eAAc,OAAO,CAAC,kBAAkB,CAAM,6BAEnF,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAEhB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,UAAU,CAAC;IAE1B,aAAa,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAC9C,6BAA6B,GAAG,yBAAyB,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CACrG,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,CAAC;AAE7E,eAAO,MAAM,kBAAkB,GAAI,IAAI,MAAM,EAAE,OAAO,OAAO,CAAC,oBAAoB,CAAC,EAAE,QAAQ,MAAM,IAAI,KAK/F,MAAM,CAAC,oBAAoB,CAClC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,IAAI,MAAM,EACV,OAAO,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC,EACrD,OAAO,MAAM;;;;;;;;;;;;;;;;;CASd,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/components/EditorToolbar/util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGpD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gCAAgC,EAGtC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GAAG,UAAU,CAAC;AAE5E,eAAO,MAAM,qBAAqB,GAAI,eAAc,OAAO,CAAC,kBAAkB,CAAM,KAAG,IAAI,CAAC,kBAAkB,CAE7G,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,UAAU,CAAC;IAE1B,aAAa,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,CAAC;AAE7E,eAAO,MAAM,kBAAkB,GAAI,IAAI,MAAM,EAAE,OAAO,OAAO,CAAC,oBAAoB,CAAC,EAAE,QAAQ,MAAM,IAAI,KAK/F,MAAM,CAAC,oBAAoB,CAClC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,IAAI,MAAM,EACV,OAAO,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC,EACrD,OAAO,MAAM;;;;;;;;;;;;;;;;;CASd,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { type Extension } from '@codemirror/state';
2
- import { DocAccessor } from '@dxos/react-client/echo';
2
+ import { DocAccessor } from '@dxos/client/echo';
3
3
  export declare const automerge: (accessor: DocAccessor) => Extension;
4
4
  //# sourceMappingURL=automerge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"automerge.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/automerge.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAStD,eAAO,MAAM,SAAS,GAAI,UAAU,WAAW,KAAG,SAqFjD,CAAC"}
1
+ {"version":3,"file":"automerge.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/automerge.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAShD,eAAO,MAAM,SAAS,GAAI,UAAU,WAAW,KAAG,SAqFjD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type DocAccessor } from '@dxos/react-client/echo';
1
+ import { type DocAccessor } from '@dxos/client/echo';
2
2
  import { type CursorConverter } from '../../util';
3
3
  export declare const cursorConverter: (accessor: DocAccessor) => CursorConverter;
4
4
  //# sourceMappingURL=cursor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/cursor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,yBAAyB,CAAC;AAEjF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,eAAe,GAAI,UAAU,WAAW,KAAG,eAkBtD,CAAC"}
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/cursor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,mBAAmB,CAAC;AAG3E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,eAAe,GAAI,UAAU,WAAW,KAAG,eAkBtD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type StateField } from '@codemirror/state';
2
2
  import { type EditorView } from '@codemirror/view';
3
- import { type IDocHandle } from '@dxos/react-client/echo';
3
+ import { type IDocHandle } from '@dxos/client/echo';
4
4
  import { type State } from './defs';
5
5
  /**
6
6
  * Implements three-way merge (on each mutation).
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/sync.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,KAAK,KAAK,EAAwE,MAAM,QAAQ,CAAC;AAI1G;;GAEG;AACH,qBAAa,MAAM;IAKf,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAS;gBAIN,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;IAG5C,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAclD,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,iBAAiB;CAoB1B"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/sync.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,KAAK,KAAK,EAAwE,MAAM,QAAQ,CAAC;AAI1G;;GAEG;AACH,qBAAa,MAAM;IAKf,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAS;gBAIN,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;IAG5C,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAclD,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,iBAAiB;CAoB1B"}
@@ -1,6 +1,6 @@
1
1
  import { type Heads } from '@automerge/automerge';
2
2
  import { type EditorState, type StateField, type Transaction } from '@codemirror/state';
3
- import { type IDocHandle } from '@dxos/react-client/echo';
3
+ import { type IDocHandle } from '@dxos/client/echo';
4
4
  import { type State } from './defs';
5
5
  export declare const updateAutomerge: (field: StateField<State>, handle: IDocHandle, transactions: Transaction[], state: EditorState) => Heads | undefined;
6
6
  //# sourceMappingURL=update-automerge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-automerge.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/update-automerge.ts"],"names":[],"mappings":"AAMA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAa,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEpC,eAAO,MAAM,eAAe,GAC1B,OAAO,UAAU,CAAC,KAAK,CAAC,EACxB,QAAQ,UAAU,EAClB,cAAc,WAAW,EAAE,EAC3B,OAAO,WAAW,KACjB,KAAK,GAAG,SA+BV,CAAC"}
1
+ {"version":3,"file":"update-automerge.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/update-automerge.ts"],"names":[],"mappings":"AAMA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAa,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEpC,eAAO,MAAM,eAAe,GAC1B,OAAO,UAAU,CAAC,KAAK,CAAC,EACxB,QAAQ,UAAU,EAClB,cAAc,WAAW,EAAE,EAC3B,OAAO,WAAW,KACjB,KAAK,GAAG,SA+BV,CAAC"}
@@ -1,10 +1,20 @@
1
- export declare const scrollToBottomEffect: import("@codemirror/state").StateEffectType<any>;
1
+ import { EditorView } from '@codemirror/view';
2
+ export declare const scrollToBottomEffect: import("@codemirror/state").StateEffectType<ScrollBehavior | undefined>;
2
3
  export type AutoScrollOptions = {
3
- overscroll?: number;
4
- throttle?: number;
4
+ /** Auto-scroll when reaches the bottom. */
5
+ autoScroll?: boolean;
6
+ /** Threshold in px to trigger scroll from bottom. */
7
+ threshold?: number;
8
+ /** Throttle time in ms. */
9
+ throttleDelay?: number;
10
+ /** Callback when auto-scrolling. */
11
+ onAutoScroll?: (props: {
12
+ view: EditorView;
13
+ distanceFromBottom: number;
14
+ }) => boolean | void;
5
15
  };
6
16
  /**
7
17
  * Extension that supports pinning the scroll position and automatically scrolls to the bottom when content is added.
8
18
  */
9
- export declare const autoScroll: ({ overscroll, throttle }?: Partial<AutoScrollOptions>) => import("@codemirror/state").Extension[];
19
+ export declare const autoScroll: ({ autoScroll, threshold, throttleDelay, onAutoScroll, }?: Partial<AutoScrollOptions>) => import("@codemirror/state").Extension[];
10
20
  //# sourceMappingURL=autoscroll.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"autoscroll.d.ts","sourceRoot":"","sources":["../../../../src/extensions/autoscroll.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,oBAAoB,kDAA4B,CAAC;AAE9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,UAAU,GAAI,2BAAmD,OAAO,CAAC,iBAAiB,CAAM,4CA8H5G,CAAC"}
1
+ {"version":3,"file":"autoscroll.d.ts","sourceRoot":"","sources":["../../../../src/extensions/autoscroll.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAc,MAAM,kBAAkB,CAAC;AAQ1D,eAAO,MAAM,oBAAoB,yEAAmD,CAAC;AAErF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,GAAG,IAAI,CAAC;CAC5F,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,UAAU,GAAI,0DAKxB,OAAO,CAAC,iBAAiB,CAAM,4CA+HjC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Event } from '@dxos/async';
2
- import { type Space } from '@dxos/react-client/echo';
2
+ import { type Space } from '@dxos/client/echo';
3
3
  import { type AwarenessInfo, type AwarenessPosition, type AwarenessProvider, type AwarenessState } from './awareness';
4
4
  export type AwarenessProviderParams = {
5
5
  space: Space;
@@ -1 +1 @@
1
- {"version":3,"file":"awareness-provider.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/awareness/awareness-provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,EAAS,MAAM,aAAa,CAAC;AAIzD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAatH,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IAEnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IAEtC,OAAO,CAAC,IAAI,CAAC,CAAU;IACvB,OAAO,CAAC,SAAS,CAAC,CAAe;IACjC,OAAO,CAAC,WAAW,CAAC,CAAiB;IAErC,SAAgB,iBAAiB,cAAqB;gBAE1C,MAAM,EAAE,uBAAuB;IAO3C,IAAI,IAAI,IAAI;IAuCZ,KAAK,IAAI,IAAI;IAMb,eAAe,IAAI,cAAc,EAAE;IAInC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI;IAWrD,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,kBAAkB;CAM3B"}
1
+ {"version":3,"file":"awareness-provider.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/awareness/awareness-provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,EAAS,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAM/C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAatH,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IAEnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IAEtC,OAAO,CAAC,IAAI,CAAC,CAAU;IACvB,OAAO,CAAC,SAAS,CAAC,CAAe;IACjC,OAAO,CAAC,WAAW,CAAC,CAAiB;IAErC,SAAgB,iBAAiB,cAAqB;gBAE1C,MAAM,EAAE,uBAAuB;IAO3C,IAAI,IAAI,IAAI;IAuCZ,KAAK,IAAI,IAAI;IAMb,eAAe,IAAI,cAAc,EAAE;IAInC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI;IAWrD,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,kBAAkB;CAM3B"}
@@ -0,0 +1,2 @@
1
+ export declare const blocks: () => import("@codemirror/state").Extension[];
2
+ //# sourceMappingURL=blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../../src/extensions/blocks.ts"],"names":[],"mappings":"AAiGA,eAAO,MAAM,MAAM,+CAiClB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ type Bookmark = {
3
+ id: string;
4
+ pos: number;
5
+ name: string;
6
+ };
7
+ export declare const addBookmark: import("@codemirror/state").StateEffectType<Bookmark>;
8
+ export declare const removeBookmark: import("@codemirror/state").StateEffectType<string>;
9
+ export declare const clearBookmarks: import("@codemirror/state").StateEffectType<void>;
10
+ export declare const bookmarks: () => Extension;
11
+ export {};
12
+ //# sourceMappingURL=bookmarks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bookmarks.d.ts","sourceRoot":"","sources":["../../../../src/extensions/bookmarks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAiC,MAAM,mBAAmB,CAAC;AAGlF,KAAK,QAAQ,GAAG;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,WAAW,uDAAiC,CAAC;AAC1D,eAAO,MAAM,cAAc,qDAA+B,CAAC;AAC3D,eAAO,MAAM,cAAc,mDAA6B,CAAC;AAEzD,eAAO,MAAM,SAAS,QAAO,SAwB5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../src/extensions/comments.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,KAAK,SAAS,EAAe,UAAU,EAAa,MAAM,mBAAmB,CAAC;AACxG,OAAO,EACL,KAAK,OAAO,EAEZ,UAAU,EAEV,KAAK,IAAI,EAIV,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,aAAa,CAAC;AAIvD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AASzE,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,WAAW;QAA4B,MAAM;cAAY,OAAO,EAAE;EAAK,CAAC;AAErF,eAAO,MAAM,YAAY,6DAAuC,CAAC;AAIjE;;;GAGG;AACH,eAAO,MAAM,aAAa,2BAuCxB,CAAC;AAwDH,eAAO,MAAM,oBAAoB,qDAA+B,CAAC;AAkJjE;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAyB3B,CAAC;AAMF,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACtF;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC3C,CAAC;AAIF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAS,eAAoB,KAAG,SAiIxD,CAAC;AAMF,eAAO,MAAM,oBAAoB,GAAI,MAAM,UAAU,EAAE,IAAI,MAAM,EAAE,gBAAa,SA4B/E,CAAC;AA0BF,eAAO,MAAM,yBAAyB,GACpC,IAAI,MAAM,EACV,WAAW,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,SAAS,EAC1C,aAAa,MAAM,OAAO,EAAE,KAC3B,SAOA,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,UAAU,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,MAAM,EAAE,WAAW,OAAO,EAAE,SAYhG,CAAC"}
1
+ {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../src/extensions/comments.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,KAAK,SAAS,EAAe,UAAU,EAAa,MAAM,mBAAmB,CAAC;AACxG,OAAO,EACL,KAAK,OAAO,EAEZ,UAAU,EAEV,KAAK,IAAI,EAIV,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,aAAa,CAAC;AAIvD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AASzE,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,WAAW;QAA4B,MAAM;cAAY,OAAO,EAAE;EAAK,CAAC;AAErF,eAAO,MAAM,YAAY,6DAAuC,CAAC;AAIjE;;;GAGG;AACH,eAAO,MAAM,aAAa,2BAuCxB,CAAC;AAyDH,eAAO,MAAM,oBAAoB,qDAA+B,CAAC;AAkJjE;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAyB3B,CAAC;AAMF,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACtF;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC3C,CAAC;AAIF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAS,eAAoB,KAAG,SAiIxD,CAAC;AAMF,eAAO,MAAM,oBAAoB,GAAI,MAAM,UAAU,EAAE,IAAI,MAAM,EAAE,gBAAa,SA4B/E,CAAC;AA0BF,eAAO,MAAM,yBAAyB,GACpC,IAAI,MAAM,EACV,WAAW,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,SAAS,EAC1C,aAAa,MAAM,OAAO,EAAE,KAC3B,SAOA,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,UAAU,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,MAAM,EAAE,WAAW,OAAO,EAAE,SAYhG,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type Extension } from '@codemirror/state';
2
- import { type DocAccessor, type Space } from '@dxos/react-client/echo';
3
- import { type Identity } from '@dxos/react-client/halo';
2
+ import { type DocAccessor, type Space } from '@dxos/client/echo';
3
+ import { type Identity } from '@dxos/client/halo';
4
4
  import { type ThemeMode } from '@dxos/react-ui';
5
5
  import { type ThemeStyles } from '../styles';
6
6
  export declare const filterChars: (chars: RegExp) => Extension;
@@ -25,7 +25,6 @@ export type BasicExtensionsOptions = {
25
25
  lineNumbers?: boolean;
26
26
  /** If false then do not set a max-width or side margin on the editor. */
27
27
  lineWrapping?: boolean;
28
- monospace?: boolean;
29
28
  placeholder?: string;
30
29
  /** If true user cannot edit the text, but they can still select and copy it. */
31
30
  readOnly?: boolean;
@@ -38,6 +37,7 @@ export type BasicExtensionsOptions = {
38
37
  export declare const createBasicExtensions: (_props?: BasicExtensionsOptions) => Extension;
39
38
  export type ThemeExtensionsOptions = {
40
39
  themeMode?: ThemeMode;
40
+ monospace?: boolean;
41
41
  styles?: ThemeStyles;
42
42
  syntaxHighlighting?: boolean;
43
43
  slots?: {
@@ -72,7 +72,7 @@ export declare const defaultStyles: {
72
72
  /**
73
73
  * https://codemirror.net/examples/styling
74
74
  */
75
- export declare const createThemeExtensions: ({ themeMode, styles, syntaxHighlighting: syntaxHighlightingProp, slots: slotsParam, }?: ThemeExtensionsOptions) => Extension;
75
+ export declare const createThemeExtensions: ({ themeMode, monospace, styles, syntaxHighlighting: syntaxHighlightingProp, slots: slotsParam, }?: ThemeExtensionsOptions) => Extension;
76
76
  export type DataExtensionsProps<T> = {
77
77
  id: string;
78
78
  text?: DocAccessor<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../../src/extensions/factories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../../src/extensions/factories.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"folding.d.ts","sourceRoot":"","sources":["../../../../src/extensions/folding.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAQnD,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,SAAQ,cAAmB,KAAG,SAyBrD,CAAC"}
1
+ {"version":3,"file":"folding.d.ts","sourceRoot":"","sources":["../../../../src/extensions/folding.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAQnD,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,SAAQ,cAAmB,KAAG,SAwBrD,CAAC"}
@@ -4,6 +4,8 @@ export * from './autoscroll';
4
4
  export * from './automerge';
5
5
  export * from './awareness';
6
6
  export * from './blast';
7
+ export * from './blocks';
8
+ export * from './bookmarks';
7
9
  export * from './comments';
8
10
  export * from './debug';
9
11
  export * from './dnd';
@@ -19,7 +21,9 @@ export * from './modes';
19
21
  export * from './outliner';
20
22
  export * from './popover';
21
23
  export * from './preview';
24
+ export * from './replacer';
22
25
  export * from './selection';
26
+ export * from './scrolling';
23
27
  export * from './state';
24
28
  export * from './tags';
25
29
  export * from './typewriter';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import { type Extension } from '@codemirror/state';
2
2
  export type ListenerOptions = {
3
- onFocus?: (focusing: boolean) => void;
4
- onChange?: (text: string, id: string) => void;
3
+ onFocus?: (event: {
4
+ id: string;
5
+ focusing: boolean;
6
+ }) => void;
7
+ onChange?: (event: {
8
+ id: string;
9
+ text: string;
10
+ }) => void;
5
11
  };
6
- /**
7
- * Event listener.
8
- * @deprecated Use EditorView.updateListener and listen for specific update events.
9
- */
10
12
  export declare const listener: ({ onFocus, onChange }: ListenerOptions) => Extension;
11
13
  //# sourceMappingURL=listener.d.ts.map
@@ -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;AAKnD,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,uBAAuB,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;AAOnD,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,uBAAuB,eAAe,KAAG,SAejE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/bundle.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMtD,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAAI,UAAS,qBAA0B,KAAG,SAAS,EA2CvF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,cAAc,EAA+B,CAAC"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/bundle.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMtD,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAAI,UAAS,qBAA0B,KAAG,SAAS,EA4CvF,CAAC;AASF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,cAAc,EAA+B,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { type EditorState, type Extension, type StateCommand } from '@codemirror/state';
2
2
  import { EditorView } from '@codemirror/view';
3
- import { type Live } from '@dxos/live-object';
4
3
  import { type EditorToolbarState } from '../../components';
5
4
  export type Formatting = Partial<{
6
5
  blankLine: boolean;
@@ -59,5 +58,5 @@ export declare const getFormatting: (state: EditorState) => Formatting;
59
58
  /**
60
59
  * Hook provides an extension to compute the current formatting state.
61
60
  */
62
- export declare const useFormattingState: (state: Live<EditorToolbarState>) => Extension;
61
+ export declare const formattingListener: (stateProvider: () => EditorToolbarState | undefined, delay?: number) => Extension;
63
62
  //# sourceMappingURL=formatting.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/formatting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/formatting.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import React, { type PropsWithChildren } from 'react';
3
3
  import { type PopoverMenuGroup, type PopoverMenuItem } from './menu';
4
4
  export type PopoverMenuProviderProps = PropsWithChildren<{
5
5
  view?: EditorView | null;
6
- groups: PopoverMenuGroup[];
6
+ groups?: PopoverMenuGroup[];
7
7
  currentItem?: string;
8
8
  open?: boolean;
9
9
  defaultOpen?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverMenuProvider.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/popover/PopoverMenuProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,EAAY,KAAK,iBAAiB,EAA4C,MAAM,OAAO,CAAC;AAc1G,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,QAAQ,CAAC;AAErE,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACvD,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACtF,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,eAAe,CAAA;KAAE,KAAK,IAAI,CAAC;IACxE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;CAClD,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,gIAYjC,wBAAwB,sBAyF1B,CAAC"}
1
+ {"version":3,"file":"PopoverMenuProvider.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/popover/PopoverMenuProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,EAAY,KAAK,iBAAiB,EAA4C,MAAM,OAAO,CAAC;AAc1G,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,QAAQ,CAAC;AAErE,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACvD,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACtF,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,eAAe,CAAA;KAAE,KAAK,IAAI,CAAC;IACxE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;CAClD,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,gIAYjC,wBAAwB,sBAwF1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/popover/popover.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAsC,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAGL,UAAU,EAKX,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,kBAAkB,EAAe,MAAM,iBAAiB,CAAC;AAMvE,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAMtB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAClG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;IAGhD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;CACrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,UAAS,cAAmB,KAAG,SActD,CAAC;AAwMF,KAAK,YAAY,GAAG;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAGF,eAAO,MAAM,kBAAkB,kEAA4C,CAAC;AAG5E,eAAO,MAAM,iBAAiB,iCAY5B,CAAC"}
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/popover/popover.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAsC,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAGL,UAAU,EAKX,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,kBAAkB,EAAe,MAAM,iBAAiB,CAAC;AAMvE,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAMtB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAClG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;IAGhD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;CACrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,UAAS,cAAmB,KAAG,SActD,CAAC;AAoMF,KAAK,YAAY,GAAG;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAGF,eAAO,MAAM,kBAAkB,kEAA4C,CAAC;AAG5E,eAAO,MAAM,iBAAiB,iCAY5B,CAAC"}
@@ -1,5 +1,9 @@
1
1
  import { type EditorState, type Extension } from '@codemirror/state';
2
2
  import { type SyntaxNode } from '@lezer/common';
3
+ export type PreviewBlock = {
4
+ link: PreviewLinkRef;
5
+ el: HTMLElement;
6
+ };
3
7
  export type PreviewLinkRef = {
4
8
  suggest?: boolean;
5
9
  block?: boolean;
@@ -12,8 +16,8 @@ export type PreviewLinkTarget = {
12
16
  object?: any;
13
17
  };
14
18
  export type PreviewOptions = {
15
- addBlockContainer?: (link: PreviewLinkRef, el: HTMLElement) => void;
16
- removeBlockContainer?: (link: PreviewLinkRef) => void;
19
+ addBlockContainer?: (block: PreviewBlock) => void;
20
+ removeBlockContainer?: (block: PreviewBlock) => void;
17
21
  };
18
22
  /**
19
23
  * Create preview decorations.
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/preview/preview.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAA+B,MAAM,mBAAmB,CAAC;AAElG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IACpE,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,UAAS,cAAmB,KAAG,SAmBtD,CAAC;AA0DF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,WAAW,EAAE,MAAM,UAAU,KAAG,cAAc,GAAG,SAclF,CAAC"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/preview/preview.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAA+B,MAAM,mBAAmB,CAAC;AAElG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,WAAW,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,UAAS,cAAmB,KAAG,SAmBtD,CAAC;AA0DF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,WAAW,EAAE,MAAM,UAAU,KAAG,cAAc,GAAG,SAclF,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ type Replacement = {
3
+ input: string;
4
+ output: string;
5
+ };
6
+ /**
7
+ * Default character replacements for common typography.
8
+ */
9
+ export declare const defaultReplacements: Replacement[];
10
+ /**
11
+ * Options for the replacer extension.
12
+ */
13
+ export interface ReplacerOptions {
14
+ replacements?: Replacement[];
15
+ }
16
+ /**
17
+ * Creates a CodeMirror extension that automatically replaces typed character sequences.
18
+ */
19
+ export declare const replacer: ({ replacements }?: ReplacerOptions) => Extension;
20
+ export {};
21
+ //# sourceMappingURL=replacer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replacer.d.ts","sourceRoot":"","sources":["../../../../src/extensions/replacer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAe5C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,mBAAwC,eAAoB,KAAG,SAkDvF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=replacer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replacer.test.d.ts","sourceRoot":"","sources":["../../../../src/extensions/replacer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,78 @@
1
+ import { EditorView } from '@codemirror/view';
2
+ /**
3
+ * Configuration options for smooth scrolling behavior.
4
+ */
5
+ export type SmoothScrollOptions = {
6
+ /**
7
+ * Additional offset from the target line in pixels.
8
+ * Positive values scroll past the line, negative values stop before it.
9
+ * @default 0
10
+ */
11
+ offset?: number;
12
+ /**
13
+ * Position of the target line in the viewport.
14
+ * - 'start': Line appears at the start (top) of the screen
15
+ * - 'end': Line appears at the end (bottom) of the screen
16
+ * @default 'start'
17
+ */
18
+ position?: 'start' | 'end';
19
+ /**
20
+ * Whether to use smooth scrolling.
21
+ * @default 'smooth'
22
+ */
23
+ behavior?: ScrollBehavior;
24
+ };
25
+ /**
26
+ * Parameters for the scroll to line effect.
27
+ */
28
+ export type ScrollToLineParams = {
29
+ /**
30
+ * The line number to scroll to (1-based).
31
+ */
32
+ line: number;
33
+ /**
34
+ * Optional configuration to override default scroll behavior.
35
+ */
36
+ options?: SmoothScrollOptions;
37
+ };
38
+ /**
39
+ * StateEffect for triggering smooth scroll to a specific line.
40
+ */
41
+ export declare const scrollToLineEffect: import("@codemirror/state").StateEffectType<ScrollToLineParams>;
42
+ /**
43
+ * Extension that provides smooth scrolling to specific lines in the editor.
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * // Add to editor extensions.
48
+ * const extensions = [
49
+ * smoothScroll()
50
+ * ];
51
+ *
52
+ * // Trigger scroll to line 42.
53
+ * view.dispatch({
54
+ * effects: scrollToLineEffect.of({ line: 42 })
55
+ * });
56
+ *
57
+ * // Scroll with custom options.
58
+ * view.dispatch({
59
+ * effects: scrollToLineEffect.of({ line: 100, options: { offset: -50 } })
60
+ * });
61
+ *
62
+ * // Scroll so line appears at end (bottom) of screen.
63
+ * view.dispatch({
64
+ * effects: scrollToLineEffect.of({ line: 50, options: { position: 'end' } })
65
+ * });
66
+ * ```
67
+ */
68
+ export declare const smoothScroll: ({ offset, position }?: Partial<SmoothScrollOptions>) => import("@codemirror/state").Extension[];
69
+ /**
70
+ * Helper function to scroll to a specific line.
71
+ * This is a convenience function that can be used directly with an EditorView.
72
+ *
73
+ * @param view - The CodeMirror EditorView instance
74
+ * @param line - The line number to scroll to (1-based)
75
+ * @param options - Optional scroll configuration
76
+ */
77
+ export declare const scrollToLine: (view: EditorView, line: number, options?: SmoothScrollOptions) => void;
78
+ //# sourceMappingURL=scrolling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrolling.d.ts","sourceRoot":"","sources":["../../../../src/extensions/scrolling.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAc,MAAM,kBAAkB,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,iEAA2C,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,YAAY,GAAI,uBAAoC,OAAO,CAAC,mBAAmB,CAAM,4CAkGjG,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,UAAU,EAAE,MAAM,MAAM,EAAE,UAAU,mBAAmB,SAIzF,CAAC"}
@@ -1,6 +1,17 @@
1
1
  import { type Extension } from '@codemirror/state';
2
- import { WidgetType } from '@codemirror/view';
2
+ import { EditorView, WidgetType } from '@codemirror/view';
3
3
  import { type ComponentType, type FC } from 'react';
4
+ /**
5
+ * StateEffect for navigating to previous bookmark.
6
+ */
7
+ export declare const navigatePreviousEffect: import("@codemirror/state").StateEffectType<void>;
8
+ /**
9
+ * StateEffect for navigating to next bookmark.
10
+ */
11
+ export declare const navigateNextEffect: import("@codemirror/state").StateEffectType<void>;
12
+ /**
13
+ * Dispatch function for updating state.
14
+ */
4
15
  export type StateDispatch<T> = T | ((state: T) => T);
5
16
  /**
6
17
  * Manages widget state.
@@ -12,9 +23,14 @@ export type XmlEventHandler<TEvent = any> = (event: TEvent) => void;
12
23
  /**
13
24
  * Widget component.
14
25
  */
15
- export type XmlWidgetProps<TContext = any, TProps = any> = TProps & {
26
+ export type XmlWidgetProps<TProps = any, TContext = any> = TProps & {
16
27
  _tag: string;
17
- context: TContext;
28
+ context?: TContext;
29
+ range?: {
30
+ from: number;
31
+ to: number;
32
+ };
33
+ view?: EditorView;
18
34
  onEvent?: XmlEventHandler;
19
35
  };
20
36
  /**
@@ -25,10 +41,11 @@ export type XmlWidgetFactory = (props: XmlWidgetProps, onEvent?: XmlEventHandler
25
41
  * Widget registry definition.
26
42
  */
27
43
  export type XmlWidgetDef = {
44
+ /** Block widget. */
28
45
  block?: boolean;
29
- /** Native widget. */
46
+ /** Native widget (rendered inline). */
30
47
  factory?: XmlWidgetFactory;
31
- /** React widget. */
48
+ /** React widget (rendered in portals outside of the editor). */
32
49
  Component?: FC<XmlWidgetProps>;
33
50
  };
34
51
  export type XmlWidgetRegistry = Record<string, XmlWidgetDef>;
@@ -37,6 +54,10 @@ export declare const getXmlTextChild: (children: any[]) => string | null;
37
54
  * Update context.
38
55
  */
39
56
  export declare const xmlTagContextEffect: import("@codemirror/state").StateEffectType<any>;
57
+ /**
58
+ * Reset all state.
59
+ */
60
+ export declare const xmlTagResetEffect: import("@codemirror/state").StateEffectType<null>;
40
61
  /**
41
62
  * Update widget.
42
63
  */
@@ -44,29 +65,33 @@ export declare const xmlTagUpdateEffect: import("@codemirror/state").StateEffect
44
65
  id: string;
45
66
  value: any;
46
67
  }>;
47
- /**
48
- * Reset all state.
49
- */
50
- export declare const xmlTagResetEffect: import("@codemirror/state").StateEffectType<null>;
51
68
  export type XmlWidgetState = {
52
69
  id: string;
53
- props: any;
54
70
  root: HTMLElement;
55
- Component: ComponentType<any>;
71
+ props: any;
72
+ Component: ComponentType<XmlWidgetProps>;
56
73
  };
57
74
  export interface XmlWidgetNotifier {
58
75
  mounted(widget: XmlWidgetState): void;
59
76
  unmounted(id: string): void;
60
77
  }
61
78
  export type XmlTagsOptions = {
79
+ /** Tag registry. */
62
80
  registry?: XmlWidgetRegistry;
63
- /**
64
- * Called when a widget is mounted or unmounted.
65
- */
81
+ /** Called when widgets are mounted or unmounted. */
66
82
  setWidgets?: (widgets: XmlWidgetState[]) => void;
83
+ /** Tags to bookmark. */
84
+ bookmarks?: string[];
67
85
  };
68
86
  /**
69
- * Extension that adds thread-related functionality including XML tag decorations.
87
+ * Implements custom XML tags via CodeMirror-native Widgets and portaled React components.
88
+ *
89
+ * Basic mechanism:
90
+ * - Decorations are created from XML tags that matched the provided Widget registry.
91
+ * - Native widgets are rendered inline.
92
+ * - React widgets are rendered in portals outside of the editor via the PlaceholderWidget.
93
+ * - Widget state can be update via effects.
94
+ * - NOTE: Widget state may be updated BEFORE the widget is mounted.
70
95
  */
71
- export declare const xmlTags: (options?: XmlTagsOptions) => Extension;
96
+ export declare const xmlTags: ({ registry, setWidgets, bookmarks }: XmlTagsOptions) => Extension;
72
97
  //# sourceMappingURL=xml-tags.d.ts.map