@dxos/react-ui-editor 0.3.9-main.f8fc6b9 → 0.3.9-next.4584ca9
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 +177 -22
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/components/Editor/Editor.stories.d.ts +3 -2
- package/dist/types/src/components/Editor/Editor.stories.d.ts.map +1 -1
- package/dist/types/src/components/Markdown/Markdown.d.ts +2 -1
- package/dist/types/src/components/Markdown/Markdown.d.ts.map +1 -1
- package/dist/types/src/components/Markdown/Markdown.stories.d.ts +2 -1
- package/dist/types/src/components/Markdown/Markdown.stories.d.ts.map +1 -1
- package/dist/types/src/components/Markdown/markdownTheme.d.ts +2 -16
- package/dist/types/src/components/Markdown/markdownTheme.d.ts.map +1 -1
- package/dist/types/src/components/RichText/RichText.stories.d.ts +2 -1
- package/dist/types/src/components/RichText/RichText.stories.d.ts.map +1 -1
- package/dist/types/src/components/TextEditor/TextEditor.stories.d.ts +15 -0
- package/dist/types/src/components/TextEditor/TextEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TextEditor/extensions/hyperlink.d.ts +10 -0
- package/dist/types/src/components/TextEditor/extensions/hyperlink.d.ts.map +1 -0
- package/dist/types/src/components/TextEditor/extensions/hyperlinkTooltip.d.ts +9 -0
- package/dist/types/src/components/TextEditor/extensions/hyperlinkTooltip.d.ts.map +1 -0
- package/dist/types/src/components/TextEditor/extensions/index.d.ts +3 -0
- package/dist/types/src/components/TextEditor/extensions/index.d.ts.map +1 -0
- package/dist/types/src/components/TextEditor/index.d.ts +1 -0
- package/dist/types/src/components/TextEditor/index.d.ts.map +1 -1
- package/dist/types/src/components/TextEditor/theme.d.ts.map +1 -1
- package/package.json +19 -16
- package/src/components/Editor/Editor.stories.tsx +2 -0
- package/src/components/Markdown/Markdown.stories.tsx +2 -0
- package/src/components/Markdown/Markdown.tsx +6 -2
- package/src/components/Markdown/markdownTheme.ts +20 -16
- package/src/components/RichText/RichText.stories.tsx +2 -0
- package/src/components/TextEditor/TextEditor.stories.tsx +54 -2
- package/src/components/TextEditor/extensions/hyperlink.tsx +108 -0
- package/src/components/TextEditor/extensions/hyperlinkTooltip.tsx +76 -0
- package/src/components/TextEditor/extensions/index.ts +6 -0
- package/src/components/TextEditor/index.ts +2 -0
- package/src/components/TextEditor/theme.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/ui/react-ui-editor/src/yjs/cursors.ts":{"bytes":2630,"imports":[{"path":"lib0/random","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/yjs/space-provider.ts":{"bytes":15633,"imports":[{"path":"lib0/decoding","kind":"import-statement","external":true},{"path":"lib0/encoding","kind":"import-statement","external":true},{"path":"lib0/observable","kind":"import-statement","external":true},{"path":"y-protocols/awareness","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/yjs/index.ts":{"bytes":576,"imports":[{"path":"packages/ui/react-ui-editor/src/yjs/cursors.ts","kind":"import-statement","original":"./cursors"},{"path":"packages/ui/react-ui-editor/src/yjs/space-provider.ts","kind":"import-statement","original":"./space-provider"}],"format":"esm"},"packages/ui/react-ui-editor/src/model.ts":{"bytes":5003,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/yjs/index.ts","kind":"import-statement","original":"./yjs"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Markdown/markdownTags.ts":{"bytes":4139,"imports":[{"path":"@lezer/highlight","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/markdown.ts":{"bytes":5365,"imports":[{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytes":1040,"imports":[{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/index.ts":{"bytes":560,"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"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Markdown/markdownTheme.ts":{"bytes":27479,"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":"lodash.get","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/components/Markdown/markdownTags.ts","kind":"import-statement","original":"./markdownTags"},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Markdown/Markdown.tsx":{"bytes":23206,"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/search","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@fluentui/react-tabster","kind":"import-statement","external":true},{"path":"@replit/codemirror-vim","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"y-codemirror.next","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/components/Markdown/markdownTags.ts","kind":"import-statement","original":"./markdownTags"},{"path":"packages/ui/react-ui-editor/src/components/Markdown/markdownTheme.ts","kind":"import-statement","original":"./markdownTheme"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Markdown/index.ts":{"bytes":487,"imports":[{"path":"packages/ui/react-ui-editor/src/components/Markdown/Markdown.tsx","kind":"import-statement","original":"./Markdown"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/RichText/RichText.tsx":{"bytes":17944,"imports":[{"path":"@tiptap/core","kind":"import-statement","external":true},{"path":"@tiptap/extension-collaboration","kind":"import-statement","external":true},{"path":"@tiptap/extension-collaboration-cursor","kind":"import-statement","external":true},{"path":"@tiptap/extension-heading","kind":"import-statement","external":true},{"path":"@tiptap/extension-list-item","kind":"import-statement","external":true},{"path":"@tiptap/extension-placeholder","kind":"import-statement","external":true},{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/starter-kit","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"},{"path":"packages/ui/react-ui-editor/src/yjs/index.ts","kind":"import-statement","original":"../../yjs"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/RichText/index.ts":{"bytes":487,"imports":[{"path":"packages/ui/react-ui-editor/src/components/RichText/RichText.tsx","kind":"import-statement","original":"./RichText"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Editor/Editor.tsx":{"bytes":3802,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/model.ts","kind":"import-statement","original":"../../model"},{"path":"packages/ui/react-ui-editor/src/components/Markdown/index.ts","kind":"import-statement","original":"../Markdown"},{"path":"packages/ui/react-ui-editor/src/components/RichText/index.ts","kind":"import-statement","original":"../RichText"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Editor/index.ts":{"bytes":483,"imports":[{"path":"packages/ui/react-ui-editor/src/components/Editor/Editor.tsx","kind":"import-statement","original":"./Editor"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/theme.ts":{"bytes":2489,"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/components/TextEditor/TextEditor.tsx":{"bytes":11705,"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/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"y-codemirror.next","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/components/TextEditor/theme.ts","kind":"import-statement","original":"./theme"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/index.ts":{"bytes":781,"imports":[{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx","kind":"import-statement","original":"./TextEditor"},{"path":"packages/ui/react-ui-editor/src/components/TextEditor/theme.ts","kind":"import-statement","original":"./theme"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/index.ts":{"bytes":742,"imports":[{"path":"packages/ui/react-ui-editor/src/components/Editor/index.ts","kind":"import-statement","original":"./Editor"},{"path":"packages/ui/react-ui-editor/src/components/Markdown/index.ts","kind":"import-statement","original":"./Markdown"},{"path":"packages/ui/react-ui-editor/src/components/RichText/index.ts","kind":"import-statement","original":"./RichText"},{"path":"packages/ui/react-ui-editor/src/components/TextEditor/index.ts","kind":"import-statement","original":"./TextEditor"}],"format":"esm"},"packages/ui/react-ui-editor/src/index.ts":{"bytes":1026,"imports":[{"path":"packages/ui/react-ui-editor/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/ui/react-ui-editor/src/model.ts","kind":"import-statement","original":"./model"},{"path":"@dxos/protocols/proto/dxos/echo/model/text","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/ui/react-ui-editor/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":60360},"packages/ui/react-ui-editor/dist/lib/browser/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"lib0/random","kind":"import-statement","external":true},{"path":"lib0/decoding","kind":"import-statement","external":true},{"path":"lib0/encoding","kind":"import-statement","external":true},{"path":"lib0/observable","kind":"import-statement","external":true},{"path":"y-protocols/awareness","kind":"import-statement","external":true},{"path":"@dxos/log","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/search","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@fluentui/react-tabster","kind":"import-statement","external":true},{"path":"@replit/codemirror-vim","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"y-codemirror.next","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"@lezer/highlight","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":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@tiptap/core","kind":"import-statement","external":true},{"path":"@tiptap/extension-collaboration","kind":"import-statement","external":true},{"path":"@tiptap/extension-collaboration-cursor","kind":"import-statement","external":true},{"path":"@tiptap/extension-heading","kind":"import-statement","external":true},{"path":"@tiptap/extension-list-item","kind":"import-statement","external":true},{"path":"@tiptap/extension-placeholder","kind":"import-statement","external":true},{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/starter-kit","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@lezer/highlight","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/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"y-codemirror.next","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/text-model","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/protocols/proto/dxos/echo/model/text","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true}],"exports":["Doc","Editor","EditorModes","MarkdownEditor","RichTextEditor","TextEditor","TextKind","YText","YXmlFragment","defaultStyles","tags","useTextModel"],"entryPoint":"packages/ui/react-ui-editor/src/index.ts","inputs":{"packages/ui/react-ui-editor/src/components/Editor/Editor.tsx":{"bytesInOutput":572},"packages/ui/react-ui-editor/src/model.ts":{"bytesInOutput":619},"packages/ui/react-ui-editor/src/yjs/cursors.ts":{"bytesInOutput":565},"packages/ui/react-ui-editor/src/yjs/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/yjs/space-provider.ts":{"bytesInOutput":3760},"packages/ui/react-ui-editor/src/components/Markdown/Markdown.tsx":{"bytesInOutput":5665},"packages/ui/react-ui-editor/src/components/Markdown/markdownTags.ts":{"bytesInOutput":891},"packages/ui/react-ui-editor/src/components/Markdown/markdownTheme.ts":{"bytesInOutput":6808},"packages/ui/react-ui-editor/src/styles/markdown.ts":{"bytesInOutput":1297},"packages/ui/react-ui-editor/src/styles/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytesInOutput":94},"packages/ui/react-ui-editor/src/components/Markdown/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/RichText/RichText.tsx":{"bytesInOutput":3963},"packages/ui/react-ui-editor/src/components/RichText/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/Editor/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/TextEditor/index.ts":{"bytesInOutput":50},"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx":{"bytesInOutput":2858},"packages/ui/react-ui-editor/src/components/TextEditor/theme.ts":{"bytesInOutput":421},"packages/ui/react-ui-editor/src/index.ts":{"bytesInOutput":159}},"bytes":29150}}}
|
|
1
|
+
{"inputs":{"packages/ui/react-ui-editor/src/yjs/cursors.ts":{"bytes":2630,"imports":[{"path":"lib0/random","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/yjs/space-provider.ts":{"bytes":15633,"imports":[{"path":"lib0/decoding","kind":"import-statement","external":true},{"path":"lib0/encoding","kind":"import-statement","external":true},{"path":"lib0/observable","kind":"import-statement","external":true},{"path":"y-protocols/awareness","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/yjs/index.ts":{"bytes":576,"imports":[{"path":"packages/ui/react-ui-editor/src/yjs/cursors.ts","kind":"import-statement","original":"./cursors"},{"path":"packages/ui/react-ui-editor/src/yjs/space-provider.ts","kind":"import-statement","original":"./space-provider"}],"format":"esm"},"packages/ui/react-ui-editor/src/model.ts":{"bytes":5003,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/yjs/index.ts","kind":"import-statement","original":"./yjs"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Markdown/markdownTags.ts":{"bytes":4139,"imports":[{"path":"@lezer/highlight","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/markdown.ts":{"bytes":5365,"imports":[{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytes":1040,"imports":[{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/styles/index.ts":{"bytes":560,"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"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Markdown/markdownTheme.ts":{"bytes":27809,"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":"lodash.get","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/components/Markdown/markdownTags.ts","kind":"import-statement","original":"./markdownTags"},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Markdown/Markdown.tsx":{"bytes":23477,"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/search","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@fluentui/react-tabster","kind":"import-statement","external":true},{"path":"@replit/codemirror-vim","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"y-codemirror.next","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/components/Markdown/markdownTags.ts","kind":"import-statement","original":"./markdownTags"},{"path":"packages/ui/react-ui-editor/src/components/Markdown/markdownTheme.ts","kind":"import-statement","original":"./markdownTheme"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Markdown/index.ts":{"bytes":487,"imports":[{"path":"packages/ui/react-ui-editor/src/components/Markdown/Markdown.tsx","kind":"import-statement","original":"./Markdown"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/RichText/RichText.tsx":{"bytes":17944,"imports":[{"path":"@tiptap/core","kind":"import-statement","external":true},{"path":"@tiptap/extension-collaboration","kind":"import-statement","external":true},{"path":"@tiptap/extension-collaboration-cursor","kind":"import-statement","external":true},{"path":"@tiptap/extension-heading","kind":"import-statement","external":true},{"path":"@tiptap/extension-list-item","kind":"import-statement","external":true},{"path":"@tiptap/extension-placeholder","kind":"import-statement","external":true},{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/starter-kit","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/styles/index.ts","kind":"import-statement","original":"../../styles"},{"path":"packages/ui/react-ui-editor/src/yjs/index.ts","kind":"import-statement","original":"../../yjs"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/RichText/index.ts":{"bytes":487,"imports":[{"path":"packages/ui/react-ui-editor/src/components/RichText/RichText.tsx","kind":"import-statement","original":"./RichText"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Editor/Editor.tsx":{"bytes":3802,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/model.ts","kind":"import-statement","original":"../../model"},{"path":"packages/ui/react-ui-editor/src/components/Markdown/index.ts","kind":"import-statement","original":"../Markdown"},{"path":"packages/ui/react-ui-editor/src/components/RichText/index.ts","kind":"import-statement","original":"../RichText"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/Editor/index.ts":{"bytes":483,"imports":[{"path":"packages/ui/react-ui-editor/src/components/Editor/Editor.tsx","kind":"import-statement","original":"./Editor"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/theme.ts":{"bytes":2784,"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/components/TextEditor/TextEditor.tsx":{"bytes":11705,"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/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"y-codemirror.next","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/components/TextEditor/theme.ts","kind":"import-statement","original":"./theme"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/extensions/hyperlink.tsx":{"bytes":11402,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/extensions/hyperlinkTooltip.tsx":{"bytes":7908,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom/client","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/extensions/index.ts":{"bytes":613,"imports":[{"path":"packages/ui/react-ui-editor/src/components/TextEditor/extensions/hyperlink.tsx","kind":"import-statement","original":"./hyperlink"},{"path":"packages/ui/react-ui-editor/src/components/TextEditor/extensions/hyperlinkTooltip.tsx","kind":"import-statement","original":"./hyperlinkTooltip"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/TextEditor/index.ts":{"bytes":879,"imports":[{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx","kind":"import-statement","original":"./TextEditor"},{"path":"packages/ui/react-ui-editor/src/components/TextEditor/extensions/index.ts","kind":"import-statement","original":"./extensions"},{"path":"packages/ui/react-ui-editor/src/components/TextEditor/theme.ts","kind":"import-statement","original":"./theme"}],"format":"esm"},"packages/ui/react-ui-editor/src/components/index.ts":{"bytes":742,"imports":[{"path":"packages/ui/react-ui-editor/src/components/Editor/index.ts","kind":"import-statement","original":"./Editor"},{"path":"packages/ui/react-ui-editor/src/components/Markdown/index.ts","kind":"import-statement","original":"./Markdown"},{"path":"packages/ui/react-ui-editor/src/components/RichText/index.ts","kind":"import-statement","original":"./RichText"},{"path":"packages/ui/react-ui-editor/src/components/TextEditor/index.ts","kind":"import-statement","original":"./TextEditor"}],"format":"esm"},"packages/ui/react-ui-editor/src/index.ts":{"bytes":1026,"imports":[{"path":"packages/ui/react-ui-editor/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/ui/react-ui-editor/src/model.ts","kind":"import-statement","original":"./model"},{"path":"@dxos/protocols/proto/dxos/echo/model/text","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/ui/react-ui-editor/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":70158},"packages/ui/react-ui-editor/dist/lib/browser/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"lib0/random","kind":"import-statement","external":true},{"path":"lib0/decoding","kind":"import-statement","external":true},{"path":"lib0/encoding","kind":"import-statement","external":true},{"path":"lib0/observable","kind":"import-statement","external":true},{"path":"y-protocols/awareness","kind":"import-statement","external":true},{"path":"@dxos/log","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/search","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@fluentui/react-tabster","kind":"import-statement","external":true},{"path":"@replit/codemirror-vim","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"y-codemirror.next","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"@lezer/highlight","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":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@tiptap/core","kind":"import-statement","external":true},{"path":"@tiptap/extension-collaboration","kind":"import-statement","external":true},{"path":"@tiptap/extension-collaboration-cursor","kind":"import-statement","external":true},{"path":"@tiptap/extension-heading","kind":"import-statement","external":true},{"path":"@tiptap/extension-list-item","kind":"import-statement","external":true},{"path":"@tiptap/extension-placeholder","kind":"import-statement","external":true},{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/starter-kit","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@lezer/highlight","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/theme-one-dark","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"y-codemirror.next","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"lodash.get","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom/client","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/model/text","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true}],"exports":["Doc","Editor","EditorModes","MarkdownEditor","RichTextEditor","TextEditor","TextKind","YText","YXmlFragment","createHyperlinkTooltip","defaultHyperLinkTooltip","defaultStyles","hyperLinkExtension","hyperLinkStyle","hyperlink","tags","useTextModel"],"entryPoint":"packages/ui/react-ui-editor/src/index.ts","inputs":{"packages/ui/react-ui-editor/src/components/Editor/Editor.tsx":{"bytesInOutput":572},"packages/ui/react-ui-editor/src/model.ts":{"bytesInOutput":619},"packages/ui/react-ui-editor/src/yjs/cursors.ts":{"bytesInOutput":565},"packages/ui/react-ui-editor/src/yjs/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/yjs/space-provider.ts":{"bytesInOutput":3760},"packages/ui/react-ui-editor/src/components/Markdown/Markdown.tsx":{"bytesInOutput":5724},"packages/ui/react-ui-editor/src/components/Markdown/markdownTags.ts":{"bytesInOutput":891},"packages/ui/react-ui-editor/src/components/Markdown/markdownTheme.ts":{"bytesInOutput":6851},"packages/ui/react-ui-editor/src/styles/markdown.ts":{"bytesInOutput":1297},"packages/ui/react-ui-editor/src/styles/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/styles/tokens.ts":{"bytesInOutput":94},"packages/ui/react-ui-editor/src/components/Markdown/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/RichText/RichText.tsx":{"bytesInOutput":3963},"packages/ui/react-ui-editor/src/components/RichText/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/Editor/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/TextEditor/index.ts":{"bytesInOutput":50},"packages/ui/react-ui-editor/src/components/TextEditor/TextEditor.tsx":{"bytesInOutput":2858},"packages/ui/react-ui-editor/src/components/TextEditor/theme.ts":{"bytesInOutput":500},"packages/ui/react-ui-editor/src/components/TextEditor/extensions/hyperlink.tsx":{"bytesInOutput":2243},"packages/ui/react-ui-editor/src/components/TextEditor/extensions/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-editor/src/components/TextEditor/extensions/hyperlinkTooltip.tsx":{"bytesInOutput":1717},"packages/ui/react-ui-editor/src/index.ts":{"bytesInOutput":159}},"bytes":33570}}}
|
|
@@ -4,13 +4,14 @@ declare const _default: {
|
|
|
4
4
|
component: React.MemoExoticComponent<React.ForwardRefExoticComponent<import("../..").UseTextModelOptions & {
|
|
5
5
|
slots?: import("../..").EditorSlots | undefined;
|
|
6
6
|
} & React.RefAttributes<import("..").MarkdownEditorRef | import("@tiptap/react").Editor>>>;
|
|
7
|
+
decorators: import("@storybook/react").Decorator[];
|
|
7
8
|
};
|
|
8
9
|
export default _default;
|
|
9
10
|
export declare const Markdown: {
|
|
10
11
|
render: (args: {
|
|
11
12
|
id: number;
|
|
12
13
|
}) => JSX.Element;
|
|
13
|
-
decorators: import("@storybook/csf").DecoratorFunction<import("@storybook/react/dist/types-
|
|
14
|
+
decorators: import("@storybook/csf").DecoratorFunction<import("@storybook/react/dist/types-0fc72a6d").R, any>[];
|
|
14
15
|
};
|
|
15
16
|
export declare const Rich: {
|
|
16
17
|
render: (args: {
|
|
@@ -23,6 +24,6 @@ export declare const Rich: {
|
|
|
23
24
|
};
|
|
24
25
|
};
|
|
25
26
|
};
|
|
26
|
-
decorators: import("@storybook/csf").DecoratorFunction<import("@storybook/react/dist/types-
|
|
27
|
+
decorators: import("@storybook/csf").DecoratorFunction<import("@storybook/react/dist/types-0fc72a6d").R, any>[];
|
|
27
28
|
};
|
|
28
29
|
//# sourceMappingURL=Editor.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Editor/Editor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAmB,MAAM,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"Editor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Editor/Editor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAmB,MAAM,OAAO,CAAC;;;;;;;AAYxC,wBAGE;AAoCF,eAAO,MAAM,QAAQ;mBACJ;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE;;CAE9B,CAAC;AAWF,eAAO,MAAM,IAAI;mBACA;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE;;;;;;;;;CAS9B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EditorState, type Text } from '@codemirror/state';
|
|
1
|
+
import { EditorState, type Extension, type Text } from '@codemirror/state';
|
|
2
2
|
import { EditorView } from '@codemirror/view';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { type EditorModel, type EditorSlots } from '../../model';
|
|
@@ -8,6 +8,7 @@ export type MarkdownEditorProps = {
|
|
|
8
8
|
model?: EditorModel;
|
|
9
9
|
slots?: EditorSlots;
|
|
10
10
|
editorMode?: EditorMode;
|
|
11
|
+
extensions?: Extension[];
|
|
11
12
|
onChange?: (content: string | Text) => void;
|
|
12
13
|
};
|
|
13
14
|
export type MarkdownEditorRef = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/Markdown.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAc,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/Markdown.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAc,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEvF,OAAO,EAUL,UAAU,EACX,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAQN,MAAM,OAAO,CAAC;AAUf,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAEjE,eAAO,MAAM,WAAW,6BAA8B,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,cAAc,+FA+I1B,CAAC"}
|
|
@@ -2,6 +2,7 @@ import '@dxosTheme';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
declare const _default: {
|
|
4
4
|
component: React.ForwardRefExoticComponent<import("./Markdown").MarkdownEditorProps & React.RefAttributes<import("./Markdown").MarkdownEditorRef>>;
|
|
5
|
+
decorators: import("@storybook/react").Decorator[];
|
|
5
6
|
};
|
|
6
7
|
export default _default;
|
|
7
8
|
export declare const Default: {
|
|
@@ -14,6 +15,6 @@ export declare const Default: {
|
|
|
14
15
|
};
|
|
15
16
|
export declare const WithYjs: {
|
|
16
17
|
render: () => JSX.Element;
|
|
17
|
-
decorators: import("@storybook/csf").DecoratorFunction<import("@storybook/react/dist/types-
|
|
18
|
+
decorators: import("@storybook/csf").DecoratorFunction<import("@storybook/react/dist/types-0fc72a6d").R, any>[];
|
|
18
19
|
};
|
|
19
20
|
//# sourceMappingURL=Markdown.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/Markdown.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAmB,MAAM,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"Markdown.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/Markdown.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAmB,MAAM,OAAO,CAAC;;;;;AAWxC,wBAGE;AAEF,eAAO,MAAM,OAAO;;;;;;;CAOnB,CAAC;AAIF,eAAO,MAAM,OAAO;;;CAyBnB,CAAC"}
|
|
@@ -13,23 +13,9 @@ export declare const highlightBackground = "#2c313a";
|
|
|
13
13
|
export declare const tooltipBackground = "#353a42";
|
|
14
14
|
export declare const cursor = "#ffffff";
|
|
15
15
|
export declare const markdownTheme: {
|
|
16
|
-
'.
|
|
17
|
-
border: string;
|
|
16
|
+
'.cm-tooltip': {
|
|
18
17
|
backgroundColor: string;
|
|
19
|
-
|
|
20
|
-
'.dark & .cm-tooltip .cm-tooltip-arrow:before': {
|
|
21
|
-
borderTopColor: string;
|
|
22
|
-
borderBottomColor: string;
|
|
23
|
-
};
|
|
24
|
-
'.dark & .cm-tooltip .cm-tooltip-arrow:after': {
|
|
25
|
-
borderTopColor: string;
|
|
26
|
-
borderBottomColor: string;
|
|
27
|
-
};
|
|
28
|
-
'.dark & .cm-tooltip-autocomplete': {
|
|
29
|
-
'& > ul > li[aria-selected]': {
|
|
30
|
-
backgroundColor: string;
|
|
31
|
-
color: string;
|
|
32
|
-
};
|
|
18
|
+
border: string;
|
|
33
19
|
};
|
|
34
20
|
'&.cm-focused': {
|
|
35
21
|
outline: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownTheme.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/markdownTheme.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUtD,eAAO,MAAM,MAAM,YAAY,CAAC;AAChC,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,MAAM,YAAY,CAAC;AAChC,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,MAAM,YAAY,CAAC;AAEhC,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,eAAO,MAAM,MAAM,YAAY,CAAC;AAIhC,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"markdownTheme.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/markdownTheme.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUtD,eAAO,MAAM,MAAM,YAAY,CAAC;AAChC,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,MAAM,YAAY,CAAC;AAChC,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,MAAM,YAAY,CAAC;AAEhC,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,eAAO,MAAM,MAAM,YAAY,CAAC;AAIhC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4IzB,CAAC;AAEF,eAAO,MAAM,wBAAwB,gBA6EpC,CAAC"}
|
|
@@ -9,6 +9,7 @@ declare const _default: {
|
|
|
9
9
|
} & {
|
|
10
10
|
slots?: import("../..").EditorSlots | undefined;
|
|
11
11
|
} & React.RefAttributes<import("@tiptap/react").Editor | null>>;
|
|
12
|
+
decorators: import("@storybook/react").Decorator[];
|
|
12
13
|
};
|
|
13
14
|
export default _default;
|
|
14
15
|
export declare const Default: {
|
|
@@ -21,6 +22,6 @@ export declare const Default: {
|
|
|
21
22
|
};
|
|
22
23
|
export declare const WithYjs: {
|
|
23
24
|
render: (args: Omit<RichTextEditorProps, 'model'>) => JSX.Element;
|
|
24
|
-
decorators: import("@storybook/csf").DecoratorFunction<import("@storybook/react/dist/types-
|
|
25
|
+
decorators: import("@storybook/csf").DecoratorFunction<import("@storybook/react/dist/types-0fc72a6d").R, any>[];
|
|
25
26
|
};
|
|
26
27
|
//# sourceMappingURL=RichText.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichText.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/RichText/RichText.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAmB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"RichText.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/RichText/RichText.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAmB,MAAM,OAAO,CAAC;AASxC,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;AAGtE,wBAGE;AAEF,eAAO,MAAM,OAAO;;;;;;;CAOnB,CAAC;AAGF,eAAO,MAAM,OAAO;mBACH,KAAK,mBAAmB,EAAE,OAAO,CAAC;;CAmClD,CAAC"}
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
import '@dxosTheme';
|
|
2
|
+
import { HighlightStyle, StreamLanguage } from '@codemirror/language';
|
|
2
3
|
import React from 'react';
|
|
4
|
+
export declare const nameRegex: RegExp;
|
|
5
|
+
/**
|
|
6
|
+
* Simple Monaco language extension.
|
|
7
|
+
* https://github.com/codemirror/stream-parser/blob/main/test/test-stream-parser.ts
|
|
8
|
+
*/
|
|
9
|
+
export declare const promptLanguage: StreamLanguage<{
|
|
10
|
+
count: number;
|
|
11
|
+
}>;
|
|
12
|
+
/**
|
|
13
|
+
* https://codemirror.net/examples/styling
|
|
14
|
+
* https://lezer.codemirror.net/docs/ref/#highlight
|
|
15
|
+
*/
|
|
16
|
+
export declare const promptHighlightStyles: HighlightStyle;
|
|
3
17
|
declare const _default: {
|
|
4
18
|
component: React.ForwardRefExoticComponent<{
|
|
5
19
|
model?: import("../../model").EditorModel | undefined;
|
|
@@ -10,6 +24,7 @@ declare const _default: {
|
|
|
10
24
|
slots?: import("../../model").EditorSlots | undefined;
|
|
11
25
|
onKeyDown?: ((event: React.KeyboardEvent<Element>, info: import("./TextEditor").CursorInfo) => void) | undefined;
|
|
12
26
|
} & Pick<React.HTMLAttributes<HTMLDivElement>, "onFocus" | "onBlur"> & React.RefAttributes<import("./TextEditor").TextEditorRef>>;
|
|
27
|
+
decorators: import("@storybook/react").Decorator[];
|
|
13
28
|
render: () => JSX.Element;
|
|
14
29
|
};
|
|
15
30
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TextEditor/TextEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"TextEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TextEditor/TextEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,KAAmB,MAAM,OAAO,CAAC;AAUxC,eAAO,MAAM,SAAS,QAAgB,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,cAAc;WAAkC,MAAM;EAcjE,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,gBAShC,CAAC;;;;;;;;;;;;;;AAuBH,wBAIE;AAEF,eAAO,MAAM,OAAO,IAAK,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Extension } from '@codemirror/state';
|
|
2
|
+
import { type DecorationSet, MatchDecorator, ViewPlugin, type ViewUpdate } from '@codemirror/view';
|
|
3
|
+
export declare function hyperLinkExtension(): ViewPlugin<{
|
|
4
|
+
readonly decorator: MatchDecorator;
|
|
5
|
+
decorations: DecorationSet;
|
|
6
|
+
update(update: ViewUpdate): void;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const hyperLinkStyle: Extension;
|
|
9
|
+
export declare const hyperlink: Extension;
|
|
10
|
+
//# sourceMappingURL=hyperlink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperlink.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/hyperlink.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAEL,KAAK,aAAa,EAElB,cAAc,EACd,UAAU,EACV,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AA4C1B,wBAAgB,kBAAkB;wBAGR,cAAc;;mBAOnB,UAAU;GAwB9B;AAED,eAAO,MAAM,cAAc,WAYzB,CAAC;AAEH,eAAO,MAAM,SAAS,EAAE,SAAkD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type OnHyperlinkHover = (el: Element, url: string) => void;
|
|
2
|
+
/**
|
|
3
|
+
* https://codemirror.net/examples/tooltip
|
|
4
|
+
* https://codemirror.net/docs/ref/#view.hoverTooltip
|
|
5
|
+
* https://github.com/codemirror/view/blob/main/src/tooltip.ts
|
|
6
|
+
*/
|
|
7
|
+
export declare const createHyperlinkTooltip: (onHover: OnHyperlinkHover, regexp?: RegExp) => import("@codemirror/state").Extension;
|
|
8
|
+
export declare const defaultHyperLinkTooltip: import("@codemirror/state").Extension;
|
|
9
|
+
//# sourceMappingURL=hyperlinkTooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperlinkTooltip.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/hyperlinkTooltip.tsx"],"names":[],"mappings":"AAaA,MAAM,MAAM,gBAAgB,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,YAAa,gBAAgB,2DA0C5D,CAAC;AAGL,eAAO,MAAM,uBAAuB,uCAUlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/TextEditor/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/TextEditor/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,cAAc,cAAc,CAAC;AAE7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../src/components/TextEditor/theme.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAM3C;;GAEG;AAEH,eAAO,MAAM,aAAa,EAAE;IAC1B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../src/components/TextEditor/theme.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAM3C;;GAEG;AAEH,eAAO,MAAM,aAAa,EAAE;IAC1B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAgB/B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/react-ui-editor",
|
|
3
|
-
"version": "0.3.9-
|
|
3
|
+
"version": "0.3.9-next.4584ca9",
|
|
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",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"@lezer/common": "^1.1.1",
|
|
28
28
|
"@lezer/highlight": "^1.2.0",
|
|
29
29
|
"@lezer/markdown": "^1.1.1",
|
|
30
|
+
"@phosphor-icons/react": "^2.0.5",
|
|
30
31
|
"@replit/codemirror-vim": "^6.0.14",
|
|
31
32
|
"@tiptap/core": "2.0.0-beta.220",
|
|
32
33
|
"@tiptap/extension-collaboration": "2.0.0-beta.220",
|
|
@@ -48,15 +49,15 @@
|
|
|
48
49
|
"y-prosemirror": "~1.0.20",
|
|
49
50
|
"y-protocols": "^1.0.5",
|
|
50
51
|
"yjs": "^13.6.10",
|
|
51
|
-
"@dxos/debug": "0.3.9-
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/react-ui": "0.3.9-
|
|
56
|
-
"@dxos/react-ui
|
|
57
|
-
"@dxos/
|
|
58
|
-
"@dxos/
|
|
59
|
-
"@dxos/
|
|
52
|
+
"@dxos/debug": "0.3.9-next.4584ca9",
|
|
53
|
+
"@dxos/log": "0.3.9-next.4584ca9",
|
|
54
|
+
"@dxos/react-async": "0.3.9-next.4584ca9",
|
|
55
|
+
"@dxos/protocols": "0.3.9-next.4584ca9",
|
|
56
|
+
"@dxos/react-ui-theme": "0.3.9-next.4584ca9",
|
|
57
|
+
"@dxos/react-ui": "0.3.9-next.4584ca9",
|
|
58
|
+
"@dxos/util": "0.3.9-next.4584ca9",
|
|
59
|
+
"@dxos/display-name": "0.3.9-next.4584ca9",
|
|
60
|
+
"@dxos/text-model": "0.3.9-next.4584ca9"
|
|
60
61
|
},
|
|
61
62
|
"devDependencies": {
|
|
62
63
|
"@codemirror/basic-setup": "^0.20.0",
|
|
@@ -66,16 +67,18 @@
|
|
|
66
67
|
"@types/react-dom": "^18.0.6",
|
|
67
68
|
"react": "^18.2.0",
|
|
68
69
|
"react-dom": "^18.2.0",
|
|
69
|
-
"@dxos/
|
|
70
|
-
"@dxos/
|
|
71
|
-
"@dxos/echo-schema": "0.3.9-
|
|
72
|
-
"@dxos/echo-typegen": "0.3.9-
|
|
73
|
-
"@dxos/react-client": "0.3.9-
|
|
70
|
+
"@dxos/config": "0.3.9-next.4584ca9",
|
|
71
|
+
"@dxos/automerge": "0.3.9-next.4584ca9",
|
|
72
|
+
"@dxos/echo-schema": "0.3.9-next.4584ca9",
|
|
73
|
+
"@dxos/echo-typegen": "0.3.9-next.4584ca9",
|
|
74
|
+
"@dxos/react-client": "0.3.9-next.4584ca9",
|
|
75
|
+
"@dxos/storybook-utils": "0.3.9-next.4584ca9"
|
|
74
76
|
},
|
|
75
77
|
"peerDependencies": {
|
|
78
|
+
"@phosphor-icons/react": "^2.0.5",
|
|
76
79
|
"react": "^18.2.0",
|
|
77
80
|
"react-dom": "^18.2.0",
|
|
78
|
-
"@dxos/react-client": "0.3.9-
|
|
81
|
+
"@dxos/react-client": "0.3.9-next.4584ca9"
|
|
79
82
|
},
|
|
80
83
|
"publishConfig": {
|
|
81
84
|
"access": "public"
|
|
@@ -11,12 +11,14 @@ import { TextObject, TextKind, useQuery, useSpace } from '@dxos/react-client/ech
|
|
|
11
11
|
import { useIdentity } from '@dxos/react-client/halo';
|
|
12
12
|
import { ClientDecorator, setupPeersInSpace, textGenerator, useDataGenerator } from '@dxos/react-client/testing';
|
|
13
13
|
import { useId } from '@dxos/react-ui';
|
|
14
|
+
import { withTheme } from '@dxos/storybook-utils';
|
|
14
15
|
|
|
15
16
|
import { Editor, type EditorProps } from './Editor';
|
|
16
17
|
import { EditorDocument, types as schema } from '../../testing';
|
|
17
18
|
|
|
18
19
|
export default {
|
|
19
20
|
component: Editor,
|
|
21
|
+
decorators: [withTheme],
|
|
20
22
|
};
|
|
21
23
|
|
|
22
24
|
const Story = ({ spaceKey, ...params }: Pick<EditorProps, 'slots'> & { spaceKey: PublicKey }) => {
|
|
@@ -10,12 +10,14 @@ import { PublicKey } from '@dxos/react-client';
|
|
|
10
10
|
import { TextKind } from '@dxos/react-client/echo';
|
|
11
11
|
import { ClientDecorator, textGenerator, useDataGenerator } from '@dxos/react-client/testing';
|
|
12
12
|
import { useId } from '@dxos/react-ui';
|
|
13
|
+
import { withTheme } from '@dxos/storybook-utils';
|
|
13
14
|
|
|
14
15
|
import { MarkdownEditor } from './Markdown';
|
|
15
16
|
import { Replicator, useYjsModel } from '../../testing';
|
|
16
17
|
|
|
17
18
|
export default {
|
|
18
19
|
component: MarkdownEditor,
|
|
20
|
+
decorators: [withTheme],
|
|
19
21
|
};
|
|
20
22
|
|
|
21
23
|
export const Default = {
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import { languages } from '@codemirror/language-data';
|
|
16
16
|
import { lintKeymap } from '@codemirror/lint';
|
|
17
17
|
import { searchKeymap, highlightSelectionMatches } from '@codemirror/search';
|
|
18
|
-
import { EditorState, StateField, type Text } from '@codemirror/state';
|
|
18
|
+
import { EditorState, type Extension, StateField, type Text } from '@codemirror/state';
|
|
19
19
|
import { oneDarkHighlightStyle } from '@codemirror/theme-one-dark';
|
|
20
20
|
import {
|
|
21
21
|
keymap,
|
|
@@ -58,6 +58,7 @@ export type MarkdownEditorProps = {
|
|
|
58
58
|
model?: EditorModel;
|
|
59
59
|
slots?: EditorSlots;
|
|
60
60
|
editorMode?: EditorMode;
|
|
61
|
+
extensions?: Extension[];
|
|
61
62
|
onChange?: (content: string | Text) => void;
|
|
62
63
|
};
|
|
63
64
|
|
|
@@ -68,7 +69,7 @@ export type MarkdownEditorRef = {
|
|
|
68
69
|
};
|
|
69
70
|
|
|
70
71
|
export const MarkdownEditor = forwardRef<MarkdownEditorRef, MarkdownEditorProps>(
|
|
71
|
-
({ model, slots = {}, editorMode, onChange }, forwardedRef) => {
|
|
72
|
+
({ model, slots = {}, editorMode, extensions = [], onChange }, forwardedRef) => {
|
|
72
73
|
const { id, content, provider, peer } = model ?? {};
|
|
73
74
|
const { themeMode } = useThemeContext();
|
|
74
75
|
const tabsterDOMAttribute = useFocusableGroup({ tabBehavior: 'limited' });
|
|
@@ -160,6 +161,9 @@ export const MarkdownEditor = forwardRef<MarkdownEditorRef, MarkdownEditorProps>
|
|
|
160
161
|
|
|
161
162
|
// Replication and awareness (incl. remote selection).
|
|
162
163
|
...(content instanceof YText ? [yCollab(content, provider?.awareness)] : []),
|
|
164
|
+
|
|
165
|
+
// Custom.
|
|
166
|
+
...extensions,
|
|
163
167
|
],
|
|
164
168
|
});
|
|
165
169
|
|
|
@@ -71,24 +71,28 @@ export const markdownTheme = {
|
|
|
71
71
|
// color: '#ddd'
|
|
72
72
|
// },
|
|
73
73
|
|
|
74
|
-
'.
|
|
74
|
+
'.cm-tooltip': {
|
|
75
|
+
backgroundColor: 'transparent',
|
|
75
76
|
border: 'none',
|
|
76
|
-
backgroundColor: tooltipBackground,
|
|
77
|
-
},
|
|
78
|
-
'.dark & .cm-tooltip .cm-tooltip-arrow:before': {
|
|
79
|
-
borderTopColor: 'transparent',
|
|
80
|
-
borderBottomColor: 'transparent',
|
|
81
|
-
},
|
|
82
|
-
'.dark & .cm-tooltip .cm-tooltip-arrow:after': {
|
|
83
|
-
borderTopColor: tooltipBackground,
|
|
84
|
-
borderBottomColor: tooltipBackground,
|
|
85
|
-
},
|
|
86
|
-
'.dark & .cm-tooltip-autocomplete': {
|
|
87
|
-
'& > ul > li[aria-selected]': {
|
|
88
|
-
backgroundColor: highlightBackground,
|
|
89
|
-
color: ivory,
|
|
90
|
-
},
|
|
91
77
|
},
|
|
78
|
+
// '.dark & .cm-tooltip': {
|
|
79
|
+
// border: 'none',
|
|
80
|
+
// backgroundColor: tooltipBackground,
|
|
81
|
+
// },
|
|
82
|
+
// '.dark & .cm-tooltip .cm-tooltip-arrow:before': {
|
|
83
|
+
// borderTopColor: 'transparent',
|
|
84
|
+
// borderBottomColor: 'transparent',
|
|
85
|
+
// },
|
|
86
|
+
// '.dark & .cm-tooltip .cm-tooltip-arrow:after': {
|
|
87
|
+
// borderTopColor: tooltipBackground,
|
|
88
|
+
// borderBottomColor: tooltipBackground,
|
|
89
|
+
// },
|
|
90
|
+
// '.dark & .cm-tooltip-autocomplete': {
|
|
91
|
+
// '& > ul > li[aria-selected]': {
|
|
92
|
+
// backgroundColor: highlightBackground,
|
|
93
|
+
// color: ivory,
|
|
94
|
+
// },
|
|
95
|
+
// },
|
|
92
96
|
'&.cm-focused': {
|
|
93
97
|
outline: 'none',
|
|
94
98
|
},
|
|
@@ -11,12 +11,14 @@ import { TextKind } from '@dxos/react-client/echo';
|
|
|
11
11
|
import { ClientDecorator, textGenerator, useDataGenerator } from '@dxos/react-client/testing';
|
|
12
12
|
import { useId } from '@dxos/react-ui';
|
|
13
13
|
import { mx } from '@dxos/react-ui-theme';
|
|
14
|
+
import { withTheme } from '@dxos/storybook-utils';
|
|
14
15
|
|
|
15
16
|
import { RichTextEditor, type RichTextEditorProps } from './RichText';
|
|
16
17
|
import { Replicator, useYjsModel } from '../../testing';
|
|
17
18
|
|
|
18
19
|
export default {
|
|
19
20
|
component: RichTextEditor,
|
|
21
|
+
decorators: [withTheme],
|
|
20
22
|
};
|
|
21
23
|
|
|
22
24
|
export const Default = {
|