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,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,2 @@
1
+ export * from "./emoji-menu";
2
+ export * from "./emoji-menu-utils";
@@ -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,2 @@
1
+ export * from "./emoji-trigger-button";
2
+ export * from "./use-emoji-trigger";
@@ -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,2 @@
1
+ export * from "./heading-button";
2
+ export * from "./use-heading";
@@ -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,2 @@
1
+ export * from "./image-align-button";
2
+ export * from "./use-image-align";
@@ -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,2 @@
1
+ export * from "./image-caption-button";
2
+ export * from "./use-image-caption";
@@ -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>>;
@@ -0,0 +1,2 @@
1
+ export * from "./image-download-button";
2
+ export * from "./use-image-download";