@dxos/react-ui-editor 0.5.9-main.f099efe → 0.5.9-next.73dcc17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/index.mjs +112 -19
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/extensions/markdown/bundle.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/formatting.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/highlight.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/linkPaste.d.ts +15 -0
- package/dist/types/src/extensions/markdown/linkPaste.d.ts.map +1 -0
- package/package.json +25 -25
- package/src/extensions/markdown/bundle.ts +3 -0
- package/src/extensions/markdown/formatting.ts +4 -0
- package/src/extensions/markdown/highlight.ts +1 -18
- package/src/extensions/markdown/linkPaste.ts +104 -0
|
@@ -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":154401,"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":19177,"imports":[{"path":"@codemirror/lang-markdown","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"@lezer/markdown","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts":{"bytes":7330,"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"}],"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":321018},"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":"@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":35542},"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":1865},"packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts":{"bytesInOutput":4115},"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":2515},"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":154197}}}
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/bundle.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/bundle.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAKhD,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,mBAAmB,qBAAqB,KAAQ,SAAS,EAyC7F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/formatting.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,WAAW,EAKjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAU,MAAM,kBAAkB,CAAC;AAYtD,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,OAAO,CAAC;IAGnB,SAAS,EACL,WAAW,GACX,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,WAAW,GACX,IAAI,CAAC;IAET,UAAU,EAAE,OAAO,CAAC;IAEpB,MAAM,EAAE,OAAO,CAAC;IAEhB,QAAQ,EAAE,OAAO,CAAC;IAElB,aAAa,EAAE,OAAO,CAAC;IAEvB,IAAI,EAAE,OAAO,CAAC;IAEd,IAAI,EAAE,OAAO,CAAC;IAEd,SAAS,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,MAAO,UAAU,KAAK,UAAU,YAQ9B,CAAC;AAEhC,oBAAY,MAAM;IAChB,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,aAAa,IAAI;IACjB,IAAI,IAAI;CACT;AAED,oBAAY,IAAI;IACd,OAAO,IAAA;IACP,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAMD,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,YAmE1C,CAAC;AAMF,eAAO,MAAM,QAAQ,SAAU,MAAM,UAAU,OAAO,KAAG,YAqKxD,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,YAAqC,CAAC;AAE/E,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,YAAsC,CAAC;AAEnF,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,YAc3C,CAAC;AAEF,eAAO,MAAM,YAAY,cAA6B,CAAC;AACvD,eAAO,MAAM,cAAc,cAA+B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,cAAoC,CAAC;AACrE,eAAO,MAAM,gBAAgB,cAA2B,CAAC;AA0EzD,eAAO,MAAM,WAAW,SAAU,UAAU,SAS3C,CAAC;AA4BF,eAAO,MAAM,UAAU,EAAE,YAUxB,CAAC;AAGF,eAAO,MAAM,OAAO,oBAAoB;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,KAAQ,YA6FhF,CAAC;AAMF,eAAO,MAAM,OAAO,SAAU,IAAI,KAAG,YAoJpC,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,IAAI,KAAG,YA+DvC,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,IAAI,KAAG,YAOvC,CAAC;AAqBF,eAAO,MAAM,aAAa,WAAY,OAAO,KAAG,YAyE/C,CAAC;AAEF,eAAO,MAAM,aAAa,cAAsB,CAAC;AAEjD,eAAO,MAAM,gBAAgB,cAAuB,CAAC;AAErD,eAAO,MAAM,gBAAgB,EAAE,YAE9B,CAAC;AAMF,eAAO,MAAM,YAAY,EAAE,YA8D1B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,YA0C7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,YAE7B,CAAC;AAMF,MAAM,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEnC,eAAO,MAAM,gBAAgB,aAAa,iBAAiB,KAAQ,
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/formatting.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,WAAW,EAKjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAU,MAAM,kBAAkB,CAAC;AAYtD,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,OAAO,CAAC;IAGnB,SAAS,EACL,WAAW,GACX,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,WAAW,GACX,IAAI,CAAC;IAET,UAAU,EAAE,OAAO,CAAC;IAEpB,MAAM,EAAE,OAAO,CAAC;IAEhB,QAAQ,EAAE,OAAO,CAAC;IAElB,aAAa,EAAE,OAAO,CAAC;IAEvB,IAAI,EAAE,OAAO,CAAC;IAEd,IAAI,EAAE,OAAO,CAAC;IAEd,SAAS,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,MAAO,UAAU,KAAK,UAAU,YAQ9B,CAAC;AAEhC,oBAAY,MAAM;IAChB,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,aAAa,IAAI;IACjB,IAAI,IAAI;CACT;AAED,oBAAY,IAAI;IACd,OAAO,IAAA;IACP,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAMD,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,YAmE1C,CAAC;AAMF,eAAO,MAAM,QAAQ,SAAU,MAAM,UAAU,OAAO,KAAG,YAqKxD,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,YAAqC,CAAC;AAE/E,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,YAAsC,CAAC;AAEnF,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,YAc3C,CAAC;AAEF,eAAO,MAAM,YAAY,cAA6B,CAAC;AACvD,eAAO,MAAM,cAAc,cAA+B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,cAAoC,CAAC;AACrE,eAAO,MAAM,gBAAgB,cAA2B,CAAC;AA0EzD,eAAO,MAAM,WAAW,SAAU,UAAU,SAS3C,CAAC;AA4BF,eAAO,MAAM,UAAU,EAAE,YAUxB,CAAC;AAGF,eAAO,MAAM,OAAO,oBAAoB;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,KAAQ,YA6FhF,CAAC;AAMF,eAAO,MAAM,OAAO,SAAU,IAAI,KAAG,YAoJpC,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,IAAI,KAAG,YA+DvC,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,IAAI,KAAG,YAOvC,CAAC;AAqBF,eAAO,MAAM,aAAa,WAAY,OAAO,KAAG,YAyE/C,CAAC;AAEF,eAAO,MAAM,aAAa,cAAsB,CAAC;AAEjD,eAAO,MAAM,gBAAgB,cAAuB,CAAC;AAErD,eAAO,MAAM,gBAAgB,EAAE,YAE9B,CAAC;AAMF,eAAO,MAAM,YAAY,EAAE,YA8D1B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,YA0C7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,YAE7B,CAAC;AAMF,MAAM,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEnC,eAAO,MAAM,gBAAgB,aAAa,iBAAiB,KAAQ,SAalE,CAAC;AA4CF;;GAEG;AACH,eAAO,MAAM,aAAa,UAAW,WAAW,KAAG,UAqKlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,CAAC,UAAU,GAAG,SAAS,EAAE,SAAS,CAoBvE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/highlight.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAmB,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/highlight.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAmB,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,iBAAiB,CAAC;AAI7D;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAexB,CAAC;AAaF,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAKlD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,cAAe,OAAO,mBA+GxD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type EditorState, Transaction } from '@codemirror/state';
|
|
2
|
+
import { type EditorView, ViewPlugin, type ViewUpdate } from '@codemirror/view';
|
|
3
|
+
export declare const linkPastePlugin: ViewPlugin<{
|
|
4
|
+
view: EditorView;
|
|
5
|
+
update(update: ViewUpdate): void;
|
|
6
|
+
handleInputRead(view: EditorView, tr: Transaction): void;
|
|
7
|
+
/**
|
|
8
|
+
* Determines if a given position is within a code block.
|
|
9
|
+
* Traverses the syntax tree upwards from the position,
|
|
10
|
+
* checking for CodeBlock or FencedCode nodes.
|
|
11
|
+
*/
|
|
12
|
+
isInCodeBlock(state: EditorState, pos: number): boolean;
|
|
13
|
+
createLinkTransaction(state: EditorState, from: number, to: number, url: string, text: string): Transaction;
|
|
14
|
+
}>;
|
|
15
|
+
//# sourceMappingURL=linkPaste.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linkPaste.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/linkPaste.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,KAAK,UAAU,EAAE,UAAU,EAAE,KAAK,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAyClG,eAAO,MAAM,eAAe;UAElB,UAAU;mBAMD,UAAU;0BASH,UAAU,MAAM,WAAW;IAgBjD;;;;OAIG;yBACkB,WAAW,OAAO,MAAM,GAAG,OAAO;iCAY1B,WAAW,QAAQ,MAAM,MAAM,MAAM,OAAO,MAAM,QAAQ,MAAM,GAAG,WAAW;EAO9G,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/react-ui-editor",
|
|
3
|
-
"version": "0.5.9-
|
|
3
|
+
"version": "0.5.9-next.73dcc17",
|
|
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.5.9-
|
|
43
|
-
"@dxos/automerge": "0.5.9-
|
|
44
|
-
"@dxos/context": "0.5.9-
|
|
45
|
-
"@dxos/debug": "0.5.9-
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/log": "0.5.9-
|
|
50
|
-
"@dxos/protocols": "0.5.9-
|
|
51
|
-
"@dxos/react-
|
|
52
|
-
"@dxos/react-ui": "0.5.9-
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/
|
|
42
|
+
"@dxos/async": "0.5.9-next.73dcc17",
|
|
43
|
+
"@dxos/automerge": "0.5.9-next.73dcc17",
|
|
44
|
+
"@dxos/context": "0.5.9-next.73dcc17",
|
|
45
|
+
"@dxos/debug": "0.5.9-next.73dcc17",
|
|
46
|
+
"@dxos/display-name": "0.5.9-next.73dcc17",
|
|
47
|
+
"@dxos/invariant": "0.5.9-next.73dcc17",
|
|
48
|
+
"@dxos/echo-schema": "0.5.9-next.73dcc17",
|
|
49
|
+
"@dxos/log": "0.5.9-next.73dcc17",
|
|
50
|
+
"@dxos/protocols": "0.5.9-next.73dcc17",
|
|
51
|
+
"@dxos/react-ui-theme": "0.5.9-next.73dcc17",
|
|
52
|
+
"@dxos/react-ui": "0.5.9-next.73dcc17",
|
|
53
|
+
"@dxos/util": "0.5.9-next.73dcc17",
|
|
54
|
+
"@dxos/react-async": "0.5.9-next.73dcc17"
|
|
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.5.9-
|
|
81
|
-
"@dxos/config": "0.5.9-
|
|
82
|
-
"@dxos/
|
|
83
|
-
"@dxos/echo-typegen": "0.5.9-
|
|
84
|
-
"@dxos/
|
|
85
|
-
"@dxos/
|
|
86
|
-
"@dxos/
|
|
87
|
-
"@dxos/react-
|
|
88
|
-
"@dxos/
|
|
89
|
-
"@dxos/
|
|
80
|
+
"@braneframe/types": "0.5.9-next.73dcc17",
|
|
81
|
+
"@dxos/config": "0.5.9-next.73dcc17",
|
|
82
|
+
"@dxos/automerge": "0.5.9-next.73dcc17",
|
|
83
|
+
"@dxos/echo-typegen": "0.5.9-next.73dcc17",
|
|
84
|
+
"@dxos/echo-signals": "0.5.9-next.73dcc17",
|
|
85
|
+
"@dxos/random": "0.5.9-next.73dcc17",
|
|
86
|
+
"@dxos/keyboard": "0.5.9-next.73dcc17",
|
|
87
|
+
"@dxos/react-ui": "0.5.9-next.73dcc17",
|
|
88
|
+
"@dxos/storybook-utils": "0.5.9-next.73dcc17",
|
|
89
|
+
"@dxos/react-client": "0.5.9-next.73dcc17"
|
|
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.5.9-
|
|
95
|
+
"@dxos/react-client": "0.5.9-next.73dcc17"
|
|
96
96
|
},
|
|
97
97
|
"publishConfig": {
|
|
98
98
|
"access": "public"
|
|
@@ -15,6 +15,7 @@ import { keymap } from '@codemirror/view';
|
|
|
15
15
|
import { type ThemeMode } from '@dxos/react-ui';
|
|
16
16
|
|
|
17
17
|
import { markdownHighlightStyle, markdownTagsExtensions } from './highlight';
|
|
18
|
+
import { linkPastePlugin } from './linkPaste';
|
|
18
19
|
|
|
19
20
|
export type MarkdownBundleOptions = {
|
|
20
21
|
themeMode?: ThemeMode;
|
|
@@ -57,6 +58,8 @@ export const createMarkdownExtensions = ({ themeMode }: MarkdownBundleOptions =
|
|
|
57
58
|
// Custom styles.
|
|
58
59
|
syntaxHighlighting(markdownHighlightStyle()),
|
|
59
60
|
|
|
61
|
+
linkPastePlugin,
|
|
62
|
+
|
|
60
63
|
keymap.of([
|
|
61
64
|
// https://codemirror.net/docs/ref/#commands.indentWithTab
|
|
62
65
|
indentWithTab,
|
|
@@ -7,18 +7,7 @@ import { HighlightStyle } from '@codemirror/language';
|
|
|
7
7
|
import { tags, styleTags, Tag } from '@lezer/highlight';
|
|
8
8
|
import { type MarkdownConfig, Table } from '@lezer/markdown';
|
|
9
9
|
|
|
10
|
-
import {
|
|
11
|
-
blockquote,
|
|
12
|
-
bold,
|
|
13
|
-
code,
|
|
14
|
-
codeMark,
|
|
15
|
-
getToken,
|
|
16
|
-
heading,
|
|
17
|
-
inlineUrl,
|
|
18
|
-
italic,
|
|
19
|
-
mark,
|
|
20
|
-
strikethrough,
|
|
21
|
-
} from '../../styles';
|
|
10
|
+
import { blockquote, bold, code, codeMark, getToken, heading, italic, mark, strikethrough } from '../../styles';
|
|
22
11
|
|
|
23
12
|
/**
|
|
24
13
|
* Custom tags defined and processed by the GFM lezer extension.
|
|
@@ -155,12 +144,6 @@ export const markdownHighlightStyle = (readonly?: boolean) => {
|
|
|
155
144
|
{ tag: tags.strong, class: bold },
|
|
156
145
|
{ tag: tags.strikethrough, class: strikethrough },
|
|
157
146
|
|
|
158
|
-
// Naked URLs.
|
|
159
|
-
{
|
|
160
|
-
tag: [markdownTags.URL],
|
|
161
|
-
class: inlineUrl,
|
|
162
|
-
},
|
|
163
|
-
|
|
164
147
|
// NOTE: The `markdown` extension configures extensions for `lezer` to parse markdown tokens (incl. below).
|
|
165
148
|
// However, since `codeLanguages` is also defined, the `lezer` will not parse fenced code blocks,
|
|
166
149
|
// when a language is specified. In this case, the syntax highlighting extensions will colorize
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2024 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
import { syntaxTree } from '@codemirror/language';
|
|
5
|
+
import { type EditorState, Transaction } from '@codemirror/state';
|
|
6
|
+
import { type EditorView, ViewPlugin, type ViewUpdate, type PluginValue } from '@codemirror/view';
|
|
7
|
+
import { type SyntaxNode } from '@lezer/common';
|
|
8
|
+
|
|
9
|
+
const VALID_PROTOCOLS = ['http:', 'https:', 'mailto:', 'tel:'];
|
|
10
|
+
|
|
11
|
+
const createTextLink = (text: string, url: string): string => `[${text}](${url})`;
|
|
12
|
+
|
|
13
|
+
const createUrlLink = (url: string): string => {
|
|
14
|
+
const displayUrl = formatUrlForDisplay(url);
|
|
15
|
+
return `[${displayUrl}](${url})`;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const formatUrlForDisplay = (url: string): string => {
|
|
19
|
+
const withoutProtocol = url.replace(/^https?:\/\//, '');
|
|
20
|
+
return truncateQueryParams(withoutProtocol);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const truncateQueryParams = (url: string, maxQueryLength: number = 15): string => {
|
|
24
|
+
const [urlBase, queryString] = url.split('?');
|
|
25
|
+
if (!queryString) {
|
|
26
|
+
return urlBase;
|
|
27
|
+
}
|
|
28
|
+
if (queryString.length > maxQueryLength) {
|
|
29
|
+
const truncatedQuery = queryString.slice(0, maxQueryLength) + '...';
|
|
30
|
+
return `${urlBase}?${truncatedQuery}`;
|
|
31
|
+
} else {
|
|
32
|
+
return `${urlBase}?${queryString}`;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const isValidUrl = (str: string) => {
|
|
37
|
+
try {
|
|
38
|
+
const url = new URL(str);
|
|
39
|
+
return VALID_PROTOCOLS.includes(url.protocol);
|
|
40
|
+
} catch (e) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const onNextUpdate = (callback: () => void) => setTimeout(callback, 0);
|
|
46
|
+
|
|
47
|
+
export const linkPastePlugin = ViewPlugin.fromClass(
|
|
48
|
+
class implements PluginValue {
|
|
49
|
+
view: EditorView;
|
|
50
|
+
|
|
51
|
+
constructor(view: EditorView) {
|
|
52
|
+
this.view = view;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
update(update: ViewUpdate) {
|
|
56
|
+
for (const tr of update.transactions) {
|
|
57
|
+
const event = tr.annotation(Transaction.userEvent);
|
|
58
|
+
if (event === 'input.paste') {
|
|
59
|
+
this.handleInputRead(this.view, tr);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
handleInputRead(view: EditorView, tr: Transaction) {
|
|
65
|
+
const changes = tr.changes;
|
|
66
|
+
if (changes.empty) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
changes.iterChangedRanges((fromA, toA, fromB, toB) => {
|
|
70
|
+
const insertedText = view.state.sliceDoc(fromB, toB);
|
|
71
|
+
if (isValidUrl(insertedText) && !this.isInCodeBlock(view.state, fromB)) {
|
|
72
|
+
const replacedText = tr.startState.sliceDoc(fromA, toA);
|
|
73
|
+
onNextUpdate(() => {
|
|
74
|
+
view.dispatch(this.createLinkTransaction(view.state, fromA, toB, insertedText, replacedText));
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Determines if a given position is within a code block.
|
|
82
|
+
* Traverses the syntax tree upwards from the position,
|
|
83
|
+
* checking for CodeBlock or FencedCode nodes.
|
|
84
|
+
*/
|
|
85
|
+
isInCodeBlock(state: EditorState, pos: number): boolean {
|
|
86
|
+
const tree = syntaxTree(state);
|
|
87
|
+
let node: SyntaxNode | null = tree.resolveInner(pos, -1);
|
|
88
|
+
while (node) {
|
|
89
|
+
if (node.name.includes('Code') || node.name.includes('FencedCode')) {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
node = node.parent;
|
|
93
|
+
}
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
createLinkTransaction(state: EditorState, from: number, to: number, url: string, text: string): Transaction {
|
|
98
|
+
const linkText = text.trim() ? createTextLink(text, url) : createUrlLink(url);
|
|
99
|
+
return state.update({
|
|
100
|
+
changes: { from, to, insert: linkText },
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
);
|