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.
Files changed (327) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +57 -0
  3. package/dist/components/tiptap-extension/indent-extension.d.ts +90 -0
  4. package/dist/components/tiptap-extension/list-normalization-extension.d.ts +30 -0
  5. package/dist/components/tiptap-extension/node-alignment-extension.d.ts +38 -0
  6. package/dist/components/tiptap-extension/node-background-extension.d.ts +23 -0
  7. package/dist/components/tiptap-extension/triple-click-block-selection-extension.d.ts +13 -0
  8. package/dist/components/tiptap-extension/ui-state-extension.d.ts +22 -0
  9. package/dist/components/tiptap-icons/add-col-left-icon.d.ts +3 -0
  10. package/dist/components/tiptap-icons/add-col-right-icon.d.ts +3 -0
  11. package/dist/components/tiptap-icons/add-row-bottom-icon.d.ts +3 -0
  12. package/dist/components/tiptap-icons/add-row-top-icon.d.ts +3 -0
  13. package/dist/components/tiptap-icons/align-bottom-icon.d.ts +3 -0
  14. package/dist/components/tiptap-icons/align-center-icon.d.ts +3 -0
  15. package/dist/components/tiptap-icons/align-center-vertical-icon.d.ts +3 -0
  16. package/dist/components/tiptap-icons/align-end-vertical-icon.d.ts +3 -0
  17. package/dist/components/tiptap-icons/align-justify-icon.d.ts +3 -0
  18. package/dist/components/tiptap-icons/align-left-icon.d.ts +3 -0
  19. package/dist/components/tiptap-icons/align-middle-icon.d.ts +3 -0
  20. package/dist/components/tiptap-icons/align-right-icon.d.ts +3 -0
  21. package/dist/components/tiptap-icons/align-start-vertical-icon.d.ts +3 -0
  22. package/dist/components/tiptap-icons/align-top-icon.d.ts +3 -0
  23. package/dist/components/tiptap-icons/alignment-icon.d.ts +3 -0
  24. package/dist/components/tiptap-icons/arrow-down-a-z-icon.d.ts +3 -0
  25. package/dist/components/tiptap-icons/arrow-down-icon.d.ts +3 -0
  26. package/dist/components/tiptap-icons/arrow-down-to-line-icon.d.ts +3 -0
  27. package/dist/components/tiptap-icons/arrow-down-z-a-icon.d.ts +3 -0
  28. package/dist/components/tiptap-icons/arrow-left-icon.d.ts +3 -0
  29. package/dist/components/tiptap-icons/arrow-right-icon.d.ts +3 -0
  30. package/dist/components/tiptap-icons/arrow-up-icon.d.ts +3 -0
  31. package/dist/components/tiptap-icons/at-sign-icon.d.ts +3 -0
  32. package/dist/components/tiptap-icons/ban-icon.d.ts +3 -0
  33. package/dist/components/tiptap-icons/blockquote-icon.d.ts +3 -0
  34. package/dist/components/tiptap-icons/bold-icon.d.ts +3 -0
  35. package/dist/components/tiptap-icons/check-icon.d.ts +3 -0
  36. package/dist/components/tiptap-icons/chevron-down-icon.d.ts +3 -0
  37. package/dist/components/tiptap-icons/chevron-right-icon.d.ts +3 -0
  38. package/dist/components/tiptap-icons/clipboard-icon.d.ts +3 -0
  39. package/dist/components/tiptap-icons/close-icon.d.ts +3 -0
  40. package/dist/components/tiptap-icons/code-block-icon.d.ts +3 -0
  41. package/dist/components/tiptap-icons/code2-icon.d.ts +3 -0
  42. package/dist/components/tiptap-icons/copy-icon.d.ts +3 -0
  43. package/dist/components/tiptap-icons/corner-down-left-icon.d.ts +3 -0
  44. package/dist/components/tiptap-icons/external-link-icon.d.ts +3 -0
  45. package/dist/components/tiptap-icons/grip-4-icon.d.ts +3 -0
  46. package/dist/components/tiptap-icons/grip-vertical-icon.d.ts +3 -0
  47. package/dist/components/tiptap-icons/heading-five-icon.d.ts +3 -0
  48. package/dist/components/tiptap-icons/heading-four-icon.d.ts +3 -0
  49. package/dist/components/tiptap-icons/heading-one-icon.d.ts +3 -0
  50. package/dist/components/tiptap-icons/heading-six-icon.d.ts +3 -0
  51. package/dist/components/tiptap-icons/heading-three-icon.d.ts +3 -0
  52. package/dist/components/tiptap-icons/heading-two-icon.d.ts +3 -0
  53. package/dist/components/tiptap-icons/highlighter-icon.d.ts +3 -0
  54. package/dist/components/tiptap-icons/image-caption-icon.d.ts +3 -0
  55. package/dist/components/tiptap-icons/image-icon.d.ts +3 -0
  56. package/dist/components/tiptap-icons/image-plus-icon.d.ts +3 -0
  57. package/dist/components/tiptap-icons/indent-decrease-icon.d.ts +3 -0
  58. package/dist/components/tiptap-icons/indent-increase-icon.d.ts +3 -0
  59. package/dist/components/tiptap-icons/italic-icon.d.ts +3 -0
  60. package/dist/components/tiptap-icons/link-icon.d.ts +3 -0
  61. package/dist/components/tiptap-icons/list-icon.d.ts +3 -0
  62. package/dist/components/tiptap-icons/list-indented-icon.d.ts +3 -0
  63. package/dist/components/tiptap-icons/list-ordered-icon.d.ts +3 -0
  64. package/dist/components/tiptap-icons/list-todo-icon.d.ts +3 -0
  65. package/dist/components/tiptap-icons/minus-icon.d.ts +3 -0
  66. package/dist/components/tiptap-icons/moon-star-icon.d.ts +3 -0
  67. package/dist/components/tiptap-icons/more-vertical-icon.d.ts +3 -0
  68. package/dist/components/tiptap-icons/move-horizontal-icon.d.ts +3 -0
  69. package/dist/components/tiptap-icons/paint-bucket-icon.d.ts +3 -0
  70. package/dist/components/tiptap-icons/plus-icon.d.ts +3 -0
  71. package/dist/components/tiptap-icons/plus-small-icon.d.ts +3 -0
  72. package/dist/components/tiptap-icons/redo2-icon.d.ts +3 -0
  73. package/dist/components/tiptap-icons/refresh-ccw-icon.d.ts +3 -0
  74. package/dist/components/tiptap-icons/repeat-2-icon.d.ts +3 -0
  75. package/dist/components/tiptap-icons/rotate-ccw-icon.d.ts +3 -0
  76. package/dist/components/tiptap-icons/smile-plus-icon.d.ts +3 -0
  77. package/dist/components/tiptap-icons/square-x-icon.d.ts +3 -0
  78. package/dist/components/tiptap-icons/strike-icon.d.ts +3 -0
  79. package/dist/components/tiptap-icons/subscript-icon.d.ts +3 -0
  80. package/dist/components/tiptap-icons/sun-icon.d.ts +3 -0
  81. package/dist/components/tiptap-icons/superscript-icon.d.ts +3 -0
  82. package/dist/components/tiptap-icons/table-cell-merge-icon.d.ts +3 -0
  83. package/dist/components/tiptap-icons/table-cell-split-icon.d.ts +3 -0
  84. package/dist/components/tiptap-icons/table-header-column-icon.d.ts +3 -0
  85. package/dist/components/tiptap-icons/table-header-row-icon.d.ts +3 -0
  86. package/dist/components/tiptap-icons/table-icon.d.ts +3 -0
  87. package/dist/components/tiptap-icons/text-color-small-icon.d.ts +3 -0
  88. package/dist/components/tiptap-icons/trash-icon.d.ts +3 -0
  89. package/dist/components/tiptap-icons/type-icon.d.ts +3 -0
  90. package/dist/components/tiptap-icons/underline-icon.d.ts +3 -0
  91. package/dist/components/tiptap-icons/undo2-icon.d.ts +3 -0
  92. package/dist/components/tiptap-node/horizontal-rule-node/horizontal-rule-node-extension.d.ts +2 -0
  93. package/dist/components/tiptap-node/image-node/image-node-extension.d.ts +3 -0
  94. package/dist/components/tiptap-node/image-node/image-node-floating.d.ts +4 -0
  95. package/dist/components/tiptap-node/image-node/image-node-view.d.ts +24 -0
  96. package/dist/components/tiptap-node/image-upload-node/image-upload-node-extension.d.ts +57 -0
  97. package/dist/components/tiptap-node/image-upload-node/image-upload-node.d.ts +69 -0
  98. package/dist/components/tiptap-node/table-node/extensions/table-handle/helpers/create-image.d.ts +9 -0
  99. package/dist/components/tiptap-node/table-node/extensions/table-handle/index.d.ts +2 -0
  100. package/dist/components/tiptap-node/table-node/extensions/table-handle/table-handle-plugin.d.ts +43 -0
  101. package/dist/components/tiptap-node/table-node/extensions/table-handle/table-handle.d.ts +14 -0
  102. package/dist/components/tiptap-node/table-node/extensions/table-node-extension.d.ts +31 -0
  103. package/dist/components/tiptap-node/table-node/hooks/use-table-handle-state.d.ts +22 -0
  104. package/dist/components/tiptap-node/table-node/lib/tiptap-table-utils.d.ts +395 -0
  105. package/dist/components/tiptap-node/table-node/ui/table-add-row-column-button/index.d.ts +2 -0
  106. package/dist/components/tiptap-node/table-node/ui/table-add-row-column-button/table-add-row-column-button.d.ts +14 -0
  107. package/dist/components/tiptap-node/table-node/ui/table-add-row-column-button/use-table-add-row-column.d.ts +53 -0
  108. package/dist/components/tiptap-node/table-node/ui/table-align-cell-button/index.d.ts +2 -0
  109. package/dist/components/tiptap-node/table-node/ui/table-align-cell-button/table-align-cell-button.d.ts +41 -0
  110. package/dist/components/tiptap-node/table-node/ui/table-align-cell-button/use-table-align-cell.d.ts +145 -0
  111. package/dist/components/tiptap-node/table-node/ui/table-alignment-menu/index.d.ts +1 -0
  112. package/dist/components/tiptap-node/table-node/ui/table-alignment-menu/table-alignment-menu.d.ts +16 -0
  113. package/dist/components/tiptap-node/table-node/ui/table-cell-handle-menu/index.d.ts +1 -0
  114. package/dist/components/tiptap-node/table-node/ui/table-cell-handle-menu/table-cell-handle-menu.d.ts +11 -0
  115. package/dist/components/tiptap-node/table-node/ui/table-clear-row-column-content-button/index.d.ts +2 -0
  116. package/dist/components/tiptap-node/table-node/ui/table-clear-row-column-content-button/table-clear-row-column-content-button.d.ts +14 -0
  117. package/dist/components/tiptap-node/table-node/ui/table-clear-row-column-content-button/use-table-clear-row-column-content.d.ts +96 -0
  118. package/dist/components/tiptap-node/table-node/ui/table-delete-row-column-button/index.d.ts +2 -0
  119. package/dist/components/tiptap-node/table-node/ui/table-delete-row-column-button/table-delete-row-column-button.d.ts +14 -0
  120. package/dist/components/tiptap-node/table-node/ui/table-delete-row-column-button/use-table-delete-row-column.d.ts +80 -0
  121. package/dist/components/tiptap-node/table-node/ui/table-duplicate-row-column-button/index.d.ts +2 -0
  122. package/dist/components/tiptap-node/table-node/ui/table-duplicate-row-column-button/table-duplicate-row-column-button.d.ts +6 -0
  123. package/dist/components/tiptap-node/table-node/ui/table-duplicate-row-column-button/use-table-duplicate-row-column.d.ts +42 -0
  124. package/dist/components/tiptap-node/table-node/ui/table-extend-row-column-button/index.d.ts +2 -0
  125. package/dist/components/tiptap-node/table-node/ui/table-extend-row-column-button/table-extend-row-column-button.d.ts +23 -0
  126. package/dist/components/tiptap-node/table-node/ui/table-extend-row-column-button/use-table-extend-row-column.d.ts +14 -0
  127. package/dist/components/tiptap-node/table-node/ui/table-fit-to-width-button/index.d.ts +2 -0
  128. package/dist/components/tiptap-node/table-node/ui/table-fit-to-width-button/table-fit-to-width-button.d.ts +21 -0
  129. package/dist/components/tiptap-node/table-node/ui/table-fit-to-width-button/use-table-fit-to-width.d.ts +67 -0
  130. package/dist/components/tiptap-node/table-node/ui/table-handle/table-handle.d.ts +50 -0
  131. package/dist/components/tiptap-node/table-node/ui/table-handle/use-table-handle-positioning.d.ts +41 -0
  132. package/dist/components/tiptap-node/table-node/ui/table-handle-menu/index.d.ts +1 -0
  133. package/dist/components/tiptap-node/table-node/ui/table-handle-menu/table-handle-menu.d.ts +25 -0
  134. package/dist/components/tiptap-node/table-node/ui/table-header-row-column-button/index.d.ts +2 -0
  135. package/dist/components/tiptap-node/table-node/ui/table-header-row-column-button/table-header-row-column-button.d.ts +15 -0
  136. package/dist/components/tiptap-node/table-node/ui/table-header-row-column-button/use-table-header-row-column.d.ts +51 -0
  137. package/dist/components/tiptap-node/table-node/ui/table-merge-split-cell-button/index.d.ts +2 -0
  138. package/dist/components/tiptap-node/table-node/ui/table-merge-split-cell-button/table-merge-split-cell-button.d.ts +43 -0
  139. package/dist/components/tiptap-node/table-node/ui/table-merge-split-cell-button/use-table-merge-split-cell.d.ts +119 -0
  140. package/dist/components/tiptap-node/table-node/ui/table-move-row-column-button/index.d.ts +2 -0
  141. package/dist/components/tiptap-node/table-node/ui/table-move-row-column-button/table-move-row-column-button.d.ts +37 -0
  142. package/dist/components/tiptap-node/table-node/ui/table-move-row-column-button/use-table-move-row-column.d.ts +94 -0
  143. package/dist/components/tiptap-node/table-node/ui/table-selection-overlay/index.d.ts +1 -0
  144. package/dist/components/tiptap-node/table-node/ui/table-selection-overlay/table-selection-overlay.d.ts +14 -0
  145. package/dist/components/tiptap-node/table-node/ui/table-selection-overlay/use-resize-overlay.d.ts +2 -0
  146. package/dist/components/tiptap-node/table-node/ui/table-sort-row-column-button/index.d.ts +2 -0
  147. package/dist/components/tiptap-node/table-node/ui/table-sort-row-column-button/table-sort-row-column-button.d.ts +14 -0
  148. package/dist/components/tiptap-node/table-node/ui/table-sort-row-column-button/use-table-sort-row-column.d.ts +111 -0
  149. package/dist/components/tiptap-node/toc-node/context/toc-context.d.ts +44 -0
  150. package/dist/components/tiptap-node/toc-node/extensions/toc-node-extension.d.ts +45 -0
  151. package/dist/components/tiptap-node/toc-node/index.d.ts +3 -0
  152. package/dist/components/tiptap-node/toc-node/toc-node.d.ts +4 -0
  153. package/dist/components/tiptap-node/toc-node/ui/toc-show-title-button/index.d.ts +2 -0
  154. package/dist/components/tiptap-node/toc-node/ui/toc-show-title-button/toc-show-title-button.d.ts +16 -0
  155. package/dist/components/tiptap-node/toc-node/ui/toc-show-title-button/toc-show-title.d.ts +83 -0
  156. package/dist/components/tiptap-node/toc-node/ui/toc-sidebar/index.d.ts +1 -0
  157. package/dist/components/tiptap-node/toc-node/ui/toc-sidebar/toc-sidebar.d.ts +14 -0
  158. package/dist/components/tiptap-templates/omnibox/omnibox-editor-header.d.ts +1 -0
  159. package/dist/components/tiptap-templates/omnibox/omnibox-editor-mobile-toolbar.d.ts +14 -0
  160. package/dist/components/tiptap-templates/omnibox/omnibox-editor-theme-toggle.d.ts +1 -0
  161. package/dist/components/tiptap-templates/omnibox/omnibox-editor-toolbar-floating.d.ts +15 -0
  162. package/dist/components/tiptap-templates/omnibox/omnibox-editor.d.ts +28 -0
  163. package/dist/components/tiptap-ui/blockquote-button/blockquote-button.d.ts +22 -0
  164. package/dist/components/tiptap-ui/blockquote-button/index.d.ts +2 -0
  165. package/dist/components/tiptap-ui/blockquote-button/use-blockquote.d.ts +80 -0
  166. package/dist/components/tiptap-ui/code-block-button/code-block-button.d.ts +22 -0
  167. package/dist/components/tiptap-ui/code-block-button/index.d.ts +2 -0
  168. package/dist/components/tiptap-ui/code-block-button/use-code-block.d.ts +87 -0
  169. package/dist/components/tiptap-ui/color-highlight-button/color-highlight-button.d.ts +46 -0
  170. package/dist/components/tiptap-ui/color-highlight-button/index.d.ts +2 -0
  171. package/dist/components/tiptap-ui/color-highlight-button/use-color-highlight.d.ts +93 -0
  172. package/dist/components/tiptap-ui/color-highlight-popover/color-highlight-popover.d.ts +35 -0
  173. package/dist/components/tiptap-ui/color-highlight-popover/index.d.ts +1 -0
  174. package/dist/components/tiptap-ui/color-menu/color-menu.d.ts +39 -0
  175. package/dist/components/tiptap-ui/color-menu/index.d.ts +1 -0
  176. package/dist/components/tiptap-ui/color-text-button/color-text-button.d.ts +23 -0
  177. package/dist/components/tiptap-ui/color-text-button/index.d.ts +2 -0
  178. package/dist/components/tiptap-ui/color-text-button/use-color-text.d.ts +109 -0
  179. package/dist/components/tiptap-ui/color-text-popover/color-text-popover.d.ts +46 -0
  180. package/dist/components/tiptap-ui/color-text-popover/index.d.ts +2 -0
  181. package/dist/components/tiptap-ui/color-text-popover/use-color-text-popover.d.ts +132 -0
  182. package/dist/components/tiptap-ui/copy-anchor-link-button/copy-anchor-link-button.d.ts +22 -0
  183. package/dist/components/tiptap-ui/copy-anchor-link-button/index.d.ts +3 -0
  184. package/dist/components/tiptap-ui/copy-anchor-link-button/use-copy-anchor-link.d.ts +93 -0
  185. package/dist/components/tiptap-ui/copy-anchor-link-button/use-scroll-to-hash.d.ts +27 -0
  186. package/dist/components/tiptap-ui/copy-to-clipboard-button/copy-to-clipboard-button.d.ts +22 -0
  187. package/dist/components/tiptap-ui/copy-to-clipboard-button/index.d.ts +2 -0
  188. package/dist/components/tiptap-ui/copy-to-clipboard-button/use-copy-to-clipboard.d.ts +103 -0
  189. package/dist/components/tiptap-ui/delete-node-button/delete-node-button.d.ts +22 -0
  190. package/dist/components/tiptap-ui/delete-node-button/index.d.ts +2 -0
  191. package/dist/components/tiptap-ui/delete-node-button/use-delete-node.d.ts +82 -0
  192. package/dist/components/tiptap-ui/drag-context-menu/drag-context-menu-types.d.ts +30 -0
  193. package/dist/components/tiptap-ui/drag-context-menu/drag-context-menu.d.ts +3 -0
  194. package/dist/components/tiptap-ui/drag-context-menu/index.d.ts +2 -0
  195. package/dist/components/tiptap-ui/duplicate-button/duplicate-button.d.ts +22 -0
  196. package/dist/components/tiptap-ui/duplicate-button/index.d.ts +2 -0
  197. package/dist/components/tiptap-ui/duplicate-button/use-duplicate.d.ts +78 -0
  198. package/dist/components/tiptap-ui/emoji-dropdown-menu/emoji-dropdown-menu.d.ts +3 -0
  199. package/dist/components/tiptap-ui/emoji-dropdown-menu/index.d.ts +1 -0
  200. package/dist/components/tiptap-ui/emoji-menu/emoji-menu-utils.d.ts +6 -0
  201. package/dist/components/tiptap-ui/emoji-menu/emoji-menu.d.ts +18 -0
  202. package/dist/components/tiptap-ui/emoji-menu/index.d.ts +2 -0
  203. package/dist/components/tiptap-ui/emoji-trigger-button/emoji-trigger-button.d.ts +22 -0
  204. package/dist/components/tiptap-ui/emoji-trigger-button/index.d.ts +2 -0
  205. package/dist/components/tiptap-ui/emoji-trigger-button/use-emoji-trigger.d.ts +94 -0
  206. package/dist/components/tiptap-ui/heading-button/heading-button.d.ts +23 -0
  207. package/dist/components/tiptap-ui/heading-button/index.d.ts +2 -0
  208. package/dist/components/tiptap-ui/heading-button/use-heading.d.ts +108 -0
  209. package/dist/components/tiptap-ui/image-align-button/image-align-button.d.ts +23 -0
  210. package/dist/components/tiptap-ui/image-align-button/index.d.ts +2 -0
  211. package/dist/components/tiptap-ui/image-align-button/use-image-align.d.ts +110 -0
  212. package/dist/components/tiptap-ui/image-caption-button/image-caption-button.d.ts +16 -0
  213. package/dist/components/tiptap-ui/image-caption-button/index.d.ts +2 -0
  214. package/dist/components/tiptap-ui/image-caption-button/use-image-caption.d.ts +82 -0
  215. package/dist/components/tiptap-ui/image-download-button/image-download-button.d.ts +23 -0
  216. package/dist/components/tiptap-ui/image-download-button/index.d.ts +2 -0
  217. package/dist/components/tiptap-ui/image-download-button/use-image-download.d.ts +64 -0
  218. package/dist/components/tiptap-ui/image-upload-button/image-upload-button.d.ts +29 -0
  219. package/dist/components/tiptap-ui/image-upload-button/index.d.ts +2 -0
  220. package/dist/components/tiptap-ui/image-upload-button/use-image-upload.d.ts +84 -0
  221. package/dist/components/tiptap-ui/indent-button/indent-button.d.ts +30 -0
  222. package/dist/components/tiptap-ui/indent-button/index.d.ts +2 -0
  223. package/dist/components/tiptap-ui/indent-button/use-indent.d.ts +91 -0
  224. package/dist/components/tiptap-ui/link-popover/index.d.ts +2 -0
  225. package/dist/components/tiptap-ui/link-popover/link-popover.d.ts +58 -0
  226. package/dist/components/tiptap-ui/link-popover/use-link-popover.d.ts +117 -0
  227. package/dist/components/tiptap-ui/list-button/index.d.ts +2 -0
  228. package/dist/components/tiptap-ui/list-button/list-button.d.ts +23 -0
  229. package/dist/components/tiptap-ui/list-button/use-list.d.ts +97 -0
  230. package/dist/components/tiptap-ui/mark-button/index.d.ts +2 -0
  231. package/dist/components/tiptap-ui/mark-button/mark-button.d.ts +23 -0
  232. package/dist/components/tiptap-ui/mark-button/use-mark.d.ts +104 -0
  233. package/dist/components/tiptap-ui/mention-dropdown-menu/index.d.ts +1 -0
  234. package/dist/components/tiptap-ui/mention-dropdown-menu/mention-dropdown-menu.d.ts +4 -0
  235. package/dist/components/tiptap-ui/mention-trigger-button/index.d.ts +2 -0
  236. package/dist/components/tiptap-ui/mention-trigger-button/mention-trigger-button.d.ts +22 -0
  237. package/dist/components/tiptap-ui/mention-trigger-button/use-mention-trigger.d.ts +96 -0
  238. package/dist/components/tiptap-ui/move-node-button/index.d.ts +2 -0
  239. package/dist/components/tiptap-ui/move-node-button/move-node-button.d.ts +20 -0
  240. package/dist/components/tiptap-ui/move-node-button/use-move-node.d.ts +52 -0
  241. package/dist/components/tiptap-ui/reset-all-formatting-button/index.d.ts +2 -0
  242. package/dist/components/tiptap-ui/reset-all-formatting-button/reset-all-formatting-button.d.ts +24 -0
  243. package/dist/components/tiptap-ui/reset-all-formatting-button/use-reset-all-formatting.d.ts +106 -0
  244. package/dist/components/tiptap-ui/slash-command-trigger-button/index.d.ts +2 -0
  245. package/dist/components/tiptap-ui/slash-command-trigger-button/slash-command-trigger-button.d.ts +22 -0
  246. package/dist/components/tiptap-ui/slash-command-trigger-button/use-slash-command-trigger.d.ts +96 -0
  247. package/dist/components/tiptap-ui/slash-dropdown-menu/index.d.ts +2 -0
  248. package/dist/components/tiptap-ui/slash-dropdown-menu/slash-dropdown-menu.d.ts +8 -0
  249. package/dist/components/tiptap-ui/slash-dropdown-menu/use-slash-dropdown-menu.d.ts +126 -0
  250. package/dist/components/tiptap-ui/text-align-button/index.d.ts +2 -0
  251. package/dist/components/tiptap-ui/text-align-button/text-align-button.d.ts +30 -0
  252. package/dist/components/tiptap-ui/text-align-button/use-text-align.d.ts +102 -0
  253. package/dist/components/tiptap-ui/text-button/index.d.ts +2 -0
  254. package/dist/components/tiptap-ui/text-button/text-button.d.ts +22 -0
  255. package/dist/components/tiptap-ui/text-button/use-text.d.ts +86 -0
  256. package/dist/components/tiptap-ui/turn-into-dropdown/index.d.ts +2 -0
  257. package/dist/components/tiptap-ui/turn-into-dropdown/turn-into-dropdown.d.ts +16 -0
  258. package/dist/components/tiptap-ui/turn-into-dropdown/use-turn-into-dropdown.d.ts +149 -0
  259. package/dist/components/tiptap-ui/undo-redo-button/index.d.ts +2 -0
  260. package/dist/components/tiptap-ui/undo-redo-button/undo-redo-button.d.ts +23 -0
  261. package/dist/components/tiptap-ui/undo-redo-button/use-undo-redo.d.ts +90 -0
  262. package/dist/components/tiptap-ui-primitive/avatar/avatar.d.ts +23 -0
  263. package/dist/components/tiptap-ui-primitive/avatar/index.d.ts +1 -0
  264. package/dist/components/tiptap-ui-primitive/badge/badge.d.ts +11 -0
  265. package/dist/components/tiptap-ui-primitive/badge/index.d.ts +1 -0
  266. package/dist/components/tiptap-ui-primitive/button/button.d.ts +16 -0
  267. package/dist/components/tiptap-ui-primitive/button/index.d.ts +1 -0
  268. package/dist/components/tiptap-ui-primitive/button-group/button-group.d.ts +10 -0
  269. package/dist/components/tiptap-ui-primitive/button-group/index.d.ts +1 -0
  270. package/dist/components/tiptap-ui-primitive/card/card.d.ts +10 -0
  271. package/dist/components/tiptap-ui-primitive/card/index.d.ts +1 -0
  272. package/dist/components/tiptap-ui-primitive/combobox/combobox.d.ts +21 -0
  273. package/dist/components/tiptap-ui-primitive/combobox/index.d.ts +1 -0
  274. package/dist/components/tiptap-ui-primitive/dropdown-menu/dropdown-menu.d.ts +29 -0
  275. package/dist/components/tiptap-ui-primitive/dropdown-menu/index.d.ts +1 -0
  276. package/dist/components/tiptap-ui-primitive/input/index.d.ts +1 -0
  277. package/dist/components/tiptap-ui-primitive/input/input.d.ts +3 -0
  278. package/dist/components/tiptap-ui-primitive/input-group/index.d.ts +1 -0
  279. package/dist/components/tiptap-ui-primitive/input-group/input-group.d.ts +19 -0
  280. package/dist/components/tiptap-ui-primitive/menu/index.d.ts +5 -0
  281. package/dist/components/tiptap-ui-primitive/menu/menu-context.d.ts +5 -0
  282. package/dist/components/tiptap-ui-primitive/menu/menu-hooks.d.ts +10 -0
  283. package/dist/components/tiptap-ui-primitive/menu/menu-types.d.ts +44 -0
  284. package/dist/components/tiptap-ui-primitive/menu/menu-utils.d.ts +15 -0
  285. package/dist/components/tiptap-ui-primitive/menu/menu.d.ts +20 -0
  286. package/dist/components/tiptap-ui-primitive/popover/index.d.ts +1 -0
  287. package/dist/components/tiptap-ui-primitive/popover/popover.d.ts +6 -0
  288. package/dist/components/tiptap-ui-primitive/separator/index.d.ts +1 -0
  289. package/dist/components/tiptap-ui-primitive/separator/separator.d.ts +5 -0
  290. package/dist/components/tiptap-ui-primitive/spacer/index.d.ts +1 -0
  291. package/dist/components/tiptap-ui-primitive/spacer/spacer.d.ts +5 -0
  292. package/dist/components/tiptap-ui-primitive/textarea/index.d.ts +1 -0
  293. package/dist/components/tiptap-ui-primitive/textarea/textarea.d.ts +3 -0
  294. package/dist/components/tiptap-ui-primitive/toolbar/index.d.ts +1 -0
  295. package/dist/components/tiptap-ui-primitive/toolbar/toolbar.d.ts +9 -0
  296. package/dist/components/tiptap-ui-primitive/tooltip/index.d.ts +1 -0
  297. package/dist/components/tiptap-ui-primitive/tooltip/tooltip.d.ts +29 -0
  298. package/dist/components/tiptap-ui-utils/floating-element/floating-element-utils.d.ts +3 -0
  299. package/dist/components/tiptap-ui-utils/floating-element/floating-element.d.ts +53 -0
  300. package/dist/components/tiptap-ui-utils/floating-element/index.d.ts +2 -0
  301. package/dist/components/tiptap-ui-utils/suggestion-menu/index.d.ts +3 -0
  302. package/dist/components/tiptap-ui-utils/suggestion-menu/suggestion-menu-types.d.ts +86 -0
  303. package/dist/components/tiptap-ui-utils/suggestion-menu/suggestion-menu-utils.d.ts +19 -0
  304. package/dist/components/tiptap-ui-utils/suggestion-menu/suggestion-menu.d.ts +6 -0
  305. package/dist/cvnert-editor.css +1 -0
  306. package/dist/cvnert-editor.js +17069 -0
  307. package/dist/cvnert-editor.umd.cjs +5 -0
  308. package/dist/hooks/use-composed-ref.d.ts +3 -0
  309. package/dist/hooks/use-cursor-visibility.d.ts +20 -0
  310. package/dist/hooks/use-element-rect.d.ts +35 -0
  311. package/dist/hooks/use-floating-element.d.ts +36 -0
  312. package/dist/hooks/use-floating-toolbar-visibility.d.ts +29 -0
  313. package/dist/hooks/use-is-breakpoint.d.ts +9 -0
  314. package/dist/hooks/use-isomorphic-layout-effect.d.ts +7 -0
  315. package/dist/hooks/use-menu-navigation.d.ts +52 -0
  316. package/dist/hooks/use-on-click-outside.d.ts +18 -0
  317. package/dist/hooks/use-throttled-callback.d.ts +18 -0
  318. package/dist/hooks/use-tiptap-editor.d.ts +6 -0
  319. package/dist/hooks/use-ui-editor-state.d.ts +4 -0
  320. package/dist/hooks/use-unmount.d.ts +7 -0
  321. package/dist/hooks/use-window-size.d.ts +35 -0
  322. package/dist/index.d.ts +3 -0
  323. package/dist/lib/tiptap-advanced-utils.d.ts +120 -0
  324. package/dist/lib/tiptap-collab-utils.d.ts +46 -0
  325. package/dist/lib/tiptap-utils.d.ts +174 -0
  326. package/dist/types.d.ts +26 -0
  327. package/package.json +94 -0
@@ -0,0 +1,126 @@
1
+ import type { Editor } from "@tiptap/react";
2
+ import type { SuggestionItem } from "@/components/tiptap-ui-utils/suggestion-menu";
3
+ export interface SlashMenuConfig {
4
+ enabledItems?: SlashMenuItemType[];
5
+ customItems?: SuggestionItem[];
6
+ itemGroups?: {
7
+ [key in SlashMenuItemType]?: string;
8
+ };
9
+ showGroups?: boolean;
10
+ }
11
+ declare const texts: {
12
+ text: {
13
+ title: string;
14
+ subtext: string;
15
+ keywords: string[];
16
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
17
+ group: string;
18
+ };
19
+ heading_1: {
20
+ title: string;
21
+ subtext: string;
22
+ keywords: string[];
23
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
24
+ group: string;
25
+ };
26
+ heading_2: {
27
+ title: string;
28
+ subtext: string;
29
+ keywords: string[];
30
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
31
+ group: string;
32
+ };
33
+ heading_3: {
34
+ title: string;
35
+ subtext: string;
36
+ keywords: string[];
37
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
38
+ group: string;
39
+ };
40
+ bullet_list: {
41
+ title: string;
42
+ subtext: string;
43
+ keywords: string[];
44
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
45
+ group: string;
46
+ };
47
+ ordered_list: {
48
+ title: string;
49
+ subtext: string;
50
+ keywords: string[];
51
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
52
+ group: string;
53
+ };
54
+ task_list: {
55
+ title: string;
56
+ subtext: string;
57
+ keywords: string[];
58
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
59
+ group: string;
60
+ };
61
+ quote: {
62
+ title: string;
63
+ subtext: string;
64
+ keywords: string[];
65
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
66
+ group: string;
67
+ };
68
+ code_block: {
69
+ title: string;
70
+ subtext: string;
71
+ keywords: string[];
72
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
73
+ group: string;
74
+ };
75
+ mention: {
76
+ title: string;
77
+ subtext: string;
78
+ keywords: string[];
79
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
80
+ group: string;
81
+ };
82
+ emoji: {
83
+ title: string;
84
+ subtext: string;
85
+ keywords: string[];
86
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
87
+ group: string;
88
+ };
89
+ table: {
90
+ title: string;
91
+ subtext: string;
92
+ keywords: string[];
93
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
94
+ group: string;
95
+ };
96
+ divider: {
97
+ title: string;
98
+ subtext: string;
99
+ keywords: string[];
100
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
101
+ group: string;
102
+ };
103
+ toc: {
104
+ title: string;
105
+ subtext: string;
106
+ keywords: string[];
107
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
108
+ group: string;
109
+ };
110
+ image: {
111
+ title: string;
112
+ subtext: string;
113
+ keywords: string[];
114
+ badge: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
115
+ group: string;
116
+ };
117
+ };
118
+ export type SlashMenuItemType = keyof typeof texts;
119
+ /**
120
+ * Custom hook for slash dropdown menu functionality
121
+ */
122
+ export declare function useSlashDropdownMenu(config?: SlashMenuConfig): {
123
+ getSlashMenuItems: (editor: Editor) => SuggestionItem<any>[];
124
+ config: SlashMenuConfig | undefined;
125
+ };
126
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from "./text-align-button";
2
+ export * from "./use-text-align";
@@ -0,0 +1,30 @@
1
+ import type { TextAlign, UseTextAlignConfig } from "@/components/tiptap-ui/text-align-button";
2
+ import type { ButtonProps } from "@/components/tiptap-ui-primitive/button";
3
+ type IconProps = React.SVGProps<SVGSVGElement>;
4
+ type IconComponent = ({ className, ...props }: IconProps) => React.ReactElement;
5
+ export interface TextAlignButtonProps extends Omit<ButtonProps, "type">, UseTextAlignConfig {
6
+ /**
7
+ * Optional text to display alongside the icon.
8
+ */
9
+ text?: string;
10
+ /**
11
+ * Optional show shortcut keys in the button.
12
+ * @default false
13
+ */
14
+ showShortcut?: boolean;
15
+ /**
16
+ * Optional custom icon component to render instead of the default.
17
+ */
18
+ icon?: React.MemoExoticComponent<IconComponent> | React.FC<IconProps>;
19
+ }
20
+ export declare function TextAlignShortcutBadge({ align, shortcutKeys, }: {
21
+ align: TextAlign;
22
+ shortcutKeys?: string;
23
+ }): import("react").JSX.Element;
24
+ /**
25
+ * Button component for setting text alignment in a Tiptap editor.
26
+ *
27
+ * For custom button implementations, use the `useTextAlign` hook instead.
28
+ */
29
+ export declare const TextAlignButton: import("react").ForwardRefExoticComponent<TextAlignButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
30
+ export {};
@@ -0,0 +1,102 @@
1
+ import type { ChainedCommands } from "@tiptap/react";
2
+ import { type Editor } from "@tiptap/react";
3
+ export type TextAlign = "left" | "center" | "right" | "justify";
4
+ /**
5
+ * Configuration for the text align functionality
6
+ */
7
+ export interface UseTextAlignConfig {
8
+ /**
9
+ * The Tiptap editor instance.
10
+ */
11
+ editor?: Editor | null;
12
+ /**
13
+ * The text alignment to apply.
14
+ */
15
+ align: TextAlign;
16
+ /**
17
+ * Whether the button should hide when alignment is not available.
18
+ * @default false
19
+ */
20
+ hideWhenUnavailable?: boolean;
21
+ /**
22
+ * Callback function called after a successful alignment change.
23
+ */
24
+ onAligned?: () => void;
25
+ }
26
+ export declare const TEXT_ALIGN_SHORTCUT_KEYS: Record<TextAlign, string>;
27
+ export declare const textAlignIcons: {
28
+ left: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
29
+ center: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
30
+ right: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
31
+ justify: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
32
+ };
33
+ export declare const textAlignLabels: Record<TextAlign, string>;
34
+ /**
35
+ * Checks if text alignment can be performed in the current editor state
36
+ */
37
+ export declare function canSetTextAlign(editor: Editor | null, align: TextAlign): boolean;
38
+ export declare function hasSetTextAlign(commands: ChainedCommands): commands is ChainedCommands & {
39
+ setTextAlign: (align: TextAlign) => ChainedCommands;
40
+ };
41
+ /**
42
+ * Checks if the text alignment is currently active
43
+ */
44
+ export declare function isTextAlignActive(editor: Editor | null, align: TextAlign): boolean;
45
+ /**
46
+ * Sets text alignment in the editor
47
+ */
48
+ export declare function setTextAlign(editor: Editor | null, align: TextAlign): boolean;
49
+ /**
50
+ * Determines if the text align button should be shown
51
+ */
52
+ export declare function shouldShowButton(props: {
53
+ editor: Editor | null;
54
+ hideWhenUnavailable: boolean;
55
+ align: TextAlign;
56
+ }): boolean;
57
+ /**
58
+ * Custom hook that provides text align functionality for Tiptap editor
59
+ *
60
+ * @example
61
+ * ```tsx
62
+ * // Simple usage
63
+ * function MySimpleAlignButton() {
64
+ * const { isVisible, handleTextAlign } = useTextAlign({ align: "center" })
65
+ *
66
+ * if (!isVisible) return null
67
+ *
68
+ * return <button onClick={handleTextAlign}>Align Center</button>
69
+ * }
70
+ *
71
+ * // Advanced usage with configuration
72
+ * function MyAdvancedAlignButton() {
73
+ * const { isVisible, handleTextAlign, label, isActive } = useTextAlign({
74
+ * editor: myEditor,
75
+ * align: "right",
76
+ * hideWhenUnavailable: true,
77
+ * onAligned: () => console.log('Text aligned!')
78
+ * })
79
+ *
80
+ * if (!isVisible) return null
81
+ *
82
+ * return (
83
+ * <MyButton
84
+ * onClick={handleTextAlign}
85
+ * aria-pressed={isActive}
86
+ * aria-label={label}
87
+ * >
88
+ * Align Right
89
+ * </MyButton>
90
+ * )
91
+ * }
92
+ * ```
93
+ */
94
+ export declare function useTextAlign(config: UseTextAlignConfig): {
95
+ isVisible: boolean;
96
+ isActive: boolean;
97
+ handleTextAlign: () => boolean;
98
+ canAlign: boolean;
99
+ label: string;
100
+ shortcutKeys: string;
101
+ 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>;
102
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./text-button";
2
+ export * from "./use-text";
@@ -0,0 +1,22 @@
1
+ import type { UseTextConfig } from "@/components/tiptap-ui/text-button";
2
+ import type { ButtonProps } from "@/components/tiptap-ui-primitive/button";
3
+ export interface TextButtonProps extends Omit<ButtonProps, "type">, UseTextConfig {
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 TextShortcutBadge({ shortcutKeys, }: {
15
+ shortcutKeys?: string;
16
+ }): import("react").JSX.Element;
17
+ /**
18
+ * Button component for converting to text/paragraph in a Tiptap editor.
19
+ *
20
+ * For custom button implementations, use the `useText` hook instead.
21
+ */
22
+ export declare const TextButton: import("react").ForwardRefExoticComponent<TextButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,86 @@
1
+ import { type Editor } from "@tiptap/react";
2
+ export declare const TEXT_SHORTCUT_KEY = "mod+alt+0";
3
+ /**
4
+ * Configuration for the text/paragraph functionality
5
+ */
6
+ export interface UseTextConfig {
7
+ /**
8
+ * The Tiptap editor instance.
9
+ */
10
+ editor?: Editor | null;
11
+ /**
12
+ * Whether the button should hide when text conversion is not available.
13
+ * @default false
14
+ */
15
+ hideWhenUnavailable?: boolean;
16
+ /**
17
+ * Callback function called after a successful conversion.
18
+ */
19
+ onToggled?: () => void;
20
+ }
21
+ /**
22
+ * Returns whether we can toggle/turn the current selection into a paragraph.
23
+ * - When `turnInto === false`, it just checks the direct ability to set paragraph on the selection.
24
+ * - When `turnInto === true`, it additionally requires the selection to be within convertible types.
25
+ */
26
+ export declare function canToggleText(editor: Editor | null, turnInto?: boolean): boolean;
27
+ /**
28
+ * Checks if paragraph is currently active
29
+ */
30
+ export declare function isParagraphActive(editor: Editor | null): boolean;
31
+ /**
32
+ * Converts the current selection or node to paragraph
33
+ */
34
+ export declare function toggleParagraph(editor: Editor | null): boolean;
35
+ /**
36
+ * Determines if the text button should be shown
37
+ */
38
+ export declare function shouldShowButton(props: {
39
+ editor: Editor | null;
40
+ hideWhenUnavailable: boolean;
41
+ }): boolean;
42
+ /**
43
+ * Custom hook that provides text/paragraph functionality for Tiptap editor
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * // Simple usage - no params needed
48
+ * function MySimpleTextButton() {
49
+ * const { isVisible, handleToggle, isActive } = useText()
50
+ *
51
+ * if (!isVisible) return null
52
+ *
53
+ * return <button onClick={handleToggle}>Text</button>
54
+ * }
55
+ *
56
+ * // Advanced usage with configuration
57
+ * function MyAdvancedTextButton() {
58
+ * const { isVisible, handleToggle, label, isActive } = useText({
59
+ * editor: myEditor,
60
+ * hideWhenUnavailable: true,
61
+ * onToggled: () => console.log('Text converted!')
62
+ * })
63
+ *
64
+ * if (!isVisible) return null
65
+ *
66
+ * return (
67
+ * <MyButton
68
+ * onClick={handleToggle}
69
+ * aria-label={label}
70
+ * aria-pressed={isActive}
71
+ * >
72
+ * Convert to Text
73
+ * </MyButton>
74
+ * )
75
+ * }
76
+ * ```
77
+ */
78
+ export declare function useText(config?: UseTextConfig): {
79
+ isVisible: boolean;
80
+ isActive: boolean;
81
+ handleToggle: () => boolean;
82
+ canToggle: boolean;
83
+ label: string;
84
+ shortcutKeys: string;
85
+ Icon: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
86
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./turn-into-dropdown";
2
+ export * from "./use-turn-into-dropdown";
@@ -0,0 +1,16 @@
1
+ import type { Editor } from "@tiptap/react";
2
+ import type { UseTurnIntoDropdownConfig } from "@/components/tiptap-ui/turn-into-dropdown";
3
+ import type { ButtonProps } from "@/components/tiptap-ui-primitive/button";
4
+ export interface TurnIntoDropdownContentProps {
5
+ blockTypes?: string[];
6
+ editor?: Editor | null;
7
+ }
8
+ export declare function TurnIntoDropdownContent({ blockTypes, editor, }: TurnIntoDropdownContentProps): import("react").JSX.Element;
9
+ export interface TurnIntoDropdownProps extends Omit<ButtonProps, "type">, UseTurnIntoDropdownConfig {
10
+ modal?: boolean;
11
+ }
12
+ /**
13
+ * Dropdown component for transforming block types in a Tiptap editor.
14
+ * For custom dropdown implementations, use the `useTurnIntoDropdown` hook instead.
15
+ */
16
+ export declare const TurnIntoDropdown: import("react").ForwardRefExoticComponent<TurnIntoDropdownProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,149 @@
1
+ import type { Editor } from "@tiptap/react";
2
+ import type { Level } from "@/components/tiptap-ui/heading-button";
3
+ export declare const TURN_INTO_BLOCKS: string[];
4
+ /**
5
+ * Configuration for the turn into dropdown functionality
6
+ */
7
+ export interface UseTurnIntoDropdownConfig {
8
+ /**
9
+ * The Tiptap editor instance.
10
+ */
11
+ editor?: Editor | null;
12
+ /**
13
+ * Whether the dropdown should hide when no options are available.
14
+ * @default false
15
+ */
16
+ hideWhenUnavailable?: boolean;
17
+ /**
18
+ * Which block types to show in the dropdown
19
+ * @default ["paragraph", "heading", "bulletList", "orderedList", "taskList", "blockquote", "codeBlock"]
20
+ */
21
+ blockTypes?: string[];
22
+ /**
23
+ * Callback function called when the dropdown state changes.
24
+ */
25
+ onOpenChange?: (isOpen: boolean) => void;
26
+ }
27
+ export declare const blockTypeOptions: ({
28
+ type: string;
29
+ label: string;
30
+ isActive: (editor: Editor) => boolean;
31
+ level?: undefined;
32
+ } | {
33
+ type: string;
34
+ label: string;
35
+ level: Level;
36
+ isActive: (editor: Editor) => boolean;
37
+ })[];
38
+ /**
39
+ * Checks if turn into functionality can be used in the current editor state
40
+ */
41
+ export declare function canTurnInto(editor: Editor | null, allowedBlockTypes?: string[]): boolean;
42
+ /**
43
+ * Gets filtered block type options based on available types
44
+ */
45
+ export declare function getFilteredBlockTypeOptions(blockTypes?: string[]): ({
46
+ type: string;
47
+ label: string;
48
+ isActive: (editor: Editor) => boolean;
49
+ level?: undefined;
50
+ } | {
51
+ type: string;
52
+ label: string;
53
+ level: Level;
54
+ isActive: (editor: Editor) => boolean;
55
+ })[];
56
+ /**
57
+ * Gets the currently active block type from the available options
58
+ */
59
+ export declare function getActiveBlockType(editor: Editor | null, blockTypes?: string[]): {
60
+ type: string;
61
+ label: string;
62
+ isActive: (editor: Editor) => boolean;
63
+ level?: undefined;
64
+ } | {
65
+ type: string;
66
+ label: string;
67
+ level: Level;
68
+ isActive: (editor: Editor) => boolean;
69
+ };
70
+ /**
71
+ * Determines if the turn into dropdown should be visible
72
+ */
73
+ export declare function shouldShowTurnInto(params: {
74
+ editor: Editor | null;
75
+ hideWhenUnavailable: boolean;
76
+ blockTypes?: string[];
77
+ }): boolean;
78
+ /**
79
+ * Custom hook that provides turn into dropdown functionality for Tiptap editor
80
+ *
81
+ * @example
82
+ * ```tsx
83
+ * // Simple usage
84
+ * function MyTurnIntoDropdown() {
85
+ * const {
86
+ * isVisible,
87
+ * canToggle,
88
+ * activeBlockType,
89
+ * handleOpenChange,
90
+ * label,
91
+ * Icon,
92
+ * } = useTurnIntoDropdown()
93
+ *
94
+ * if (!isVisible) return null
95
+ *
96
+ * return (
97
+ * <DropdownMenu onOpenChange={handleOpenChange}>
98
+ * // dropdown content
99
+ * </DropdownMenu>
100
+ * )
101
+ * }
102
+ *
103
+ * // Advanced usage with configuration
104
+ * function MyAdvancedTurnIntoDropdown() {
105
+ * const {
106
+ * isVisible,
107
+ * activeBlockType,
108
+ * } = useTurnIntoDropdown({
109
+ * editor: myEditor,
110
+ * blockTypes: ["paragraph", "heading", "bulletList"],
111
+ * hideWhenUnavailable: true,
112
+ * onOpenChange: (isOpen) => console.log("Dropdown toggled", isOpen),
113
+ * })
114
+ *
115
+ * // component implementation
116
+ * }
117
+ * ```
118
+ */
119
+ export declare function useTurnIntoDropdown(config?: UseTurnIntoDropdownConfig): {
120
+ isVisible: boolean;
121
+ canToggle: boolean;
122
+ isOpen: boolean;
123
+ setIsOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
124
+ activeBlockType: {
125
+ type: string;
126
+ label: string;
127
+ isActive: (editor: Editor) => boolean;
128
+ level?: undefined;
129
+ } | {
130
+ type: string;
131
+ label: string;
132
+ level: Level;
133
+ isActive: (editor: Editor) => boolean;
134
+ };
135
+ handleOpenChange: (open: boolean) => void;
136
+ filteredOptions: ({
137
+ type: string;
138
+ label: string;
139
+ isActive: (editor: Editor) => boolean;
140
+ level?: undefined;
141
+ } | {
142
+ type: string;
143
+ label: string;
144
+ level: Level;
145
+ isActive: (editor: Editor) => boolean;
146
+ })[];
147
+ label: string;
148
+ Icon: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
149
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./undo-redo-button";
2
+ export * from "./use-undo-redo";
@@ -0,0 +1,23 @@
1
+ import type { UndoRedoAction, UseUndoRedoConfig } from "@/components/tiptap-ui/undo-redo-button";
2
+ import type { ButtonProps } from "@/components/tiptap-ui-primitive/button";
3
+ export interface UndoRedoButtonProps extends Omit<ButtonProps, "type">, UseUndoRedoConfig {
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 HistoryShortcutBadge({ action, shortcutKeys, }: {
15
+ action: UndoRedoAction;
16
+ shortcutKeys?: string;
17
+ }): import("react").JSX.Element;
18
+ /**
19
+ * Button component for triggering undo/redo actions in a Tiptap editor.
20
+ *
21
+ * For custom button implementations, use the `useHistory` hook instead.
22
+ */
23
+ export declare const UndoRedoButton: import("react").ForwardRefExoticComponent<UndoRedoButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,90 @@
1
+ import { type Editor } from "@tiptap/react";
2
+ export type UndoRedoAction = "undo" | "redo";
3
+ /**
4
+ * Configuration for the history functionality
5
+ */
6
+ export interface UseUndoRedoConfig {
7
+ /**
8
+ * The Tiptap editor instance.
9
+ */
10
+ editor?: Editor | null;
11
+ /**
12
+ * The history action to perform (undo or redo).
13
+ */
14
+ action: UndoRedoAction;
15
+ /**
16
+ * Whether the button should hide when action is not available.
17
+ * @default false
18
+ */
19
+ hideWhenUnavailable?: boolean;
20
+ /**
21
+ * Callback function called after a successful action execution.
22
+ */
23
+ onExecuted?: () => void;
24
+ }
25
+ export declare const UNDO_REDO_SHORTCUT_KEYS: Record<UndoRedoAction, string>;
26
+ export declare const historyActionLabels: Record<UndoRedoAction, string>;
27
+ export declare const historyIcons: {
28
+ undo: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
29
+ redo: import("react").MemoExoticComponent<({ className, ...props }: Omit<import("react").SVGProps<SVGSVGElement>, "ref">) => import("react").JSX.Element>;
30
+ };
31
+ /**
32
+ * Checks if a history action can be executed
33
+ */
34
+ export declare function canExecuteUndoRedoAction(editor: Editor | null, action: UndoRedoAction): boolean;
35
+ /**
36
+ * Executes a history action on the editor
37
+ */
38
+ export declare function executeUndoRedoAction(editor: Editor | null, action: UndoRedoAction): boolean;
39
+ /**
40
+ * Determines if the history button should be shown
41
+ */
42
+ export declare function shouldShowButton(props: {
43
+ editor: Editor | null;
44
+ hideWhenUnavailable: boolean;
45
+ action: UndoRedoAction;
46
+ }): boolean;
47
+ /**
48
+ * Custom hook that provides history functionality for Tiptap editor
49
+ *
50
+ * @example
51
+ * ```tsx
52
+ * // Simple usage
53
+ * function MySimpleUndoButton() {
54
+ * const { isVisible, handleAction } = useHistory({ action: "undo" })
55
+ *
56
+ * if (!isVisible) return null
57
+ *
58
+ * return <button onClick={handleAction}>Undo</button>
59
+ * }
60
+ *
61
+ * // Advanced usage with configuration
62
+ * function MyAdvancedRedoButton() {
63
+ * const { isVisible, handleAction, label } = useHistory({
64
+ * editor: myEditor,
65
+ * action: "redo",
66
+ * hideWhenUnavailable: true,
67
+ * onExecuted: () => console.log('Action executed!')
68
+ * })
69
+ *
70
+ * if (!isVisible) return null
71
+ *
72
+ * return (
73
+ * <MyButton
74
+ * onClick={handleAction}
75
+ * aria-label={label}
76
+ * >
77
+ * Redo
78
+ * </MyButton>
79
+ * )
80
+ * }
81
+ * ```
82
+ */
83
+ export declare function useUndoRedo(config: UseUndoRedoConfig): {
84
+ isVisible: boolean;
85
+ handleAction: () => boolean;
86
+ canExecute: boolean;
87
+ label: string;
88
+ shortcutKeys: string;
89
+ 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>;
90
+ };