cvnert-editor 0.1.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 +57 -0
- package/dist/components/tiptap-extension/indent-extension.d.ts +90 -0
- package/dist/components/tiptap-extension/list-normalization-extension.d.ts +30 -0
- package/dist/components/tiptap-extension/node-alignment-extension.d.ts +38 -0
- package/dist/components/tiptap-extension/node-background-extension.d.ts +23 -0
- package/dist/components/tiptap-extension/triple-click-block-selection-extension.d.ts +13 -0
- package/dist/components/tiptap-extension/ui-state-extension.d.ts +22 -0
- package/dist/components/tiptap-icons/add-col-left-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/add-col-right-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/add-row-bottom-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/add-row-top-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/align-bottom-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/align-center-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/align-center-vertical-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/align-end-vertical-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/align-justify-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/align-left-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/align-middle-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/align-right-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/align-start-vertical-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/align-top-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/alignment-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/arrow-down-a-z-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/arrow-down-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/arrow-down-to-line-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/arrow-down-z-a-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/arrow-left-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/arrow-right-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/arrow-up-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/at-sign-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/ban-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/blockquote-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/bold-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/check-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/chevron-down-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/chevron-right-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/clipboard-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/close-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/code-block-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/code2-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/copy-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/corner-down-left-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/external-link-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/grip-4-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/grip-vertical-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/heading-five-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/heading-four-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/heading-one-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/heading-six-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/heading-three-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/heading-two-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/highlighter-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/image-caption-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/image-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/image-plus-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/indent-decrease-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/indent-increase-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/italic-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/link-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/list-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/list-indented-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/list-ordered-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/list-todo-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/minus-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/moon-star-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/more-vertical-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/move-horizontal-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/paint-bucket-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/plus-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/plus-small-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/redo2-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/refresh-ccw-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/repeat-2-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/rotate-ccw-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/smile-plus-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/square-x-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/strike-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/subscript-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/sun-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/superscript-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/table-cell-merge-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/table-cell-split-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/table-header-column-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/table-header-row-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/table-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/text-color-small-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/trash-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/type-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/underline-icon.d.ts +3 -0
- package/dist/components/tiptap-icons/undo2-icon.d.ts +3 -0
- package/dist/components/tiptap-node/horizontal-rule-node/horizontal-rule-node-extension.d.ts +2 -0
- package/dist/components/tiptap-node/image-node/image-node-extension.d.ts +3 -0
- package/dist/components/tiptap-node/image-node/image-node-floating.d.ts +4 -0
- package/dist/components/tiptap-node/image-node/image-node-view.d.ts +24 -0
- package/dist/components/tiptap-node/image-upload-node/image-upload-node-extension.d.ts +57 -0
- package/dist/components/tiptap-node/image-upload-node/image-upload-node.d.ts +69 -0
- package/dist/components/tiptap-node/table-node/extensions/table-handle/helpers/create-image.d.ts +9 -0
- package/dist/components/tiptap-node/table-node/extensions/table-handle/index.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/extensions/table-handle/table-handle-plugin.d.ts +43 -0
- package/dist/components/tiptap-node/table-node/extensions/table-handle/table-handle.d.ts +14 -0
- package/dist/components/tiptap-node/table-node/extensions/table-node-extension.d.ts +31 -0
- package/dist/components/tiptap-node/table-node/hooks/use-table-handle-state.d.ts +22 -0
- package/dist/components/tiptap-node/table-node/lib/tiptap-table-utils.d.ts +395 -0
- package/dist/components/tiptap-node/table-node/ui/table-add-row-column-button/index.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/ui/table-add-row-column-button/table-add-row-column-button.d.ts +14 -0
- package/dist/components/tiptap-node/table-node/ui/table-add-row-column-button/use-table-add-row-column.d.ts +53 -0
- package/dist/components/tiptap-node/table-node/ui/table-align-cell-button/index.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/ui/table-align-cell-button/table-align-cell-button.d.ts +41 -0
- package/dist/components/tiptap-node/table-node/ui/table-align-cell-button/use-table-align-cell.d.ts +145 -0
- package/dist/components/tiptap-node/table-node/ui/table-alignment-menu/index.d.ts +1 -0
- package/dist/components/tiptap-node/table-node/ui/table-alignment-menu/table-alignment-menu.d.ts +16 -0
- package/dist/components/tiptap-node/table-node/ui/table-cell-handle-menu/index.d.ts +1 -0
- package/dist/components/tiptap-node/table-node/ui/table-cell-handle-menu/table-cell-handle-menu.d.ts +11 -0
- package/dist/components/tiptap-node/table-node/ui/table-clear-row-column-content-button/index.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/ui/table-clear-row-column-content-button/table-clear-row-column-content-button.d.ts +14 -0
- package/dist/components/tiptap-node/table-node/ui/table-clear-row-column-content-button/use-table-clear-row-column-content.d.ts +96 -0
- package/dist/components/tiptap-node/table-node/ui/table-delete-row-column-button/index.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/ui/table-delete-row-column-button/table-delete-row-column-button.d.ts +14 -0
- package/dist/components/tiptap-node/table-node/ui/table-delete-row-column-button/use-table-delete-row-column.d.ts +80 -0
- package/dist/components/tiptap-node/table-node/ui/table-duplicate-row-column-button/index.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/ui/table-duplicate-row-column-button/table-duplicate-row-column-button.d.ts +6 -0
- package/dist/components/tiptap-node/table-node/ui/table-duplicate-row-column-button/use-table-duplicate-row-column.d.ts +42 -0
- package/dist/components/tiptap-node/table-node/ui/table-extend-row-column-button/index.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/ui/table-extend-row-column-button/table-extend-row-column-button.d.ts +23 -0
- package/dist/components/tiptap-node/table-node/ui/table-extend-row-column-button/use-table-extend-row-column.d.ts +14 -0
- package/dist/components/tiptap-node/table-node/ui/table-fit-to-width-button/index.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/ui/table-fit-to-width-button/table-fit-to-width-button.d.ts +21 -0
- package/dist/components/tiptap-node/table-node/ui/table-fit-to-width-button/use-table-fit-to-width.d.ts +67 -0
- package/dist/components/tiptap-node/table-node/ui/table-handle/table-handle.d.ts +50 -0
- package/dist/components/tiptap-node/table-node/ui/table-handle/use-table-handle-positioning.d.ts +41 -0
- package/dist/components/tiptap-node/table-node/ui/table-handle-menu/index.d.ts +1 -0
- package/dist/components/tiptap-node/table-node/ui/table-handle-menu/table-handle-menu.d.ts +25 -0
- package/dist/components/tiptap-node/table-node/ui/table-header-row-column-button/index.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/ui/table-header-row-column-button/table-header-row-column-button.d.ts +15 -0
- package/dist/components/tiptap-node/table-node/ui/table-header-row-column-button/use-table-header-row-column.d.ts +51 -0
- package/dist/components/tiptap-node/table-node/ui/table-merge-split-cell-button/index.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/ui/table-merge-split-cell-button/table-merge-split-cell-button.d.ts +43 -0
- package/dist/components/tiptap-node/table-node/ui/table-merge-split-cell-button/use-table-merge-split-cell.d.ts +119 -0
- package/dist/components/tiptap-node/table-node/ui/table-move-row-column-button/index.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/ui/table-move-row-column-button/table-move-row-column-button.d.ts +37 -0
- package/dist/components/tiptap-node/table-node/ui/table-move-row-column-button/use-table-move-row-column.d.ts +94 -0
- package/dist/components/tiptap-node/table-node/ui/table-selection-overlay/index.d.ts +1 -0
- package/dist/components/tiptap-node/table-node/ui/table-selection-overlay/table-selection-overlay.d.ts +14 -0
- package/dist/components/tiptap-node/table-node/ui/table-selection-overlay/use-resize-overlay.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/ui/table-sort-row-column-button/index.d.ts +2 -0
- package/dist/components/tiptap-node/table-node/ui/table-sort-row-column-button/table-sort-row-column-button.d.ts +14 -0
- package/dist/components/tiptap-node/table-node/ui/table-sort-row-column-button/use-table-sort-row-column.d.ts +111 -0
- package/dist/components/tiptap-node/toc-node/context/toc-context.d.ts +44 -0
- package/dist/components/tiptap-node/toc-node/extensions/toc-node-extension.d.ts +45 -0
- package/dist/components/tiptap-node/toc-node/index.d.ts +3 -0
- package/dist/components/tiptap-node/toc-node/toc-node.d.ts +4 -0
- package/dist/components/tiptap-node/toc-node/ui/toc-show-title-button/index.d.ts +2 -0
- package/dist/components/tiptap-node/toc-node/ui/toc-show-title-button/toc-show-title-button.d.ts +16 -0
- package/dist/components/tiptap-node/toc-node/ui/toc-show-title-button/toc-show-title.d.ts +83 -0
- package/dist/components/tiptap-node/toc-node/ui/toc-sidebar/index.d.ts +1 -0
- package/dist/components/tiptap-node/toc-node/ui/toc-sidebar/toc-sidebar.d.ts +14 -0
- package/dist/components/tiptap-templates/omnibox/omnibox-editor-header.d.ts +1 -0
- package/dist/components/tiptap-templates/omnibox/omnibox-editor-mobile-toolbar.d.ts +14 -0
- package/dist/components/tiptap-templates/omnibox/omnibox-editor-theme-toggle.d.ts +1 -0
- package/dist/components/tiptap-templates/omnibox/omnibox-editor-toolbar-floating.d.ts +15 -0
- package/dist/components/tiptap-templates/omnibox/omnibox-editor.d.ts +28 -0
- package/dist/components/tiptap-ui/blockquote-button/blockquote-button.d.ts +22 -0
- package/dist/components/tiptap-ui/blockquote-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/blockquote-button/use-blockquote.d.ts +80 -0
- package/dist/components/tiptap-ui/code-block-button/code-block-button.d.ts +22 -0
- package/dist/components/tiptap-ui/code-block-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/code-block-button/use-code-block.d.ts +87 -0
- package/dist/components/tiptap-ui/color-highlight-button/color-highlight-button.d.ts +46 -0
- package/dist/components/tiptap-ui/color-highlight-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/color-highlight-button/use-color-highlight.d.ts +93 -0
- package/dist/components/tiptap-ui/color-highlight-popover/color-highlight-popover.d.ts +35 -0
- package/dist/components/tiptap-ui/color-highlight-popover/index.d.ts +1 -0
- package/dist/components/tiptap-ui/color-menu/color-menu.d.ts +39 -0
- package/dist/components/tiptap-ui/color-menu/index.d.ts +1 -0
- package/dist/components/tiptap-ui/color-text-button/color-text-button.d.ts +23 -0
- package/dist/components/tiptap-ui/color-text-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/color-text-button/use-color-text.d.ts +109 -0
- package/dist/components/tiptap-ui/color-text-popover/color-text-popover.d.ts +46 -0
- package/dist/components/tiptap-ui/color-text-popover/index.d.ts +2 -0
- package/dist/components/tiptap-ui/color-text-popover/use-color-text-popover.d.ts +132 -0
- package/dist/components/tiptap-ui/copy-anchor-link-button/copy-anchor-link-button.d.ts +22 -0
- package/dist/components/tiptap-ui/copy-anchor-link-button/index.d.ts +3 -0
- package/dist/components/tiptap-ui/copy-anchor-link-button/use-copy-anchor-link.d.ts +93 -0
- package/dist/components/tiptap-ui/copy-anchor-link-button/use-scroll-to-hash.d.ts +27 -0
- package/dist/components/tiptap-ui/copy-to-clipboard-button/copy-to-clipboard-button.d.ts +22 -0
- package/dist/components/tiptap-ui/copy-to-clipboard-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/copy-to-clipboard-button/use-copy-to-clipboard.d.ts +103 -0
- package/dist/components/tiptap-ui/delete-node-button/delete-node-button.d.ts +22 -0
- package/dist/components/tiptap-ui/delete-node-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/delete-node-button/use-delete-node.d.ts +82 -0
- package/dist/components/tiptap-ui/drag-context-menu/drag-context-menu-types.d.ts +30 -0
- package/dist/components/tiptap-ui/drag-context-menu/drag-context-menu.d.ts +3 -0
- package/dist/components/tiptap-ui/drag-context-menu/index.d.ts +2 -0
- package/dist/components/tiptap-ui/duplicate-button/duplicate-button.d.ts +22 -0
- package/dist/components/tiptap-ui/duplicate-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/duplicate-button/use-duplicate.d.ts +78 -0
- package/dist/components/tiptap-ui/emoji-dropdown-menu/emoji-dropdown-menu.d.ts +3 -0
- package/dist/components/tiptap-ui/emoji-dropdown-menu/index.d.ts +1 -0
- package/dist/components/tiptap-ui/emoji-menu/emoji-menu-utils.d.ts +6 -0
- package/dist/components/tiptap-ui/emoji-menu/emoji-menu.d.ts +18 -0
- package/dist/components/tiptap-ui/emoji-menu/index.d.ts +2 -0
- package/dist/components/tiptap-ui/emoji-trigger-button/emoji-trigger-button.d.ts +22 -0
- package/dist/components/tiptap-ui/emoji-trigger-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/emoji-trigger-button/use-emoji-trigger.d.ts +94 -0
- package/dist/components/tiptap-ui/heading-button/heading-button.d.ts +23 -0
- package/dist/components/tiptap-ui/heading-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/heading-button/use-heading.d.ts +108 -0
- package/dist/components/tiptap-ui/image-align-button/image-align-button.d.ts +23 -0
- package/dist/components/tiptap-ui/image-align-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/image-align-button/use-image-align.d.ts +110 -0
- package/dist/components/tiptap-ui/image-caption-button/image-caption-button.d.ts +16 -0
- package/dist/components/tiptap-ui/image-caption-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/image-caption-button/use-image-caption.d.ts +82 -0
- package/dist/components/tiptap-ui/image-download-button/image-download-button.d.ts +23 -0
- package/dist/components/tiptap-ui/image-download-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/image-download-button/use-image-download.d.ts +64 -0
- package/dist/components/tiptap-ui/image-upload-button/image-upload-button.d.ts +29 -0
- package/dist/components/tiptap-ui/image-upload-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/image-upload-button/use-image-upload.d.ts +84 -0
- package/dist/components/tiptap-ui/indent-button/indent-button.d.ts +30 -0
- package/dist/components/tiptap-ui/indent-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/indent-button/use-indent.d.ts +91 -0
- package/dist/components/tiptap-ui/link-popover/index.d.ts +2 -0
- package/dist/components/tiptap-ui/link-popover/link-popover.d.ts +58 -0
- package/dist/components/tiptap-ui/link-popover/use-link-popover.d.ts +117 -0
- package/dist/components/tiptap-ui/list-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/list-button/list-button.d.ts +23 -0
- package/dist/components/tiptap-ui/list-button/use-list.d.ts +97 -0
- package/dist/components/tiptap-ui/mark-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/mark-button/mark-button.d.ts +23 -0
- package/dist/components/tiptap-ui/mark-button/use-mark.d.ts +104 -0
- package/dist/components/tiptap-ui/mention-dropdown-menu/index.d.ts +1 -0
- package/dist/components/tiptap-ui/mention-dropdown-menu/mention-dropdown-menu.d.ts +4 -0
- package/dist/components/tiptap-ui/mention-trigger-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/mention-trigger-button/mention-trigger-button.d.ts +22 -0
- package/dist/components/tiptap-ui/mention-trigger-button/use-mention-trigger.d.ts +96 -0
- package/dist/components/tiptap-ui/move-node-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/move-node-button/move-node-button.d.ts +20 -0
- package/dist/components/tiptap-ui/move-node-button/use-move-node.d.ts +52 -0
- package/dist/components/tiptap-ui/reset-all-formatting-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/reset-all-formatting-button/reset-all-formatting-button.d.ts +24 -0
- package/dist/components/tiptap-ui/reset-all-formatting-button/use-reset-all-formatting.d.ts +106 -0
- package/dist/components/tiptap-ui/slash-command-trigger-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/slash-command-trigger-button/slash-command-trigger-button.d.ts +22 -0
- package/dist/components/tiptap-ui/slash-command-trigger-button/use-slash-command-trigger.d.ts +96 -0
- package/dist/components/tiptap-ui/slash-dropdown-menu/index.d.ts +2 -0
- package/dist/components/tiptap-ui/slash-dropdown-menu/slash-dropdown-menu.d.ts +8 -0
- package/dist/components/tiptap-ui/slash-dropdown-menu/use-slash-dropdown-menu.d.ts +126 -0
- package/dist/components/tiptap-ui/text-align-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/text-align-button/text-align-button.d.ts +30 -0
- package/dist/components/tiptap-ui/text-align-button/use-text-align.d.ts +102 -0
- package/dist/components/tiptap-ui/text-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/text-button/text-button.d.ts +22 -0
- package/dist/components/tiptap-ui/text-button/use-text.d.ts +86 -0
- package/dist/components/tiptap-ui/turn-into-dropdown/index.d.ts +2 -0
- package/dist/components/tiptap-ui/turn-into-dropdown/turn-into-dropdown.d.ts +16 -0
- package/dist/components/tiptap-ui/turn-into-dropdown/use-turn-into-dropdown.d.ts +149 -0
- package/dist/components/tiptap-ui/undo-redo-button/index.d.ts +2 -0
- package/dist/components/tiptap-ui/undo-redo-button/undo-redo-button.d.ts +23 -0
- package/dist/components/tiptap-ui/undo-redo-button/use-undo-redo.d.ts +90 -0
- package/dist/components/tiptap-ui-primitive/avatar/avatar.d.ts +23 -0
- package/dist/components/tiptap-ui-primitive/avatar/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/badge/badge.d.ts +11 -0
- package/dist/components/tiptap-ui-primitive/badge/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/button/button.d.ts +16 -0
- package/dist/components/tiptap-ui-primitive/button/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/button-group/button-group.d.ts +10 -0
- package/dist/components/tiptap-ui-primitive/button-group/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/card/card.d.ts +10 -0
- package/dist/components/tiptap-ui-primitive/card/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/combobox/combobox.d.ts +21 -0
- package/dist/components/tiptap-ui-primitive/combobox/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/dropdown-menu/dropdown-menu.d.ts +29 -0
- package/dist/components/tiptap-ui-primitive/dropdown-menu/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/input/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/input/input.d.ts +3 -0
- package/dist/components/tiptap-ui-primitive/input-group/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/input-group/input-group.d.ts +19 -0
- package/dist/components/tiptap-ui-primitive/menu/index.d.ts +5 -0
- package/dist/components/tiptap-ui-primitive/menu/menu-context.d.ts +5 -0
- package/dist/components/tiptap-ui-primitive/menu/menu-hooks.d.ts +10 -0
- package/dist/components/tiptap-ui-primitive/menu/menu-types.d.ts +44 -0
- package/dist/components/tiptap-ui-primitive/menu/menu-utils.d.ts +15 -0
- package/dist/components/tiptap-ui-primitive/menu/menu.d.ts +20 -0
- package/dist/components/tiptap-ui-primitive/popover/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/popover/popover.d.ts +6 -0
- package/dist/components/tiptap-ui-primitive/separator/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/separator/separator.d.ts +5 -0
- package/dist/components/tiptap-ui-primitive/spacer/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/spacer/spacer.d.ts +5 -0
- package/dist/components/tiptap-ui-primitive/textarea/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/textarea/textarea.d.ts +3 -0
- package/dist/components/tiptap-ui-primitive/toolbar/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/toolbar/toolbar.d.ts +9 -0
- package/dist/components/tiptap-ui-primitive/tooltip/index.d.ts +1 -0
- package/dist/components/tiptap-ui-primitive/tooltip/tooltip.d.ts +29 -0
- package/dist/components/tiptap-ui-utils/floating-element/floating-element-utils.d.ts +3 -0
- package/dist/components/tiptap-ui-utils/floating-element/floating-element.d.ts +53 -0
- package/dist/components/tiptap-ui-utils/floating-element/index.d.ts +2 -0
- package/dist/components/tiptap-ui-utils/suggestion-menu/index.d.ts +3 -0
- package/dist/components/tiptap-ui-utils/suggestion-menu/suggestion-menu-types.d.ts +86 -0
- package/dist/components/tiptap-ui-utils/suggestion-menu/suggestion-menu-utils.d.ts +19 -0
- package/dist/components/tiptap-ui-utils/suggestion-menu/suggestion-menu.d.ts +6 -0
- package/dist/cvnert-editor.css +1 -0
- package/dist/cvnert-editor.js +17069 -0
- package/dist/cvnert-editor.umd.cjs +5 -0
- package/dist/hooks/use-composed-ref.d.ts +3 -0
- package/dist/hooks/use-cursor-visibility.d.ts +20 -0
- package/dist/hooks/use-element-rect.d.ts +35 -0
- package/dist/hooks/use-floating-element.d.ts +36 -0
- package/dist/hooks/use-floating-toolbar-visibility.d.ts +29 -0
- package/dist/hooks/use-is-breakpoint.d.ts +9 -0
- package/dist/hooks/use-isomorphic-layout-effect.d.ts +7 -0
- package/dist/hooks/use-menu-navigation.d.ts +52 -0
- package/dist/hooks/use-on-click-outside.d.ts +18 -0
- package/dist/hooks/use-throttled-callback.d.ts +18 -0
- package/dist/hooks/use-tiptap-editor.d.ts +6 -0
- package/dist/hooks/use-ui-editor-state.d.ts +4 -0
- package/dist/hooks/use-unmount.d.ts +7 -0
- package/dist/hooks/use-window-size.d.ts +35 -0
- package/dist/index.d.ts +3 -0
- package/dist/lib/tiptap-advanced-utils.d.ts +120 -0
- package/dist/lib/tiptap-collab-utils.d.ts +46 -0
- package/dist/lib/tiptap-utils.d.ts +174 -0
- package/dist/types.d.ts +26 -0
- package/package.json +94 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
type UserRef<T> = ((instance: T | null) => void) | React.RefObject<T | null> | null | undefined;
|
|
2
|
+
export declare const useComposedRef: <T extends HTMLElement>(libRef: React.RefObject<T | null>, userRef: UserRef<T>) => (instance: T | null) => void;
|
|
3
|
+
export default useComposedRef;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Editor } from "@tiptap/react";
|
|
2
|
+
export interface CursorVisibilityOptions {
|
|
3
|
+
/**
|
|
4
|
+
* The Tiptap editor instance
|
|
5
|
+
*/
|
|
6
|
+
editor?: Editor | null;
|
|
7
|
+
/**
|
|
8
|
+
* Reference to the toolbar element that may obscure the cursor
|
|
9
|
+
*/
|
|
10
|
+
overlayHeight?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Custom hook that ensures the cursor remains visible when typing in a Tiptap editor.
|
|
14
|
+
* Automatically scrolls the window when the cursor would be hidden by the toolbar.
|
|
15
|
+
*
|
|
16
|
+
* @param options.editor The Tiptap editor instance
|
|
17
|
+
* @param options.overlayHeight Toolbar height to account for
|
|
18
|
+
* @returns The bounding rect of the body
|
|
19
|
+
*/
|
|
20
|
+
export declare function useCursorVisibility({ editor, overlayHeight, }: CursorVisibilityOptions): import("@/hooks/use-element-rect").RectState;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type RectState = Omit<DOMRect, "toJSON">;
|
|
2
|
+
export interface ElementRectOptions {
|
|
3
|
+
/**
|
|
4
|
+
* The element to track. Can be an Element, ref, or selector string.
|
|
5
|
+
* Defaults to document.body if not provided.
|
|
6
|
+
*/
|
|
7
|
+
element?: Element | React.RefObject<Element> | string | null;
|
|
8
|
+
/**
|
|
9
|
+
* Whether to enable rect tracking
|
|
10
|
+
*/
|
|
11
|
+
enabled?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Throttle delay in milliseconds for rect updates
|
|
14
|
+
*/
|
|
15
|
+
throttleMs?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Whether to use ResizeObserver for more accurate tracking
|
|
18
|
+
*/
|
|
19
|
+
useResizeObserver?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Custom hook that tracks an element's bounding rectangle and updates on resize, scroll, etc.
|
|
23
|
+
*
|
|
24
|
+
* @param options Configuration options for element rect tracking
|
|
25
|
+
* @returns The current bounding rectangle of the element
|
|
26
|
+
*/
|
|
27
|
+
export declare function useElementRect({ element, enabled, throttleMs, useResizeObserver, }?: ElementRectOptions): RectState;
|
|
28
|
+
/**
|
|
29
|
+
* Convenience hook for tracking document.body rect
|
|
30
|
+
*/
|
|
31
|
+
export declare function useBodyRect(options?: Omit<ElementRectOptions, "element">): RectState;
|
|
32
|
+
/**
|
|
33
|
+
* Convenience hook for tracking a ref element's rect
|
|
34
|
+
*/
|
|
35
|
+
export declare function useRefRect<T extends Element>(ref: React.RefObject<T>, options?: Omit<ElementRectOptions, "element">): RectState;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { AutoUpdateOptions, UseDismissProps, UseFloatingOptions } from "@floating-ui/react";
|
|
2
|
+
interface FloatingElementReturn {
|
|
3
|
+
/**
|
|
4
|
+
* Whether the floating element is currently mounted in the DOM.
|
|
5
|
+
*/
|
|
6
|
+
isMounted: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Ref function to attach to the floating element DOM node.
|
|
9
|
+
*/
|
|
10
|
+
ref: (node: HTMLElement | null) => void;
|
|
11
|
+
/**
|
|
12
|
+
* Combined styles for positioning, transitions, and z-index.
|
|
13
|
+
*/
|
|
14
|
+
style: React.CSSProperties;
|
|
15
|
+
/**
|
|
16
|
+
* Returns props that should be spread onto the floating element.
|
|
17
|
+
*/
|
|
18
|
+
getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
|
|
19
|
+
/**
|
|
20
|
+
* Returns props that should be spread onto the reference element.
|
|
21
|
+
*/
|
|
22
|
+
getReferenceProps: (userProps?: React.HTMLProps<Element>) => Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Custom hook for creating and managing floating elements relative to a reference position
|
|
26
|
+
*
|
|
27
|
+
* @param show - Boolean controlling visibility of the floating element
|
|
28
|
+
* @param referencePos - DOMRect, function returning DOMRect, or null representing the position to anchor the floating element to
|
|
29
|
+
* @param zIndex - Z-index value for the floating element
|
|
30
|
+
* @param options - Additional options to pass to the underlying useFloating hook
|
|
31
|
+
* @returns Object containing properties and methods to control the floating element
|
|
32
|
+
*/
|
|
33
|
+
export declare function useFloatingElement(show: boolean, reference: HTMLElement | DOMRect | (() => DOMRect | null) | null, zIndex: number, options?: Partial<UseFloatingOptions & {
|
|
34
|
+
dismissOptions?: UseDismissProps;
|
|
35
|
+
}>, autoUpdateOptions?: AutoUpdateOptions): FloatingElementReturn;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type Editor } from "@tiptap/react";
|
|
2
|
+
export declare const HIDE_FLOATING_META = "hideFloatingToolbar";
|
|
3
|
+
/**
|
|
4
|
+
* Centralizes all logic about when the floating toolbar should be hidden/shown.
|
|
5
|
+
*
|
|
6
|
+
* - Listens for transactions that carry HIDE_FLOATING_META
|
|
7
|
+
* - Clears the hide flag on common “user intent” events
|
|
8
|
+
* - Handles the “re-click on the same selected node” case
|
|
9
|
+
* - Exposes `shouldShow` so UI can just render based on it
|
|
10
|
+
* - Exposes helpers to set selections with the meta flag
|
|
11
|
+
*/
|
|
12
|
+
export declare function useFloatingToolbarVisibility(params: {
|
|
13
|
+
editor: Editor | null;
|
|
14
|
+
isSelectionValid: (editor: Editor, selection: Editor["state"]["selection"]) => boolean;
|
|
15
|
+
extraHideWhen?: boolean;
|
|
16
|
+
}): {
|
|
17
|
+
shouldShow: boolean;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Programmatically select a node and hide floating for that selection
|
|
21
|
+
* @param editor
|
|
22
|
+
* @param pos
|
|
23
|
+
*/
|
|
24
|
+
export declare const selectNodeAndHideFloating: (editor: Editor, pos: number) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Mark “hide floating” on the next relevant transaction (no selection change needed)
|
|
27
|
+
* @param editor
|
|
28
|
+
*/
|
|
29
|
+
export declare const markHideFloatingOnNext: (editor: Editor) => void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type BreakpointMode = "min" | "max";
|
|
2
|
+
/**
|
|
3
|
+
* Hook to detect whether the current viewport matches a given breakpoint rule.
|
|
4
|
+
* Example:
|
|
5
|
+
* useIsBreakpoint("max", 768) // true when width < 768
|
|
6
|
+
* useIsBreakpoint("min", 1024) // true when width >= 1024
|
|
7
|
+
*/
|
|
8
|
+
export declare function useIsBreakpoint(mode?: BreakpointMode, breakpoint?: number): boolean;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Custom hook that uses either `useLayoutEffect` or `useEffect` based on the environment (client-side or server-side).
|
|
4
|
+
* @param {Function} effect - The effect function to be executed.
|
|
5
|
+
* @param {Array<any>} [dependencies] - An array of dependencies for the effect (optional).
|
|
6
|
+
*/
|
|
7
|
+
export declare const useIsomorphicLayoutEffect: typeof useEffect;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Editor } from "@tiptap/react";
|
|
2
|
+
type Orientation = "horizontal" | "vertical" | "both";
|
|
3
|
+
interface MenuNavigationOptions<T> {
|
|
4
|
+
/**
|
|
5
|
+
* The Tiptap editor instance, if using with a Tiptap editor.
|
|
6
|
+
*/
|
|
7
|
+
editor?: Editor | null;
|
|
8
|
+
/**
|
|
9
|
+
* Reference to the container element for handling keyboard events.
|
|
10
|
+
*/
|
|
11
|
+
containerRef?: React.RefObject<HTMLElement | null>;
|
|
12
|
+
/**
|
|
13
|
+
* Search query that affects the selected item.
|
|
14
|
+
*/
|
|
15
|
+
query?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Array of items to navigate through.
|
|
18
|
+
*/
|
|
19
|
+
items: T[];
|
|
20
|
+
/**
|
|
21
|
+
* Callback fired when an item is selected.
|
|
22
|
+
*/
|
|
23
|
+
onSelect?: (item: T) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Callback fired when the menu should close.
|
|
26
|
+
*/
|
|
27
|
+
onClose?: () => void;
|
|
28
|
+
/**
|
|
29
|
+
* The navigation orientation of the menu.
|
|
30
|
+
* @default "vertical"
|
|
31
|
+
*/
|
|
32
|
+
orientation?: Orientation;
|
|
33
|
+
/**
|
|
34
|
+
* Whether to automatically select the first item when the menu opens.
|
|
35
|
+
* @default true
|
|
36
|
+
*/
|
|
37
|
+
autoSelectFirstItem?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Hook that implements keyboard navigation for dropdown menus and command palettes.
|
|
41
|
+
*
|
|
42
|
+
* Handles arrow keys, tab, home/end, enter for selection, and escape to close.
|
|
43
|
+
* Works with both Tiptap editors and regular DOM elements.
|
|
44
|
+
*
|
|
45
|
+
* @param options - Configuration options for the menu navigation
|
|
46
|
+
* @returns Object containing the selected index and a setter function
|
|
47
|
+
*/
|
|
48
|
+
export declare function useMenuNavigation<T>({ editor, containerRef, query, items, onSelect, onClose, orientation, autoSelectFirstItem, }: MenuNavigationOptions<T>): {
|
|
49
|
+
selectedIndex: number | undefined;
|
|
50
|
+
setSelectedIndex: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
51
|
+
};
|
|
52
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { RefObject } from "react";
|
|
2
|
+
declare function useEventListener<K extends keyof MediaQueryListEventMap>(eventName: K, handler: (event: MediaQueryListEventMap[K]) => void, element: RefObject<MediaQueryList>, options?: boolean | AddEventListenerOptions): void;
|
|
3
|
+
declare function useEventListener<K extends keyof WindowEventMap>(eventName: K, handler: (event: WindowEventMap[K]) => void, element?: undefined, options?: boolean | AddEventListenerOptions): void;
|
|
4
|
+
declare function useEventListener<K extends keyof HTMLElementEventMap & keyof SVGElementEventMap, T extends Element = K extends keyof HTMLElementEventMap ? HTMLDivElement : SVGElement>(eventName: K, handler: ((event: HTMLElementEventMap[K]) => void) | ((event: SVGElementEventMap[K]) => void), element: RefObject<T>, options?: boolean | AddEventListenerOptions): void;
|
|
5
|
+
declare function useEventListener<K extends keyof DocumentEventMap>(eventName: K, handler: (event: DocumentEventMap[K]) => void, element: RefObject<Document>, options?: boolean | AddEventListenerOptions): void;
|
|
6
|
+
export { useEventListener };
|
|
7
|
+
/** Supported event types. */
|
|
8
|
+
type EventType = "mousedown" | "mouseup" | "touchstart" | "touchend" | "focusin" | "focusout";
|
|
9
|
+
/**
|
|
10
|
+
* Custom hook that handles clicks outside a specified element.
|
|
11
|
+
* @template T - The type of the element's reference.
|
|
12
|
+
* @param {RefObject<T> | RefObject<T>[]} ref - The React ref object(s) representing the element(s) to watch for outside clicks.
|
|
13
|
+
* @param {(event: MouseEvent | TouchEvent | FocusEvent) => void} handler - The callback function to be executed when a click outside the element occurs.
|
|
14
|
+
* @param {EventType} [eventType] - The mouse event type to listen for (optional, default is 'mousedown').
|
|
15
|
+
* @param {?AddEventListenerOptions} [eventListenerOptions] - The options object to be passed to the `addEventListener` method (optional).
|
|
16
|
+
* @returns {void}
|
|
17
|
+
*/
|
|
18
|
+
export declare function useOnClickOutside<T extends HTMLElement | null = HTMLElement>(ref: RefObject<T> | RefObject<T>[], handler: (event: MouseEvent | TouchEvent | FocusEvent) => void, eventType?: EventType, eventListenerOptions?: AddEventListenerOptions): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface ThrottleSettings {
|
|
2
|
+
leading?: boolean | undefined;
|
|
3
|
+
trailing?: boolean | undefined;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* A hook that returns a throttled callback function.
|
|
7
|
+
*
|
|
8
|
+
* @param fn The function to throttle
|
|
9
|
+
* @param wait The time in ms to wait before calling the function
|
|
10
|
+
* @param dependencies The dependencies to watch for changes
|
|
11
|
+
* @param options The throttle options
|
|
12
|
+
*/
|
|
13
|
+
export declare function useThrottledCallback<T extends (...args: any[]) => any>(fn: T, wait?: number, dependencies?: React.DependencyList, options?: ThrottleSettings): {
|
|
14
|
+
(this: ThisParameterType<T>, ...args: Parameters<T>): ReturnType<T>;
|
|
15
|
+
cancel: () => void;
|
|
16
|
+
flush: () => void;
|
|
17
|
+
};
|
|
18
|
+
export default useThrottledCallback;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface WindowSizeState {
|
|
2
|
+
/**
|
|
3
|
+
* The width of the window's visual viewport in pixels.
|
|
4
|
+
*/
|
|
5
|
+
width: number;
|
|
6
|
+
/**
|
|
7
|
+
* The height of the window's visual viewport in pixels.
|
|
8
|
+
*/
|
|
9
|
+
height: number;
|
|
10
|
+
/**
|
|
11
|
+
* The distance from the top of the visual viewport to the top of the layout viewport.
|
|
12
|
+
* Particularly useful for handling mobile keyboard appearance.
|
|
13
|
+
*/
|
|
14
|
+
offsetTop: number;
|
|
15
|
+
/**
|
|
16
|
+
* The distance from the left of the visual viewport to the left of the layout viewport.
|
|
17
|
+
*/
|
|
18
|
+
offsetLeft: number;
|
|
19
|
+
/**
|
|
20
|
+
* The scale factor of the visual viewport.
|
|
21
|
+
* This is useful for scaling elements based on the current zoom level.
|
|
22
|
+
*/
|
|
23
|
+
scale: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Hook that tracks the window's visual viewport dimensions, position, and provides
|
|
27
|
+
* a CSS transform for positioning elements.
|
|
28
|
+
*
|
|
29
|
+
* Uses the Visual Viewport API to get accurate measurements, especially important
|
|
30
|
+
* for mobile devices where virtual keyboards can change the visible area.
|
|
31
|
+
* Only updates state when values actually change to optimize performance.
|
|
32
|
+
*
|
|
33
|
+
* @returns An object containing viewport properties and a CSS transform string
|
|
34
|
+
*/
|
|
35
|
+
export declare function useWindowSize(): WindowSizeState;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { Attrs, Node } from "@tiptap/pm/model";
|
|
2
|
+
import { type Editor } from "@tiptap/react";
|
|
3
|
+
/**
|
|
4
|
+
* Splits an array into chunks of specified size
|
|
5
|
+
*/
|
|
6
|
+
export declare function chunkArray<T>(array: Array<T>, size: number): Array<Array<T>>;
|
|
7
|
+
/**
|
|
8
|
+
* Helper function to check if there's content above the current position
|
|
9
|
+
*/
|
|
10
|
+
export declare function hasContentAbove(editor: Editor | null): {
|
|
11
|
+
hasContent: boolean;
|
|
12
|
+
content: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Gets the active attributes of a specific mark in the current editor selection.
|
|
16
|
+
*
|
|
17
|
+
* @param editor - The Tiptap editor instance.
|
|
18
|
+
* @param markName - The name of the mark to look for (e.g., "highlight", "link").
|
|
19
|
+
* @returns The attributes of the active mark, or `null` if the mark is not active.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getActiveMarkAttrs(editor: Editor | null, markName: string): Attrs | null;
|
|
22
|
+
/**
|
|
23
|
+
* Finds the position of a node in the editor selection
|
|
24
|
+
* @param params Object containing editor, node (optional), and nodePos (optional)
|
|
25
|
+
* @returns The position of the node in the selection or null if not found
|
|
26
|
+
*/
|
|
27
|
+
export declare function findSelectionPosition(params: {
|
|
28
|
+
editor: Editor;
|
|
29
|
+
node?: Node | null;
|
|
30
|
+
nodePos?: number | null;
|
|
31
|
+
}): number | null;
|
|
32
|
+
/**
|
|
33
|
+
* Gets the currently selected DOM element in the editor
|
|
34
|
+
* @param editor The Tiptap editor instance
|
|
35
|
+
* @returns The selected DOM element or null if no selection is present
|
|
36
|
+
*/
|
|
37
|
+
export declare function getSelectedDOMElement(editor: Editor): HTMLElement | null;
|
|
38
|
+
/**
|
|
39
|
+
* Gets the closest node from the current selection in the editor based on criteria
|
|
40
|
+
* @param editor The Tiptap editor instance
|
|
41
|
+
* @param options Configuration options for finding the node
|
|
42
|
+
* @returns An object containing the closest matching node, its position, and depth, or null if not found
|
|
43
|
+
*/
|
|
44
|
+
export declare function getClosestNode(editor: Editor | null, options?: {
|
|
45
|
+
nodeName?: string;
|
|
46
|
+
isBlock?: boolean;
|
|
47
|
+
predicate?: (node: Node) => boolean;
|
|
48
|
+
}): {
|
|
49
|
+
node: Node;
|
|
50
|
+
pos: number;
|
|
51
|
+
depth: number;
|
|
52
|
+
} | null;
|
|
53
|
+
/**
|
|
54
|
+
* Gets the closest node from a specific position in the document
|
|
55
|
+
* @param editor The Tiptap editor instance
|
|
56
|
+
* @param pos The position to search from
|
|
57
|
+
* @param options Configuration options for finding the node
|
|
58
|
+
* @returns An object containing the closest matching node, its position, and depth, or null if not found
|
|
59
|
+
*/
|
|
60
|
+
export declare function getClosestNodeByPos(editor: Editor | null, pos: number, options?: {
|
|
61
|
+
nodeName?: string;
|
|
62
|
+
isBlock?: boolean;
|
|
63
|
+
predicate?: (node: Node) => boolean;
|
|
64
|
+
}): {
|
|
65
|
+
node: Node;
|
|
66
|
+
pos: number;
|
|
67
|
+
depth: number;
|
|
68
|
+
} | null;
|
|
69
|
+
/**
|
|
70
|
+
* Convenience function to find closest block node (maintains backward compatibility)
|
|
71
|
+
*/
|
|
72
|
+
export declare function getClosestBlockNode(editor: Editor | null): {
|
|
73
|
+
node: Node;
|
|
74
|
+
pos: number;
|
|
75
|
+
depth: number;
|
|
76
|
+
} | null;
|
|
77
|
+
/**
|
|
78
|
+
* Convenience function to find closest node by name
|
|
79
|
+
*/
|
|
80
|
+
export declare function getClosestNodeByName(editor: Editor | null, nodeName: string): {
|
|
81
|
+
node: Node;
|
|
82
|
+
pos: number;
|
|
83
|
+
depth: number;
|
|
84
|
+
} | null;
|
|
85
|
+
/**
|
|
86
|
+
* Find multiple matching nodes up the tree
|
|
87
|
+
*/
|
|
88
|
+
export declare function getAllMatchingNodes(editor: Editor | null, options?: {
|
|
89
|
+
nodeName?: string;
|
|
90
|
+
isBlock?: boolean;
|
|
91
|
+
predicate?: (node: Node) => boolean;
|
|
92
|
+
}): {
|
|
93
|
+
node: Node;
|
|
94
|
+
pos: number;
|
|
95
|
+
depth: number;
|
|
96
|
+
}[];
|
|
97
|
+
/**
|
|
98
|
+
* Gets the anchor node and its position in the editor.
|
|
99
|
+
* @param editor The Tiptap editor instance
|
|
100
|
+
* @param allowEmptySelection If true, still returns the node at the cursor position even if selection is empty
|
|
101
|
+
* @returns An object containing the anchor node and its position, or null if not found
|
|
102
|
+
*/
|
|
103
|
+
export declare function getAnchorNodeAndPos(editor: Editor | null, allowEmptySelection?: boolean): {
|
|
104
|
+
node: Node;
|
|
105
|
+
pos: number;
|
|
106
|
+
} | null;
|
|
107
|
+
/**
|
|
108
|
+
* Checks if the current selection in the editor contains any text.
|
|
109
|
+
*
|
|
110
|
+
* @param editor - The Tiptap editor instance.
|
|
111
|
+
* @returns `true` if the selection contains text, `false` otherwise.
|
|
112
|
+
*/
|
|
113
|
+
export declare function selectionHasText(editor: Editor | null): boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Retrieves a specific extension by name from the Tiptap editor.
|
|
116
|
+
* @param editor - The Tiptap editor instance
|
|
117
|
+
* @param extensionName - The name of the extension to retrieve
|
|
118
|
+
* @returns The extension instance if found, otherwise null
|
|
119
|
+
*/
|
|
120
|
+
export declare function getEditorExtension(editor: Editor | null, extensionName: string): import("@tiptap/core").AnyExtension | null;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type Selection } from "@tiptap/pm/state";
|
|
2
|
+
import type { JSONContent, Editor } from "@tiptap/react";
|
|
3
|
+
export type OverflowPosition = "none" | "top" | "bottom" | "both";
|
|
4
|
+
/**
|
|
5
|
+
* Returns a display name for the current node in the editor
|
|
6
|
+
* @param editor The Tiptap editor instance
|
|
7
|
+
* @returns The display name of the current node
|
|
8
|
+
*/
|
|
9
|
+
export declare const getNodeDisplayName: (editor: Editor | null) => string;
|
|
10
|
+
/**
|
|
11
|
+
* Removes empty paragraph nodes from content
|
|
12
|
+
*/
|
|
13
|
+
export declare const removeEmptyParagraphs: (content: JSONContent) => {
|
|
14
|
+
content: JSONContent[] | undefined;
|
|
15
|
+
type?: string;
|
|
16
|
+
attrs?: Record<string, any> | undefined;
|
|
17
|
+
marks?: {
|
|
18
|
+
type: string;
|
|
19
|
+
attrs?: Record<string, any>;
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
}[];
|
|
22
|
+
text?: string;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Determines how a target element overflows relative to a container element
|
|
26
|
+
*/
|
|
27
|
+
export declare function getElementOverflowPosition(targetElement: Element, containerElement: HTMLElement): OverflowPosition;
|
|
28
|
+
/**
|
|
29
|
+
* Checks if the current selection is valid for a given editor
|
|
30
|
+
*/
|
|
31
|
+
export declare const isSelectionValid: (editor: Editor | null, selection?: Selection, excludedNodeTypes?: string[]) => boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Checks if the current text selection is valid for editing
|
|
34
|
+
* - Not empty
|
|
35
|
+
* - Not a code block
|
|
36
|
+
* - Not a node selection
|
|
37
|
+
*/
|
|
38
|
+
export declare const isTextSelectionValid: (editor: Editor | null) => boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Gets the bounding rect of the current selection in the editor.
|
|
41
|
+
*/
|
|
42
|
+
export declare const getSelectionBoundingRect: (editor: Editor) => DOMRect | null;
|
|
43
|
+
/**
|
|
44
|
+
* Generates a deterministic avatar URL from a user name
|
|
45
|
+
*/
|
|
46
|
+
export declare const getAvatar: (name: string) => string;
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import type { Node as PMNode } from "@tiptap/pm/model";
|
|
2
|
+
import type { Transaction } from "@tiptap/pm/state";
|
|
3
|
+
import { type ClassValue } from "clsx";
|
|
4
|
+
import { Selection } from "@tiptap/pm/state";
|
|
5
|
+
import { type Editor, type NodeWithPos } from "@tiptap/react";
|
|
6
|
+
export declare const MAX_FILE_SIZE: number;
|
|
7
|
+
export declare const MAC_SYMBOLS: Record<string, string>;
|
|
8
|
+
export declare const SR_ONLY: {
|
|
9
|
+
readonly position: "absolute";
|
|
10
|
+
readonly width: "1px";
|
|
11
|
+
readonly height: "1px";
|
|
12
|
+
readonly padding: 0;
|
|
13
|
+
readonly margin: "-1px";
|
|
14
|
+
readonly overflow: "hidden";
|
|
15
|
+
readonly clip: "rect(0, 0, 0, 0)";
|
|
16
|
+
readonly whiteSpace: "nowrap";
|
|
17
|
+
readonly borderWidth: 0;
|
|
18
|
+
};
|
|
19
|
+
export declare function cn(...inputs: ClassValue[]): string;
|
|
20
|
+
/**
|
|
21
|
+
* Determines if the current platform is macOS
|
|
22
|
+
* @returns boolean indicating if the current platform is Mac
|
|
23
|
+
*/
|
|
24
|
+
export declare function isMac(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Formats a shortcut key based on the platform (Mac or non-Mac)
|
|
27
|
+
* @param key - The key to format (e.g., "ctrl", "alt", "shift")
|
|
28
|
+
* @param isMac - Boolean indicating if the platform is Mac
|
|
29
|
+
* @param capitalize - Whether to capitalize the key (default: true)
|
|
30
|
+
* @returns Formatted shortcut key symbol
|
|
31
|
+
*/
|
|
32
|
+
export declare const formatShortcutKey: (key: string, isMac: boolean, capitalize?: boolean) => string;
|
|
33
|
+
/**
|
|
34
|
+
* Parses a shortcut key string into an array of formatted key symbols
|
|
35
|
+
* @param shortcutKeys - The string of shortcut keys (e.g., "ctrl-alt-shift")
|
|
36
|
+
* @param delimiter - The delimiter used to split the keys (default: "-")
|
|
37
|
+
* @param capitalize - Whether to capitalize the keys (default: true)
|
|
38
|
+
* @returns Array of formatted shortcut key symbols
|
|
39
|
+
*/
|
|
40
|
+
export declare const parseShortcutKeys: (props: {
|
|
41
|
+
shortcutKeys: string | undefined;
|
|
42
|
+
delimiter?: string;
|
|
43
|
+
capitalize?: boolean;
|
|
44
|
+
}) => string[];
|
|
45
|
+
/**
|
|
46
|
+
* Checks if a mark exists in the editor schema
|
|
47
|
+
* @param markName - The name of the mark to check
|
|
48
|
+
* @param editor - The editor instance
|
|
49
|
+
* @returns boolean indicating if the mark exists in the schema
|
|
50
|
+
*/
|
|
51
|
+
export declare const isMarkInSchema: (markName: string, editor: Editor | null) => boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Checks if a node exists in the editor schema
|
|
54
|
+
* @param nodeName - The name of the node to check
|
|
55
|
+
* @param editor - The editor instance
|
|
56
|
+
* @returns boolean indicating if the node exists in the schema
|
|
57
|
+
*/
|
|
58
|
+
export declare const isNodeInSchema: (nodeName: string, editor: Editor | null) => boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Moves the focus to the next node in the editor
|
|
61
|
+
* @param editor - The editor instance
|
|
62
|
+
* @returns boolean indicating if the focus was moved
|
|
63
|
+
*/
|
|
64
|
+
export declare function focusNextNode(editor: Editor): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Checks if a value is a valid number (not null, undefined, or NaN)
|
|
67
|
+
* @param value - The value to check
|
|
68
|
+
* @returns boolean indicating if the value is a valid number
|
|
69
|
+
*/
|
|
70
|
+
export declare function isValidPosition(pos: number | null | undefined): pos is number;
|
|
71
|
+
/**
|
|
72
|
+
* Checks if one or more extensions are registered in the Tiptap editor.
|
|
73
|
+
* @param editor - The Tiptap editor instance
|
|
74
|
+
* @param extensionNames - A single extension name or an array of names to check
|
|
75
|
+
* @returns True if at least one of the extensions is available, false otherwise
|
|
76
|
+
*/
|
|
77
|
+
export declare function isExtensionAvailable(editor: Editor | null, extensionNames: string | string[]): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Finds a node at the specified position with error handling
|
|
80
|
+
* @param editor The Tiptap editor instance
|
|
81
|
+
* @param position The position in the document to find the node
|
|
82
|
+
* @returns The node at the specified position, or null if not found
|
|
83
|
+
*/
|
|
84
|
+
export declare function findNodeAtPosition(editor: Editor, position: number): PMNode | null;
|
|
85
|
+
/**
|
|
86
|
+
* Finds the position and instance of a node in the document
|
|
87
|
+
* @param props Object containing editor, node (optional), and nodePos (optional)
|
|
88
|
+
* @param props.editor The Tiptap editor instance
|
|
89
|
+
* @param props.node The node to find (optional if nodePos is provided)
|
|
90
|
+
* @param props.nodePos The position of the node to find (optional if node is provided)
|
|
91
|
+
* @returns An object with the position and node, or null if not found
|
|
92
|
+
*/
|
|
93
|
+
export declare function findNodePosition(props: {
|
|
94
|
+
editor: Editor | null;
|
|
95
|
+
node?: PMNode | null;
|
|
96
|
+
nodePos?: number | null;
|
|
97
|
+
}): {
|
|
98
|
+
pos: number;
|
|
99
|
+
node: PMNode;
|
|
100
|
+
} | null;
|
|
101
|
+
/**
|
|
102
|
+
* Determines whether the current selection contains a node whose type matches
|
|
103
|
+
* any of the provided node type names.
|
|
104
|
+
* @param editor Tiptap editor instance
|
|
105
|
+
* @param nodeTypeNames List of node type names to match against
|
|
106
|
+
* @param checkAncestorNodes Whether to check ancestor node types up the depth chain
|
|
107
|
+
*/
|
|
108
|
+
export declare function isNodeTypeSelected(editor: Editor | null, nodeTypeNames?: string[], checkAncestorNodes?: boolean): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Check whether the current selection is fully within nodes
|
|
111
|
+
* whose type names are in the provided `types` list.
|
|
112
|
+
*
|
|
113
|
+
* - NodeSelection → checks the selected node.
|
|
114
|
+
* - Text/AllSelection → ensures all textblocks within [from, to) are allowed.
|
|
115
|
+
*/
|
|
116
|
+
export declare function selectionWithinConvertibleTypes(editor: Editor, types?: string[]): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Handles image upload with progress tracking and abort capability
|
|
119
|
+
* @param file The file to upload
|
|
120
|
+
* @param onProgress Optional callback for tracking upload progress
|
|
121
|
+
* @param abortSignal Optional AbortSignal for cancelling the upload
|
|
122
|
+
* @returns Promise resolving to the URL of the uploaded image
|
|
123
|
+
*/
|
|
124
|
+
export declare const handleImageUpload: (file: File, onProgress?: (event: {
|
|
125
|
+
progress: number;
|
|
126
|
+
}) => void, abortSignal?: AbortSignal) => Promise<string>;
|
|
127
|
+
type ProtocolOptions = {
|
|
128
|
+
/**
|
|
129
|
+
* The protocol scheme to be registered.
|
|
130
|
+
* @default '''
|
|
131
|
+
* @example 'ftp'
|
|
132
|
+
* @example 'git'
|
|
133
|
+
*/
|
|
134
|
+
scheme: string;
|
|
135
|
+
/**
|
|
136
|
+
* If enabled, it allows optional slashes after the protocol.
|
|
137
|
+
* @default false
|
|
138
|
+
* @example true
|
|
139
|
+
*/
|
|
140
|
+
optionalSlashes?: boolean;
|
|
141
|
+
};
|
|
142
|
+
type ProtocolConfig = Array<ProtocolOptions | string>;
|
|
143
|
+
export declare function isAllowedUri(uri: string | undefined, protocols?: ProtocolConfig): true | RegExpMatchArray | null;
|
|
144
|
+
export declare function sanitizeUrl(inputUrl: string, baseUrl: string, protocols?: ProtocolConfig): string;
|
|
145
|
+
/**
|
|
146
|
+
* Update a single attribute on multiple nodes.
|
|
147
|
+
*
|
|
148
|
+
* @param tr - The transaction to mutate
|
|
149
|
+
* @param targets - Array of { node, pos }
|
|
150
|
+
* @param attrName - Attribute key to update
|
|
151
|
+
* @param next - New value OR updater function receiving previous value
|
|
152
|
+
* Pass `undefined` to remove the attribute.
|
|
153
|
+
* @returns true if at least one node was updated, false otherwise
|
|
154
|
+
*/
|
|
155
|
+
export declare function updateNodesAttr<A extends string = string, V = unknown>(tr: Transaction, targets: readonly NodeWithPos[], attrName: A, next: V | ((prev: V | undefined) => V | undefined)): boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Selects the entire content of the current block node if the selection is empty.
|
|
158
|
+
* If the selection is not empty, it does nothing.
|
|
159
|
+
* @param editor The Tiptap editor instance
|
|
160
|
+
*/
|
|
161
|
+
export declare function selectCurrentBlockContent(editor: Editor): void;
|
|
162
|
+
/**
|
|
163
|
+
* Retrieves all nodes of specified types from the current selection.
|
|
164
|
+
* @param selection The current editor selection
|
|
165
|
+
* @param allowedNodeTypes An array of node type names to look for (e.g., ["image", "table"])
|
|
166
|
+
* @returns An array of objects containing the node and its position
|
|
167
|
+
*/
|
|
168
|
+
export declare function getSelectedNodesOfType(selection: Selection, allowedNodeTypes: string[]): NodeWithPos[];
|
|
169
|
+
/**
|
|
170
|
+
* Clamps a value between min and max bounds
|
|
171
|
+
*/
|
|
172
|
+
export declare function clamp(value: number, min: number, max: number): number;
|
|
173
|
+
export declare function getSelectedBlockNodes(editor: Editor): PMNode[];
|
|
174
|
+
export {};
|