@dxos/react-ui-editor 0.4.6 → 0.4.7-main.2d03537

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.
@@ -1 +1 @@
1
- {"inputs":{"packages/ui/react-ui-editor/src/translations.ts":{"bytes":2465,"imports":[],"format":"esm"},"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":5888,"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":4697,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"lodash.get","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":8528,"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":1290,"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/decorate.ts":{"bytes":30026,"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":150758,"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/image.ts":{"bytes":11522,"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":4486,"imports":[{"path":"@codemirror/language","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/index.ts":{"bytes":994,"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/decorate.ts","kind":"import-statement","original":"./decorate"},{"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/highlight.ts","kind":"import-statement","original":"./highlight"},{"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"}],"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":24934,"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":25876,"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/components/Toolbar/Toolbar.tsx":{"bytes":35724,"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":2014,"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":2925,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/useTextEditor.ts":{"bytes":13950,"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":11630,"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":2253,"imports":[{"path":"packages/ui/react-ui-editor/src/translations.ts","kind":"import-statement","original":"./translations"},{"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":304344},"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":"lodash.get","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/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/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","codeTheme","comments","compareFormatting","createBasicBundle","createComment","createDataExtensions","createMarkdownExtensions","createThemeExtensions","cursorLineMargin","cursorLineMarginFacet","decorateMarkdown","defaultMarkdownSlots","defaultOptions","defaultSlots","defaultTextSlots","defaultTheme","editorFillLayoutEditor","editorFillLayoutRoot","editorMode","editorWithToolbarLayout","focusComment","formatting","getFormatting","getToken","image","insertTable","keymap","linkTooltip","listener","logChanges","markdownHighlightStyle","markdownTags","markdownTagsExtensions","markdownTheme","mention","modelState","outliner","removeBlockquote","removeCodeblock","removeLink","removeList","removeStyle","setBlockquote","setComments","setHeading","setSelection","setStyle","table","tags","textTheme","toggleBlockquote","toggleCodeblock","toggleEmphasis","toggleInlineCode","toggleList","toggleStrikethrough","toggleStrong","toggleStyle","translations","typewriter","useActionHandler","useComments","useEditorView","useFormattingState","useInMemoryTextModel","useTextEditor","useTextExtensions","useTextModel","useToolbarContext"],"entryPoint":"packages/ui/react-ui-editor/src/index.ts","inputs":{"packages/ui/react-ui-editor/src/translations.ts":{"bytesInOutput":650},"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":5746},"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":1800},"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts":{"bytesInOutput":1379},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytesInOutput":459},"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":8807},"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":260},"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/decorate.ts":{"bytesInOutput":7375},"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts":{"bytesInOutput":33887},"packages/ui/react-ui-editor/src/extensions/markdown/image.ts":{"bytesInOutput":2521},"packages/ui/react-ui-editor/src/extensions/markdown/link.ts":{"bytesInOutput":951},"packages/ui/react-ui-editor/src/extensions/markdown/table.ts":{"bytesInOutput":3046},"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":7176},"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":9999},"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":3007},"packages/ui/react-ui-editor/src/hooks/useTextModel.ts":{"bytesInOutput":2481}},"bytes":142427}}}
1
+ {"inputs":{"packages/ui/react-ui-editor/src/translations.ts":{"bytes":2465,"imports":[],"format":"esm"},"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":5888,"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":4697,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"lodash.get","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":8528,"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":1290,"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":10528,"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/decorate.ts":{"bytes":35555,"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":150758,"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/image.ts":{"bytes":11522,"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":4486,"imports":[{"path":"@codemirror/language","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/index.ts":{"bytes":994,"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/decorate.ts","kind":"import-statement","original":"./decorate"},{"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/highlight.ts","kind":"import-statement","original":"./highlight"},{"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"}],"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":24934,"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":26086,"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/components/Toolbar/Toolbar.tsx":{"bytes":35724,"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":2014,"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":2925,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/useTextEditor.ts":{"bytes":13950,"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":11630,"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":2253,"imports":[{"path":"packages/ui/react-ui-editor/src/translations.ts","kind":"import-statement","original":"./translations"},{"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":307174},"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":"lodash.get","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/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/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","codeTheme","comments","compareFormatting","createBasicBundle","createComment","createDataExtensions","createMarkdownExtensions","createThemeExtensions","cursorLineMargin","cursorLineMarginFacet","decorateMarkdown","defaultMarkdownSlots","defaultOptions","defaultSlots","defaultTextSlots","defaultTheme","editorFillLayoutEditor","editorFillLayoutRoot","editorMode","editorWithToolbarLayout","focusComment","formatting","getFormatting","getToken","image","insertTable","keymap","linkTooltip","listener","logChanges","markdownHighlightStyle","markdownTags","markdownTagsExtensions","markdownTheme","mention","modelState","outliner","removeBlockquote","removeCodeblock","removeLink","removeList","removeStyle","setBlockquote","setComments","setHeading","setSelection","setStyle","table","tags","textTheme","toggleBlockquote","toggleCodeblock","toggleEmphasis","toggleInlineCode","toggleList","toggleStrikethrough","toggleStrong","toggleStyle","translations","typewriter","useActionHandler","useComments","useEditorView","useFormattingState","useInMemoryTextModel","useTextEditor","useTextExtensions","useTextModel","useToolbarContext"],"entryPoint":"packages/ui/react-ui-editor/src/index.ts","inputs":{"packages/ui/react-ui-editor/src/translations.ts":{"bytesInOutput":650},"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":5746},"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":1800},"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts":{"bytesInOutput":1379},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytesInOutput":459},"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":8807},"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":260},"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/decorate.ts":{"bytesInOutput":8702},"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts":{"bytesInOutput":33887},"packages/ui/react-ui-editor/src/extensions/markdown/image.ts":{"bytesInOutput":2521},"packages/ui/react-ui-editor/src/extensions/markdown/link.ts":{"bytesInOutput":951},"packages/ui/react-ui-editor/src/extensions/markdown/table.ts":{"bytesInOutput":3046},"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":7176},"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":9999},"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":3007},"packages/ui/react-ui-editor/src/hooks/useTextModel.ts":{"bytesInOutput":2481}},"bytes":143754}}}
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TextEditor/TextEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAiB,MAAM,kBAAkB,CAAC;AAG7D,OAAO,KAAK,EAAE,EACZ,KAAK,cAAc,EASpB,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,cAAc,2FAsJ1B,CAAC;AAEF,eAAO,MAAM,UAAU,2FAuBtB,CAAC;AAEF,eAAO,MAAM,cAAc,2FAoB1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAO1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,eAE9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAElC,CAAC"}
1
+ {"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TextEditor/TextEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAiB,MAAM,kBAAkB,CAAC;AAG7D,OAAO,KAAK,EAAE,EACZ,KAAK,cAAc,EASpB,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,cAAc,2FAsJ1B,CAAC;AAGF,eAAO,MAAM,UAAU,2FAuBtB,CAAC;AAGF,eAAO,MAAM,cAAc,2FAoB1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAO1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,eAE9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAElC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/bundle.ts"],"names":[],"mappings":"AAUA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAYhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,cAAc,CAAC,CAAC;AAE1D;;;;;GAKG;AAEH,eAAO,MAAM,wBAAwB,6DAIlC,qBAAqB,KAAQ,SAAS,EAyDxC,CAAC"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/bundle.ts"],"names":[],"mappings":"AAUA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAYhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,cAAc,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,6DAIlC,qBAAqB,KAAQ,SAAS,EAyDxC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export interface DecorateOptions {
2
2
  renderLinkButton?: (el: Element, url: string) => void;
3
+ selectionChangeDelay?: number;
3
4
  }
4
5
  export declare const decorateMarkdown: (options?: DecorateOptions) => import("@codemirror/state").Extension[];
5
6
  //# sourceMappingURL=decorate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorate.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/decorate.ts"],"names":[],"mappings":"AA6LA,MAAM,WAAW,eAAe;IAC9B,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAED,eAAO,MAAM,gBAAgB,aAAa,eAAe,4CAqBxD,CAAC"}
1
+ {"version":3,"file":"decorate.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/decorate.ts"],"names":[],"mappings":"AA0LA,MAAM,WAAW,eAAe;IAC9B,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAID,eAAO,MAAM,gBAAgB,aAAa,eAAe,4CA0DxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/react-ui-editor",
3
- "version": "0.4.6",
3
+ "version": "0.4.7-main.2d03537",
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",
@@ -37,20 +37,20 @@
37
37
  "lodash.pick": "^4.4.0",
38
38
  "lodash.sortby": "^4.7.0",
39
39
  "style-mod": "^4.1.0",
40
- "@dxos/automerge": "0.4.6",
41
- "@dxos/async": "0.4.6",
42
- "@dxos/debug": "0.4.6",
43
- "@dxos/context": "0.4.6",
44
- "@dxos/echo-schema": "0.4.6",
45
- "@dxos/invariant": "0.4.6",
46
- "@dxos/log": "0.4.6",
47
- "@dxos/protocols": "0.4.6",
48
- "@dxos/react-async": "0.4.6",
49
- "@dxos/display-name": "0.4.6",
50
- "@dxos/react-ui-theme": "0.4.6",
51
- "@dxos/text-model": "0.4.6",
52
- "@dxos/react-ui": "0.4.6",
53
- "@dxos/util": "0.4.6"
40
+ "@dxos/context": "0.4.7-main.2d03537",
41
+ "@dxos/automerge": "0.4.7-main.2d03537",
42
+ "@dxos/display-name": "0.4.7-main.2d03537",
43
+ "@dxos/async": "0.4.7-main.2d03537",
44
+ "@dxos/echo-schema": "0.4.7-main.2d03537",
45
+ "@dxos/debug": "0.4.7-main.2d03537",
46
+ "@dxos/invariant": "0.4.7-main.2d03537",
47
+ "@dxos/protocols": "0.4.7-main.2d03537",
48
+ "@dxos/log": "0.4.7-main.2d03537",
49
+ "@dxos/react-async": "0.4.7-main.2d03537",
50
+ "@dxos/react-ui": "0.4.7-main.2d03537",
51
+ "@dxos/react-ui-theme": "0.4.7-main.2d03537",
52
+ "@dxos/text-model": "0.4.7-main.2d03537",
53
+ "@dxos/util": "0.4.7-main.2d03537"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@automerge/automerge-repo-network-broadcastchannel": "^1.1.1",
@@ -78,14 +78,14 @@
78
78
  "vite-plugin-top-level-await": "^1.4.1",
79
79
  "vite-plugin-wasm": "^3.3.0",
80
80
  "vitest": "^1.2.2",
81
- "@dxos/config": "0.4.6",
82
- "@dxos/echo-signals": "0.4.6",
83
- "@dxos/keyboard": "0.4.6",
84
- "@dxos/echo-typegen": "0.4.6",
85
- "@dxos/react-client": "0.4.6",
86
- "@dxos/random": "0.4.6",
87
- "@dxos/react-ui": "0.4.6",
88
- "@dxos/storybook-utils": "0.4.6"
81
+ "@dxos/config": "0.4.7-main.2d03537",
82
+ "@dxos/echo-typegen": "0.4.7-main.2d03537",
83
+ "@dxos/random": "0.4.7-main.2d03537",
84
+ "@dxos/echo-signals": "0.4.7-main.2d03537",
85
+ "@dxos/react-client": "0.4.7-main.2d03537",
86
+ "@dxos/react-ui": "0.4.7-main.2d03537",
87
+ "@dxos/storybook-utils": "0.4.7-main.2d03537",
88
+ "@dxos/keyboard": "0.4.7-main.2d03537"
89
89
  },
90
90
  "peerDependencies": {
91
91
  "@phosphor-icons/react": "^2.0.5",
@@ -93,7 +93,7 @@
93
93
  "@vitest/ui": "^1.2.2",
94
94
  "react": "^18.2.0",
95
95
  "react-dom": "^18.2.0",
96
- "@dxos/react-client": "0.4.6"
96
+ "@dxos/react-client": "0.4.7-main.2d03537"
97
97
  },
98
98
  "publishConfig": {
99
99
  "access": "public"
@@ -220,6 +220,7 @@ export const BaseTextEditor = forwardRef<EditorView | null, TextEditorProps>(
220
220
  },
221
221
  );
222
222
 
223
+ // TODO(burdon): Replace with hooks.
223
224
  export const TextEditor = forwardRef<EditorView | null, TextEditorProps>(
224
225
  (
225
226
  { readonly, placeholder, lineWrapping, theme = textTheme, slots, extensions: _extensions, ...props },
@@ -245,6 +246,7 @@ export const TextEditor = forwardRef<EditorView | null, TextEditorProps>(
245
246
  },
246
247
  );
247
248
 
249
+ // TODO(burdon): Replace with hooks.
248
250
  export const MarkdownEditor = forwardRef<EditorView | null, TextEditorProps>(
249
251
  ({ readonly, placeholder, theme = markdownTheme, slots, extensions: _extensions, ...props }, forwardedRef) => {
250
252
  const { themeMode } = useThemeContext();
@@ -36,7 +36,6 @@ export type MarkdownBundleOptions = {
36
36
  * https://codemirror.net/docs/community
37
37
  * https://codemirror.net/docs/ref/#codemirror.basicSetup
38
38
  */
39
- // TODO(burdon): Add Composer here: https://codemirror.net/docs/community
40
39
  export const createMarkdownExtensions = ({
41
40
  themeMode,
42
41
  placeholder: _placeholder,
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { syntaxTree } from '@codemirror/language';
6
- import { RangeSetBuilder, type EditorState } from '@codemirror/state';
6
+ import { RangeSetBuilder, type EditorState, StateEffect } from '@codemirror/state';
7
7
  import { EditorView, Decoration, type DecorationSet, WidgetType, ViewPlugin, type ViewUpdate } from '@codemirror/view';
8
8
 
9
9
  import { mx } from '@dxos/react-ui-theme';
@@ -81,20 +81,21 @@ const horizontalRule = Decoration.replace({ widget: new HorizontalRuleWidget() }
81
81
  const checkedTask = Decoration.replace({ widget: new CheckboxWidget(true) });
82
82
  const uncheckedTask = Decoration.replace({ widget: new CheckboxWidget(false) });
83
83
 
84
- const editingRange = (state: EditorState, range: { from: number; to: number }) => {
84
+ const editingRange = (state: EditorState, range: { from: number; to: number }, focus: boolean) => {
85
85
  const {
86
86
  readOnly,
87
87
  selection: {
88
88
  main: { head },
89
89
  },
90
90
  } = state;
91
- return !readOnly && head >= range.from && head <= range.to;
91
+ return focus && !readOnly && head >= range.from && head < range.to;
92
92
  };
93
93
 
94
94
  const MarksByParent = new Set(['CodeMark', 'EmphasisMark', 'StrikethroughMark', 'SubscriptMark', 'SuperscriptMark']);
95
95
 
96
- const buildDecorations = (view: EditorView, options: DecorateOptions): DecorationSet => {
97
- const builder = new RangeSetBuilder<Decoration>();
96
+ const buildDecorations = (view: EditorView, options: DecorateOptions, focus: boolean) => {
97
+ const deco = new RangeSetBuilder<Decoration>();
98
+ const atomicDeco = new RangeSetBuilder<Decoration>();
98
99
  const { state } = view;
99
100
 
100
101
  for (const { from, to } of view.visibleRanges) {
@@ -103,7 +104,7 @@ const buildDecorations = (view: EditorView, options: DecorateOptions): Decoratio
103
104
  to,
104
105
  enter: (node) => {
105
106
  if (node.name === 'FencedCode') {
106
- const editing = editingRange(state, node);
107
+ const editing = editingRange(state, node, focus);
107
108
  // FencedCode > CodeMark > [CodeInfo] > CodeText > CodeMark
108
109
  for (const block of view.viewportLineBlocks) {
109
110
  if (block.to < node.from) {
@@ -114,26 +115,22 @@ const buildDecorations = (view: EditorView, options: DecorateOptions): Decoratio
114
115
  }
115
116
  const first = block.from <= node.from;
116
117
  const last = block.to >= node.to;
117
- builder.add(
118
- block.from,
119
- block.from,
120
- first ? fencedCodeLineFirst : last ? fencedCodeLineLast : fencedCodeLine,
121
- );
118
+ deco.add(block.from, block.from, first ? fencedCodeLineFirst : last ? fencedCodeLineLast : fencedCodeLine);
122
119
  if (!editing && (first || last)) {
123
- builder.add(block.from, block.to, hide);
120
+ atomicDeco.add(block.from, block.to, hide);
124
121
  }
125
122
  }
126
123
  return false;
127
124
  } else if (node.name === 'Link') {
128
125
  const marks = node.node.getChildren('LinkMark');
129
126
  const urlNode = node.node.getChild('URL');
130
- const editing = editingRange(state, node);
127
+ const editing = editingRange(state, node, focus);
131
128
  if (urlNode && marks.length >= 2) {
132
129
  const url = state.sliceDoc(urlNode.from, urlNode.to);
133
130
  if (!editing) {
134
- builder.add(node.from, marks[0].to, hide);
131
+ atomicDeco.add(node.from, marks[0].to, hide);
135
132
  }
136
- builder.add(
133
+ deco.add(
137
134
  marks[0].to,
138
135
  marks[1].from,
139
136
  Decoration.mark({
@@ -147,7 +144,7 @@ const buildDecorations = (view: EditorView, options: DecorateOptions): Decoratio
147
144
  }),
148
145
  );
149
146
  if (!editing) {
150
- builder.add(
147
+ atomicDeco.add(
151
148
  marks[1].from,
152
149
  node.to,
153
150
  options.renderLinkButton
@@ -160,54 +157,94 @@ const buildDecorations = (view: EditorView, options: DecorateOptions): Decoratio
160
157
  }
161
158
  } else if (node.name === 'HeaderMark') {
162
159
  const parent = node.node.parent!;
163
- if (/^ATX/.test(parent.name) && !editingRange(state, state.doc.lineAt(node.from))) {
160
+ if (/^ATX/.test(parent.name) && !editingRange(state, state.doc.lineAt(node.from), focus)) {
164
161
  const next = state.doc.sliceString(node.to, node.to + 1);
165
- builder.add(node.from, node.to + (next === ' ' ? 1 : 0), hide);
162
+ atomicDeco.add(node.from, node.to + (next === ' ' ? 1 : 0), hide);
166
163
  }
167
164
  } else if (node.name === 'HorizontalRule') {
168
- if (!editingRange(state, node)) {
169
- builder.add(node.from, node.to, horizontalRule);
165
+ if (!editingRange(state, node, focus)) {
166
+ deco.add(node.from, node.to, horizontalRule);
170
167
  }
171
168
  } else if (node.name === 'TaskMarker') {
172
169
  // Check if cursor is inside text.
173
- if (!editingRange(state, node)) {
170
+ if (!editingRange(state, node, focus)) {
174
171
  const checked = state.doc.sliceString(node.from + 1, node.to - 1) === 'x';
175
- builder.add(node.from - 2, node.from - 1, Decoration.mark({ class: 'cm-task' }));
176
- builder.add(node.from, node.to, checked ? checkedTask : uncheckedTask);
172
+ atomicDeco.add(node.from - 2, node.from - 1, Decoration.mark({ class: 'cm-task' }));
173
+ atomicDeco.add(node.from, node.to, checked ? checkedTask : uncheckedTask);
177
174
  }
178
175
  } else if (MarksByParent.has(node.name)) {
179
- if (!editingRange(state, node.node.parent!)) {
180
- builder.add(node.from, node.to, hide);
176
+ if (!editingRange(state, node.node.parent!, focus)) {
177
+ atomicDeco.add(node.from, node.to, hide);
181
178
  }
182
179
  }
183
180
  },
184
181
  });
185
182
  }
186
183
 
187
- return builder.finish();
184
+ return { deco: deco.finish(), atomicDeco: atomicDeco.finish() };
188
185
  };
189
186
 
190
187
  export interface DecorateOptions {
191
188
  renderLinkButton?: (el: Element, url: string) => void;
189
+ selectionChangeDelay?: number;
192
190
  }
193
191
 
192
+ const forceUpdate = StateEffect.define<null>();
193
+
194
194
  export const decorateMarkdown = (options: DecorateOptions = {}) => {
195
195
  return [
196
196
  ViewPlugin.fromClass(
197
197
  class {
198
- decorations: DecorationSet;
198
+ pendingUpdate = -1;
199
+ deco: DecorationSet;
200
+ atomicDeco: DecorationSet;
201
+
199
202
  constructor(view: EditorView) {
200
- this.decorations = buildDecorations(view, options);
203
+ ({ deco: this.deco, atomicDeco: this.atomicDeco } = buildDecorations(view, options, view.hasFocus));
201
204
  }
202
205
 
203
206
  update(update: ViewUpdate) {
204
- if (update.docChanged || update.selectionSet || update.viewportChanged) {
205
- this.decorations = buildDecorations(update.view, options);
207
+ if (
208
+ update.docChanged ||
209
+ update.viewportChanged ||
210
+ update.focusChanged ||
211
+ update.transactions.some((tr) => tr.effects.some((e) => e.is(forceUpdate)))
212
+ ) {
213
+ ({ deco: this.deco, atomicDeco: this.atomicDeco } = buildDecorations(
214
+ update.view,
215
+ options,
216
+ update.view.hasFocus,
217
+ ));
218
+ this.clearUpdate();
219
+ } else if (update.selectionSet) {
220
+ this.scheduleUpdate(update.view);
221
+ }
222
+ }
223
+
224
+ clearUpdate() {
225
+ if (this.pendingUpdate > -1) {
226
+ window.clearTimeout(this.pendingUpdate);
227
+ this.pendingUpdate = -1;
206
228
  }
207
229
  }
230
+
231
+ scheduleUpdate(view: EditorView) {
232
+ this.clearUpdate();
233
+ this.pendingUpdate = window.setTimeout(() => {
234
+ view.dispatch({ effects: forceUpdate.of(null) });
235
+ }, options.selectionChangeDelay ?? 400);
236
+ }
237
+
238
+ destroy() {
239
+ this.clearUpdate();
240
+ }
208
241
  },
209
242
  {
210
- decorations: (value) => value.decorations,
243
+ provide: (plugin) => [
244
+ EditorView.atomicRanges.of((view) => view.plugin(plugin)?.atomicDeco ?? Decoration.none),
245
+ EditorView.decorations.of((view) => view.plugin(plugin)?.deco ?? Decoration.none),
246
+ EditorView.decorations.of((view) => view.plugin(plugin)?.atomicDeco ?? Decoration.none),
247
+ ],
211
248
  },
212
249
  ),
213
250
  formattingStyles,