@ctzhian/tiptap 0.4.0
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/LICENSE +21 -0
- package/README.md +43 -0
- package/dist/Editor/demo.d.ts +4 -0
- package/dist/Editor/demo.js +150 -0
- package/dist/Editor/index.d.ts +4 -0
- package/dist/Editor/index.js +21 -0
- package/dist/EditorThemeProvider/index.d.ts +11 -0
- package/dist/EditorThemeProvider/index.js +90 -0
- package/dist/EditorToolbar/index.d.ts +9 -0
- package/dist/EditorToolbar/index.js +286 -0
- package/dist/asset/css/index.css +161 -0
- package/dist/asset/images/disk.png +0 -0
- package/dist/asset/images/down.svg +3 -0
- package/dist/component/CustomBubbleMenu/SelectionText.d.ts +9 -0
- package/dist/component/CustomBubbleMenu/SelectionText.js +295 -0
- package/dist/component/CustomDragHandle/index.d.ts +9 -0
- package/dist/component/CustomDragHandle/index.js +1172 -0
- package/dist/component/CustomFloatingMenu/index.d.ts +0 -0
- package/dist/component/CustomFloatingMenu/index.js +85 -0
- package/dist/component/FloatingPopover/index.d.ts +13 -0
- package/dist/component/FloatingPopover/index.js +104 -0
- package/dist/component/Icons/ai-generate-2-icon.d.ts +6 -0
- package/dist/component/Icons/ai-generate-2-icon.js +13 -0
- package/dist/component/Icons/ai-generate-text-icon.d.ts +6 -0
- package/dist/component/Icons/ai-generate-text-icon.js +13 -0
- package/dist/component/Icons/align-bottom-icon.d.ts +6 -0
- package/dist/component/Icons/align-bottom-icon.js +13 -0
- package/dist/component/Icons/align-center-icon.d.ts +6 -0
- package/dist/component/Icons/align-center-icon.js +13 -0
- package/dist/component/Icons/align-justify-icon.d.ts +6 -0
- package/dist/component/Icons/align-justify-icon.js +13 -0
- package/dist/component/Icons/align-left-icon.d.ts +6 -0
- package/dist/component/Icons/align-left-icon.js +13 -0
- package/dist/component/Icons/align-right-icon.d.ts +6 -0
- package/dist/component/Icons/align-right-icon.js +13 -0
- package/dist/component/Icons/align-top-icon.d.ts +6 -0
- package/dist/component/Icons/align-top-icon.js +13 -0
- package/dist/component/Icons/align-vertically-icon.d.ts +6 -0
- package/dist/component/Icons/align-vertically-icon.js +13 -0
- package/dist/component/Icons/anticlockwise-line-icon.d.ts +6 -0
- package/dist/component/Icons/anticlockwise-line-icon.js +13 -0
- package/dist/component/Icons/arrow-down-s-line-icon.d.ts +6 -0
- package/dist/component/Icons/arrow-down-s-line-icon.js +13 -0
- package/dist/component/Icons/arrow-go-back-line-icon.d.ts +6 -0
- package/dist/component/Icons/arrow-go-back-line-icon.js +13 -0
- package/dist/component/Icons/arrow-go-forward-line-icon.d.ts +6 -0
- package/dist/component/Icons/arrow-go-forward-line-icon.js +13 -0
- package/dist/component/Icons/arrow-left-wide-line-icon.d.ts +6 -0
- package/dist/component/Icons/arrow-left-wide-line-icon.js +13 -0
- package/dist/component/Icons/at-line-icon.d.ts +6 -0
- package/dist/component/Icons/at-line-icon.js +13 -0
- package/dist/component/Icons/attachment-2-icon.d.ts +6 -0
- package/dist/component/Icons/attachment-2-icon.js +13 -0
- package/dist/component/Icons/attachment-line-icon.d.ts +6 -0
- package/dist/component/Icons/attachment-line-icon.js +13 -0
- package/dist/component/Icons/bold-icon.d.ts +6 -0
- package/dist/component/Icons/bold-icon.js +13 -0
- package/dist/component/Icons/brush-line-icon.d.ts +6 -0
- package/dist/component/Icons/brush-line-icon.js +13 -0
- package/dist/component/Icons/carousel-view-icon.d.ts +6 -0
- package/dist/component/Icons/carousel-view-icon.js +13 -0
- package/dist/component/Icons/checkbox-blank-circle-line-icon.d.ts +6 -0
- package/dist/component/Icons/checkbox-blank-circle-line-icon.js +13 -0
- package/dist/component/Icons/checkbox-circle-line-icon.d.ts +6 -0
- package/dist/component/Icons/checkbox-circle-line-icon.js +13 -0
- package/dist/component/Icons/clockwise-line-icon.d.ts +6 -0
- package/dist/component/Icons/clockwise-line-icon.js +13 -0
- package/dist/component/Icons/code-box-line-icon.d.ts +6 -0
- package/dist/component/Icons/code-box-line-icon.js +13 -0
- package/dist/component/Icons/code-line-icon.d.ts +6 -0
- package/dist/component/Icons/code-line-icon.js +13 -0
- package/dist/component/Icons/code-s-slash-line-icon.d.ts +6 -0
- package/dist/component/Icons/code-s-slash-line-icon.js +13 -0
- package/dist/component/Icons/copy-icon.d.ts +6 -0
- package/dist/component/Icons/copy-icon.js +13 -0
- package/dist/component/Icons/custom-size-icon.d.ts +6 -0
- package/dist/component/Icons/custom-size-icon.js +13 -0
- package/dist/component/Icons/delete-column-icon.d.ts +6 -0
- package/dist/component/Icons/delete-column-icon.js +13 -0
- package/dist/component/Icons/delete-line-icon.d.ts +6 -0
- package/dist/component/Icons/delete-line-icon.js +13 -0
- package/dist/component/Icons/delete-row-icon.d.ts +6 -0
- package/dist/component/Icons/delete-row-icon.js +13 -0
- package/dist/component/Icons/double-quotes-l-icon.d.ts +6 -0
- package/dist/component/Icons/double-quotes-l-icon.js +13 -0
- package/dist/component/Icons/download-line-icon.d.ts +6 -0
- package/dist/component/Icons/download-line-icon.js +13 -0
- package/dist/component/Icons/draggable-icon.d.ts +6 -0
- package/dist/component/Icons/draggable-icon.js +13 -0
- package/dist/component/Icons/edit-box-line-icon.d.ts +6 -0
- package/dist/component/Icons/edit-box-line-icon.js +13 -0
- package/dist/component/Icons/export-line-icon.d.ts +6 -0
- package/dist/component/Icons/export-line-icon.js +13 -0
- package/dist/component/Icons/file-copy-line-icon.d.ts +6 -0
- package/dist/component/Icons/file-copy-line-icon.js +13 -0
- package/dist/component/Icons/file-upload-line-icon.d.ts +6 -0
- package/dist/component/Icons/file-upload-line-icon.js +13 -0
- package/dist/component/Icons/flow-chart-icon.d.ts +6 -0
- package/dist/component/Icons/flow-chart-icon.js +13 -0
- package/dist/component/Icons/font-color-icon.d.ts +6 -0
- package/dist/component/Icons/font-color-icon.js +13 -0
- package/dist/component/Icons/font-family-icon.d.ts +6 -0
- package/dist/component/Icons/font-family-icon.js +13 -0
- package/dist/component/Icons/font-size-icon.d.ts +6 -0
- package/dist/component/Icons/font-size-icon.js +13 -0
- package/dist/component/Icons/format-clear-icon.d.ts +6 -0
- package/dist/component/Icons/format-clear-icon.js +13 -0
- package/dist/component/Icons/formula-icon.d.ts +6 -0
- package/dist/component/Icons/formula-icon.js +13 -0
- package/dist/component/Icons/fullscreen-exit-line-icon.d.ts +6 -0
- package/dist/component/Icons/fullscreen-exit-line-icon.js +13 -0
- package/dist/component/Icons/fullscreen-line-icon.d.ts +6 -0
- package/dist/component/Icons/fullscreen-line-icon.js +13 -0
- package/dist/component/Icons/functions-icon.d.ts +6 -0
- package/dist/component/Icons/functions-icon.js +13 -0
- package/dist/component/Icons/game-line-icon.d.ts +6 -0
- package/dist/component/Icons/game-line-icon.js +13 -0
- package/dist/component/Icons/h-1-icon.d.ts +6 -0
- package/dist/component/Icons/h-1-icon.js +13 -0
- package/dist/component/Icons/h-2-icon.d.ts +6 -0
- package/dist/component/Icons/h-2-icon.js +13 -0
- package/dist/component/Icons/h-3-icon.d.ts +6 -0
- package/dist/component/Icons/h-3-icon.js +13 -0
- package/dist/component/Icons/h-4-icon.d.ts +6 -0
- package/dist/component/Icons/h-4-icon.js +13 -0
- package/dist/component/Icons/h-5-icon.d.ts +6 -0
- package/dist/component/Icons/h-5-icon.js +13 -0
- package/dist/component/Icons/h-6-icon.d.ts +6 -0
- package/dist/component/Icons/h-6-icon.js +13 -0
- package/dist/component/Icons/heading-icon.d.ts +6 -0
- package/dist/component/Icons/heading-icon.js +13 -0
- package/dist/component/Icons/image-add-line-icon.d.ts +6 -0
- package/dist/component/Icons/image-add-line-icon.js +13 -0
- package/dist/component/Icons/image-line-icon.d.ts +6 -0
- package/dist/component/Icons/image-line-icon.js +13 -0
- package/dist/component/Icons/import-line-icon.d.ts +6 -0
- package/dist/component/Icons/import-line-icon.js +13 -0
- package/dist/component/Icons/index.d.ts +110 -0
- package/dist/component/Icons/index.js +113 -0
- package/dist/component/Icons/insert-column-left-icon.d.ts +6 -0
- package/dist/component/Icons/insert-column-left-icon.js +13 -0
- package/dist/component/Icons/insert-column-right-icon.d.ts +6 -0
- package/dist/component/Icons/insert-column-right-icon.js +13 -0
- package/dist/component/Icons/insert-row-bottom-icon.d.ts +6 -0
- package/dist/component/Icons/insert-row-bottom-icon.js +13 -0
- package/dist/component/Icons/insert-row-top-icon.d.ts +6 -0
- package/dist/component/Icons/insert-row-top-icon.js +13 -0
- package/dist/component/Icons/italic-icon.d.ts +6 -0
- package/dist/component/Icons/italic-icon.js +13 -0
- package/dist/component/Icons/layout-left-2-line-icon.d.ts +6 -0
- package/dist/component/Icons/layout-left-2-line-icon.js +13 -0
- package/dist/component/Icons/layout-top-2-line-icon.d.ts +6 -0
- package/dist/component/Icons/layout-top-2-line-icon.js +13 -0
- package/dist/component/Icons/link-icon.d.ts +6 -0
- package/dist/component/Icons/link-icon.js +13 -0
- package/dist/component/Icons/link-unlink-icon.d.ts +6 -0
- package/dist/component/Icons/link-unlink-icon.js +13 -0
- package/dist/component/Icons/list-check-2-icon.d.ts +6 -0
- package/dist/component/Icons/list-check-2-icon.js +13 -0
- package/dist/component/Icons/list-check-3-icon.d.ts +6 -0
- package/dist/component/Icons/list-check-3-icon.js +13 -0
- package/dist/component/Icons/list-ordered-2-icon.d.ts +6 -0
- package/dist/component/Icons/list-ordered-2-icon.js +13 -0
- package/dist/component/Icons/list-unordered-icon.d.ts +6 -0
- package/dist/component/Icons/list-unordered-icon.js +13 -0
- package/dist/component/Icons/markdown-line-icon.d.ts +6 -0
- package/dist/component/Icons/markdown-line-icon.js +13 -0
- package/dist/component/Icons/markup-line-icon.d.ts +6 -0
- package/dist/component/Icons/markup-line-icon.js +13 -0
- package/dist/component/Icons/menu-fold-2-fill-icon.d.ts +6 -0
- package/dist/component/Icons/menu-fold-2-fill-icon.js +13 -0
- package/dist/component/Icons/merge-cells-horizontal-icon.d.ts +6 -0
- package/dist/component/Icons/merge-cells-horizontal-icon.js +13 -0
- package/dist/component/Icons/merge-cells-vertical-icon.d.ts +6 -0
- package/dist/component/Icons/merge-cells-vertical-icon.js +13 -0
- package/dist/component/Icons/mind-map-icon.d.ts +6 -0
- package/dist/component/Icons/mind-map-icon.js +13 -0
- package/dist/component/Icons/more-line-icon.d.ts +6 -0
- package/dist/component/Icons/more-line-icon.js +13 -0
- package/dist/component/Icons/movie-line-icon.d.ts +6 -0
- package/dist/component/Icons/movie-line-icon.js +13 -0
- package/dist/component/Icons/music-2-line-icon.d.ts +6 -0
- package/dist/component/Icons/music-2-line-icon.js +13 -0
- package/dist/component/Icons/node-tree-icon.d.ts +6 -0
- package/dist/component/Icons/node-tree-icon.js +13 -0
- package/dist/component/Icons/notification-3-line-icon.d.ts +6 -0
- package/dist/component/Icons/notification-3-line-icon.js +13 -0
- package/dist/component/Icons/organization-chart-icon.d.ts +6 -0
- package/dist/component/Icons/organization-chart-icon.js +13 -0
- package/dist/component/Icons/pause-line-icon.d.ts +6 -0
- package/dist/component/Icons/pause-line-icon.js +13 -0
- package/dist/component/Icons/play-line-icon.d.ts +6 -0
- package/dist/component/Icons/play-line-icon.js +13 -0
- package/dist/component/Icons/quote-text-icon.d.ts +6 -0
- package/dist/component/Icons/quote-text-icon.js +13 -0
- package/dist/component/Icons/repeat-2-line-icon.d.ts +6 -0
- package/dist/component/Icons/repeat-2-line-icon.js +13 -0
- package/dist/component/Icons/reset-left-fill-icon.d.ts +6 -0
- package/dist/component/Icons/reset-left-fill-icon.js +13 -0
- package/dist/component/Icons/scissors-cut-line-icon.d.ts +6 -0
- package/dist/component/Icons/scissors-cut-line-icon.js +13 -0
- package/dist/component/Icons/screenshot-line-icon.d.ts +6 -0
- package/dist/component/Icons/screenshot-line-icon.js +13 -0
- package/dist/component/Icons/scroll-to-bottom-line-icon.d.ts +6 -0
- package/dist/component/Icons/scroll-to-bottom-line-icon.js +13 -0
- package/dist/component/Icons/separator-icon.d.ts +6 -0
- package/dist/component/Icons/separator-icon.js +13 -0
- package/dist/component/Icons/share-box-line-icon.d.ts +6 -0
- package/dist/component/Icons/share-box-line-icon.js +13 -0
- package/dist/component/Icons/slash-commands-2-icon.d.ts +3 -0
- package/dist/component/Icons/slash-commands-2-icon.js +13 -0
- package/dist/component/Icons/speed-line-icon.d.ts +6 -0
- package/dist/component/Icons/speed-line-icon.js +13 -0
- package/dist/component/Icons/split-cells-horizontal-icon.d.ts +6 -0
- package/dist/component/Icons/split-cells-horizontal-icon.js +13 -0
- package/dist/component/Icons/split-cells-vertical-icon.d.ts +6 -0
- package/dist/component/Icons/split-cells-vertical-icon.js +13 -0
- package/dist/component/Icons/square-root-icon.d.ts +6 -0
- package/dist/component/Icons/square-root-icon.js +13 -0
- package/dist/component/Icons/strikethrough-icon.d.ts +6 -0
- package/dist/component/Icons/strikethrough-icon.js +13 -0
- package/dist/component/Icons/subscript-icon.d.ts +6 -0
- package/dist/component/Icons/subscript-icon.js +13 -0
- package/dist/component/Icons/superscript-icon.d.ts +6 -0
- package/dist/component/Icons/superscript-icon.js +13 -0
- package/dist/component/Icons/table-2-icon.d.ts +6 -0
- package/dist/component/Icons/table-2-icon.js +13 -0
- package/dist/component/Icons/text-icon.d.ts +6 -0
- package/dist/component/Icons/text-icon.js +13 -0
- package/dist/component/Icons/text-wrap-icon.d.ts +6 -0
- package/dist/component/Icons/text-wrap-icon.js +13 -0
- package/dist/component/Icons/title-icon.d.ts +6 -0
- package/dist/component/Icons/title-icon.js +13 -0
- package/dist/component/Icons/underline-icon.d.ts +6 -0
- package/dist/component/Icons/underline-icon.js +13 -0
- package/dist/component/Icons/upload-cloud-2-line-icon.d.ts +6 -0
- package/dist/component/Icons/upload-cloud-2-line-icon.js +13 -0
- package/dist/component/Icons/upload-icon.d.ts +6 -0
- package/dist/component/Icons/upload-icon.js +13 -0
- package/dist/component/Icons/volume-mute-line-icon.d.ts +6 -0
- package/dist/component/Icons/volume-mute-line-icon.js +13 -0
- package/dist/component/Icons/volume-up-line-icon.d.ts +6 -0
- package/dist/component/Icons/volume-up-line-icon.js +13 -0
- package/dist/component/ListHover/index.d.ts +7 -0
- package/dist/component/ListHover/index.js +367 -0
- package/dist/component/Menu/index.d.ts +4 -0
- package/dist/component/Menu/index.js +189 -0
- package/dist/component/Toolbar/EditorAlignSelect.d.ts +7 -0
- package/dist/component/Toolbar/EditorAlignSelect.js +176 -0
- package/dist/component/Toolbar/EditorCode.d.ts +7 -0
- package/dist/component/Toolbar/EditorCode.js +150 -0
- package/dist/component/Toolbar/EditorFontBgColor.d.ts +7 -0
- package/dist/component/Toolbar/EditorFontBgColor.js +244 -0
- package/dist/component/Toolbar/EditorFontColor.d.ts +7 -0
- package/dist/component/Toolbar/EditorFontColor.js +246 -0
- package/dist/component/Toolbar/EditorFontSize.d.ts +7 -0
- package/dist/component/Toolbar/EditorFontSize.js +137 -0
- package/dist/component/Toolbar/EditorHeading.d.ts +7 -0
- package/dist/component/Toolbar/EditorHeading.js +174 -0
- package/dist/component/Toolbar/EditorInsert/index.d.ts +7 -0
- package/dist/component/Toolbar/EditorInsert/index.js +186 -0
- package/dist/component/Toolbar/EditorListSelect.d.ts +7 -0
- package/dist/component/Toolbar/EditorListSelect.js +163 -0
- package/dist/component/Toolbar/EditorMath.d.ts +7 -0
- package/dist/component/Toolbar/EditorMath.js +148 -0
- package/dist/component/Toolbar/EditorMore/NotificationDialog.d.ts +7 -0
- package/dist/component/Toolbar/EditorMore/NotificationDialog.js +72 -0
- package/dist/component/Toolbar/EditorMore/index.d.ts +7 -0
- package/dist/component/Toolbar/EditorMore/index.js +101 -0
- package/dist/component/Toolbar/EditorScript.d.ts +7 -0
- package/dist/component/Toolbar/EditorScript.js +150 -0
- package/dist/component/Toolbar/EditorVerticalAlignSelect.d.ts +7 -0
- package/dist/component/Toolbar/EditorVerticalAlignSelect.js +163 -0
- package/dist/component/Toolbar/Item.d.ts +15 -0
- package/dist/component/Toolbar/Item.js +69 -0
- package/dist/component/Toolbar/index.d.ts +13 -0
- package/dist/component/Toolbar/index.js +13 -0
- package/dist/component/index.d.ts +1 -0
- package/dist/component/index.js +1 -0
- package/dist/contants/enums.d.ts +30 -0
- package/dist/contants/enums.js +98 -0
- package/dist/contants/highlight.d.ts +4 -0
- package/dist/contants/highlight.js +580 -0
- package/dist/contants/placeholder.d.ts +16 -0
- package/dist/contants/placeholder.js +16 -0
- package/dist/contants/shortcut-key.d.ts +48 -0
- package/dist/contants/shortcut-key.js +224 -0
- package/dist/contants/slash-commands.d.ts +13 -0
- package/dist/contants/slash-commands.js +313 -0
- package/dist/extension/component/Attachment/Insert.d.ts +13 -0
- package/dist/extension/component/Attachment/Insert.js +222 -0
- package/dist/extension/component/Attachment/Readonly.d.ts +9 -0
- package/dist/extension/component/Attachment/Readonly.js +93 -0
- package/dist/extension/component/Attachment/index.d.ts +13 -0
- package/dist/extension/component/Attachment/index.js +317 -0
- package/dist/extension/component/Audio/Insert.d.ts +10 -0
- package/dist/extension/component/Audio/Insert.js +351 -0
- package/dist/extension/component/Audio/Readonly.d.ts +8 -0
- package/dist/extension/component/Audio/Readonly.js +428 -0
- package/dist/extension/component/Audio/index.d.ts +14 -0
- package/dist/extension/component/Audio/index.js +740 -0
- package/dist/extension/component/CodeBlock/Readonly.d.ts +4 -0
- package/dist/extension/component/CodeBlock/Readonly.js +135 -0
- package/dist/extension/component/CodeBlock/index.d.ts +4 -0
- package/dist/extension/component/CodeBlock/index.js +296 -0
- package/dist/extension/component/CustomLink/Insert.d.ts +0 -0
- package/dist/extension/component/CustomLink/Insert.js +176 -0
- package/dist/extension/component/CustomLink/Readonly.d.ts +0 -0
- package/dist/extension/component/CustomLink/Readonly.js +106 -0
- package/dist/extension/component/CustomLink/index.d.ts +0 -0
- package/dist/extension/component/CustomLink/index.js +440 -0
- package/dist/extension/component/EmojiList/index.d.ts +14 -0
- package/dist/extension/component/EmojiList/index.js +104 -0
- package/dist/extension/component/Image/Crop.d.ts +12 -0
- package/dist/extension/component/Image/Crop.js +218 -0
- package/dist/extension/component/Image/Insert.d.ts +10 -0
- package/dist/extension/component/Image/Insert.js +309 -0
- package/dist/extension/component/Image/Readonly.d.ts +8 -0
- package/dist/extension/component/Image/Readonly.js +52 -0
- package/dist/extension/component/Image/index.d.ts +21 -0
- package/dist/extension/component/Image/index.js +372 -0
- package/dist/extension/component/Link/Insert.d.ts +10 -0
- package/dist/extension/component/Link/Insert.js +253 -0
- package/dist/extension/component/Link/Readonly.d.ts +8 -0
- package/dist/extension/component/Link/Readonly.js +102 -0
- package/dist/extension/component/Link/index.d.ts +12 -0
- package/dist/extension/component/Link/index.js +510 -0
- package/dist/extension/component/Mathematics/block/Readonly.d.ts +9 -0
- package/dist/extension/component/Mathematics/block/Readonly.js +36 -0
- package/dist/extension/component/Mathematics/block/index.d.ts +8 -0
- package/dist/extension/component/Mathematics/block/index.js +149 -0
- package/dist/extension/component/Mathematics/index.d.ts +3 -0
- package/dist/extension/component/Mathematics/index.js +3 -0
- package/dist/extension/component/Mathematics/inline/Readonly.d.ts +9 -0
- package/dist/extension/component/Mathematics/inline/Readonly.js +34 -0
- package/dist/extension/component/Mathematics/inline/index.d.ts +8 -0
- package/dist/extension/component/Mathematics/inline/index.js +148 -0
- package/dist/extension/component/MentionList/index.d.ts +13 -0
- package/dist/extension/component/MentionList/index.js +92 -0
- package/dist/extension/component/SlashCommandsList/index.d.ts +4 -0
- package/dist/extension/component/SlashCommandsList/index.js +121 -0
- package/dist/extension/component/Table/ContextMenu.d.ts +10 -0
- package/dist/extension/component/Table/ContextMenu.js +228 -0
- package/dist/extension/component/Table/TableContextMenuPlugin.d.ts +9 -0
- package/dist/extension/component/Table/TableContextMenuPlugin.js +272 -0
- package/dist/extension/component/Table/index.d.ts +2 -0
- package/dist/extension/component/Table/index.js +2 -0
- package/dist/extension/component/UploadProgress/index.d.ts +10 -0
- package/dist/extension/component/UploadProgress/index.js +103 -0
- package/dist/extension/component/Video/Insert.d.ts +10 -0
- package/dist/extension/component/Video/Insert.js +257 -0
- package/dist/extension/component/Video/Readonly.d.ts +8 -0
- package/dist/extension/component/Video/Readonly.js +41 -0
- package/dist/extension/component/Video/index.d.ts +14 -0
- package/dist/extension/component/Video/index.js +166 -0
- package/dist/extension/extension/SlashCommands.d.ts +3 -0
- package/dist/extension/extension/SlashCommands.js +25 -0
- package/dist/extension/extension/index.d.ts +1 -0
- package/dist/extension/extension/index.js +1 -0
- package/dist/extension/index.d.ts +2 -0
- package/dist/extension/index.js +176 -0
- package/dist/extension/mark/Link.d.ts +0 -0
- package/dist/extension/mark/Link.js +58 -0
- package/dist/extension/mark/index.d.ts +0 -0
- package/dist/extension/mark/index.js +1 -0
- package/dist/extension/node/Attachment.d.ts +28 -0
- package/dist/extension/node/Attachment.js +227 -0
- package/dist/extension/node/Audio.d.ts +23 -0
- package/dist/extension/node/Audio.js +194 -0
- package/dist/extension/node/CodeBlockLowlight.d.ts +1 -0
- package/dist/extension/node/CodeBlockLowlight.js +40 -0
- package/dist/extension/node/Details.d.ts +3 -0
- package/dist/extension/node/Details.js +39 -0
- package/dist/extension/node/Emoji.d.ts +1 -0
- package/dist/extension/node/Emoji.js +7 -0
- package/dist/extension/node/FileHandler.d.ts +4 -0
- package/dist/extension/node/FileHandler.js +294 -0
- package/dist/extension/node/Image.d.ts +3 -0
- package/dist/extension/node/Image.js +38 -0
- package/dist/extension/node/Link/helpers/autolink.d.ts +15 -0
- package/dist/extension/node/Link/helpers/autolink.js +162 -0
- package/dist/extension/node/Link/helpers/clickHandler.d.ts +10 -0
- package/dist/extension/node/Link/helpers/clickHandler.js +46 -0
- package/dist/extension/node/Link/helpers/pasteHandler.d.ts +10 -0
- package/dist/extension/node/Link/helpers/pasteHandler.js +32 -0
- package/dist/extension/node/Link/helpers/whitespace.d.ts +4 -0
- package/dist/extension/node/Link/helpers/whitespace.js +6 -0
- package/dist/extension/node/Link/index.d.ts +162 -0
- package/dist/extension/node/Link/index.js +461 -0
- package/dist/extension/node/ListKit.d.ts +2 -0
- package/dist/extension/node/ListKit.js +23 -0
- package/dist/extension/node/Mathematics.d.ts +27 -0
- package/dist/extension/node/Mathematics.js +97 -0
- package/dist/extension/node/Mention.d.ts +2 -0
- package/dist/extension/node/Mention.js +10 -0
- package/dist/extension/node/Table.d.ts +5 -0
- package/dist/extension/node/Table.js +174 -0
- package/dist/extension/node/TableOfContents/index.d.ts +9 -0
- package/dist/extension/node/TableOfContents/index.js +391 -0
- package/dist/extension/node/TableOfContents/plugin.d.ts +6 -0
- package/dist/extension/node/TableOfContents/plugin.js +58 -0
- package/dist/extension/node/TableOfContents/type.d.ts +45 -0
- package/dist/extension/node/TableOfContents/type.js +1 -0
- package/dist/extension/node/TableOfContents/utils.d.ts +6 -0
- package/dist/extension/node/TableOfContents/utils.js +70 -0
- package/dist/extension/node/UploadProgress.d.ts +21 -0
- package/dist/extension/node/UploadProgress.js +135 -0
- package/dist/extension/node/VerticalAlign.d.ts +49 -0
- package/dist/extension/node/VerticalAlign.js +88 -0
- package/dist/extension/node/Video.d.ts +23 -0
- package/dist/extension/node/Video.js +195 -0
- package/dist/extension/node/Youtube.d.ts +3 -0
- package/dist/extension/node/Youtube.js +14 -0
- package/dist/extension/node/index.d.ts +17 -0
- package/dist/extension/node/index.js +17 -0
- package/dist/extension/suggestion/emoji.d.ts +3 -0
- package/dist/extension/suggestion/emoji.js +57 -0
- package/dist/extension/suggestion/mention.d.ts +4 -0
- package/dist/extension/suggestion/mention.js +88 -0
- package/dist/extension/suggestion/slash.d.ts +34 -0
- package/dist/extension/suggestion/slash.js +63 -0
- package/dist/hook/fn.d.ts +13 -0
- package/dist/hook/fn.js +37 -0
- package/dist/hook/index.d.ts +4 -0
- package/dist/hook/index.js +110 -0
- package/dist/index.css +372 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +7 -0
- package/dist/themes/color.d.ts +5 -0
- package/dist/themes/color.js +4 -0
- package/dist/themes/componentStyleOverrides.d.ts +396 -0
- package/dist/themes/componentStyleOverrides.js +431 -0
- package/dist/themes/custom.d.ts +5 -0
- package/dist/themes/custom.js +4 -0
- package/dist/themes/dark.d.ts +86 -0
- package/dist/themes/dark.js +86 -0
- package/dist/themes/index.d.ts +19 -0
- package/dist/themes/index.js +37 -0
- package/dist/themes/light.d.ts +86 -0
- package/dist/themes/light.js +86 -0
- package/dist/themes/palette.d.ts +94 -0
- package/dist/themes/palette.js +24 -0
- package/dist/themes/shadows.d.ts +2 -0
- package/dist/themes/shadows.js +3 -0
- package/dist/themes/themeContext.d.ts +8 -0
- package/dist/themes/themeContext.js +3 -0
- package/dist/themes/typography.d.ts +6 -0
- package/dist/themes/typography.js +8 -0
- package/dist/type/index.d.ts +112 -0
- package/dist/type/index.js +1 -0
- package/dist/types/images.d.ts +19 -0
- package/dist/util/fileDownload.d.ts +16 -0
- package/dist/util/fileDownload.js +268 -0
- package/dist/util/fileHandler.d.ts +7 -0
- package/dist/util/fileHandler.js +79 -0
- package/dist/util/floating.d.ts +2 -0
- package/dist/util/floating.js +22 -0
- package/dist/util/index.d.ts +11 -0
- package/dist/util/index.js +39 -0
- package/dist/util/migrateMathStrings.d.ts +73 -0
- package/dist/util/migrateMathStrings.js +192 -0
- package/dist/util/resourceExtractor.d.ts +15 -0
- package/dist/util/resourceExtractor.js +62 -0
- package/dist/util/shortcutKey.d.ts +2 -0
- package/dist/util/shortcutKey.js +9 -0
- package/package.json +135 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { NodeType } from '@tiptap/pm/model';
|
|
2
|
+
import { Plugin } from '@tiptap/pm/state';
|
|
3
|
+
type AutolinkOptions = {
|
|
4
|
+
type: NodeType;
|
|
5
|
+
defaultProtocol: string;
|
|
6
|
+
validate: (url: string) => boolean;
|
|
7
|
+
shouldAutoLink: (url: string) => boolean;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* This plugin allows you to automatically add links to your editor.
|
|
11
|
+
* @param options The plugin options
|
|
12
|
+
* @returns The plugin instance
|
|
13
|
+
*/
|
|
14
|
+
export declare function autolink(options: AutolinkOptions): Plugin;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
8
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
11
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
12
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
+
import { combineTransactionSteps, findChildrenInRange, getChangedRanges } from '@tiptap/core';
|
|
14
|
+
import { Plugin, PluginKey } from '@tiptap/pm/state';
|
|
15
|
+
import { tokenize } from 'linkifyjs';
|
|
16
|
+
import { UNICODE_WHITESPACE_REGEX, UNICODE_WHITESPACE_REGEX_END } from "./whitespace";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Check if the provided tokens form a valid link structure, which can either be a single link token
|
|
20
|
+
* or a link token surrounded by parentheses or square brackets.
|
|
21
|
+
*
|
|
22
|
+
* This ensures that only complete and valid text is hyperlinked, preventing cases where a valid
|
|
23
|
+
* top-level domain (TLD) is immediately followed by an invalid character, like a number. For
|
|
24
|
+
* example, with the `find` method from Linkify, entering `example.com1` would result in
|
|
25
|
+
* `example.com` being linked and the trailing `1` left as plain text. By using the `tokenize`
|
|
26
|
+
* method, we can perform more comprehensive validation on the input text.
|
|
27
|
+
*/
|
|
28
|
+
function isValidLinkStructure(tokens) {
|
|
29
|
+
if (tokens.length === 1) {
|
|
30
|
+
return tokens[0].isLink;
|
|
31
|
+
}
|
|
32
|
+
if (tokens.length === 3 && tokens[1].isLink) {
|
|
33
|
+
return ['()', '[]'].includes(tokens[0].value + tokens[2].value);
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* This plugin allows you to automatically add links to your editor.
|
|
39
|
+
* @param options The plugin options
|
|
40
|
+
* @returns The plugin instance
|
|
41
|
+
*/
|
|
42
|
+
export function autolink(options) {
|
|
43
|
+
return new Plugin({
|
|
44
|
+
key: new PluginKey('autolink'),
|
|
45
|
+
appendTransaction: function appendTransaction(transactions, oldState, newState) {
|
|
46
|
+
/**
|
|
47
|
+
* Does the transaction change the document?
|
|
48
|
+
*/
|
|
49
|
+
var docChanges = transactions.some(function (transaction) {
|
|
50
|
+
return transaction.docChanged;
|
|
51
|
+
}) && !oldState.doc.eq(newState.doc);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Prevent autolink if the transaction is not a document change or if the transaction has the meta `preventAutolink`.
|
|
55
|
+
*/
|
|
56
|
+
var preventAutolink = transactions.some(function (transaction) {
|
|
57
|
+
return transaction.getMeta('preventAutolink');
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Prevent autolink if the transaction is not a document change
|
|
62
|
+
* or if the transaction has the meta `preventAutolink`.
|
|
63
|
+
*/
|
|
64
|
+
if (!docChanges || preventAutolink) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
var tr = newState.tr;
|
|
68
|
+
var transform = combineTransactionSteps(oldState.doc, _toConsumableArray(transactions));
|
|
69
|
+
var changes = getChangedRanges(transform);
|
|
70
|
+
changes.forEach(function (_ref) {
|
|
71
|
+
var newRange = _ref.newRange;
|
|
72
|
+
// Now let’s see if we can add new links.
|
|
73
|
+
var nodesInChangedRanges = findChildrenInRange(newState.doc, newRange, function (node) {
|
|
74
|
+
return node.isTextblock;
|
|
75
|
+
});
|
|
76
|
+
var textBlock;
|
|
77
|
+
var textBeforeWhitespace;
|
|
78
|
+
if (nodesInChangedRanges.length > 1) {
|
|
79
|
+
// Grab the first node within the changed ranges (ex. the first of two paragraphs when hitting enter).
|
|
80
|
+
textBlock = nodesInChangedRanges[0];
|
|
81
|
+
textBeforeWhitespace = newState.doc.textBetween(textBlock.pos, textBlock.pos + textBlock.node.nodeSize, undefined, ' ');
|
|
82
|
+
} else if (nodesInChangedRanges.length) {
|
|
83
|
+
var endText = newState.doc.textBetween(newRange.from, newRange.to, ' ', ' ');
|
|
84
|
+
if (!UNICODE_WHITESPACE_REGEX_END.test(endText)) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
textBlock = nodesInChangedRanges[0];
|
|
88
|
+
textBeforeWhitespace = newState.doc.textBetween(textBlock.pos, newRange.to, undefined, ' ');
|
|
89
|
+
}
|
|
90
|
+
if (textBlock && textBeforeWhitespace) {
|
|
91
|
+
var wordsBeforeWhitespace = textBeforeWhitespace.split(UNICODE_WHITESPACE_REGEX).filter(Boolean);
|
|
92
|
+
if (wordsBeforeWhitespace.length <= 0) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
var lastWordBeforeSpace = wordsBeforeWhitespace[wordsBeforeWhitespace.length - 1];
|
|
96
|
+
var lastWordAndBlockOffset = textBlock.pos + textBeforeWhitespace.lastIndexOf(lastWordBeforeSpace);
|
|
97
|
+
if (!lastWordBeforeSpace) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
var linksBeforeSpace = tokenize(lastWordBeforeSpace).map(function (t) {
|
|
101
|
+
return t.toObject(options.defaultProtocol);
|
|
102
|
+
});
|
|
103
|
+
if (!isValidLinkStructure(linksBeforeSpace)) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
linksBeforeSpace.filter(function (link) {
|
|
107
|
+
return link.isLink;
|
|
108
|
+
})
|
|
109
|
+
// Calculate link position.
|
|
110
|
+
.map(function (link) {
|
|
111
|
+
return _objectSpread(_objectSpread({}, link), {}, {
|
|
112
|
+
from: lastWordAndBlockOffset + link.start + 1,
|
|
113
|
+
to: lastWordAndBlockOffset + link.end + 1
|
|
114
|
+
});
|
|
115
|
+
})
|
|
116
|
+
// ignore link inside code node
|
|
117
|
+
.filter(function (link) {
|
|
118
|
+
if (!newState.schema.nodes.code) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
var hasCodeNode = false;
|
|
122
|
+
newState.doc.nodesBetween(link.from, link.to, function (node) {
|
|
123
|
+
if (node.type === newState.schema.nodes.code) {
|
|
124
|
+
hasCodeNode = true;
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
return !hasCodeNode;
|
|
129
|
+
})
|
|
130
|
+
// validate link
|
|
131
|
+
.filter(function (link) {
|
|
132
|
+
return options.validate(link.value);
|
|
133
|
+
})
|
|
134
|
+
// check whether should autolink
|
|
135
|
+
.filter(function (link) {
|
|
136
|
+
return options.shouldAutoLink(link.value);
|
|
137
|
+
})
|
|
138
|
+
// Add link node.
|
|
139
|
+
.forEach(function (link) {
|
|
140
|
+
var hasLinkNode = false;
|
|
141
|
+
newState.doc.nodesBetween(link.from, link.to, function (node) {
|
|
142
|
+
if (node.type === options.type) {
|
|
143
|
+
hasLinkNode = true;
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
if (hasLinkNode) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
tr.replaceWith(link.from, link.to, options.type.create({
|
|
151
|
+
href: link.href
|
|
152
|
+
}));
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
if (!tr.steps.length) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
return tr;
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Editor } from '@tiptap/core';
|
|
2
|
+
import type { NodeType } from '@tiptap/pm/model';
|
|
3
|
+
import { Plugin } from '@tiptap/pm/state';
|
|
4
|
+
type ClickHandlerOptions = {
|
|
5
|
+
type: NodeType;
|
|
6
|
+
editor: Editor;
|
|
7
|
+
enableClickSelection?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare function clickHandler(options: ClickHandlerOptions): Plugin;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { getAttributes } from '@tiptap/core';
|
|
2
|
+
import { Plugin, PluginKey } from '@tiptap/pm/state';
|
|
3
|
+
export function clickHandler(options) {
|
|
4
|
+
return new Plugin({
|
|
5
|
+
key: new PluginKey('handleClickLink'),
|
|
6
|
+
props: {
|
|
7
|
+
handleClick: function handleClick(view, pos, event) {
|
|
8
|
+
var _link$href, _link, _link$target, _link2;
|
|
9
|
+
if (event.button !== 0) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
if (!view.editable) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
var link = null;
|
|
16
|
+
if (event.target instanceof HTMLAnchorElement) {
|
|
17
|
+
link = event.target;
|
|
18
|
+
} else {
|
|
19
|
+
var a = event.target;
|
|
20
|
+
var els = [];
|
|
21
|
+
while (a.nodeName !== 'DIV') {
|
|
22
|
+
els.push(a);
|
|
23
|
+
a = a.parentNode;
|
|
24
|
+
}
|
|
25
|
+
link = els.find(function (value) {
|
|
26
|
+
return value.nodeName === 'A';
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (!link) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
var attrs = getAttributes(view.state, options.type.name);
|
|
33
|
+
var href = (_link$href = (_link = link) === null || _link === void 0 ? void 0 : _link.href) !== null && _link$href !== void 0 ? _link$href : attrs.href;
|
|
34
|
+
var target = (_link$target = (_link2 = link) === null || _link2 === void 0 ? void 0 : _link2.target) !== null && _link$target !== void 0 ? _link$target : attrs.target;
|
|
35
|
+
if (options.enableClickSelection) {
|
|
36
|
+
options.editor.commands.selectNodeForward();
|
|
37
|
+
}
|
|
38
|
+
if (link && href) {
|
|
39
|
+
window.open(href, target);
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Editor } from '@tiptap/core';
|
|
2
|
+
import type { NodeType } from '@tiptap/pm/model';
|
|
3
|
+
import { Plugin } from '@tiptap/pm/state';
|
|
4
|
+
type PasteHandlerOptions = {
|
|
5
|
+
editor: Editor;
|
|
6
|
+
defaultProtocol: string;
|
|
7
|
+
type: NodeType;
|
|
8
|
+
};
|
|
9
|
+
export declare function pasteHandler(options: PasteHandlerOptions): Plugin;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Plugin, PluginKey } from '@tiptap/pm/state';
|
|
2
|
+
import { find } from 'linkifyjs';
|
|
3
|
+
export function pasteHandler(options) {
|
|
4
|
+
return new Plugin({
|
|
5
|
+
key: new PluginKey('handlePasteLink'),
|
|
6
|
+
props: {
|
|
7
|
+
handlePaste: function handlePaste(view, event, slice) {
|
|
8
|
+
var state = view.state;
|
|
9
|
+
var selection = state.selection;
|
|
10
|
+
var empty = selection.empty;
|
|
11
|
+
if (empty) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
var textContent = '';
|
|
15
|
+
slice.content.forEach(function (node) {
|
|
16
|
+
textContent += node.textContent;
|
|
17
|
+
});
|
|
18
|
+
var link = find(textContent, {
|
|
19
|
+
defaultProtocol: options.defaultProtocol
|
|
20
|
+
}).find(function (item) {
|
|
21
|
+
return item.isLink && item.value === textContent;
|
|
22
|
+
});
|
|
23
|
+
if (!textContent || !link) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return options.editor.commands.setNode(options.type, {
|
|
27
|
+
href: link.href
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const UNICODE_WHITESPACE_PATTERN = "[\0- \u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]";
|
|
2
|
+
export declare const UNICODE_WHITESPACE_REGEX: RegExp;
|
|
3
|
+
export declare const UNICODE_WHITESPACE_REGEX_END: RegExp;
|
|
4
|
+
export declare const UNICODE_WHITESPACE_REGEX_GLOBAL: RegExp;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// From DOMPurify
|
|
2
|
+
// https://github.com/cure53/DOMPurify/blob/main/src/regexp.ts
|
|
3
|
+
export var UNICODE_WHITESPACE_PATTERN = "[\0- \xA0\u1680\u180E\u2000-\u2029\u205F\u3000]";
|
|
4
|
+
export var UNICODE_WHITESPACE_REGEX = new RegExp(UNICODE_WHITESPACE_PATTERN);
|
|
5
|
+
export var UNICODE_WHITESPACE_REGEX_END = new RegExp("".concat(UNICODE_WHITESPACE_PATTERN, "$"));
|
|
6
|
+
export var UNICODE_WHITESPACE_REGEX_GLOBAL = new RegExp(UNICODE_WHITESPACE_PATTERN, 'g');
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { Node } from '@tiptap/core';
|
|
2
|
+
export interface LinkProtocolOptions {
|
|
3
|
+
/**
|
|
4
|
+
* The protocol scheme to be registered.
|
|
5
|
+
* @default '''
|
|
6
|
+
* @example 'ftp'
|
|
7
|
+
* @example 'git'
|
|
8
|
+
*/
|
|
9
|
+
scheme: string;
|
|
10
|
+
/**
|
|
11
|
+
* If enabled, it allows optional slashes after the protocol.
|
|
12
|
+
* @default false
|
|
13
|
+
* @example true
|
|
14
|
+
*/
|
|
15
|
+
optionalSlashes?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated The default behavior is now to open links when the editor is not editable.
|
|
19
|
+
*/
|
|
20
|
+
type DeprecatedOpenWhenNotEditable = 'whenNotEditable';
|
|
21
|
+
export interface LinkOptions {
|
|
22
|
+
/**
|
|
23
|
+
* If enabled, the extension will automatically add links as you type.
|
|
24
|
+
* @default true
|
|
25
|
+
* @example false
|
|
26
|
+
*/
|
|
27
|
+
autolink: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* An array of custom protocols to be registered with linkifyjs.
|
|
30
|
+
* @default []
|
|
31
|
+
* @example ['ftp', 'git']
|
|
32
|
+
*/
|
|
33
|
+
protocols: Array<LinkProtocolOptions | string>;
|
|
34
|
+
/**
|
|
35
|
+
* Default protocol to use when no protocol is specified.
|
|
36
|
+
* @default 'http'
|
|
37
|
+
*/
|
|
38
|
+
defaultProtocol: string;
|
|
39
|
+
/**
|
|
40
|
+
* If enabled, links will be opened on click.
|
|
41
|
+
* @default true
|
|
42
|
+
* @example false
|
|
43
|
+
*/
|
|
44
|
+
openOnClick: boolean | DeprecatedOpenWhenNotEditable;
|
|
45
|
+
/**
|
|
46
|
+
* If enabled, the link will be selected when clicked.
|
|
47
|
+
* @default false
|
|
48
|
+
* @example true
|
|
49
|
+
*/
|
|
50
|
+
enableClickSelection: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Adds a link to the current selection if the pasted content only contains an url.
|
|
53
|
+
* @default true
|
|
54
|
+
* @example false
|
|
55
|
+
*/
|
|
56
|
+
linkOnPaste: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* HTML attributes to add to the link element.
|
|
59
|
+
* @default {}
|
|
60
|
+
* @example { class: 'foo' }
|
|
61
|
+
*/
|
|
62
|
+
HTMLAttributes: Record<string, any>;
|
|
63
|
+
/**
|
|
64
|
+
* @deprecated Use the `shouldAutoLink` option instead.
|
|
65
|
+
* A validation function that modifies link verification for the auto linker.
|
|
66
|
+
* @param url - The url to be validated.
|
|
67
|
+
* @returns - True if the url is valid, false otherwise.
|
|
68
|
+
*/
|
|
69
|
+
validate: (url: string) => boolean;
|
|
70
|
+
/**
|
|
71
|
+
* A validation function which is used for configuring link verification for preventing XSS attacks.
|
|
72
|
+
* Only modify this if you know what you're doing.
|
|
73
|
+
*
|
|
74
|
+
* @returns {boolean} `true` if the URL is valid, `false` otherwise.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* isAllowedUri: (url, { defaultValidate, protocols, defaultProtocol }) => {
|
|
78
|
+
* return url.startsWith('./') || defaultValidate(url)
|
|
79
|
+
* }
|
|
80
|
+
*/
|
|
81
|
+
isAllowedUri: (
|
|
82
|
+
/**
|
|
83
|
+
* The URL to be validated.
|
|
84
|
+
*/
|
|
85
|
+
url: string, ctx: {
|
|
86
|
+
/**
|
|
87
|
+
* The default validation function.
|
|
88
|
+
*/
|
|
89
|
+
defaultValidate: (url: string) => boolean;
|
|
90
|
+
/**
|
|
91
|
+
* An array of allowed protocols for the URL (e.g., "http", "https"). As defined in the `protocols` option.
|
|
92
|
+
*/
|
|
93
|
+
protocols: Array<LinkProtocolOptions | string>;
|
|
94
|
+
/**
|
|
95
|
+
* A string that represents the default protocol (e.g., 'http'). As defined in the `defaultProtocol` option.
|
|
96
|
+
*/
|
|
97
|
+
defaultProtocol: string;
|
|
98
|
+
}) => boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Determines whether a valid link should be automatically linked in the content.
|
|
101
|
+
*
|
|
102
|
+
* @param {string} url - The URL that has already been validated.
|
|
103
|
+
* @returns {boolean} - True if the link should be auto-linked; false if it should not be auto-linked.
|
|
104
|
+
*/
|
|
105
|
+
shouldAutoLink: (url: string) => boolean;
|
|
106
|
+
}
|
|
107
|
+
declare module '@tiptap/core' {
|
|
108
|
+
interface Commands<ReturnType> {
|
|
109
|
+
inlineLink: {
|
|
110
|
+
/**
|
|
111
|
+
* Set a link mark
|
|
112
|
+
* @param attributes The link attributes
|
|
113
|
+
* @example editor.commands.setInlineLink({ href: 'https://tiptap.dev' })
|
|
114
|
+
*/
|
|
115
|
+
setInlineLink: (attributes: {
|
|
116
|
+
href: string;
|
|
117
|
+
target?: string | null;
|
|
118
|
+
rel?: string | null;
|
|
119
|
+
class?: string | null;
|
|
120
|
+
title?: string | null;
|
|
121
|
+
type?: string | null;
|
|
122
|
+
}) => ReturnType;
|
|
123
|
+
/**
|
|
124
|
+
* Toggle a link mark
|
|
125
|
+
* @param attributes The link attributes
|
|
126
|
+
* @example editor.commands.toggleInlineLink({ href: 'https://tiptap.dev' })
|
|
127
|
+
*/
|
|
128
|
+
toggleInlineLink: (attributes?: {
|
|
129
|
+
href: string;
|
|
130
|
+
target?: string | null;
|
|
131
|
+
rel?: string | null;
|
|
132
|
+
class?: string | null;
|
|
133
|
+
title?: string | null;
|
|
134
|
+
type?: string | null;
|
|
135
|
+
}) => ReturnType;
|
|
136
|
+
/**
|
|
137
|
+
* Unset a link mark
|
|
138
|
+
* @example editor.commands.unsetInlineLink()
|
|
139
|
+
*/
|
|
140
|
+
unsetInlineLink: () => ReturnType;
|
|
141
|
+
};
|
|
142
|
+
blockLink: {
|
|
143
|
+
/**
|
|
144
|
+
* Set a block link
|
|
145
|
+
* @param attributes The link attributes
|
|
146
|
+
* @example editor.commands.setBlockLink({ href: 'https://tiptap.dev' })
|
|
147
|
+
*/
|
|
148
|
+
setBlockLink: (attributes: {
|
|
149
|
+
href: string;
|
|
150
|
+
target?: string | null;
|
|
151
|
+
rel?: string | null;
|
|
152
|
+
class?: string | null;
|
|
153
|
+
title?: string | null;
|
|
154
|
+
type?: string | null;
|
|
155
|
+
}) => ReturnType;
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
export declare function isAllowedUri(uri: string | undefined, protocols?: LinkOptions['protocols']): true | RegExpMatchArray | null;
|
|
160
|
+
export declare const InlineLinkExtension: Node<LinkOptions, any>;
|
|
161
|
+
export declare const BlockLinkExtension: Node<any, any>;
|
|
162
|
+
export {};
|