@dxos/react-ui-editor 0.3.11-main.67451e9 → 0.3.11-main.68db74e

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/extensions/autocomplete.ts":{"bytes":5418,"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":4568,"imports":[{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytes":5462,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/update-automerge.ts":{"bytes":4228,"imports":[{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/update-codemirror.ts":{"bytes":11396,"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/semaphore.ts":{"bytes":8945,"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/cursor.ts":{"bytes":4626,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/automerge.ts":{"bytes":10309,"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/semaphore.ts","kind":"import-statement","original":"./semaphore"},{"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":769,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/automerge/automerge.ts","kind":"import-statement","original":"./automerge"},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts","kind":"import-statement","original":"./cursor"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/awareness.ts":{"bytes":30322,"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":3565,"imports":[{"path":"@codemirror/autocomplete","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}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/blast.ts":{"bytes":39508,"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":7440,"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/index.ts":{"bytes":643,"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"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/code.ts":{"bytes":10911,"imports":[{"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/util.ts":{"bytes":1651,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/comments.ts":{"bytes":35257,"imports":[{"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":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","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/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/hr.ts":{"bytes":6430,"imports":[{"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/image.ts":{"bytes":10604,"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/link.ts":{"bytes":21575,"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/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":19330,"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":10766,"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":"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/index.ts":{"bytes":574,"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/highlight.ts","kind":"import-statement","original":"./highlight"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/mention.ts":{"bytes":3153,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/table.ts":{"bytes":13537,"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/tasklist.ts":{"bytes":11239,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true}],"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/yjs/cursor.ts":{"bytes":2382,"imports":[{"path":"yjs","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/yjs/yjs.ts":{"bytes":1542,"imports":[{"path":"y-codemirror.next","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/yjs/cursor.ts","kind":"import-statement","original":"./cursor"},{"path":"packages/ui/react-ui-editor/src/extensions/cursor.ts","kind":"import-statement","original":"../cursor"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/yjs/index.ts":{"bytes":473,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/yjs/yjs.ts","kind":"import-statement","original":"./yjs"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/index.ts":{"bytes":1916,"imports":[{"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/code.ts","kind":"import-statement","original":"./code"},{"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/hr.ts","kind":"import-statement","original":"./hr"},{"path":"packages/ui/react-ui-editor/src/extensions/image.ts","kind":"import-statement","original":"./image"},{"path":"packages/ui/react-ui-editor/src/extensions/link.ts","kind":"import-statement","original":"./link"},{"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/table.ts","kind":"import-statement","original":"./table"},{"path":"packages/ui/react-ui-editor/src/extensions/tasklist.ts","kind":"import-statement","original":"./tasklist"},{"path":"packages/ui/react-ui-editor/src/extensions/typewriter.ts","kind":"import-statement","original":"./typewriter"},{"path":"packages/ui/react-ui-editor/src/extensions/yjs/index.ts","kind":"import-statement","original":"./yjs"}],"format":"esm"},"packages/ui/react-ui-editor/src/themes/default.ts":{"bytes":23138,"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":22712,"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":"@replit/codemirror-vim","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","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/extensions/index.ts","kind":"import-statement","original":"../../extensions"},{"path":"packages/ui/react-ui-editor/src/themes/index.ts","kind":"import-statement","original":"../../themes"}],"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/index.ts":{"bytes":484,"imports":[{"path":"packages/ui/react-ui-editor/src/components/TextEditor/index.ts","kind":"import-statement","original":"./TextEditor"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/awareness-provider.ts":{"bytes":10910,"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/yjs.ts":{"bytes":18709,"imports":[{"path":"lib0/decoding","kind":"import-statement","external":true},{"path":"lib0/encoding","kind":"import-statement","external":true},{"path":"lib0/observable","kind":"import-statement","external":true},{"path":"y-protocols/awareness","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/hooks/useTextModel.ts","kind":"import-statement","original":"./useTextModel"},{"path":"packages/ui/react-ui-editor/src/extensions/index.ts","kind":"import-statement","original":"../extensions"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/useTextModel.ts":{"bytes":5793,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/hooks/automerge.ts","kind":"import-statement","original":"./automerge"},{"path":"packages/ui/react-ui-editor/src/hooks/yjs.ts","kind":"import-statement","original":"./yjs"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/automerge.ts":{"bytes":6088,"imports":[{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/util","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/useTextModel.ts","kind":"import-statement","original":"./useTextModel"},{"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":767,"imports":[{"path":"packages/ui/react-ui-editor/src/hooks/automerge.ts","kind":"import-statement","original":"./automerge"},{"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/useTextModel.ts","kind":"import-statement","original":"./useTextModel"},{"path":"packages/ui/react-ui-editor/src/hooks/yjs.ts","kind":"import-statement","original":"./yjs"}],"format":"esm"},"packages/ui/react-ui-editor/src/index.ts":{"bytes":1559,"imports":[{"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":192271},"packages/ui/react-ui-editor/dist/lib/browser/index.mjs":{"imports":[{"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":"@replit/codemirror-vim","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","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":"@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":"@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/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/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":"@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/view","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","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":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.sortby","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/log","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/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":"@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/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":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"y-codemirror.next","kind":"import-statement","external":true},{"path":"yjs","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/util","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":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"lib0/decoding","kind":"import-statement","external":true},{"path":"lib0/encoding","kind":"import-statement","external":true},{"path":"lib0/observable","kind":"import-statement","external":true},{"path":"y-protocols/awareness","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AwarenessProvider","BaseTextEditor","Cursor","Doc","EditorModes","MarkdownEditor","RemoteSelectionsDecorator","SpaceAwarenessProvider","TextEditor","TextKind","YAwarenessProvider","YText","YXmlFragment","autocomplete","automerge","awareness","basicBundle","blast","callbackWrapper","code","codeTheme","comments","createAutomergeModel","createYjsModel","cursorConverter","defaultMarkdownSlots","defaultOptions","defaultSlots","defaultTextSlots","defaultTheme","getToken","hr","image","link","listener","markdownBundle","markdownHighlightStyle","markdownTags","markdownTagsExtensions","markdownTheme","mention","modelState","setCommentRange","setFocus","setSelection","table","tags","tasklist","textTheme","typewriter","useTextModel","yjs"],"entryPoint":"packages/ui/react-ui-editor/src/index.ts","inputs":{"packages/ui/react-ui-editor/src/index.ts":{"bytesInOutput":132},"packages/ui/react-ui-editor/src/components/TextEditor/index.ts":{"bytesInOutput":50},"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx":{"bytesInOutput":4866},"packages/ui/react-ui-editor/src/extensions/autocomplete.ts":{"bytesInOutput":1163},"packages/ui/react-ui-editor/src/extensions/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/automerge/automerge.ts":{"bytesInOutput":1995},"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts":{"bytesInOutput":886},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytesInOutput":410},"packages/ui/react-ui-editor/src/extensions/automerge/semaphore.ts":{"bytesInOutput":1476},"packages/ui/react-ui-editor/src/extensions/automerge/update-automerge.ts":{"bytesInOutput":637},"packages/ui/react-ui-editor/src/extensions/automerge/update-codemirror.ts":{"bytesInOutput":2406},"packages/ui/react-ui-editor/src/extensions/cursor.ts":{"bytesInOutput":907},"packages/ui/react-ui-editor/src/extensions/automerge/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/awareness.ts":{"bytesInOutput":7033},"packages/ui/react-ui-editor/src/extensions/basic.ts":{"bytesInOutput":798},"packages/ui/react-ui-editor/src/extensions/blast.ts":{"bytesInOutput":8804},"packages/ui/react-ui-editor/src/extensions/code.ts":{"bytesInOutput":2573},"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":1211},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytesInOutput":207},"packages/ui/react-ui-editor/src/extensions/comments.ts":{"bytesInOutput":7550},"packages/ui/react-ui-editor/src/util.ts":{"bytesInOutput":348},"packages/ui/react-ui-editor/src/extensions/hr.ts":{"bytesInOutput":1361},"packages/ui/react-ui-editor/src/extensions/image.ts":{"bytesInOutput":2270},"packages/ui/react-ui-editor/src/extensions/link.ts":{"bytesInOutput":4140},"packages/ui/react-ui-editor/src/extensions/listener.ts":{"bytesInOutput":407},"packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts":{"bytesInOutput":2797},"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts":{"bytesInOutput":4188},"packages/ui/react-ui-editor/src/extensions/markdown/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/mention.ts":{"bytesInOutput":590},"packages/ui/react-ui-editor/src/extensions/table.ts":{"bytesInOutput":3044},"packages/ui/react-ui-editor/src/extensions/tasklist.ts":{"bytesInOutput":2514},"packages/ui/react-ui-editor/src/extensions/typewriter.ts":{"bytesInOutput":1341},"packages/ui/react-ui-editor/src/extensions/yjs/yjs.ts":{"bytesInOutput":166},"packages/ui/react-ui-editor/src/extensions/yjs/cursor.ts":{"bytesInOutput":433},"packages/ui/react-ui-editor/src/extensions/yjs/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/themes/default.ts":{"bytesInOutput":6440},"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/hooks/automerge.ts":{"bytesInOutput":1190},"packages/ui/react-ui-editor/src/hooks/awareness-provider.ts":{"bytesInOutput":2624},"packages/ui/react-ui-editor/src/hooks/useTextModel.ts":{"bytesInOutput":742},"packages/ui/react-ui-editor/src/hooks/yjs.ts":{"bytesInOutput":4479},"packages/ui/react-ui-editor/src/hooks/index.ts":{"bytesInOutput":0}},"bytes":86392}}}
1
+ {"inputs":{"packages/ui/react-ui-editor/src/extensions/autocomplete.ts":{"bytes":5418,"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":4568,"imports":[{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytes":5462,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/update-automerge.ts":{"bytes":4228,"imports":[{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/update-codemirror.ts":{"bytes":11396,"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/semaphore.ts":{"bytes":8945,"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/cursor.ts":{"bytes":4626,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/automerge.ts":{"bytes":10309,"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/semaphore.ts","kind":"import-statement","original":"./semaphore"},{"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":769,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/automerge/automerge.ts","kind":"import-statement","original":"./automerge"},{"path":"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts","kind":"import-statement","original":"./cursor"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/awareness.ts":{"bytes":30322,"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":3565,"imports":[{"path":"@codemirror/autocomplete","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}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/blast.ts":{"bytes":39508,"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":7440,"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/index.ts":{"bytes":643,"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"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/code.ts":{"bytes":10911,"imports":[{"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/util.ts":{"bytes":1651,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/comments.ts":{"bytes":35257,"imports":[{"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":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","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/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/hr.ts":{"bytes":6430,"imports":[{"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/image.ts":{"bytes":10604,"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/link.ts":{"bytes":21575,"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/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":19330,"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":10766,"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":"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/index.ts":{"bytes":574,"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/highlight.ts","kind":"import-statement","original":"./highlight"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/mention.ts":{"bytes":3153,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/table.ts":{"bytes":13537,"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/tasklist.ts":{"bytes":10541,"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/typewriter.ts":{"bytes":6277,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/yjs/cursor.ts":{"bytes":2382,"imports":[{"path":"yjs","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/yjs/yjs.ts":{"bytes":1542,"imports":[{"path":"y-codemirror.next","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/yjs/cursor.ts","kind":"import-statement","original":"./cursor"},{"path":"packages/ui/react-ui-editor/src/extensions/cursor.ts","kind":"import-statement","original":"../cursor"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/yjs/index.ts":{"bytes":473,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/yjs/yjs.ts","kind":"import-statement","original":"./yjs"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/index.ts":{"bytes":1916,"imports":[{"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/code.ts","kind":"import-statement","original":"./code"},{"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/hr.ts","kind":"import-statement","original":"./hr"},{"path":"packages/ui/react-ui-editor/src/extensions/image.ts","kind":"import-statement","original":"./image"},{"path":"packages/ui/react-ui-editor/src/extensions/link.ts","kind":"import-statement","original":"./link"},{"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/table.ts","kind":"import-statement","original":"./table"},{"path":"packages/ui/react-ui-editor/src/extensions/tasklist.ts","kind":"import-statement","original":"./tasklist"},{"path":"packages/ui/react-ui-editor/src/extensions/typewriter.ts","kind":"import-statement","original":"./typewriter"},{"path":"packages/ui/react-ui-editor/src/extensions/yjs/index.ts","kind":"import-statement","original":"./yjs"}],"format":"esm"},"packages/ui/react-ui-editor/src/themes/default.ts":{"bytes":22809,"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":22712,"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":"@replit/codemirror-vim","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","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/extensions/index.ts","kind":"import-statement","original":"../../extensions"},{"path":"packages/ui/react-ui-editor/src/themes/index.ts","kind":"import-statement","original":"../../themes"}],"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/index.ts":{"bytes":484,"imports":[{"path":"packages/ui/react-ui-editor/src/components/TextEditor/index.ts","kind":"import-statement","original":"./TextEditor"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/awareness-provider.ts":{"bytes":10910,"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/yjs.ts":{"bytes":18709,"imports":[{"path":"lib0/decoding","kind":"import-statement","external":true},{"path":"lib0/encoding","kind":"import-statement","external":true},{"path":"lib0/observable","kind":"import-statement","external":true},{"path":"y-protocols/awareness","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/hooks/useTextModel.ts","kind":"import-statement","original":"./useTextModel"},{"path":"packages/ui/react-ui-editor/src/extensions/index.ts","kind":"import-statement","original":"../extensions"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/useTextModel.ts":{"bytes":5793,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/hooks/automerge.ts","kind":"import-statement","original":"./automerge"},{"path":"packages/ui/react-ui-editor/src/hooks/yjs.ts","kind":"import-statement","original":"./yjs"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/automerge.ts":{"bytes":6088,"imports":[{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/util","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/useTextModel.ts","kind":"import-statement","original":"./useTextModel"},{"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":767,"imports":[{"path":"packages/ui/react-ui-editor/src/hooks/automerge.ts","kind":"import-statement","original":"./automerge"},{"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/useTextModel.ts","kind":"import-statement","original":"./useTextModel"},{"path":"packages/ui/react-ui-editor/src/hooks/yjs.ts","kind":"import-statement","original":"./yjs"}],"format":"esm"},"packages/ui/react-ui-editor/src/index.ts":{"bytes":1559,"imports":[{"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":191838},"packages/ui/react-ui-editor/dist/lib/browser/index.mjs":{"imports":[{"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":"@replit/codemirror-vim","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","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":"@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":"@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/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/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":"@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/view","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","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":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.sortby","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/log","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/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":"@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/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":"@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/view","kind":"import-statement","external":true},{"path":"y-codemirror.next","kind":"import-statement","external":true},{"path":"yjs","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/util","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":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"lib0/decoding","kind":"import-statement","external":true},{"path":"lib0/encoding","kind":"import-statement","external":true},{"path":"lib0/observable","kind":"import-statement","external":true},{"path":"y-protocols/awareness","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AwarenessProvider","BaseTextEditor","Cursor","Doc","EditorModes","MarkdownEditor","RemoteSelectionsDecorator","SpaceAwarenessProvider","TextEditor","TextKind","YAwarenessProvider","YText","YXmlFragment","autocomplete","automerge","awareness","basicBundle","blast","callbackWrapper","code","codeTheme","comments","createAutomergeModel","createYjsModel","cursorConverter","defaultMarkdownSlots","defaultOptions","defaultSlots","defaultTextSlots","defaultTheme","getToken","hr","image","link","listener","markdownBundle","markdownHighlightStyle","markdownTags","markdownTagsExtensions","markdownTheme","mention","modelState","setCommentRange","setFocus","setSelection","table","tags","tasklist","textTheme","typewriter","useTextModel","yjs"],"entryPoint":"packages/ui/react-ui-editor/src/index.ts","inputs":{"packages/ui/react-ui-editor/src/index.ts":{"bytesInOutput":132},"packages/ui/react-ui-editor/src/components/TextEditor/index.ts":{"bytesInOutput":50},"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx":{"bytesInOutput":4866},"packages/ui/react-ui-editor/src/extensions/autocomplete.ts":{"bytesInOutput":1163},"packages/ui/react-ui-editor/src/extensions/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/automerge/automerge.ts":{"bytesInOutput":1995},"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts":{"bytesInOutput":886},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytesInOutput":410},"packages/ui/react-ui-editor/src/extensions/automerge/semaphore.ts":{"bytesInOutput":1476},"packages/ui/react-ui-editor/src/extensions/automerge/update-automerge.ts":{"bytesInOutput":637},"packages/ui/react-ui-editor/src/extensions/automerge/update-codemirror.ts":{"bytesInOutput":2406},"packages/ui/react-ui-editor/src/extensions/cursor.ts":{"bytesInOutput":907},"packages/ui/react-ui-editor/src/extensions/automerge/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/awareness.ts":{"bytesInOutput":7033},"packages/ui/react-ui-editor/src/extensions/basic.ts":{"bytesInOutput":798},"packages/ui/react-ui-editor/src/extensions/blast.ts":{"bytesInOutput":8804},"packages/ui/react-ui-editor/src/extensions/code.ts":{"bytesInOutput":2573},"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":1211},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytesInOutput":207},"packages/ui/react-ui-editor/src/extensions/comments.ts":{"bytesInOutput":7550},"packages/ui/react-ui-editor/src/util.ts":{"bytesInOutput":348},"packages/ui/react-ui-editor/src/extensions/hr.ts":{"bytesInOutput":1361},"packages/ui/react-ui-editor/src/extensions/image.ts":{"bytesInOutput":2270},"packages/ui/react-ui-editor/src/extensions/link.ts":{"bytesInOutput":4140},"packages/ui/react-ui-editor/src/extensions/listener.ts":{"bytesInOutput":407},"packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts":{"bytesInOutput":2797},"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts":{"bytesInOutput":4188},"packages/ui/react-ui-editor/src/extensions/markdown/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/mention.ts":{"bytesInOutput":590},"packages/ui/react-ui-editor/src/extensions/table.ts":{"bytesInOutput":3044},"packages/ui/react-ui-editor/src/extensions/tasklist.ts":{"bytesInOutput":2468},"packages/ui/react-ui-editor/src/extensions/typewriter.ts":{"bytesInOutput":1341},"packages/ui/react-ui-editor/src/extensions/yjs/yjs.ts":{"bytesInOutput":166},"packages/ui/react-ui-editor/src/extensions/yjs/cursor.ts":{"bytesInOutput":433},"packages/ui/react-ui-editor/src/extensions/yjs/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/themes/default.ts":{"bytesInOutput":6353},"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/hooks/automerge.ts":{"bytesInOutput":1190},"packages/ui/react-ui-editor/src/hooks/awareness-provider.ts":{"bytesInOutput":2624},"packages/ui/react-ui-editor/src/hooks/useTextModel.ts":{"bytesInOutput":742},"packages/ui/react-ui-editor/src/hooks/yjs.ts":{"bytesInOutput":4479},"packages/ui/react-ui-editor/src/hooks/index.ts":{"bytesInOutput":0}},"bytes":86259}}}
@@ -1,3 +1,7 @@
1
+ import { ViewPlugin, type DecorationSet, type ViewUpdate } from '@codemirror/view';
1
2
  export type TasklistOptions = {};
2
- export declare const tasklist: (options?: TasklistOptions) => import("@codemirror/state").Extension[];
3
+ export declare const tasklist: (options?: TasklistOptions) => ViewPlugin<{
4
+ decorations: DecorationSet;
5
+ update(update: ViewUpdate): void;
6
+ }>;
3
7
  //# sourceMappingURL=tasklist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasklist.d.ts","sourceRoot":"","sources":["../../../../src/extensions/tasklist.ts"],"names":[],"mappings":"AA8DA,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;AAEjC,eAAO,MAAM,QAAQ,aAAa,eAAe,4CAsDhD,CAAC"}
1
+ {"version":3,"file":"tasklist.d.ts","sourceRoot":"","sources":["../../../../src/extensions/tasklist.ts"],"names":[],"mappings":"AAMA,OAAO,EAAsC,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAyCvH,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;AAEjC,eAAO,MAAM,QAAQ,aAAa,eAAe;;mBAS5B,UAAU;EAc9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../src/themes/default.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,WAAW,EAAU,MAAM,WAAW,CAAC;AAKrD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,EAAE,WAyO1B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,WAOvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAO3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,WAOvB,CAAC"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../src/themes/default.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,WAAW,EAAU,MAAM,WAAW,CAAC;AAKrD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,EAAE,WAiO1B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,WAOvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAO3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,WAOvB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/react-ui-editor",
3
- "version": "0.3.11-main.67451e9",
3
+ "version": "0.3.11-main.68db74e",
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",
@@ -15,7 +15,7 @@
15
15
  "dependencies": {
16
16
  "@codemirror/autocomplete": "^6.11.1",
17
17
  "@codemirror/commands": "^6.3.2",
18
- "@codemirror/lang-markdown": "^6.2.3",
18
+ "@codemirror/lang-markdown": "^6.2.4",
19
19
  "@codemirror/language": "^6.9.3",
20
20
  "@codemirror/language-data": "^6.3.1",
21
21
  "@codemirror/lint": "^6.4.2",
@@ -38,20 +38,20 @@
38
38
  "y-codemirror.next": "^0.3.2",
39
39
  "y-protocols": "^1.0.5",
40
40
  "yjs": "^13.6.10",
41
- "@dxos/async": "0.3.11-main.67451e9",
42
- "@dxos/automerge": "0.3.11-main.67451e9",
43
- "@dxos/context": "0.3.11-main.67451e9",
44
- "@dxos/debug": "0.3.11-main.67451e9",
45
- "@dxos/display-name": "0.3.11-main.67451e9",
46
- "@dxos/echo-schema": "0.3.11-main.67451e9",
47
- "@dxos/invariant": "0.3.11-main.67451e9",
48
- "@dxos/log": "0.3.11-main.67451e9",
49
- "@dxos/protocols": "0.3.11-main.67451e9",
50
- "@dxos/react-ui": "0.3.11-main.67451e9",
51
- "@dxos/react-async": "0.3.11-main.67451e9",
52
- "@dxos/react-ui-theme": "0.3.11-main.67451e9",
53
- "@dxos/text-model": "0.3.11-main.67451e9",
54
- "@dxos/util": "0.3.11-main.67451e9"
41
+ "@dxos/async": "0.3.11-main.68db74e",
42
+ "@dxos/context": "0.3.11-main.68db74e",
43
+ "@dxos/debug": "0.3.11-main.68db74e",
44
+ "@dxos/automerge": "0.3.11-main.68db74e",
45
+ "@dxos/echo-schema": "0.3.11-main.68db74e",
46
+ "@dxos/display-name": "0.3.11-main.68db74e",
47
+ "@dxos/invariant": "0.3.11-main.68db74e",
48
+ "@dxos/log": "0.3.11-main.68db74e",
49
+ "@dxos/react-async": "0.3.11-main.68db74e",
50
+ "@dxos/protocols": "0.3.11-main.68db74e",
51
+ "@dxos/react-ui": "0.3.11-main.68db74e",
52
+ "@dxos/react-ui-theme": "0.3.11-main.68db74e",
53
+ "@dxos/text-model": "0.3.11-main.68db74e",
54
+ "@dxos/util": "0.3.11-main.68db74e"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@automerge/automerge-repo-network-broadcastchannel": "^1.0.19",
@@ -67,19 +67,19 @@
67
67
  "deepsignal": "1.4.0-shallow.0",
68
68
  "react": "^18.2.0",
69
69
  "react-dom": "^18.2.0",
70
- "@dxos/config": "0.3.11-main.67451e9",
71
- "@dxos/echo-signals": "0.3.11-main.67451e9",
72
- "@dxos/echo-typegen": "0.3.11-main.67451e9",
73
- "@dxos/keyboard": "0.3.11-main.67451e9",
74
- "@dxos/react-client": "0.3.11-main.67451e9",
75
- "@dxos/react-ui": "0.3.11-main.67451e9",
76
- "@dxos/storybook-utils": "0.3.11-main.67451e9"
70
+ "@dxos/config": "0.3.11-main.68db74e",
71
+ "@dxos/echo-signals": "0.3.11-main.68db74e",
72
+ "@dxos/echo-typegen": "0.3.11-main.68db74e",
73
+ "@dxos/keyboard": "0.3.11-main.68db74e",
74
+ "@dxos/react-ui": "0.3.11-main.68db74e",
75
+ "@dxos/storybook-utils": "0.3.11-main.68db74e",
76
+ "@dxos/react-client": "0.3.11-main.68db74e"
77
77
  },
78
78
  "peerDependencies": {
79
79
  "@phosphor-icons/react": "^2.0.5",
80
80
  "react": "^18.2.0",
81
81
  "react-dom": "^18.2.0",
82
- "@dxos/react-client": "0.3.11-main.67451e9"
82
+ "@dxos/react-client": "0.3.11-main.68db74e"
83
83
  },
84
84
  "publishConfig": {
85
85
  "access": "public"
@@ -2,57 +2,39 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import {
6
- EditorView,
7
- Decoration,
8
- WidgetType,
9
- MatchDecorator,
10
- ViewPlugin,
11
- type DecorationSet,
12
- type ViewUpdate,
13
- } from '@codemirror/view';
14
-
15
- // TODO(burdon): Reconcile with theme.
16
- const styles = EditorView.baseTheme({
17
- '& .cm-task-item': {
18
- paddingLeft: '4px',
19
- paddingRight: '8px',
20
- },
21
- });
5
+ import { syntaxTree } from '@codemirror/language';
6
+ import { RangeSetBuilder } from '@codemirror/state';
7
+ import { EditorView, Decoration, WidgetType, ViewPlugin, type DecorationSet, type ViewUpdate } from '@codemirror/view';
22
8
 
23
9
  class CheckboxWidget extends WidgetType {
24
- constructor(
25
- private _checked: boolean,
26
- private readonly _indent: number,
27
- private readonly _onCheck?: (check: boolean) => void,
28
- ) {
10
+ constructor(private _checked: boolean) {
29
11
  super();
30
12
  }
31
13
 
32
14
  override eq(other: this) {
33
- return this._checked === other._checked && this._indent === other._indent;
15
+ return this._checked === other._checked;
34
16
  }
35
17
 
36
18
  override toDOM(view: EditorView) {
37
- const wrap = document.createElement('span');
38
- wrap.className = 'cm-task-item';
39
- wrap.setAttribute('aria-hidden', 'true');
40
- wrap.style.setProperty('margin-left', this._indent * 24 + 'px');
41
-
42
- const input = wrap.appendChild(document.createElement('input'));
19
+ const input = document.createElement('input');
43
20
  input.type = 'checkbox';
44
21
  input.checked = this._checked;
45
- if (!this._onCheck) {
22
+ if (view.state.readOnly) {
46
23
  input.setAttribute('disabled', 'true');
47
- }
48
- if (this._onCheck) {
49
- input.onchange = (event: Event) => {
50
- this._onCheck?.((event.target as any).checked);
51
- return true;
24
+ } else {
25
+ input.onmousedown = (event: Event) => {
26
+ const pos = view.posAtDOM(input);
27
+ const text = view.state.sliceDoc(pos, pos + 3);
28
+ if (text === (this._checked ? '[x]' : '[ ]')) {
29
+ view.dispatch({
30
+ changes: { from: pos + 1, to: pos + 2, insert: this._checked ? ' ' : 'x' },
31
+ });
32
+ event.preventDefault();
33
+ }
52
34
  };
53
35
  }
54
36
 
55
- return wrap;
37
+ return input;
56
38
  }
57
39
 
58
40
  override ignoreEvent() {
@@ -60,60 +42,54 @@ class CheckboxWidget extends WidgetType {
60
42
  }
61
43
  }
62
44
 
45
+ const checkedDeco = Decoration.replace({ widget: new CheckboxWidget(true) });
46
+ const uncheckedDeco = Decoration.replace({ widget: new CheckboxWidget(false) });
47
+
63
48
  export type TasklistOptions = {};
64
49
 
65
50
  export const tasklist = (options: TasklistOptions = {}) => {
66
- // TODO(burdon): Matcher isn't as precise as syntax tree.
67
- // Allows for indents to be greater than AST would allow.
68
- const taskMatcher = new MatchDecorator({
69
- regexp: /^(\s*)- \[([ xX])\]\s/g,
70
- decoration: (match, view, pos) => {
71
- const indent = Math.floor(match[1].length / 2);
72
- const checked = match[2] === 'x' || match[2] === 'X';
73
- return Decoration.replace({
74
- widget: new CheckboxWidget(
75
- checked,
76
- indent,
77
- view.state.readOnly
78
- ? undefined
79
- : (checked) => {
80
- const idx = pos + match[0].indexOf('[') + 1;
81
- view.dispatch({
82
- changes: {
83
- from: idx,
84
- to: idx + 1,
85
- insert: checked ? 'x' : ' ',
86
- },
87
- // TODO(burdon): Restore cursor position? More useful to move to end of line (can indent).
88
- selection: {
89
- anchor: idx + 3,
90
- },
91
- });
92
- },
93
- ),
94
- });
95
- },
96
- });
97
-
98
- const tasks = ViewPlugin.fromClass(
51
+ return ViewPlugin.fromClass(
99
52
  class {
100
- tasks: DecorationSet;
53
+ decorations: DecorationSet;
54
+
101
55
  constructor(view: EditorView) {
102
- this.tasks = taskMatcher.createDeco(view);
56
+ this.decorations = buildDecorations(view);
103
57
  }
104
58
 
105
59
  update(update: ViewUpdate) {
106
- this.tasks = taskMatcher.updateDeco(update, this.tasks);
60
+ if (update.docChanged || update.viewportChanged || update.selectionSet) {
61
+ this.decorations = buildDecorations(update.view);
62
+ }
107
63
  }
108
64
  },
109
65
  {
110
- decorations: (value) => value.tasks,
66
+ decorations: (v) => v.decorations,
111
67
  provide: (plugin) =>
112
68
  EditorView.atomicRanges.of((view) => {
113
- return view.plugin(plugin)?.tasks || Decoration.none;
69
+ return view.plugin(plugin)?.decorations || Decoration.none;
114
70
  }),
115
71
  },
116
72
  );
73
+ };
74
+
75
+ const buildDecorations = (view: EditorView): DecorationSet => {
76
+ const builder = new RangeSetBuilder<Decoration>();
77
+ const { state } = view;
78
+ const cursor = state.selection.main.head;
79
+
80
+ for (const { from, to } of view.visibleRanges) {
81
+ syntaxTree(state).iterate({
82
+ enter: (node) => {
83
+ // Check if cursor is inside text.
84
+ if (node.name === 'TaskMarker' && (cursor < node.from || cursor > node.to)) {
85
+ const checked = state.doc.sliceString(node.from + 1, node.to - 1) === 'x';
86
+ builder.add(node.from, node.to, checked ? checkedDeco : uncheckedDeco);
87
+ }
88
+ },
89
+ from,
90
+ to,
91
+ });
92
+ }
117
93
 
118
- return [tasks, styles];
94
+ return builder.finish();
119
95
  };
@@ -12,7 +12,7 @@ import { type YText } from '@dxos/text-model';
12
12
  describe('YJS', () => {
13
13
  // https://docs.yjs.dev/api/shared-types/y.text
14
14
  // https://github.com/yjs/yjs?tab=readme-ov-file#relative-positions
15
- test('absolute position', () => {
15
+ test.skip('absolute position', () => {
16
16
  const obj = new TextObject('hello world');
17
17
  const index = obj.text.indexOf('world');
18
18
  const relPos = Y.encodeRelativePosition(Y.createRelativePositionFromTypeIndex(obj.content as YText, index));
@@ -160,14 +160,6 @@ export const defaultTheme: ThemeStyles = {
160
160
  textDecoration: 'none',
161
161
  },
162
162
 
163
- //
164
- // widgets
165
- //
166
- '.cm-widgetBuffer': {
167
- display: 'none',
168
- height: 0,
169
- },
170
-
171
163
  //
172
164
  // table
173
165
  //