@dxos/react-ui-editor 0.4.4 → 0.4.5-main.2d76d4e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/index.mjs +96 -43
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/components/TextEditor/hooks.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/cursor-line-margin.d.ts +8 -0
- package/dist/types/src/extensions/cursor-line-margin.d.ts.map +1 -0
- package/dist/types/src/extensions/index.d.ts +1 -0
- package/dist/types/src/extensions/index.d.ts.map +1 -1
- package/dist/types/src/styles/layout.d.ts +2 -2
- package/dist/types/src/styles/layout.d.ts.map +1 -1
- package/package.json +27 -27
- package/src/components/TextEditor/hooks.stories.tsx +3 -7
- package/src/components/Toolbar/Toolbar.stories.tsx +2 -1
- package/src/extensions/cursor-line-margin.ts +92 -0
- package/src/extensions/index.ts +1 -0
- package/src/styles/layout.ts +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/ui/react-ui-editor/src/extensions/cursor.ts":{"bytes":5088,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/annotations.ts":{"bytes":7974,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/cursor.ts","kind":"import-statement","original":"./cursor"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/autocomplete.ts":{"bytes":5654,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts":{"bytes":5936,"imports":[{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytes":3775,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/update-automerge.ts":{"bytes":5383,"imports":[{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/update-codemirror.ts":{"bytes":11386,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts","kind":"import-statement","original":"./defs"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/sync.ts":{"bytes":7979,"imports":[{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts","kind":"import-statement","original":"./defs"},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/update-automerge.ts","kind":"import-statement","original":"./update-automerge"},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/update-codemirror.ts","kind":"import-statement","original":"./update-codemirror"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/automerge.ts":{"bytes":8498,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts","kind":"import-statement","original":"./cursor"},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts","kind":"import-statement","original":"./defs"},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/sync.ts","kind":"import-statement","original":"./sync"},{"path":"packages/ui/react-ui-editor/src/extensions/cursor.ts","kind":"import-statement","original":"../cursor"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/index.ts":{"bytes":605,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/automerge/automerge.ts","kind":"import-statement","original":"./automerge"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/awareness.ts":{"bytes":30390,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/cursor.ts","kind":"import-statement","original":"./cursor"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/basic.ts":{"bytes":4457,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/commands","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/blast.ts":{"bytes":39556,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/cursors.ts":{"bytes":2633,"imports":[{"path":"lib0/random","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/markdown.ts":{"bytes":6664,"imports":[{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytes":1697,"imports":[{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/layout.ts":{"bytes":1633,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/styles/index.ts":{"bytes":729,"imports":[{"path":"packages/ui/react-ui-editor/src/styles/cursors.ts","kind":"import-statement","original":"./cursors"},{"path":"packages/ui/react-ui-editor/src/styles/markdown.ts","kind":"import-statement","original":"./markdown"},{"path":"packages/ui/react-ui-editor/src/styles/tokens.ts","kind":"import-statement","original":"./tokens"},{"path":"packages/ui/react-ui-editor/src/styles/layout.ts","kind":"import-statement","original":"./layout"}],"format":"esm"},"packages/ui/react-ui-editor/src/util.ts":{"bytes":3789,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/comments.ts":{"bytes":52728,"imports":[{"path":"@codemirror/commands","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.sortby","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/cursor.ts","kind":"import-statement","original":"./cursor"},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../styles"},{"path":"packages/ui/react-ui-editor/src/util.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/listener.ts":{"bytes":2475,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts":{"bytes":18853,"imports":[{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"@lezer/markdown","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts":{"bytes":10718,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/commands","kind":"import-statement","external":true},{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/language-data","kind":"import-statement","external":true},{"path":"@codemirror/search","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts","kind":"import-statement","original":"./highlight"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/code.ts":{"bytes":15618,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts":{"bytes":150689,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/heading.ts":{"bytes":6054,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/hr.ts":{"bytes":6885,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/image.ts":{"bytes":10626,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/link.ts":{"bytes":21976,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/table.ts":{"bytes":13558,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/tasklist.ts":{"bytes":11918,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/index.ts":{"bytes":1235,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts","kind":"import-statement","original":"./bundle"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/code.ts","kind":"import-statement","original":"./code"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts","kind":"import-statement","original":"./formatting"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/heading.ts","kind":"import-statement","original":"./heading"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts","kind":"import-statement","original":"./highlight"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/hr.ts","kind":"import-statement","original":"./hr"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/image.ts","kind":"import-statement","original":"./image"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/link.ts","kind":"import-statement","original":"./link"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/table.ts","kind":"import-statement","original":"./table"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/tasklist.ts","kind":"import-statement","original":"./tasklist"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/mention.ts":{"bytes":3969,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/modes.ts":{"bytes":3010,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@replit/codemirror-vim","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/outliner.ts":{"bytes":1051,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/typewriter.ts":{"bytes":6277,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/index.ts":{"bytes":1625,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/annotations.ts","kind":"import-statement","original":"./annotations"},{"path":"packages/ui/react-ui-editor/src/extensions/autocomplete.ts","kind":"import-statement","original":"./autocomplete"},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/index.ts","kind":"import-statement","original":"./automerge"},{"path":"packages/ui/react-ui-editor/src/extensions/awareness.ts","kind":"import-statement","original":"./awareness"},{"path":"packages/ui/react-ui-editor/src/extensions/basic.ts","kind":"import-statement","original":"./basic"},{"path":"packages/ui/react-ui-editor/src/extensions/blast.ts","kind":"import-statement","original":"./blast"},{"path":"packages/ui/react-ui-editor/src/extensions/comments.ts","kind":"import-statement","original":"./comments"},{"path":"packages/ui/react-ui-editor/src/extensions/cursor.ts","kind":"import-statement","original":"./cursor"},{"path":"packages/ui/react-ui-editor/src/extensions/listener.ts","kind":"import-statement","original":"./listener"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/index.ts","kind":"import-statement","original":"./markdown"},{"path":"packages/ui/react-ui-editor/src/extensions/mention.ts","kind":"import-statement","original":"./mention"},{"path":"packages/ui/react-ui-editor/src/extensions/modes.ts","kind":"import-statement","original":"./modes"},{"path":"packages/ui/react-ui-editor/src/extensions/outliner.ts","kind":"import-statement","original":"./outliner"},{"path":"packages/ui/react-ui-editor/src/extensions/typewriter.ts","kind":"import-statement","original":"./typewriter"}],"format":"esm"},"packages/ui/react-ui-editor/src/themes/default.ts":{"bytes":23362,"imports":[{"path":"lodash.get","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/themes/index.ts":{"bytes":473,"imports":[{"path":"packages/ui/react-ui-editor/src/themes/default.ts","kind":"import-statement","original":"./default"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx":{"bytes":25271,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@fluentui/react-tabster","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/index.ts","kind":"import-statement","original":"../../extensions"},{"path":"packages/ui/react-ui-editor/src/themes/index.ts","kind":"import-statement","original":"../../themes"},{"path":"packages/ui/react-ui-editor/src/util.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/index.ts":{"bytes":712,"imports":[{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx","kind":"import-statement","original":"./TextEditor"}],"format":"esm"},"packages/ui/react-ui-editor/src/translations.ts":{"bytes":2264,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/components/Toolbar/Toolbar.tsx":{"bytes":30230,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/translations.ts","kind":"import-statement","original":"../../translations"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Toolbar/index.ts":{"bytes":485,"imports":[{"path":"packages/ui/react-ui-editor/src/components/Toolbar/Toolbar.tsx","kind":"import-statement","original":"./Toolbar"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/index.ts":{"bytes":571,"imports":[{"path":"packages/ui/react-ui-editor/src/components/TextEditor/index.ts","kind":"import-statement","original":"./TextEditor"},{"path":"packages/ui/react-ui-editor/src/components/Toolbar/index.ts","kind":"import-statement","original":"./Toolbar"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/awareness-provider.ts":{"bytes":10990,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/defs.ts":{"bytes":1902,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/useActionHandler.ts":{"bytes":8002,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/index.ts","kind":"import-statement","original":"../extensions"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/useEditorView.ts":{"bytes":2761,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/useTextEditor.ts":{"bytes":14129,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/themes/index.ts","kind":"import-statement","original":"../themes"},{"path":"packages/ui/react-ui-editor/src/util.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/useTextModel.ts":{"bytes":9192,"imports":[{"path":"lodash.get","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/hooks/awareness-provider.ts","kind":"import-statement","original":"./awareness-provider"},{"path":"packages/ui/react-ui-editor/src/hooks/defs.ts","kind":"import-statement","original":"./defs"},{"path":"packages/ui/react-ui-editor/src/extensions/index.ts","kind":"import-statement","original":"../extensions"},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/index.ts":{"bytes":997,"imports":[{"path":"packages/ui/react-ui-editor/src/hooks/awareness-provider.ts","kind":"import-statement","original":"./awareness-provider"},{"path":"packages/ui/react-ui-editor/src/hooks/defs.ts","kind":"import-statement","original":"./defs"},{"path":"packages/ui/react-ui-editor/src/hooks/useActionHandler.ts","kind":"import-statement","original":"./useActionHandler"},{"path":"packages/ui/react-ui-editor/src/hooks/useEditorView.ts","kind":"import-statement","original":"./useEditorView"},{"path":"packages/ui/react-ui-editor/src/hooks/useTextEditor.ts","kind":"import-statement","original":"./useTextEditor"},{"path":"packages/ui/react-ui-editor/src/hooks/useTextModel.ts","kind":"import-statement","original":"./useTextModel"}],"format":"esm"},"packages/ui/react-ui-editor/src/index.ts":{"bytes":2190,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/model/text","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/ui/react-ui-editor/src/extensions/index.ts","kind":"import-statement","original":"./extensions"},{"path":"packages/ui/react-ui-editor/src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"./styles"},{"path":"packages/ui/react-ui-editor/src/themes/index.ts","kind":"import-statement","original":"./themes"},{"path":"packages/ui/react-ui-editor/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"packages/ui/react-ui-editor/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":307332},"packages/ui/react-ui-editor/dist/lib/browser/index.mjs":{"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/model/text","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@fluentui/react-tabster","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/commands","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@codemirror/commands","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.sortby","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"lib0/random","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/commands","kind":"import-statement","external":true},{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/language-data","kind":"import-statement","external":true},{"path":"@codemirror/search","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"@lezer/markdown","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@replit/codemirror-vim","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["BaseTextEditor","Cursor","Doc","EditorModes","Inline","List","MarkdownEditor","RemoteSelectionsDecorator","SpaceAwarenessProvider","TextEditor","TextKind","Toolbar","YText","YXmlFragment","addBlockquote","addCodeblock","addLink","addList","addStyle","annotations","autocomplete","automerge","awareness","awarenessProvider","blast","callbackWrapper","code","codeTheme","comments","compareFormatting","createBasicBundle","createComment","createDataExtensions","createMarkdownExtensions","createThemeExtensions","defaultMarkdownSlots","defaultOptions","defaultSlots","defaultTextSlots","defaultTheme","editorFillLayoutEditor","editorFillLayoutRoot","editorHalfViewportOverscrollContent","editorMode","editorWithToolbarLayout","focusComment","formatting","getFormatting","getToken","heading","hr","image","insertTable","keymap","link","listener","logChanges","markdownHighlightStyle","markdownTags","markdownTagsExtensions","markdownTheme","mention","modelState","outliner","removeBlockquote","removeCodeblock","removeLink","removeList","removeStyle","setBlockquote","setComments","setHeading","setSelection","setStyle","table","tags","tasklist","textTheme","toggleBlockquote","toggleCodeblock","toggleEmphasis","toggleInlineCode","toggleList","toggleStrikethrough","toggleStrong","toggleStyle","typewriter","useActionHandler","useComments","useEditorView","useFormattingState","useInMemoryTextModel","useTextEditor","useTextModel","useToolbarContext"],"entryPoint":"packages/ui/react-ui-editor/src/index.ts","inputs":{"packages/ui/react-ui-editor/src/index.ts":{"bytesInOutput":186},"packages/ui/react-ui-editor/src/components/TextEditor/index.ts":{"bytesInOutput":50},"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx":{"bytesInOutput":5593},"packages/ui/react-ui-editor/src/extensions/annotations.ts":{"bytesInOutput":1619},"packages/ui/react-ui-editor/src/extensions/cursor.ts":{"bytesInOutput":1045},"packages/ui/react-ui-editor/src/extensions/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/autocomplete.ts":{"bytesInOutput":1241},"packages/ui/react-ui-editor/src/extensions/automerge/automerge.ts":{"bytesInOutput":1758},"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts":{"bytesInOutput":1375},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytesInOutput":428},"packages/ui/react-ui-editor/src/extensions/automerge/sync.ts":{"bytesInOutput":1356},"packages/ui/react-ui-editor/src/extensions/automerge/update-automerge.ts":{"bytesInOutput":863},"packages/ui/react-ui-editor/src/extensions/automerge/update-codemirror.ts":{"bytesInOutput":2416},"packages/ui/react-ui-editor/src/extensions/automerge/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/awareness.ts":{"bytesInOutput":7122},"packages/ui/react-ui-editor/src/extensions/basic.ts":{"bytesInOutput":1032},"packages/ui/react-ui-editor/src/extensions/blast.ts":{"bytesInOutput":8809},"packages/ui/react-ui-editor/src/extensions/comments.ts":{"bytesInOutput":11776},"packages/ui/react-ui-editor/src/styles/cursors.ts":{"bytesInOutput":567},"packages/ui/react-ui-editor/src/styles/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/styles/markdown.ts":{"bytesInOutput":981},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytesInOutput":207},"packages/ui/react-ui-editor/src/styles/layout.ts":{"bytesInOutput":358},"packages/ui/react-ui-editor/src/util.ts":{"bytesInOutput":802},"packages/ui/react-ui-editor/src/extensions/listener.ts":{"bytesInOutput":407},"packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts":{"bytesInOutput":2981},"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts":{"bytesInOutput":4115},"packages/ui/react-ui-editor/src/extensions/markdown/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/markdown/code.ts":{"bytesInOutput":3750},"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts":{"bytesInOutput":33815},"packages/ui/react-ui-editor/src/extensions/markdown/heading.ts":{"bytesInOutput":1404},"packages/ui/react-ui-editor/src/extensions/markdown/hr.ts":{"bytesInOutput":1569},"packages/ui/react-ui-editor/src/extensions/markdown/image.ts":{"bytesInOutput":2291},"packages/ui/react-ui-editor/src/extensions/markdown/link.ts":{"bytesInOutput":4165},"packages/ui/react-ui-editor/src/extensions/markdown/table.ts":{"bytesInOutput":3047},"packages/ui/react-ui-editor/src/extensions/markdown/tasklist.ts":{"bytesInOutput":2788},"packages/ui/react-ui-editor/src/extensions/mention.ts":{"bytesInOutput":763},"packages/ui/react-ui-editor/src/extensions/modes.ts":{"bytesInOutput":564},"packages/ui/react-ui-editor/src/extensions/outliner.ts":{"bytesInOutput":51},"packages/ui/react-ui-editor/src/extensions/typewriter.ts":{"bytesInOutput":1341},"packages/ui/react-ui-editor/src/themes/default.ts":{"bytesInOutput":6596},"packages/ui/react-ui-editor/src/themes/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/Toolbar/Toolbar.tsx":{"bytesInOutput":8299},"packages/ui/react-ui-editor/src/translations.ts":{"bytesInOutput":585},"packages/ui/react-ui-editor/src/components/Toolbar/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/hooks/awareness-provider.ts":{"bytesInOutput":2588},"packages/ui/react-ui-editor/src/hooks/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/hooks/defs.ts":{"bytesInOutput":156},"packages/ui/react-ui-editor/src/hooks/useActionHandler.ts":{"bytesInOutput":1575},"packages/ui/react-ui-editor/src/hooks/useEditorView.ts":{"bytesInOutput":344},"packages/ui/react-ui-editor/src/hooks/useTextEditor.ts":{"bytesInOutput":3032},"packages/ui/react-ui-editor/src/hooks/useTextModel.ts":{"bytesInOutput":1914}},"bytes":142573}}}
|
|
1
|
+
{"inputs":{"packages/ui/react-ui-editor/src/extensions/cursor.ts":{"bytes":5088,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/annotations.ts":{"bytes":7974,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/cursor.ts","kind":"import-statement","original":"./cursor"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/autocomplete.ts":{"bytes":5654,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts":{"bytes":5936,"imports":[{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytes":3775,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/update-automerge.ts":{"bytes":5383,"imports":[{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/update-codemirror.ts":{"bytes":11386,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts","kind":"import-statement","original":"./defs"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/sync.ts":{"bytes":7979,"imports":[{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts","kind":"import-statement","original":"./defs"},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/update-automerge.ts","kind":"import-statement","original":"./update-automerge"},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/update-codemirror.ts","kind":"import-statement","original":"./update-codemirror"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/automerge.ts":{"bytes":8498,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts","kind":"import-statement","original":"./cursor"},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts","kind":"import-statement","original":"./defs"},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/sync.ts","kind":"import-statement","original":"./sync"},{"path":"packages/ui/react-ui-editor/src/extensions/cursor.ts","kind":"import-statement","original":"../cursor"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/index.ts":{"bytes":605,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/automerge/automerge.ts","kind":"import-statement","original":"./automerge"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/awareness.ts":{"bytes":30390,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/cursor.ts","kind":"import-statement","original":"./cursor"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/basic.ts":{"bytes":4457,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/commands","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/blast.ts":{"bytes":39556,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/cursors.ts":{"bytes":2633,"imports":[{"path":"lib0/random","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/markdown.ts":{"bytes":6664,"imports":[{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytes":1697,"imports":[{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/layout.ts":{"bytes":1831,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/styles/index.ts":{"bytes":729,"imports":[{"path":"packages/ui/react-ui-editor/src/styles/cursors.ts","kind":"import-statement","original":"./cursors"},{"path":"packages/ui/react-ui-editor/src/styles/markdown.ts","kind":"import-statement","original":"./markdown"},{"path":"packages/ui/react-ui-editor/src/styles/tokens.ts","kind":"import-statement","original":"./tokens"},{"path":"packages/ui/react-ui-editor/src/styles/layout.ts","kind":"import-statement","original":"./layout"}],"format":"esm"},"packages/ui/react-ui-editor/src/util.ts":{"bytes":3789,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/comments.ts":{"bytes":52728,"imports":[{"path":"@codemirror/commands","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.sortby","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/cursor.ts","kind":"import-statement","original":"./cursor"},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../styles"},{"path":"packages/ui/react-ui-editor/src/util.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/cursor-line-margin.ts":{"bytes":11892,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/listener.ts":{"bytes":2475,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts":{"bytes":18853,"imports":[{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"@lezer/markdown","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts":{"bytes":10718,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/commands","kind":"import-statement","external":true},{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/language-data","kind":"import-statement","external":true},{"path":"@codemirror/search","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts","kind":"import-statement","original":"./highlight"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/code.ts":{"bytes":15618,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts":{"bytes":150689,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/heading.ts":{"bytes":6054,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/hr.ts":{"bytes":6885,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/image.ts":{"bytes":10626,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/link.ts":{"bytes":21976,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/table.ts":{"bytes":13558,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/tasklist.ts":{"bytes":11918,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/index.ts":{"bytes":1235,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts","kind":"import-statement","original":"./bundle"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/code.ts","kind":"import-statement","original":"./code"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts","kind":"import-statement","original":"./formatting"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/heading.ts","kind":"import-statement","original":"./heading"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts","kind":"import-statement","original":"./highlight"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/hr.ts","kind":"import-statement","original":"./hr"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/image.ts","kind":"import-statement","original":"./image"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/link.ts","kind":"import-statement","original":"./link"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/table.ts","kind":"import-statement","original":"./table"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/tasklist.ts","kind":"import-statement","original":"./tasklist"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/mention.ts":{"bytes":3969,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/modes.ts":{"bytes":3010,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@replit/codemirror-vim","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/outliner.ts":{"bytes":1051,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/typewriter.ts":{"bytes":6277,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/index.ts":{"bytes":1739,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/annotations.ts","kind":"import-statement","original":"./annotations"},{"path":"packages/ui/react-ui-editor/src/extensions/autocomplete.ts","kind":"import-statement","original":"./autocomplete"},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/index.ts","kind":"import-statement","original":"./automerge"},{"path":"packages/ui/react-ui-editor/src/extensions/awareness.ts","kind":"import-statement","original":"./awareness"},{"path":"packages/ui/react-ui-editor/src/extensions/basic.ts","kind":"import-statement","original":"./basic"},{"path":"packages/ui/react-ui-editor/src/extensions/blast.ts","kind":"import-statement","original":"./blast"},{"path":"packages/ui/react-ui-editor/src/extensions/comments.ts","kind":"import-statement","original":"./comments"},{"path":"packages/ui/react-ui-editor/src/extensions/cursor.ts","kind":"import-statement","original":"./cursor"},{"path":"packages/ui/react-ui-editor/src/extensions/cursor-line-margin.ts","kind":"import-statement","original":"./cursor-line-margin"},{"path":"packages/ui/react-ui-editor/src/extensions/listener.ts","kind":"import-statement","original":"./listener"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/index.ts","kind":"import-statement","original":"./markdown"},{"path":"packages/ui/react-ui-editor/src/extensions/mention.ts","kind":"import-statement","original":"./mention"},{"path":"packages/ui/react-ui-editor/src/extensions/modes.ts","kind":"import-statement","original":"./modes"},{"path":"packages/ui/react-ui-editor/src/extensions/outliner.ts","kind":"import-statement","original":"./outliner"},{"path":"packages/ui/react-ui-editor/src/extensions/typewriter.ts","kind":"import-statement","original":"./typewriter"}],"format":"esm"},"packages/ui/react-ui-editor/src/themes/default.ts":{"bytes":23362,"imports":[{"path":"lodash.get","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/themes/index.ts":{"bytes":473,"imports":[{"path":"packages/ui/react-ui-editor/src/themes/default.ts","kind":"import-statement","original":"./default"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx":{"bytes":25271,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@fluentui/react-tabster","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/index.ts","kind":"import-statement","original":"../../extensions"},{"path":"packages/ui/react-ui-editor/src/themes/index.ts","kind":"import-statement","original":"../../themes"},{"path":"packages/ui/react-ui-editor/src/util.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/index.ts":{"bytes":712,"imports":[{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx","kind":"import-statement","original":"./TextEditor"}],"format":"esm"},"packages/ui/react-ui-editor/src/translations.ts":{"bytes":2264,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/components/Toolbar/Toolbar.tsx":{"bytes":30230,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/translations.ts","kind":"import-statement","original":"../../translations"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Toolbar/index.ts":{"bytes":485,"imports":[{"path":"packages/ui/react-ui-editor/src/components/Toolbar/Toolbar.tsx","kind":"import-statement","original":"./Toolbar"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/index.ts":{"bytes":571,"imports":[{"path":"packages/ui/react-ui-editor/src/components/TextEditor/index.ts","kind":"import-statement","original":"./TextEditor"},{"path":"packages/ui/react-ui-editor/src/components/Toolbar/index.ts","kind":"import-statement","original":"./Toolbar"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/awareness-provider.ts":{"bytes":10990,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/defs.ts":{"bytes":1902,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/useActionHandler.ts":{"bytes":8002,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/index.ts","kind":"import-statement","original":"../extensions"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/useEditorView.ts":{"bytes":2761,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/useTextEditor.ts":{"bytes":14129,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/themes/index.ts","kind":"import-statement","original":"../themes"},{"path":"packages/ui/react-ui-editor/src/util.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/useTextModel.ts":{"bytes":9192,"imports":[{"path":"lodash.get","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/hooks/awareness-provider.ts","kind":"import-statement","original":"./awareness-provider"},{"path":"packages/ui/react-ui-editor/src/hooks/defs.ts","kind":"import-statement","original":"./defs"},{"path":"packages/ui/react-ui-editor/src/extensions/index.ts","kind":"import-statement","original":"../extensions"},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/index.ts":{"bytes":997,"imports":[{"path":"packages/ui/react-ui-editor/src/hooks/awareness-provider.ts","kind":"import-statement","original":"./awareness-provider"},{"path":"packages/ui/react-ui-editor/src/hooks/defs.ts","kind":"import-statement","original":"./defs"},{"path":"packages/ui/react-ui-editor/src/hooks/useActionHandler.ts","kind":"import-statement","original":"./useActionHandler"},{"path":"packages/ui/react-ui-editor/src/hooks/useEditorView.ts","kind":"import-statement","original":"./useEditorView"},{"path":"packages/ui/react-ui-editor/src/hooks/useTextEditor.ts","kind":"import-statement","original":"./useTextEditor"},{"path":"packages/ui/react-ui-editor/src/hooks/useTextModel.ts","kind":"import-statement","original":"./useTextModel"}],"format":"esm"},"packages/ui/react-ui-editor/src/index.ts":{"bytes":2190,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/model/text","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/ui/react-ui-editor/src/extensions/index.ts","kind":"import-statement","original":"./extensions"},{"path":"packages/ui/react-ui-editor/src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"./styles"},{"path":"packages/ui/react-ui-editor/src/themes/index.ts","kind":"import-statement","original":"./themes"},{"path":"packages/ui/react-ui-editor/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"packages/ui/react-ui-editor/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":313288},"packages/ui/react-ui-editor/dist/lib/browser/index.mjs":{"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/model/text","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@fluentui/react-tabster","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/commands","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@codemirror/commands","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.sortby","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"lib0/random","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/commands","kind":"import-statement","external":true},{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/language-data","kind":"import-statement","external":true},{"path":"@codemirror/search","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"@lezer/markdown","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@replit/codemirror-vim","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["BaseTextEditor","Cursor","Doc","EditorModes","Inline","List","MarkdownEditor","RemoteSelectionsDecorator","SpaceAwarenessProvider","TextEditor","TextKind","Toolbar","YText","YXmlFragment","addBlockquote","addCodeblock","addLink","addList","addStyle","annotations","autocomplete","automerge","awareness","awarenessProvider","blast","callbackWrapper","code","codeTheme","comments","compareFormatting","createBasicBundle","createComment","createDataExtensions","createMarkdownExtensions","createThemeExtensions","cursorLineMargin","cursorLineMarginFacet","defaultMarkdownSlots","defaultOptions","defaultSlots","defaultTextSlots","defaultTheme","editorFillLayoutEditor","editorFillLayoutRoot","editorHalfViewportOverscrollContent","editorMode","editorWithToolbarLayout","focusComment","formatting","getFormatting","getToken","heading","hr","image","insertTable","keymap","link","listener","logChanges","markdownHighlightStyle","markdownTags","markdownTagsExtensions","markdownTheme","mention","modelState","outliner","removeBlockquote","removeCodeblock","removeLink","removeList","removeStyle","setBlockquote","setComments","setHeading","setSelection","setStyle","table","tags","tasklist","textTheme","toggleBlockquote","toggleCodeblock","toggleEmphasis","toggleInlineCode","toggleList","toggleStrikethrough","toggleStrong","toggleStyle","typewriter","useActionHandler","useComments","useEditorView","useFormattingState","useInMemoryTextModel","useTextEditor","useTextModel","useToolbarContext"],"entryPoint":"packages/ui/react-ui-editor/src/index.ts","inputs":{"packages/ui/react-ui-editor/src/index.ts":{"bytesInOutput":186},"packages/ui/react-ui-editor/src/components/TextEditor/index.ts":{"bytesInOutput":50},"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx":{"bytesInOutput":5593},"packages/ui/react-ui-editor/src/extensions/annotations.ts":{"bytesInOutput":1621},"packages/ui/react-ui-editor/src/extensions/cursor.ts":{"bytesInOutput":1045},"packages/ui/react-ui-editor/src/extensions/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/autocomplete.ts":{"bytesInOutput":1241},"packages/ui/react-ui-editor/src/extensions/automerge/automerge.ts":{"bytesInOutput":1758},"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts":{"bytesInOutput":1375},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytesInOutput":428},"packages/ui/react-ui-editor/src/extensions/automerge/sync.ts":{"bytesInOutput":1356},"packages/ui/react-ui-editor/src/extensions/automerge/update-automerge.ts":{"bytesInOutput":863},"packages/ui/react-ui-editor/src/extensions/automerge/update-codemirror.ts":{"bytesInOutput":2416},"packages/ui/react-ui-editor/src/extensions/automerge/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/awareness.ts":{"bytesInOutput":7122},"packages/ui/react-ui-editor/src/extensions/basic.ts":{"bytesInOutput":1032},"packages/ui/react-ui-editor/src/extensions/blast.ts":{"bytesInOutput":8809},"packages/ui/react-ui-editor/src/extensions/comments.ts":{"bytesInOutput":11776},"packages/ui/react-ui-editor/src/styles/cursors.ts":{"bytesInOutput":567},"packages/ui/react-ui-editor/src/styles/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/styles/markdown.ts":{"bytesInOutput":981},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytesInOutput":207},"packages/ui/react-ui-editor/src/styles/layout.ts":{"bytesInOutput":440},"packages/ui/react-ui-editor/src/util.ts":{"bytesInOutput":802},"packages/ui/react-ui-editor/src/extensions/cursor-line-margin.ts":{"bytesInOutput":2039},"packages/ui/react-ui-editor/src/extensions/listener.ts":{"bytesInOutput":407},"packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts":{"bytesInOutput":2981},"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts":{"bytesInOutput":4115},"packages/ui/react-ui-editor/src/extensions/markdown/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/markdown/code.ts":{"bytesInOutput":3752},"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts":{"bytesInOutput":33815},"packages/ui/react-ui-editor/src/extensions/markdown/heading.ts":{"bytesInOutput":1404},"packages/ui/react-ui-editor/src/extensions/markdown/hr.ts":{"bytesInOutput":1569},"packages/ui/react-ui-editor/src/extensions/markdown/image.ts":{"bytesInOutput":2291},"packages/ui/react-ui-editor/src/extensions/markdown/link.ts":{"bytesInOutput":4165},"packages/ui/react-ui-editor/src/extensions/markdown/table.ts":{"bytesInOutput":3047},"packages/ui/react-ui-editor/src/extensions/markdown/tasklist.ts":{"bytesInOutput":2788},"packages/ui/react-ui-editor/src/extensions/mention.ts":{"bytesInOutput":763},"packages/ui/react-ui-editor/src/extensions/modes.ts":{"bytesInOutput":564},"packages/ui/react-ui-editor/src/extensions/outliner.ts":{"bytesInOutput":51},"packages/ui/react-ui-editor/src/extensions/typewriter.ts":{"bytesInOutput":1341},"packages/ui/react-ui-editor/src/themes/default.ts":{"bytesInOutput":6596},"packages/ui/react-ui-editor/src/themes/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/Toolbar/Toolbar.tsx":{"bytesInOutput":8299},"packages/ui/react-ui-editor/src/translations.ts":{"bytesInOutput":585},"packages/ui/react-ui-editor/src/components/Toolbar/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/hooks/awareness-provider.ts":{"bytesInOutput":2588},"packages/ui/react-ui-editor/src/hooks/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/hooks/defs.ts":{"bytesInOutput":156},"packages/ui/react-ui-editor/src/hooks/useActionHandler.ts":{"bytesInOutput":1575},"packages/ui/react-ui-editor/src/hooks/useEditorView.ts":{"bytesInOutput":344},"packages/ui/react-ui-editor/src/hooks/useTextEditor.ts":{"bytesInOutput":3032},"packages/ui/react-ui-editor/src/hooks/useTextModel.ts":{"bytesInOutput":1914}},"bytes":144812}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TextEditor/hooks.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAA4B,MAAM,OAAO,CAAC;AAiCjD,KAAK,UAAU,GAAG;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;;;;;
|
|
1
|
+
{"version":3,"file":"hooks.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TextEditor/hooks.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAA4B,MAAM,OAAO,CAAC;AAiCjD,KAAK,UAAU,GAAG;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;;;;;mBAqFe,UAAU;;;;;;;;;;;;;;;;;;;;;;AAJ3B,wBAME;AAEF,eAAO,MAAM,OAAO;;;;;;CAMnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Toolbar/Toolbar.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Toolbar.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Toolbar/Toolbar.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;;;;;;;;;;;;mBAsFH,GAAG;;;;;;;;;;;;;;;;;;;;;;;AAHpB,wBAME;AAYF,eAAO,MAAM,OAAO;;;;CAInB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Extension, Facet } from '@codemirror/state';
|
|
2
|
+
/**
|
|
3
|
+
* Number of lines above/below the cursor to keep visible in the viewport.
|
|
4
|
+
* Defaults to 3.
|
|
5
|
+
*/
|
|
6
|
+
export declare const cursorLineMarginFacet: Facet<number, number>;
|
|
7
|
+
export declare const cursorLineMargin: Extension;
|
|
8
|
+
//# sourceMappingURL=cursor-line-margin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-line-margin.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-line-margin.ts"],"names":[],"mappings":"AAOA,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,EAAe,MAAM,mBAAmB,CAAC;AAGzF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,uBAEhC,CAAC;AAMH,eAAO,MAAM,gBAAgB,EAAE,SAqE9B,CAAC"}
|
|
@@ -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,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,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,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const editorWithToolbarLayout = "grid grid-cols-1 grid-rows-[min-content_1fr] data-[toolbar=disabled]:grid-rows-[1fr] justify-center content-start overflow-hidden";
|
|
2
|
-
export declare const editorFillLayoutRoot = "
|
|
3
|
-
export declare const editorFillLayoutEditor = "
|
|
2
|
+
export declare const editorFillLayoutRoot = "bs-full overflow-hidden grid";
|
|
3
|
+
export declare const editorFillLayoutEditor = "bs-full overflow-hidden [&>.cm-scroller]:bs-full [&>.cm-scroller]:overflow-y-auto";
|
|
4
4
|
export declare const editorHalfViewportOverscrollContent = "after:block after:min-bs-[50dvh] after:pointer-events-none";
|
|
5
5
|
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/styles/layout.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,sIACiG,CAAC;AAEtI,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/styles/layout.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,sIACiG,CAAC;AAEtI,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AACnE,eAAO,MAAM,sBAAsB,sFACkD,CAAC;AAEtF,eAAO,MAAM,mCAAmC,+DAA+D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/react-ui-editor",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5-main.2d76d4e",
|
|
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",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@codemirror/state": "^6.4.0",
|
|
24
24
|
"@codemirror/theme-one-dark": "^6.1.2",
|
|
25
25
|
"@codemirror/view": "^6.23.0",
|
|
26
|
-
"@fluentui/react-tabster": "^9.
|
|
26
|
+
"@fluentui/react-tabster": "^9.19.0",
|
|
27
27
|
"@lezer/common": "^1.2.1",
|
|
28
28
|
"@lezer/highlight": "^1.2.0",
|
|
29
29
|
"@lezer/markdown": "^1.2.0",
|
|
@@ -36,20 +36,20 @@
|
|
|
36
36
|
"lodash.pick": "^4.4.0",
|
|
37
37
|
"lodash.sortby": "^4.7.0",
|
|
38
38
|
"style-mod": "^4.1.0",
|
|
39
|
-
"@dxos/
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/
|
|
42
|
-
"@dxos/
|
|
43
|
-
"@dxos/
|
|
44
|
-
"@dxos/
|
|
45
|
-
"@dxos/
|
|
46
|
-
"@dxos/log": "0.4.
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/react-ui": "0.4.
|
|
49
|
-
"@dxos/
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/
|
|
52
|
-
"@dxos/
|
|
39
|
+
"@dxos/automerge": "0.4.5-main.2d76d4e",
|
|
40
|
+
"@dxos/context": "0.4.5-main.2d76d4e",
|
|
41
|
+
"@dxos/debug": "0.4.5-main.2d76d4e",
|
|
42
|
+
"@dxos/display-name": "0.4.5-main.2d76d4e",
|
|
43
|
+
"@dxos/invariant": "0.4.5-main.2d76d4e",
|
|
44
|
+
"@dxos/protocols": "0.4.5-main.2d76d4e",
|
|
45
|
+
"@dxos/echo-schema": "0.4.5-main.2d76d4e",
|
|
46
|
+
"@dxos/log": "0.4.5-main.2d76d4e",
|
|
47
|
+
"@dxos/react-async": "0.4.5-main.2d76d4e",
|
|
48
|
+
"@dxos/react-ui-theme": "0.4.5-main.2d76d4e",
|
|
49
|
+
"@dxos/text-model": "0.4.5-main.2d76d4e",
|
|
50
|
+
"@dxos/util": "0.4.5-main.2d76d4e",
|
|
51
|
+
"@dxos/react-ui": "0.4.5-main.2d76d4e",
|
|
52
|
+
"@dxos/async": "0.4.5-main.2d76d4e"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@automerge/automerge-repo-network-broadcastchannel": "^1.1.1",
|
|
@@ -72,24 +72,24 @@
|
|
|
72
72
|
"react": "^18.2.0",
|
|
73
73
|
"react-dom": "^18.2.0",
|
|
74
74
|
"react-test-renderer": "^18.2.0",
|
|
75
|
-
"vite": "^5.
|
|
75
|
+
"vite": "^5.1.3",
|
|
76
76
|
"vite-plugin-top-level-await": "^1.4.1",
|
|
77
77
|
"vite-plugin-wasm": "^3.3.0",
|
|
78
|
-
"vitest": "^1.2.
|
|
79
|
-
"@dxos/config": "0.4.
|
|
80
|
-
"@dxos/echo-signals": "0.4.
|
|
81
|
-
"@dxos/
|
|
82
|
-
"@dxos/random": "0.4.
|
|
83
|
-
"@dxos/
|
|
84
|
-
"@dxos/
|
|
85
|
-
"@dxos/react-ui": "0.4.
|
|
86
|
-
"@dxos/storybook-utils": "0.4.
|
|
78
|
+
"vitest": "^1.2.2",
|
|
79
|
+
"@dxos/config": "0.4.5-main.2d76d4e",
|
|
80
|
+
"@dxos/echo-signals": "0.4.5-main.2d76d4e",
|
|
81
|
+
"@dxos/keyboard": "0.4.5-main.2d76d4e",
|
|
82
|
+
"@dxos/random": "0.4.5-main.2d76d4e",
|
|
83
|
+
"@dxos/echo-typegen": "0.4.5-main.2d76d4e",
|
|
84
|
+
"@dxos/react-client": "0.4.5-main.2d76d4e",
|
|
85
|
+
"@dxos/react-ui": "0.4.5-main.2d76d4e",
|
|
86
|
+
"@dxos/storybook-utils": "0.4.5-main.2d76d4e"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
89
|
"@phosphor-icons/react": "^2.0.5",
|
|
90
90
|
"react": "^18.2.0",
|
|
91
91
|
"react-dom": "^18.2.0",
|
|
92
|
-
"@dxos/react-client": "0.4.
|
|
92
|
+
"@dxos/react-client": "0.4.5-main.2d76d4e"
|
|
93
93
|
},
|
|
94
94
|
"publishConfig": {
|
|
95
95
|
"access": "public"
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
useFormattingState,
|
|
27
27
|
} from '../../extensions';
|
|
28
28
|
import { createDataExtensions, createThemeExtensions, useActionHandler, useTextEditor } from '../../hooks';
|
|
29
|
-
import { editorFillLayoutEditor,
|
|
29
|
+
import { editorFillLayoutEditor, editorWithToolbarLayout } from '../../styles';
|
|
30
30
|
import { markdownTheme } from '../../themes';
|
|
31
31
|
import translations from '../../translations';
|
|
32
32
|
import { Toolbar } from '../Toolbar';
|
|
@@ -56,7 +56,7 @@ const Story = ({ autoFocus, placeholder, doc, readonly }: StoryProps) => {
|
|
|
56
56
|
themeMode,
|
|
57
57
|
theme: markdownTheme,
|
|
58
58
|
slots: {
|
|
59
|
-
|
|
59
|
+
content: { className: '!p-4' },
|
|
60
60
|
},
|
|
61
61
|
}),
|
|
62
62
|
// TODO(burdon): Move lineWrapping.
|
|
@@ -87,11 +87,7 @@ const Story = ({ autoFocus, placeholder, doc, readonly }: StoryProps) => {
|
|
|
87
87
|
<EditorModeToolbar editorMode={editorMode} setEditorMode={setEditorMode} />
|
|
88
88
|
</Toolbar.Root>
|
|
89
89
|
<div role='none' className='overflow-y-auto'>
|
|
90
|
-
<div
|
|
91
|
-
role='textbox'
|
|
92
|
-
className={mx(textBlockWidth, attentionSurface, editorFillLayoutRoot, 'p-4')}
|
|
93
|
-
ref={parentRef}
|
|
94
|
-
/>
|
|
90
|
+
<div role='textbox' className={mx(textBlockWidth, attentionSurface, editorFillLayoutEditor)} ref={parentRef} />
|
|
95
91
|
</div>
|
|
96
92
|
</div>
|
|
97
93
|
);
|
|
@@ -76,8 +76,9 @@ const Story: FC<{ id?: string; content: string }> = ({ id = 'test', content }) =
|
|
|
76
76
|
model={model}
|
|
77
77
|
extensions={extensions}
|
|
78
78
|
slots={{
|
|
79
|
-
root: { className: mx(textBlockWidth, editorFillLayoutRoot
|
|
79
|
+
root: { className: mx(textBlockWidth, editorFillLayoutRoot) },
|
|
80
80
|
editor: { className: editorFillLayoutEditor },
|
|
81
|
+
content: { className: '!pli-2' },
|
|
81
82
|
}}
|
|
82
83
|
/>
|
|
83
84
|
</div>
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2024 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
// Based upon @acheronfail’s implementation, fetched 16 Feb 2024
|
|
6
|
+
// https://discuss.codemirror.net/t/cursorscrollmargin-for-v6/7448/5
|
|
7
|
+
|
|
8
|
+
import { type EditorState, type Extension, Facet, Transaction } from '@codemirror/state';
|
|
9
|
+
import { EditorView } from '@codemirror/view';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Number of lines above/below the cursor to keep visible in the viewport.
|
|
13
|
+
* Defaults to 3.
|
|
14
|
+
*/
|
|
15
|
+
export const cursorLineMarginFacet = Facet.define<number, number>({
|
|
16
|
+
combine: (input) => input[0] ?? 3,
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const annotation = 'cursorLineMargin';
|
|
20
|
+
const lineAtPos = (s: EditorState, pos: number) => s.doc.lineAt(pos).number;
|
|
21
|
+
// seems to the best approximation of CM5's `cursorScrollMargin`
|
|
22
|
+
// https://discuss.codemirror.net/t/cursorscrollmargin-for-v6/7448
|
|
23
|
+
export const cursorLineMargin: Extension = EditorView.updateListener.of(
|
|
24
|
+
({ transactions, state, selectionSet, startState, view }) => {
|
|
25
|
+
// make sure we don't trigger an infinite loop and ignore our own changes
|
|
26
|
+
if (transactions.length < 1 || transactions.some((tr) => tr.isUserEvent(annotation))) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const s = state;
|
|
31
|
+
const { main } = s.selection;
|
|
32
|
+
const cursorLineMargin = s.facet(cursorLineMarginFacet);
|
|
33
|
+
|
|
34
|
+
// editor rect
|
|
35
|
+
const rect = view.dom.getBoundingClientRect();
|
|
36
|
+
// top and bottom pixel positions of the visible region of the editor
|
|
37
|
+
const viewportTop = rect.top - view.documentTop;
|
|
38
|
+
const viewportBottom = rect.bottom - view.documentTop;
|
|
39
|
+
|
|
40
|
+
// line with main selection
|
|
41
|
+
const mainLine = lineAtPos(s, main.head);
|
|
42
|
+
// top most visible line
|
|
43
|
+
const _visTopLine = lineAtPos(s, view.lineBlockAtHeight(viewportTop).from);
|
|
44
|
+
|
|
45
|
+
// bottom most visible line
|
|
46
|
+
// NOTE: calculating this is slightly more complex - if the editor is
|
|
47
|
+
// larger than all the lines in it, and the `scrollPastEnd()` extension is
|
|
48
|
+
// enabled, then we need to calculate where the bottom most visible line
|
|
49
|
+
// should be if it extended all the way to the bottom of the editor
|
|
50
|
+
const botLineBlk = view.lineBlockAtHeight(viewportBottom);
|
|
51
|
+
const visBotLineDoc = lineAtPos(s, Math.min(botLineBlk.to, s.doc.length));
|
|
52
|
+
const visBotLine =
|
|
53
|
+
botLineBlk.bottom >= viewportBottom
|
|
54
|
+
? visBotLineDoc
|
|
55
|
+
: visBotLineDoc + Math.floor((viewportBottom - botLineBlk.bottom) / view.defaultLineHeight);
|
|
56
|
+
|
|
57
|
+
// const needsScrollTop = mainLine <= visTopLine + cursorLineMargin;
|
|
58
|
+
const needsScrollTop = false;
|
|
59
|
+
const needsScrollBot = mainLine >= visBotLine - cursorLineMargin;
|
|
60
|
+
|
|
61
|
+
// the scroll margins are overlapping
|
|
62
|
+
if (needsScrollTop && needsScrollBot) {
|
|
63
|
+
console.warn('is cursorScrollMargin too large for the editor size?');
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// no need to scroll, we're in between scroll regions
|
|
68
|
+
if (!needsScrollTop && !needsScrollBot) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// if we're within the margin, but moving the other way, then don't scroll
|
|
73
|
+
if (selectionSet) {
|
|
74
|
+
const { head } = startState.selection.main;
|
|
75
|
+
const oldMainLine = lineAtPos(startState, head);
|
|
76
|
+
if (needsScrollTop && oldMainLine < mainLine) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (needsScrollBot && oldMainLine > mainLine) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
view.dispatch({
|
|
85
|
+
annotations: Transaction.userEvent.of(annotation),
|
|
86
|
+
effects: EditorView.scrollIntoView(s.selection.main.head, {
|
|
87
|
+
y: needsScrollTop ? 'start' : 'end',
|
|
88
|
+
yMargin: view.defaultLineHeight * cursorLineMargin,
|
|
89
|
+
}),
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
);
|
package/src/extensions/index.ts
CHANGED
package/src/styles/layout.ts
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
export const editorWithToolbarLayout =
|
|
6
6
|
'grid grid-cols-1 grid-rows-[min-content_1fr] data-[toolbar=disabled]:grid-rows-[1fr] justify-center content-start overflow-hidden';
|
|
7
7
|
|
|
8
|
-
export const editorFillLayoutRoot = '
|
|
9
|
-
export const editorFillLayoutEditor =
|
|
8
|
+
export const editorFillLayoutRoot = 'bs-full overflow-hidden grid';
|
|
9
|
+
export const editorFillLayoutEditor =
|
|
10
|
+
'bs-full overflow-hidden [&>.cm-scroller]:bs-full [&>.cm-scroller]:overflow-y-auto';
|
|
10
11
|
|
|
11
12
|
export const editorHalfViewportOverscrollContent = 'after:block after:min-bs-[50dvh] after:pointer-events-none';
|