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,78 @@
|
|
|
1
|
+
import { type Editor } from "@tiptap/react";
|
|
2
|
+
export declare const DUPLICATE_SHORTCUT_KEY = "mod+d";
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for the duplicate functionality
|
|
5
|
+
*/
|
|
6
|
+
export interface UseDuplicateConfig {
|
|
7
|
+
/**
|
|
8
|
+
* The Tiptap editor instance.
|
|
9
|
+
*/
|
|
10
|
+
editor?: Editor | null;
|
|
11
|
+
/**
|
|
12
|
+
* Whether the button should hide when duplication is not available.
|
|
13
|
+
* @default false
|
|
14
|
+
*/
|
|
15
|
+
hideWhenUnavailable?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Callback function called after a successful duplication.
|
|
18
|
+
*/
|
|
19
|
+
onDuplicated?: () => void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Checks if a node can be duplicated in the current editor state
|
|
23
|
+
*/
|
|
24
|
+
export declare function canDuplicateNode(editor: Editor | null): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Duplicates a node in the editor
|
|
27
|
+
*/
|
|
28
|
+
export declare function duplicateNode(editor: Editor | null): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Determines if the duplicate button should be shown
|
|
31
|
+
*/
|
|
32
|
+
export declare function shouldShowButton(props: {
|
|
33
|
+
editor: Editor | null;
|
|
34
|
+
hideWhenUnavailable: boolean;
|
|
35
|
+
}): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Custom hook that provides duplicate functionality for Tiptap editor
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```tsx
|
|
41
|
+
* // Simple usage - no params needed
|
|
42
|
+
* function MySimpleDuplicateButton() {
|
|
43
|
+
* const { isVisible, handleDuplicate } = useDuplicate()
|
|
44
|
+
*
|
|
45
|
+
* if (!isVisible) return null
|
|
46
|
+
*
|
|
47
|
+
* return <button onClick={handleDuplicate}>Duplicate</button>
|
|
48
|
+
* }
|
|
49
|
+
*
|
|
50
|
+
* // Advanced usage with configuration
|
|
51
|
+
* function MyAdvancedDuplicateButton() {
|
|
52
|
+
* const { isVisible, handleDuplicate, label } = useDuplicate({
|
|
53
|
+
* editor: myEditor,
|
|
54
|
+
* hideWhenUnavailable: true,
|
|
55
|
+
* onDuplicated: () => console.log('Node duplicated!')
|
|
56
|
+
* })
|
|
57
|
+
*
|
|
58
|
+
* if (!isVisible) return null
|
|
59
|
+
*
|
|
60
|
+
* return (
|
|
61
|
+
* <MyButton
|
|
62
|
+
* onClick={handleDuplicate}
|
|
63
|
+
* aria-label={label}
|
|
64
|
+
* >
|
|
65
|
+
* Duplicate Node
|
|
66
|
+
* </MyButton>
|
|
67
|
+
* )
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare function useDuplicate(config?: UseDuplicateConfig): {
|
|
72
|
+
isVisible: boolean;
|
|
73
|
+
handleDuplicate: () => boolean;
|
|
74
|
+
canDuplicate: boolean;
|
|
75
|
+
label: string;
|
|
76
|
+
shortcutKeys: string;
|
|
77
|
+
Icon: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
78
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { SuggestionMenuProps } from "@/components/tiptap-ui-utils/suggestion-menu";
|
|
2
|
+
export type EmojiDropdownMenuProps = Omit<SuggestionMenuProps, "items" | "children">;
|
|
3
|
+
export declare const EmojiDropdownMenu: (props: EmojiDropdownMenuProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./emoji-dropdown-menu";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { EmojiItem } from "@tiptap/extension-emoji";
|
|
2
|
+
export declare const searchEmojiData: <T extends EmojiItem>(query: string, emojiData: T) => boolean;
|
|
3
|
+
export declare const getFilteredEmojis: <T extends EmojiItem>(props: {
|
|
4
|
+
query: string;
|
|
5
|
+
emojis: T[];
|
|
6
|
+
}) => T[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { EmojiItem } from "@tiptap/extension-emoji";
|
|
2
|
+
import "@/components/tiptap-ui/emoji-menu/emoji-menu.css";
|
|
3
|
+
export interface EmojiMenuItemProps<T extends EmojiItem> {
|
|
4
|
+
emoji: T;
|
|
5
|
+
index: number;
|
|
6
|
+
isSelected: boolean;
|
|
7
|
+
onSelect: (emoji: T) => void;
|
|
8
|
+
selector: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const EmojiMenuItem: <T extends EmojiItem>(props: EmojiMenuItemProps<T>) => import("react").JSX.Element | null;
|
|
11
|
+
export interface EmojiMenuProps<T extends EmojiItem> {
|
|
12
|
+
emojis: T[];
|
|
13
|
+
onSelect: (emoji: T) => void;
|
|
14
|
+
onClose?: () => void;
|
|
15
|
+
showSearch?: boolean;
|
|
16
|
+
selector?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const EmojiMenu: <T extends EmojiItem>(props: EmojiMenuProps<T>) => import("react").JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { UseEmojiTriggerConfig } from "@/components/tiptap-ui/emoji-trigger-button";
|
|
2
|
+
import type { ButtonProps } from "@/components/tiptap-ui-primitive/button";
|
|
3
|
+
export interface EmojiTriggerButtonProps extends Omit<ButtonProps, "type">, UseEmojiTriggerConfig {
|
|
4
|
+
/**
|
|
5
|
+
* Optional text to display alongside the icon.
|
|
6
|
+
*/
|
|
7
|
+
text?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Optional show shortcut keys in the button.
|
|
10
|
+
* @default false
|
|
11
|
+
*/
|
|
12
|
+
showShortcut?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function EmojiTriggerShortcutBadge({ shortcutKeys, }: {
|
|
15
|
+
shortcutKeys?: string;
|
|
16
|
+
}): import("react").JSX.Element;
|
|
17
|
+
/**
|
|
18
|
+
* Button component for adding emoji trigger in a Tiptap editor.
|
|
19
|
+
*
|
|
20
|
+
* For custom button implementations, use the `useEmojiTrigger` hook instead.
|
|
21
|
+
*/
|
|
22
|
+
export declare const EmojiTriggerButton: import("react").ForwardRefExoticComponent<EmojiTriggerButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { type Editor } from "@tiptap/react";
|
|
2
|
+
import type { Node } from "@tiptap/pm/model";
|
|
3
|
+
export declare const EMOJI_TRIGGER_SHORTCUT_KEY = "mod+shift+e";
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for the emoji trigger functionality
|
|
6
|
+
*/
|
|
7
|
+
export interface UseEmojiTriggerConfig {
|
|
8
|
+
/**
|
|
9
|
+
* The Tiptap editor instance.
|
|
10
|
+
*/
|
|
11
|
+
editor?: Editor | null;
|
|
12
|
+
/**
|
|
13
|
+
* Optional node to insert trigger after.
|
|
14
|
+
*/
|
|
15
|
+
node?: Node | null;
|
|
16
|
+
/**
|
|
17
|
+
* Optional position of the node to insert trigger after.
|
|
18
|
+
*/
|
|
19
|
+
nodePos?: number | null;
|
|
20
|
+
/**
|
|
21
|
+
* The trigger text to insert.
|
|
22
|
+
* @default ":"
|
|
23
|
+
*/
|
|
24
|
+
trigger?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the button should hide when trigger insertion is not available.
|
|
27
|
+
* @default false
|
|
28
|
+
*/
|
|
29
|
+
hideWhenUnavailable?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Callback function called after a successful trigger insertion.
|
|
32
|
+
*/
|
|
33
|
+
onTriggerApplied?: (trigger: string) => void;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Checks if emoji trigger can be added in the current editor state
|
|
37
|
+
*/
|
|
38
|
+
export declare function canAddEmojiTrigger(editor: Editor | null): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Adds an emoji trigger at the current selection or specified node position
|
|
41
|
+
*/
|
|
42
|
+
export declare function addEmojiTrigger(editor: Editor | null, trigger?: string, node?: Node | null, nodePos?: number | null): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Determines if the emoji trigger button should be shown
|
|
45
|
+
*/
|
|
46
|
+
export declare function shouldShowButton(props: {
|
|
47
|
+
editor: Editor | null;
|
|
48
|
+
hideWhenUnavailable: boolean;
|
|
49
|
+
}): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Custom hook that provides emoji trigger functionality for Tiptap editor
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```tsx
|
|
55
|
+
* // Simple usage - no params needed
|
|
56
|
+
* function MySimpleEmojiTriggerButton() {
|
|
57
|
+
* const { isVisible, handleAddTrigger } = useEmojiTrigger()
|
|
58
|
+
*
|
|
59
|
+
* if (!isVisible) return null
|
|
60
|
+
*
|
|
61
|
+
* return <button onClick={handleAddTrigger}>Add Emoji</button>
|
|
62
|
+
* }
|
|
63
|
+
*
|
|
64
|
+
* // Advanced usage with configuration
|
|
65
|
+
* function MyAdvancedEmojiTriggerButton() {
|
|
66
|
+
* const { isVisible, handleAddTrigger, label } = useEmojiTrigger({
|
|
67
|
+
* editor: myEditor,
|
|
68
|
+
* trigger: "::",
|
|
69
|
+
* hideWhenUnavailable: true,
|
|
70
|
+
* onTriggerApplied: (trigger) => console.log('Trigger added:', trigger)
|
|
71
|
+
* })
|
|
72
|
+
*
|
|
73
|
+
* if (!isVisible) return null
|
|
74
|
+
*
|
|
75
|
+
* return (
|
|
76
|
+
* <MyButton
|
|
77
|
+
* onClick={handleAddTrigger}
|
|
78
|
+
* aria-label={label}
|
|
79
|
+
* >
|
|
80
|
+
* Add Emoji Trigger
|
|
81
|
+
* </MyButton>
|
|
82
|
+
* )
|
|
83
|
+
* }
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function useEmojiTrigger(config?: UseEmojiTriggerConfig): {
|
|
87
|
+
isVisible: boolean;
|
|
88
|
+
handleAddTrigger: () => boolean;
|
|
89
|
+
canAddTrigger: boolean;
|
|
90
|
+
label: string;
|
|
91
|
+
shortcutKeys: string;
|
|
92
|
+
trigger: string;
|
|
93
|
+
Icon: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
94
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Level, UseHeadingConfig } from "@/components/tiptap-ui/heading-button";
|
|
2
|
+
import type { ButtonProps } from "@/components/tiptap-ui-primitive/button";
|
|
3
|
+
export interface HeadingButtonProps extends Omit<ButtonProps, "type">, UseHeadingConfig {
|
|
4
|
+
/**
|
|
5
|
+
* Optional text to display alongside the icon.
|
|
6
|
+
*/
|
|
7
|
+
text?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Optional show shortcut keys in the button.
|
|
10
|
+
* @default false
|
|
11
|
+
*/
|
|
12
|
+
showShortcut?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function HeadingShortcutBadge({ level, shortcutKeys, }: {
|
|
15
|
+
level: Level;
|
|
16
|
+
shortcutKeys?: string;
|
|
17
|
+
}): import("react").JSX.Element;
|
|
18
|
+
/**
|
|
19
|
+
* Button component for toggling heading in a Tiptap editor.
|
|
20
|
+
*
|
|
21
|
+
* For custom button implementations, use the `useHeading` hook instead.
|
|
22
|
+
*/
|
|
23
|
+
export declare const HeadingButton: import("react").ForwardRefExoticComponent<HeadingButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { type Editor } from "@tiptap/react";
|
|
2
|
+
export type Level = 1 | 2 | 3 | 4 | 5 | 6;
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for the heading functionality
|
|
5
|
+
*/
|
|
6
|
+
export interface UseHeadingConfig {
|
|
7
|
+
/**
|
|
8
|
+
* The Tiptap editor instance.
|
|
9
|
+
*/
|
|
10
|
+
editor?: Editor | null;
|
|
11
|
+
/**
|
|
12
|
+
* The heading level.
|
|
13
|
+
*/
|
|
14
|
+
level: Level;
|
|
15
|
+
/**
|
|
16
|
+
* Whether the button should hide when heading is not available.
|
|
17
|
+
* @default false
|
|
18
|
+
*/
|
|
19
|
+
hideWhenUnavailable?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Callback function called after a successful heading toggle.
|
|
22
|
+
*/
|
|
23
|
+
onToggled?: () => void;
|
|
24
|
+
}
|
|
25
|
+
export declare const headingIcons: {
|
|
26
|
+
1: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
27
|
+
2: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
28
|
+
3: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
29
|
+
4: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
30
|
+
5: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
31
|
+
6: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
32
|
+
};
|
|
33
|
+
export declare const HEADING_SHORTCUT_KEYS: Record<Level, string>;
|
|
34
|
+
/**
|
|
35
|
+
* Checks if heading can be toggled in the current editor state
|
|
36
|
+
*/
|
|
37
|
+
export declare function canToggle(editor: Editor | null, level?: Level, turnInto?: boolean): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Checks if heading is currently active
|
|
40
|
+
*/
|
|
41
|
+
export declare function isHeadingActive(editor: Editor | null, level?: Level | Level[]): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Toggles heading in the editor
|
|
44
|
+
*/
|
|
45
|
+
export declare function toggleHeading(editor: Editor | null, level: Level | Level[]): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Determines if the heading button should be shown
|
|
48
|
+
*/
|
|
49
|
+
export declare function shouldShowButton(props: {
|
|
50
|
+
editor: Editor | null;
|
|
51
|
+
level?: Level | Level[];
|
|
52
|
+
hideWhenUnavailable: boolean;
|
|
53
|
+
}): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Custom hook that provides heading functionality for Tiptap editor
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```tsx
|
|
59
|
+
* // Simple usage
|
|
60
|
+
* function MySimpleHeadingButton() {
|
|
61
|
+
* const { isVisible, isActive, handleToggle, Icon } = useHeading({ level: 1 })
|
|
62
|
+
*
|
|
63
|
+
* if (!isVisible) return null
|
|
64
|
+
*
|
|
65
|
+
* return (
|
|
66
|
+
* <button
|
|
67
|
+
* onClick={handleToggle}
|
|
68
|
+
* aria-pressed={isActive}
|
|
69
|
+
* >
|
|
70
|
+
* <Icon />
|
|
71
|
+
* Heading 1
|
|
72
|
+
* </button>
|
|
73
|
+
* )
|
|
74
|
+
* }
|
|
75
|
+
*
|
|
76
|
+
* // Advanced usage with configuration
|
|
77
|
+
* function MyAdvancedHeadingButton() {
|
|
78
|
+
* const { isVisible, isActive, handleToggle, label, Icon } = useHeading({
|
|
79
|
+
* level: 2,
|
|
80
|
+
* editor: myEditor,
|
|
81
|
+
* hideWhenUnavailable: true,
|
|
82
|
+
* onToggled: (isActive) => console.log('Heading toggled:', isActive)
|
|
83
|
+
* })
|
|
84
|
+
*
|
|
85
|
+
* if (!isVisible) return null
|
|
86
|
+
*
|
|
87
|
+
* return (
|
|
88
|
+
* <MyButton
|
|
89
|
+
* onClick={handleToggle}
|
|
90
|
+
* aria-label={label}
|
|
91
|
+
* aria-pressed={isActive}
|
|
92
|
+
* >
|
|
93
|
+
* <Icon />
|
|
94
|
+
* Toggle Heading 2
|
|
95
|
+
* </MyButton>
|
|
96
|
+
* )
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare function useHeading(config: UseHeadingConfig): {
|
|
101
|
+
isVisible: boolean;
|
|
102
|
+
isActive: boolean;
|
|
103
|
+
handleToggle: () => boolean;
|
|
104
|
+
canToggle: boolean;
|
|
105
|
+
label: string;
|
|
106
|
+
shortcutKeys: string;
|
|
107
|
+
Icon: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element> | import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element> | import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element> | import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element> | import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element> | import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
108
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ImageAlign, UseImageAlignConfig } from "@/components/tiptap-ui/image-align-button";
|
|
2
|
+
import type { ButtonProps } from "@/components/tiptap-ui-primitive/button";
|
|
3
|
+
export interface ImageAlignButtonProps extends Omit<ButtonProps, "type">, UseImageAlignConfig {
|
|
4
|
+
/**
|
|
5
|
+
* Optional text to display alongside the icon.
|
|
6
|
+
*/
|
|
7
|
+
text?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Optional show shortcut keys in the button.
|
|
10
|
+
* @default false
|
|
11
|
+
*/
|
|
12
|
+
showShortcut?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function ImageAlignShortcutBadge({ align, shortcutKeys, }: {
|
|
15
|
+
align: ImageAlign;
|
|
16
|
+
shortcutKeys?: string;
|
|
17
|
+
}): import("react").JSX.Element;
|
|
18
|
+
/**
|
|
19
|
+
* Button component for setting image alignment in a Tiptap editor.
|
|
20
|
+
*
|
|
21
|
+
* For custom button implementations, use the `useImageAlign` hook instead.
|
|
22
|
+
*/
|
|
23
|
+
export declare const ImageAlignButton: import("react").ForwardRefExoticComponent<ImageAlignButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { type Editor } from "@tiptap/react";
|
|
2
|
+
export type ImageAlign = "left" | "center" | "right";
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for the image align functionality
|
|
5
|
+
*/
|
|
6
|
+
export interface UseImageAlignConfig {
|
|
7
|
+
/**
|
|
8
|
+
* The Tiptap editor instance.
|
|
9
|
+
*/
|
|
10
|
+
editor?: Editor | null;
|
|
11
|
+
/**
|
|
12
|
+
* The image alignment to apply.
|
|
13
|
+
*/
|
|
14
|
+
align: ImageAlign;
|
|
15
|
+
/**
|
|
16
|
+
* The name of the image extension to target.
|
|
17
|
+
* @default "image"
|
|
18
|
+
*/
|
|
19
|
+
extensionName?: string;
|
|
20
|
+
/**
|
|
21
|
+
* The attribute name used for alignment.
|
|
22
|
+
* @default "data-align"
|
|
23
|
+
*/
|
|
24
|
+
attributeName?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the button should hide when alignment is not available.
|
|
27
|
+
* @default false
|
|
28
|
+
*/
|
|
29
|
+
hideWhenUnavailable?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Callback function called after a successful alignment change.
|
|
32
|
+
*/
|
|
33
|
+
onAligned?: () => void;
|
|
34
|
+
}
|
|
35
|
+
export declare const IMAGE_ALIGN_SHORTCUT_KEYS: Record<ImageAlign, string>;
|
|
36
|
+
export declare const imageAlignIcons: {
|
|
37
|
+
left: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
38
|
+
center: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
39
|
+
right: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
40
|
+
};
|
|
41
|
+
export declare const imageAlignLabels: Record<ImageAlign, string>;
|
|
42
|
+
/**
|
|
43
|
+
* Checks if image alignment can be performed in the current editor state
|
|
44
|
+
*/
|
|
45
|
+
export declare function canSetImageAlign(editor: Editor | null, align: ImageAlign, extensionName?: string, attributeName?: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Checks if the image alignment is currently active
|
|
48
|
+
*/
|
|
49
|
+
export declare function isImageAlignActive(editor: Editor | null, align: ImageAlign, extensionName?: string, attributeName?: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Sets image alignment in the editor
|
|
52
|
+
*/
|
|
53
|
+
export declare function setImageAlign(editor: Editor | null, align: ImageAlign, extensionName?: string, attributeName?: string): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Determines if the image align button should be shown
|
|
56
|
+
*/
|
|
57
|
+
export declare function shouldShowButton(props: {
|
|
58
|
+
editor: Editor | null;
|
|
59
|
+
hideWhenUnavailable: boolean;
|
|
60
|
+
align: ImageAlign;
|
|
61
|
+
extensionName?: string;
|
|
62
|
+
attributeName?: string;
|
|
63
|
+
}): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Custom hook that provides image align functionality for Tiptap editor
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```tsx
|
|
69
|
+
* // Simple usage with default "image" extension
|
|
70
|
+
* function MySimpleImageAlignButton() {
|
|
71
|
+
* const { isVisible, handleImageAlign } = useImageAlign({ align: "center" })
|
|
72
|
+
*
|
|
73
|
+
* if (!isVisible) return null
|
|
74
|
+
*
|
|
75
|
+
* return <button onClick={handleImageAlign}>Align Center</button>
|
|
76
|
+
* }
|
|
77
|
+
*
|
|
78
|
+
* // Advanced usage with custom extension name
|
|
79
|
+
* function MyAdvancedImageAlignButton() {
|
|
80
|
+
* const { isVisible, handleImageAlign, label, isActive } = useImageAlign({
|
|
81
|
+
* editor: myEditor,
|
|
82
|
+
* align: "right",
|
|
83
|
+
* extensionName: "myCustomImage", // Use your custom extension name
|
|
84
|
+
* hideWhenUnavailable: true,
|
|
85
|
+
* onAligned: () => console.log('Image aligned!')
|
|
86
|
+
* })
|
|
87
|
+
*
|
|
88
|
+
* if (!isVisible) return null
|
|
89
|
+
*
|
|
90
|
+
* return (
|
|
91
|
+
* <MyButton
|
|
92
|
+
* onClick={handleImageAlign}
|
|
93
|
+
* aria-pressed={isActive}
|
|
94
|
+
* aria-label={label}
|
|
95
|
+
* >
|
|
96
|
+
* Align Right
|
|
97
|
+
* </MyButton>
|
|
98
|
+
* )
|
|
99
|
+
* }
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
export declare function useImageAlign(config: UseImageAlignConfig): {
|
|
103
|
+
isVisible: boolean;
|
|
104
|
+
isActive: boolean;
|
|
105
|
+
handleImageAlign: () => boolean;
|
|
106
|
+
canAlign: boolean;
|
|
107
|
+
label: string;
|
|
108
|
+
shortcutKeys: string;
|
|
109
|
+
Icon: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element> | import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element> | import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
110
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { UseImageCaptionConfig } from "@/components/tiptap-ui/image-caption-button";
|
|
3
|
+
import type { ButtonProps } from "@/components/tiptap-ui-primitive/button";
|
|
4
|
+
export interface ImageCaptionButtonProps extends Omit<ButtonProps, "type">, UseImageCaptionConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Optional text to display alongside the icon.
|
|
7
|
+
*/
|
|
8
|
+
text?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Button component for toggling image captions in a Tiptap editor.
|
|
12
|
+
* Only appears when an image is selected in the editor.
|
|
13
|
+
*
|
|
14
|
+
* For custom button implementations, use the `useImageCaption` hook instead.
|
|
15
|
+
*/
|
|
16
|
+
export declare const ImageCaptionButton: React.ForwardRefExoticComponent<ImageCaptionButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { type Editor } from "@tiptap/react";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for the image caption functionality
|
|
4
|
+
*/
|
|
5
|
+
export interface UseImageCaptionConfig {
|
|
6
|
+
/**
|
|
7
|
+
* The Tiptap editor instance.
|
|
8
|
+
*/
|
|
9
|
+
editor?: Editor | null;
|
|
10
|
+
/**
|
|
11
|
+
* Whether the button should hide when caption toggle is not available.
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
hideWhenUnavailable?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Callback function called after a successful caption set.
|
|
17
|
+
*/
|
|
18
|
+
onSet?: () => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Checks if image caption can be toggled in the current editor state
|
|
22
|
+
*/
|
|
23
|
+
export declare function canToggleImageCaption(editor: Editor | null): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Checks if the currently selected image has caption enabled
|
|
26
|
+
*/
|
|
27
|
+
export declare function isImageCaptionActive(editor: Editor | null): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Toggles the image caption in the editor
|
|
30
|
+
*/
|
|
31
|
+
export declare function setImageCaption(editor: Editor | null): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Determines if the image caption button should be shown
|
|
34
|
+
*/
|
|
35
|
+
export declare function shouldShowButton(props: {
|
|
36
|
+
editor: Editor | null;
|
|
37
|
+
hideWhenUnavailable: boolean;
|
|
38
|
+
}): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Custom hook that provides image caption functionality for Tiptap editor
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```tsx
|
|
44
|
+
* // Simple usage
|
|
45
|
+
* function MyImageCaptionButton() {
|
|
46
|
+
* const { isVisible, handleSetCaption } = useImageCaption()
|
|
47
|
+
*
|
|
48
|
+
* if (!isVisible) return null
|
|
49
|
+
*
|
|
50
|
+
* return <button onClick={handleSetCaption}>Add Caption</button>
|
|
51
|
+
* }
|
|
52
|
+
*
|
|
53
|
+
* // Advanced usage
|
|
54
|
+
* function MyAdvancedImageCaptionButton() {
|
|
55
|
+
* const { isVisible, handleSetCaption, label, canToggle } = useImageCaption({
|
|
56
|
+
* editor: myEditor,
|
|
57
|
+
* hideWhenUnavailable: true,
|
|
58
|
+
* onSet: () => console.log('Caption set!')
|
|
59
|
+
* })
|
|
60
|
+
*
|
|
61
|
+
* if (!isVisible) return null
|
|
62
|
+
*
|
|
63
|
+
* return (
|
|
64
|
+
* <MyButton
|
|
65
|
+
* onClick={handleSetCaption}
|
|
66
|
+
* disabled={!canToggle}
|
|
67
|
+
* aria-label={label}
|
|
68
|
+
* >
|
|
69
|
+
* Add Caption
|
|
70
|
+
* </MyButton>
|
|
71
|
+
* )
|
|
72
|
+
* }
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function useImageCaption(config?: UseImageCaptionConfig): {
|
|
76
|
+
isVisible: boolean;
|
|
77
|
+
isActive: boolean;
|
|
78
|
+
canToggle: boolean;
|
|
79
|
+
handleSetCaption: () => boolean;
|
|
80
|
+
label: string;
|
|
81
|
+
Icon: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
|
|
82
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { UseImageDownloadConfig } from "@/components/tiptap-ui/image-download-button";
|
|
2
|
+
import type { ButtonProps } from "@/components/tiptap-ui-primitive/button";
|
|
3
|
+
export interface ImageDownloadButtonProps extends Omit<ButtonProps, "type">, UseImageDownloadConfig {
|
|
4
|
+
/**
|
|
5
|
+
* Optional text to display alongside the icon.
|
|
6
|
+
*/
|
|
7
|
+
text?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Optional show shortcut keys in the button.
|
|
10
|
+
* @default false
|
|
11
|
+
*/
|
|
12
|
+
showShortcut?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function ImageDownloadShortcutBadge({ shortcutKeys, }: {
|
|
15
|
+
shortcutKeys?: string;
|
|
16
|
+
}): import("react").JSX.Element;
|
|
17
|
+
/**
|
|
18
|
+
* Button component for downloading images from a Tiptap editor.
|
|
19
|
+
* Only appears when an image is selected in the editor.
|
|
20
|
+
*
|
|
21
|
+
* For custom button implementations, use the `useImageDownload` hook instead.
|
|
22
|
+
*/
|
|
23
|
+
export declare const ImageDownloadButton: import("react").ForwardRefExoticComponent<ImageDownloadButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|