@dxos/react-ui-editor 0.6.0 → 0.6.1-main.09a92b0

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":3135,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/cursor.ts":{"bytes":5156,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/annotations.ts":{"bytes":8086,"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":5738,"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":3210,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytes":3267,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/update-automerge.ts":{"bytes":5515,"imports":[{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/update-codemirror.ts":{"bytes":11562,"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":8107,"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":8675,"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":581,"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/awareness.ts":{"bytes":30854,"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/awareness/awareness-provider.ts":{"bytes":11255,"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/extensions/awareness/index.ts":{"bytes":639,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/awareness/awareness.ts","kind":"import-statement","original":"./awareness"},{"path":"packages/ui/react-ui-editor/src/extensions/awareness/awareness-provider.ts","kind":"import-statement","original":"./awareness-provider"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/blast.ts":{"bytes":40040,"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/extensions/command/state.ts":{"bytes":12876,"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/util/dom.ts":{"bytes":3517,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/command/hint.ts":{"bytes":10304,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/command/state.ts","kind":"import-statement","original":"./state"},{"path":"packages/ui/react-ui-editor/src/extensions/util/dom.ts","kind":"import-statement","original":"../util/dom"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/command/command.ts":{"bytes":3103,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/command/hint.ts","kind":"import-statement","original":"./hint"},{"path":"packages/ui/react-ui-editor/src/extensions/command/state.ts","kind":"import-statement","original":"./state"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/command/index.ts":{"bytes":517,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/command/command.ts","kind":"import-statement","original":"./command"}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/markdown.ts":{"bytes":6736,"imports":[{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytes":1733,"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":1322,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/styles/index.ts":{"bytes":674,"imports":[{"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":4027,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/comments.ts":{"bytes":54233,"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/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/doc.ts":{"bytes":1555,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/dnd.ts":{"bytes":4068,"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/themes/default.ts":{"bytes":24153,"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":505,"imports":[{"path":"packages/ui/react-ui-editor/src/themes/default.ts","kind":"import-statement","original":"./default"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/factories.ts":{"bytes":18948,"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/search","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/log","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/automerge/index.ts","kind":"import-statement","original":"./automerge"},{"path":"packages/ui/react-ui-editor/src/extensions/awareness/index.ts","kind":"import-statement","original":"./awareness"},{"path":"packages/ui/react-ui-editor/src/themes/index.ts","kind":"import-statement","original":"../themes"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/listener.ts":{"bytes":2529,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts":{"bytes":154649,"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/action.ts":{"bytes":8314,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts","kind":"import-statement","original":"./formatting"},{"path":"packages/ui/react-ui-editor/src/extensions/comments.ts","kind":"import-statement","original":"../comments"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts":{"bytes":18694,"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/linkPaste.ts":{"bytes":11996,"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/bundle.ts":{"bytes":7566,"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/lint","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"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/linkPaste.ts","kind":"import-statement","original":"./linkPaste"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/decorate.ts":{"bytes":42614,"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/image.ts":{"bytes":12176,"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":4562,"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":14149,"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":1120,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/markdown/action.ts","kind":"import-statement","original":"./action"},{"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":4434,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/modes.ts":{"bytes":4107,"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},{"path":"@replit/codemirror-vscode-keymap","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/state.ts":{"bytes":10195,"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/invariant","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/doc.ts","kind":"import-statement","original":"./doc"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/types.ts":{"bytes":891,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/typewriter.ts":{"bytes":6385,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/index.ts":{"bytes":2000,"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/index.ts","kind":"import-statement","original":"./awareness"},{"path":"packages/ui/react-ui-editor/src/extensions/blast.ts","kind":"import-statement","original":"./blast"},{"path":"packages/ui/react-ui-editor/src/extensions/command/index.ts","kind":"import-statement","original":"./command"},{"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/doc.ts","kind":"import-statement","original":"./doc"},{"path":"packages/ui/react-ui-editor/src/extensions/dnd.ts","kind":"import-statement","original":"./dnd"},{"path":"packages/ui/react-ui-editor/src/extensions/factories.ts","kind":"import-statement","original":"./factories"},{"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/state.ts","kind":"import-statement","original":"./state"},{"path":"packages/ui/react-ui-editor/src/extensions/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/ui/react-ui-editor/src/extensions/typewriter.ts","kind":"import-statement","original":"./typewriter"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx":{"bytes":17119,"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":"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/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/util.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/index.ts":{"bytes":527,"imports":[{"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":42142,"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":"react-dropzone","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":517,"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":603,"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/useActionHandler.ts":{"bytes":1226,"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/useTextEditor.ts":{"bytes":14153,"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":"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/extensions/index.ts","kind":"import-statement","original":"../extensions"},{"path":"packages/ui/react-ui-editor/src/util.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/index.ts":{"bytes":630,"imports":[{"path":"packages/ui/react-ui-editor/src/hooks/useActionHandler.ts","kind":"import-statement","original":"./useActionHandler"},{"path":"packages/ui/react-ui-editor/src/hooks/useTextEditor.ts","kind":"import-statement","original":"./useTextEditor"}],"format":"esm"},"packages/ui/react-ui-editor/src/index.ts":{"bytes":2197,"imports":[{"path":"packages/ui/react-ui-editor/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/model/text","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":327318},"packages/ui/react-ui-editor/dist/lib/browser/index.mjs":{"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/model/text","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":"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/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":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@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/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":"@codemirror/state","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":"@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/log","kind":"import-statement","external":true},{"path":"@dxos/util","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":"@dxos/invariant","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/language","kind":"import-statement","external":true},{"path":"@codemirror/search","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@codemirror/view","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/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/lint","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/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/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":"@dxos/log","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":"@replit/codemirror-vscode-keymap","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/invariant","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/view","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":"react-dropzone","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/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@fluentui/react-tabster","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}],"exports":["Cursor","EditorModes","Inline","List","RemoteSelectionsDecorator","SpaceAwarenessProvider","TextEditor","TextKind","Toolbar","addBlockquote","addCodeblock","addLink","addList","addStyle","annotations","autocomplete","automerge","awareness","awarenessProvider","blast","callbackWrapper","command","comments","createBasicExtensions","createComment","createDataExtensions","createMarkdownExtensions","createThemeExtensions","decorateMarkdown","defaultOptions","defaultTheme","documentId","dropFile","editorFillLayoutEditor","editorFillLayoutRoot","editorMode","editorWithToolbarLayout","focusEvent","formattingEquals","formattingKeymap","getFormatting","getToken","image","imageUpload","insertTable","keymap","linkTooltip","listener","localStorageStateStoreAdapter","logChanges","markdownHighlightStyle","markdownTags","markdownTagsExtensions","mention","processAction","removeBlockquote","removeCodeblock","removeLink","removeList","removeStyle","scrollThreadIntoView","setBlockquote","setComments","setHeading","setSelection","setStyle","state","table","tags","toggleBlockquote","toggleCodeblock","toggleEmphasis","toggleInlineCode","toggleList","toggleStrikethrough","toggleStrong","toggleStyle","translations","typewriter","useActionHandler","useComments","useFormattingState","useTextEditor","useToolbarContext"],"entryPoint":"packages/ui/react-ui-editor/src/index.ts","inputs":{"packages/ui/react-ui-editor/src/translations.ts":{"bytesInOutput":864},"packages/ui/react-ui-editor/src/index.ts":{"bytesInOutput":176},"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx":{"bytesInOutput":3656},"packages/ui/react-ui-editor/src/extensions/annotations.ts":{"bytesInOutput":1627},"packages/ui/react-ui-editor/src/extensions/cursor.ts":{"bytesInOutput":1049},"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":1796},"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts":{"bytesInOutput":829},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytesInOutput":432},"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":2420},"packages/ui/react-ui-editor/src/extensions/automerge/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/awareness/awareness.ts":{"bytesInOutput":7313},"packages/ui/react-ui-editor/src/extensions/awareness/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/awareness/awareness-provider.ts":{"bytesInOutput":2637},"packages/ui/react-ui-editor/src/extensions/blast.ts":{"bytesInOutput":8823},"packages/ui/react-ui-editor/src/extensions/command/command.ts":{"bytesInOutput":359},"packages/ui/react-ui-editor/src/extensions/command/hint.ts":{"bytesInOutput":2185},"packages/ui/react-ui-editor/src/extensions/command/state.ts":{"bytesInOutput":2938},"packages/ui/react-ui-editor/src/extensions/util/dom.ts":{"bytesInOutput":609},"packages/ui/react-ui-editor/src/extensions/command/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/comments.ts":{"bytesInOutput":12125},"packages/ui/react-ui-editor/src/styles/markdown.ts":{"bytesInOutput":981},"packages/ui/react-ui-editor/src/styles/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytesInOutput":205},"packages/ui/react-ui-editor/src/styles/layout.ts":{"bytesInOutput":260},"packages/ui/react-ui-editor/src/util.ts":{"bytesInOutput":904},"packages/ui/react-ui-editor/src/extensions/doc.ts":{"bytesInOutput":481},"packages/ui/react-ui-editor/src/extensions/dnd.ts":{"bytesInOutput":859},"packages/ui/react-ui-editor/src/extensions/factories.ts":{"bytesInOutput":4393},"packages/ui/react-ui-editor/src/themes/default.ts":{"bytesInOutput":6957},"packages/ui/react-ui-editor/src/themes/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/listener.ts":{"bytesInOutput":412},"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts":{"bytesInOutput":35610},"packages/ui/react-ui-editor/src/extensions/markdown/action.ts":{"bytesInOutput":1559},"packages/ui/react-ui-editor/src/extensions/markdown/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts":{"bytesInOutput":1886},"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts":{"bytesInOutput":4013},"packages/ui/react-ui-editor/src/extensions/markdown/linkPaste.ts":{"bytesInOutput":2744},"packages/ui/react-ui-editor/src/extensions/markdown/decorate.ts":{"bytesInOutput":10268},"packages/ui/react-ui-editor/src/extensions/markdown/image.ts":{"bytesInOutput":2570},"packages/ui/react-ui-editor/src/extensions/markdown/link.ts":{"bytesInOutput":951},"packages/ui/react-ui-editor/src/extensions/markdown/table.ts":{"bytesInOutput":3118},"packages/ui/react-ui-editor/src/extensions/mention.ts":{"bytesInOutput":1061},"packages/ui/react-ui-editor/src/extensions/modes.ts":{"bytesInOutput":859},"packages/ui/react-ui-editor/src/extensions/state.ts":{"bytesInOutput":2532},"packages/ui/react-ui-editor/src/extensions/typewriter.ts":{"bytesInOutput":1343},"packages/ui/react-ui-editor/src/components/TextEditor/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":11389},"packages/ui/react-ui-editor/src/components/Toolbar/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/hooks/useActionHandler.ts":{"bytesInOutput":96},"packages/ui/react-ui-editor/src/hooks/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/hooks/useTextEditor.ts":{"bytesInOutput":3380}},"bytes":157014}}}
1
+ {"inputs":{"packages/ui/react-ui-editor/src/translations.ts":{"bytes":3135,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/cursor.ts":{"bytes":5156,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/annotations.ts":{"bytes":8086,"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":5738,"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":3210,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytes":3267,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/update-automerge.ts":{"bytes":5515,"imports":[{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/automerge/update-codemirror.ts":{"bytes":11562,"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":8107,"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":8675,"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":581,"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/awareness.ts":{"bytes":30854,"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/awareness/awareness-provider.ts":{"bytes":11255,"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/extensions/awareness/index.ts":{"bytes":639,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/awareness/awareness.ts","kind":"import-statement","original":"./awareness"},{"path":"packages/ui/react-ui-editor/src/extensions/awareness/awareness-provider.ts","kind":"import-statement","original":"./awareness-provider"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/blast.ts":{"bytes":40040,"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/extensions/command/state.ts":{"bytes":12876,"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/util/dom.ts":{"bytes":3517,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/command/hint.ts":{"bytes":10304,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/command/state.ts","kind":"import-statement","original":"./state"},{"path":"packages/ui/react-ui-editor/src/extensions/util/dom.ts","kind":"import-statement","original":"../util/dom"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/command/command.ts":{"bytes":3103,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/command/hint.ts","kind":"import-statement","original":"./hint"},{"path":"packages/ui/react-ui-editor/src/extensions/command/state.ts","kind":"import-statement","original":"./state"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/command/index.ts":{"bytes":517,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/command/command.ts","kind":"import-statement","original":"./command"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/util/overlap.ts":{"bytes":1274,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/util/index.ts":{"bytes":589,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/util/overlap.ts","kind":"import-statement","original":"./overlap"},{"path":"packages/ui/react-ui-editor/src/extensions/util/dom.ts","kind":"import-statement","original":"./dom"}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/markdown.ts":{"bytes":6736,"imports":[{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytes":1733,"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":1322,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/styles/index.ts":{"bytes":674,"imports":[{"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":4027,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/comments.ts":{"bytes":58341,"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/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/extensions/util/index.ts","kind":"import-statement","original":"./util"},{"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/doc.ts":{"bytes":1555,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/dnd.ts":{"bytes":4068,"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/themes/default.ts":{"bytes":24153,"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":505,"imports":[{"path":"packages/ui/react-ui-editor/src/themes/default.ts","kind":"import-statement","original":"./default"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/factories.ts":{"bytes":18948,"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/search","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/log","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/automerge/index.ts","kind":"import-statement","original":"./automerge"},{"path":"packages/ui/react-ui-editor/src/extensions/awareness/index.ts","kind":"import-statement","original":"./awareness"},{"path":"packages/ui/react-ui-editor/src/themes/index.ts","kind":"import-statement","original":"../themes"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/listener.ts":{"bytes":2529,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts":{"bytes":154649,"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/action.ts":{"bytes":8314,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts","kind":"import-statement","original":"./formatting"},{"path":"packages/ui/react-ui-editor/src/extensions/comments.ts","kind":"import-statement","original":"../comments"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts":{"bytes":18694,"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/linkPaste.ts":{"bytes":11996,"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/bundle.ts":{"bytes":7566,"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/lint","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"},{"path":"packages/ui/react-ui-editor/src/extensions/markdown/linkPaste.ts","kind":"import-statement","original":"./linkPaste"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/decorate.ts":{"bytes":42614,"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/image.ts":{"bytes":12176,"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":4562,"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":14149,"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":1120,"imports":[{"path":"packages/ui/react-ui-editor/src/extensions/markdown/action.ts","kind":"import-statement","original":"./action"},{"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":4434,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/modes.ts":{"bytes":4107,"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},{"path":"@replit/codemirror-vscode-keymap","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/state.ts":{"bytes":10195,"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/invariant","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/extensions/doc.ts","kind":"import-statement","original":"./doc"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/types.ts":{"bytes":891,"imports":[],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/typewriter.ts":{"bytes":6385,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/index.ts":{"bytes":2000,"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/index.ts","kind":"import-statement","original":"./awareness"},{"path":"packages/ui/react-ui-editor/src/extensions/blast.ts","kind":"import-statement","original":"./blast"},{"path":"packages/ui/react-ui-editor/src/extensions/command/index.ts","kind":"import-statement","original":"./command"},{"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/doc.ts","kind":"import-statement","original":"./doc"},{"path":"packages/ui/react-ui-editor/src/extensions/dnd.ts","kind":"import-statement","original":"./dnd"},{"path":"packages/ui/react-ui-editor/src/extensions/factories.ts","kind":"import-statement","original":"./factories"},{"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/state.ts","kind":"import-statement","original":"./state"},{"path":"packages/ui/react-ui-editor/src/extensions/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/ui/react-ui-editor/src/extensions/typewriter.ts","kind":"import-statement","original":"./typewriter"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx":{"bytes":17119,"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":"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/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/util.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/index.ts":{"bytes":527,"imports":[{"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":42372,"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":"react-dropzone","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":517,"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":603,"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/useActionHandler.ts":{"bytes":1226,"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/useTextEditor.ts":{"bytes":14153,"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":"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/extensions/index.ts","kind":"import-statement","original":"../extensions"},{"path":"packages/ui/react-ui-editor/src/util.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/ui/react-ui-editor/src/hooks/index.ts":{"bytes":630,"imports":[{"path":"packages/ui/react-ui-editor/src/hooks/useActionHandler.ts","kind":"import-statement","original":"./useActionHandler"},{"path":"packages/ui/react-ui-editor/src/hooks/useTextEditor.ts","kind":"import-statement","original":"./useTextEditor"}],"format":"esm"},"packages/ui/react-ui-editor/src/index.ts":{"bytes":2197,"imports":[{"path":"packages/ui/react-ui-editor/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/model/text","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":330027},"packages/ui/react-ui-editor/dist/lib/browser/index.mjs":{"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/model/text","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":"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/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":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@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/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":"@codemirror/state","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":"@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/log","kind":"import-statement","external":true},{"path":"@dxos/util","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":"@dxos/invariant","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/language","kind":"import-statement","external":true},{"path":"@codemirror/search","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@codemirror/view","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/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/lint","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/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/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":"@dxos/log","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":"@replit/codemirror-vscode-keymap","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/invariant","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/view","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":"react-dropzone","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/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@fluentui/react-tabster","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}],"exports":["Cursor","EditorModes","Inline","List","RemoteSelectionsDecorator","SpaceAwarenessProvider","TextEditor","TextKind","Toolbar","addBlockquote","addCodeblock","addLink","addList","addStyle","annotations","autocomplete","automerge","awareness","awarenessProvider","blast","callbackWrapper","command","comments","commentsState","createBasicExtensions","createComment","createDataExtensions","createMarkdownExtensions","createThemeExtensions","decorateMarkdown","defaultOptions","defaultTheme","documentId","dropFile","editorFillLayoutEditor","editorFillLayoutRoot","editorMode","editorWithToolbarLayout","focusEvent","formattingEquals","formattingKeymap","getFormatting","getToken","image","imageUpload","insertTable","keymap","linkTooltip","listener","localStorageStateStoreAdapter","logChanges","markdownHighlightStyle","markdownTags","markdownTagsExtensions","mention","processAction","removeBlockquote","removeCodeblock","removeLink","removeList","removeStyle","scrollThreadIntoView","selectionOverlapsComment","setBlockquote","setComments","setHeading","setSelection","setStyle","state","table","tags","toggleBlockquote","toggleCodeblock","toggleEmphasis","toggleInlineCode","toggleList","toggleStrikethrough","toggleStrong","toggleStyle","translations","typewriter","useActionHandler","useCommentState","useComments","useFormattingState","useTextEditor","useToolbarContext"],"entryPoint":"packages/ui/react-ui-editor/src/index.ts","inputs":{"packages/ui/react-ui-editor/src/translations.ts":{"bytesInOutput":864},"packages/ui/react-ui-editor/src/index.ts":{"bytesInOutput":176},"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx":{"bytesInOutput":3656},"packages/ui/react-ui-editor/src/extensions/annotations.ts":{"bytesInOutput":1627},"packages/ui/react-ui-editor/src/extensions/cursor.ts":{"bytesInOutput":1049},"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":1796},"packages/ui/react-ui-editor/src/extensions/automerge/cursor.ts":{"bytesInOutput":829},"packages/ui/react-ui-editor/src/extensions/automerge/defs.ts":{"bytesInOutput":432},"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":2420},"packages/ui/react-ui-editor/src/extensions/automerge/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/awareness/awareness.ts":{"bytesInOutput":7313},"packages/ui/react-ui-editor/src/extensions/awareness/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/awareness/awareness-provider.ts":{"bytesInOutput":2637},"packages/ui/react-ui-editor/src/extensions/blast.ts":{"bytesInOutput":8823},"packages/ui/react-ui-editor/src/extensions/command/command.ts":{"bytesInOutput":359},"packages/ui/react-ui-editor/src/extensions/command/hint.ts":{"bytesInOutput":2185},"packages/ui/react-ui-editor/src/extensions/command/state.ts":{"bytesInOutput":2938},"packages/ui/react-ui-editor/src/extensions/util/dom.ts":{"bytesInOutput":609},"packages/ui/react-ui-editor/src/extensions/command/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/comments.ts":{"bytesInOutput":12834},"packages/ui/react-ui-editor/src/extensions/util/overlap.ts":{"bytesInOutput":58},"packages/ui/react-ui-editor/src/extensions/util/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/styles/markdown.ts":{"bytesInOutput":981},"packages/ui/react-ui-editor/src/styles/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytesInOutput":205},"packages/ui/react-ui-editor/src/styles/layout.ts":{"bytesInOutput":260},"packages/ui/react-ui-editor/src/util.ts":{"bytesInOutput":904},"packages/ui/react-ui-editor/src/extensions/doc.ts":{"bytesInOutput":481},"packages/ui/react-ui-editor/src/extensions/dnd.ts":{"bytesInOutput":859},"packages/ui/react-ui-editor/src/extensions/factories.ts":{"bytesInOutput":4393},"packages/ui/react-ui-editor/src/themes/default.ts":{"bytesInOutput":6957},"packages/ui/react-ui-editor/src/themes/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/listener.ts":{"bytesInOutput":412},"packages/ui/react-ui-editor/src/extensions/markdown/formatting.ts":{"bytesInOutput":35637},"packages/ui/react-ui-editor/src/extensions/markdown/action.ts":{"bytesInOutput":1559},"packages/ui/react-ui-editor/src/extensions/markdown/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts":{"bytesInOutput":1886},"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts":{"bytesInOutput":4013},"packages/ui/react-ui-editor/src/extensions/markdown/linkPaste.ts":{"bytesInOutput":2744},"packages/ui/react-ui-editor/src/extensions/markdown/decorate.ts":{"bytesInOutput":10268},"packages/ui/react-ui-editor/src/extensions/markdown/image.ts":{"bytesInOutput":2570},"packages/ui/react-ui-editor/src/extensions/markdown/link.ts":{"bytesInOutput":951},"packages/ui/react-ui-editor/src/extensions/markdown/table.ts":{"bytesInOutput":3118},"packages/ui/react-ui-editor/src/extensions/mention.ts":{"bytesInOutput":1061},"packages/ui/react-ui-editor/src/extensions/modes.ts":{"bytesInOutput":859},"packages/ui/react-ui-editor/src/extensions/state.ts":{"bytesInOutput":2532},"packages/ui/react-ui-editor/src/extensions/typewriter.ts":{"bytesInOutput":1343},"packages/ui/react-ui-editor/src/components/TextEditor/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":11445},"packages/ui/react-ui-editor/src/components/Toolbar/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/hooks/useActionHandler.ts":{"bytesInOutput":96},"packages/ui/react-ui-editor/src/hooks/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/hooks/useTextEditor.ts":{"bytesInOutput":3380}},"bytes":157991}}}
@@ -3,7 +3,9 @@ import { type PropsWithChildren } from 'react';
3
3
  import { type ThemedClassName, type ToolbarToggleGroupItemProps as NaturalToolbarToggleGroupItemProps } from '@dxos/react-ui';
4
4
  import { type Action, type Formatting } from '../../extensions';
5
5
  export type ToolbarProps = ThemedClassName<PropsWithChildren<{
6
- state: Formatting | undefined;
6
+ state: (Formatting & {
7
+ comment?: boolean;
8
+ }) | undefined;
7
9
  onAction?: (action: Action) => void;
8
10
  }>>;
9
11
  declare const useToolbarContext: (consumerName: string) => ToolbarProps;
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Toolbar/Toolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,IAAI,EAuBV,MAAM,uBAAuB,CAAC;AAE/B,OAAc,EAAE,KAAK,iBAAiB,EAA+B,MAAM,OAAO,CAAC;AAGnF,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,2BAA2B,IAAI,kCAAkC,EAKvE,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,MAAM,EAAmB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAejF,MAAM,MAAM,YAAY,GAAG,eAAe,CACxC,iBAAiB,CAAC;IAChB,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC,CACH,CAAC;AAEF,QAAA,MAA+B,iBAAiB,wCAA0C,CAAC;AA0B3F,KAAK,wBAAwB,GAAG,kCAAkC,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAqOpF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CAClE,CAAC;AAgEF,eAAO,MAAM,OAAO;sDA/T4C,YAAY;2CA0BjB,wBAAwB;;;4BAuO7C,qBAAqB;;CAqE1D,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Toolbar/Toolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,IAAI,EAuBV,MAAM,uBAAuB,CAAC;AAE/B,OAAc,EAAE,KAAK,iBAAiB,EAA+B,MAAM,OAAO,CAAC;AAGnF,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,2BAA2B,IAAI,kCAAkC,EAKvE,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,MAAM,EAAmB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAejF,MAAM,MAAM,YAAY,GAAG,eAAe,CACxC,iBAAiB,CAAC;IAChB,KAAK,EAAE,CAAC,UAAU,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC,CACH,CAAC;AAEF,QAAA,MAA+B,iBAAiB,wCAA0C,CAAC;AA0B3F,KAAK,wBAAwB,GAAG,kCAAkC,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAqOpF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CAClE,CAAC;AAiEF,eAAO,MAAM,OAAO;sDAhU4C,YAAY;2CA0BjB,wBAAwB;;;4BAuO7C,qBAAqB;;CAsE1D,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type Extension } from '@codemirror/state';
1
+ import { type Extension, StateField, type EditorState } from '@codemirror/state';
2
2
  import { type Command, EditorView, type Rect } from '@codemirror/view';
3
3
  import { type Comment, type Range } from './types';
4
4
  type CommentState = {
@@ -20,6 +20,11 @@ export declare const setComments: import("@codemirror/state").StateEffectType<{
20
20
  comments: Comment[];
21
21
  }>;
22
22
  export declare const setSelection: import("@codemirror/state").StateEffectType<SelectionState>;
23
+ /**
24
+ * State field (reducer) that tracks comment ranges.
25
+ * The ranges are tracked as Automerge cursors from which the absolute indexed ranges can be computed.
26
+ */
27
+ export declare const commentsState: StateField<CommentsState>;
23
28
  /**
24
29
  * Create comment thread action.
25
30
  */
@@ -76,9 +81,18 @@ export type CommentsOptions = {
76
81
  */
77
82
  export declare const comments: (options?: CommentsOptions) => Extension;
78
83
  export declare const scrollThreadIntoView: (view: EditorView, id: string, center?: boolean) => void;
84
+ /**
85
+ * Query the editor state for the active formatting at the selection.
86
+ */
87
+ export declare const selectionOverlapsComment: (state: EditorState) => boolean;
79
88
  /**
80
89
  * Update comments state field.
81
90
  */
82
91
  export declare const useComments: (view: EditorView | null | undefined, id: string, comments?: Comment[]) => void;
92
+ /**
93
+ * Hook provides an extension to compute the current comment state under the selection.
94
+ * NOTE(Zan): I think this conceptually belongs in 'formatting.ts' but we can't import ESM modules there atm.
95
+ */
96
+ export declare const useCommentState: () => [boolean, Extension];
83
97
  export {};
84
98
  //# sourceMappingURL=comments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../src/extensions/comments.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAA8D,MAAM,mBAAmB,CAAC;AAC/G,OAAO,EAAwB,KAAK,OAAO,EAAc,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AASzG,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAUnD,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,WAAW;QAA4B,MAAM;cAAY,OAAO,EAAE;EAAK,CAAC;AAErF,eAAO,MAAM,YAAY,6DAAuC,CAAC;AA8NjE;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAiC3B,CAAC;AAMF,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IACpG;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD,CAAC;AAIF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,aAAa,eAAe,KAAQ,SAkIxD,CAAC;AAMF,eAAO,MAAM,oBAAoB,SAAU,UAAU,MAAM,MAAM,2BAiBhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,SAAU,UAAU,GAAG,IAAI,GAAG,SAAS,MAAM,MAAM,aAAa,OAAO,EAAE,SAYhG,CAAC"}
1
+ {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../src/extensions/comments.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,SAAS,EAGd,UAAU,EAGV,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAwB,KAAK,OAAO,EAAc,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AASzG,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAWnD,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,WAAW;QAA4B,MAAM;cAAY,OAAO,EAAE;EAAK,CAAC;AAErF,eAAO,MAAM,YAAY,6DAAuC,CAAC;AAIjE;;;GAGG;AACH,eAAO,MAAM,aAAa,2BAmCxB,CAAC;AAsLH;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAiC3B,CAAC;AAMF,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IACpG;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD,CAAC;AAIF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,aAAa,eAAe,KAAQ,SAkIxD,CAAC;AAMF,eAAO,MAAM,oBAAoB,SAAU,UAAU,MAAM,MAAM,2BAiBhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,UAAW,WAAW,KAAG,OAW7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,SAAU,UAAU,GAAG,IAAI,GAAG,SAAS,MAAM,MAAM,aAAa,OAAO,EAAE,SAYhG,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAO,CAAC,OAAO,EAAE,SAAS,CAcrD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './overlap';
2
+ export * from './dom';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type Range } from '../types';
2
+ /**
3
+ * Determines if two ranges overlap.
4
+ * A range is considered to overlap if there is any intersection
5
+ * between the two ranges, inclusive of their boundaries.
6
+ */
7
+ export declare const overlap: (a: Range, b: Range) => boolean;
8
+ //# sourceMappingURL=overlap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlap.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/util/overlap.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,OAAO,MAAO,KAAK,KAAK,KAAK,KAAG,OAA2C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/react-ui-editor",
3
- "version": "0.6.0",
3
+ "version": "0.6.1-main.09a92b0",
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",
@@ -39,19 +39,19 @@
39
39
  "lodash.sortby": "^4.7.0",
40
40
  "react-dropzone": "^14.2.3",
41
41
  "style-mod": "^4.1.0",
42
- "@dxos/async": "0.6.0",
43
- "@dxos/automerge": "0.6.0",
44
- "@dxos/display-name": "0.6.0",
45
- "@dxos/context": "0.6.0",
46
- "@dxos/debug": "0.6.0",
47
- "@dxos/echo-schema": "0.6.0",
48
- "@dxos/log": "0.6.0",
49
- "@dxos/protocols": "0.6.0",
50
- "@dxos/invariant": "0.6.0",
51
- "@dxos/react-async": "0.6.0",
52
- "@dxos/react-ui-theme": "0.6.0",
53
- "@dxos/util": "0.6.0",
54
- "@dxos/react-ui": "0.6.0"
42
+ "@dxos/async": "0.6.1-main.09a92b0",
43
+ "@dxos/context": "0.6.1-main.09a92b0",
44
+ "@dxos/debug": "0.6.1-main.09a92b0",
45
+ "@dxos/automerge": "0.6.1-main.09a92b0",
46
+ "@dxos/display-name": "0.6.1-main.09a92b0",
47
+ "@dxos/echo-schema": "0.6.1-main.09a92b0",
48
+ "@dxos/log": "0.6.1-main.09a92b0",
49
+ "@dxos/invariant": "0.6.1-main.09a92b0",
50
+ "@dxos/react-ui": "0.6.1-main.09a92b0",
51
+ "@dxos/protocols": "0.6.1-main.09a92b0",
52
+ "@dxos/react-async": "0.6.1-main.09a92b0",
53
+ "@dxos/react-ui-theme": "0.6.1-main.09a92b0",
54
+ "@dxos/util": "0.6.1-main.09a92b0"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@phosphor-icons/react": "^2.1.5",
@@ -77,22 +77,22 @@
77
77
  "vite-plugin-top-level-await": "^1.4.1",
78
78
  "vite-plugin-wasm": "^3.3.0",
79
79
  "vitest": "^1.5.0",
80
- "@braneframe/types": "0.6.0",
81
- "@dxos/config": "0.6.0",
82
- "@dxos/echo-signals": "0.6.0",
83
- "@dxos/automerge": "0.6.0",
84
- "@dxos/keyboard": "0.6.0",
85
- "@dxos/echo-typegen": "0.6.0",
86
- "@dxos/react-client": "0.6.0",
87
- "@dxos/random": "0.6.0",
88
- "@dxos/react-ui": "0.6.0",
89
- "@dxos/storybook-utils": "0.6.0"
80
+ "@braneframe/types": "0.6.1-main.09a92b0",
81
+ "@dxos/automerge": "0.6.1-main.09a92b0",
82
+ "@dxos/echo-signals": "0.6.1-main.09a92b0",
83
+ "@dxos/echo-typegen": "0.6.1-main.09a92b0",
84
+ "@dxos/config": "0.6.1-main.09a92b0",
85
+ "@dxos/random": "0.6.1-main.09a92b0",
86
+ "@dxos/keyboard": "0.6.1-main.09a92b0",
87
+ "@dxos/react-client": "0.6.1-main.09a92b0",
88
+ "@dxos/react-ui": "0.6.1-main.09a92b0",
89
+ "@dxos/storybook-utils": "0.6.1-main.09a92b0"
90
90
  },
91
91
  "peerDependencies": {
92
92
  "@phosphor-icons/react": "^2.1.5",
93
93
  "react": "^18.2.0",
94
94
  "react-dom": "^18.2.0",
95
- "@dxos/react-client": "0.6.0"
95
+ "@dxos/react-client": "0.6.1-main.09a92b0"
96
96
  },
97
97
  "publishConfig": {
98
98
  "access": "public"
@@ -62,7 +62,7 @@ const HeadingIcons: { [key: string]: Icon } = {
62
62
 
63
63
  export type ToolbarProps = ThemedClassName<
64
64
  PropsWithChildren<{
65
- state: Formatting | undefined;
65
+ state: (Formatting & { comment?: boolean }) | undefined;
66
66
  onAction?: (action: Action) => void;
67
67
  }>
68
68
  >;
@@ -368,7 +368,7 @@ const MarkdownCustom = ({ onUpload }: MarkdownCustomOptions = {}) => {
368
368
 
369
369
  // TODO(burdon): Make extensible.
370
370
  const MarkdownActions = () => {
371
- const { onAction } = useToolbarContext('MarkdownStyles');
371
+ const { onAction, state } = useToolbarContext('MarkdownStyles');
372
372
  const { t } = useTranslation(translationKey);
373
373
  return (
374
374
  <>
@@ -381,6 +381,7 @@ const MarkdownActions = () => {
381
381
  Icon={ChatText}
382
382
  data-testid='editor.toolbar.comment'
383
383
  onClick={() => onAction?.({ type: 'comment' })}
384
+ disabled={!state || state.comment}
384
385
  >
385
386
  {t('comment label')}
386
387
  </ToolbarButton>
@@ -3,10 +3,18 @@
3
3
  //
4
4
 
5
5
  import { invertedEffects } from '@codemirror/commands';
6
- import { type Extension, Facet, StateEffect, StateField, type Text, type ChangeDesc } from '@codemirror/state';
6
+ import {
7
+ type Extension,
8
+ Facet,
9
+ StateEffect,
10
+ StateField,
11
+ type Text,
12
+ type ChangeDesc,
13
+ type EditorState,
14
+ } from '@codemirror/state';
7
15
  import { hoverTooltip, keymap, type Command, Decoration, EditorView, type Rect } from '@codemirror/view';
8
16
  import sortBy from 'lodash.sortby';
9
- import { useEffect } from 'react';
17
+ import { useEffect, useMemo, useState } from 'react';
10
18
 
11
19
  import { debounce } from '@dxos/async';
12
20
  import { log } from '@dxos/log';
@@ -14,6 +22,7 @@ import { nonNullable } from '@dxos/util';
14
22
 
15
23
  import { Cursor } from './cursor';
16
24
  import { type Comment, type Range } from './types';
25
+ import { overlap } from './util';
17
26
  import { getToken } from '../styles';
18
27
  import { callbackWrapper } from '../util';
19
28
 
@@ -50,7 +59,7 @@ const setCommentState = StateEffect.define<CommentsState>();
50
59
  * State field (reducer) that tracks comment ranges.
51
60
  * The ranges are tracked as Automerge cursors from which the absolute indexed ranges can be computed.
52
61
  */
53
- const commentsState = StateField.define<CommentsState>({
62
+ export const commentsState = StateField.define<CommentsState>({
54
63
  create: (state) => ({ id: state.facet(documentId), comments: [], selection: {} }),
55
64
  update: (value, tr) => {
56
65
  for (const effect of tr.effects) {
@@ -128,9 +137,12 @@ const commentsDecorations = EditorView.decorations.compute([commentsState], (sta
128
137
  const decorations = sortBy(comments ?? [], (range) => range.range.from)
129
138
  ?.flatMap((comment) => {
130
139
  const range = comment.range;
131
- if (!range || range.from === range.to) {
140
+ if (!range) {
132
141
  log.warn('Invalid range:', range);
133
142
  return undefined;
143
+ } else if (range.from === range.to) {
144
+ // Skip empty ranges. This can happen when a comment is cut or deleted.
145
+ return undefined;
134
146
  }
135
147
 
136
148
  if (comment.comment.id === current) {
@@ -505,6 +517,22 @@ export const scrollThreadIntoView = (view: EditorView, id: string, center = true
505
517
  }
506
518
  };
507
519
 
520
+ /**
521
+ * Query the editor state for the active formatting at the selection.
522
+ */
523
+ export const selectionOverlapsComment = (state: EditorState): boolean => {
524
+ const { selection } = state;
525
+ const commentState = state.field(commentsState);
526
+
527
+ for (const range of selection.ranges) {
528
+ if (commentState.comments.some(({ range: commentRange }) => overlap(commentRange, range))) {
529
+ return true;
530
+ }
531
+ }
532
+
533
+ return false;
534
+ };
535
+
508
536
  /**
509
537
  * Update comments state field.
510
538
  */
@@ -521,3 +549,23 @@ export const useComments = (view: EditorView | null | undefined, id: string, com
521
549
  }
522
550
  }, [id, view, comments]);
523
551
  };
552
+
553
+ /**
554
+ * Hook provides an extension to compute the current comment state under the selection.
555
+ * NOTE(Zan): I think this conceptually belongs in 'formatting.ts' but we can't import ESM modules there atm.
556
+ */
557
+ export const useCommentState = (): [boolean, Extension] => {
558
+ const [comment, setComment] = useState<boolean>(false);
559
+
560
+ const observer = useMemo(
561
+ () =>
562
+ EditorView.updateListener.of((update) => {
563
+ if (update.docChanged || update.selectionSet) {
564
+ setComment(() => selectionOverlapsComment(update.state));
565
+ }
566
+ }),
567
+ [],
568
+ );
569
+
570
+ return [comment, observer];
571
+ };