@akinon/ui-editor 1.0.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 (521) hide show
  1. package/dist/cjs/__tests__/index.test.d.ts +2 -0
  2. package/dist/cjs/__tests__/index.test.d.ts.map +1 -0
  3. package/dist/cjs/__tests__/index.test.js +38 -0
  4. package/dist/cjs/__tests__/index.test.tsx +51 -0
  5. package/dist/cjs/i18n/index.d.ts +3 -0
  6. package/dist/cjs/i18n/index.d.ts.map +1 -0
  7. package/dist/cjs/i18n/index.js +11 -0
  8. package/dist/cjs/i18n/translations/en.d.ts +86 -0
  9. package/dist/cjs/i18n/translations/en.d.ts.map +1 -0
  10. package/dist/cjs/i18n/translations/en.js +85 -0
  11. package/dist/cjs/i18n/translations/tr.d.ts +86 -0
  12. package/dist/cjs/i18n/translations/tr.d.ts.map +1 -0
  13. package/dist/cjs/i18n/translations/tr.js +85 -0
  14. package/dist/cjs/index.d.ts +4 -0
  15. package/dist/cjs/index.d.ts.map +1 -0
  16. package/dist/cjs/index.js +8 -0
  17. package/dist/cjs/tiptap/assets/__tests__/icons.test.d.ts +2 -0
  18. package/dist/cjs/tiptap/assets/__tests__/icons.test.d.ts.map +1 -0
  19. package/dist/cjs/tiptap/assets/__tests__/icons.test.js +25 -0
  20. package/dist/cjs/tiptap/assets/__tests__/icons.test.tsx +29 -0
  21. package/dist/cjs/tiptap/assets/icons.d.ts +3 -0
  22. package/dist/cjs/tiptap/assets/icons.d.ts.map +1 -0
  23. package/dist/cjs/tiptap/assets/icons.js +3 -0
  24. package/dist/cjs/tiptap/components/__tests__/format-bubble-menu.test.d.ts +6 -0
  25. package/dist/cjs/tiptap/components/__tests__/format-bubble-menu.test.d.ts.map +1 -0
  26. package/dist/cjs/tiptap/components/__tests__/format-bubble-menu.test.js +311 -0
  27. package/dist/cjs/tiptap/components/__tests__/format-bubble-menu.test.tsx +452 -0
  28. package/dist/cjs/tiptap/components/__tests__/html-code-viewer.test.d.ts +2 -0
  29. package/dist/cjs/tiptap/components/__tests__/html-code-viewer.test.d.ts.map +1 -0
  30. package/dist/cjs/tiptap/components/__tests__/html-code-viewer.test.js +89 -0
  31. package/dist/cjs/tiptap/components/__tests__/html-code-viewer.test.tsx +126 -0
  32. package/dist/cjs/tiptap/components/__tests__/image-upload-placeholder.test.d.ts +2 -0
  33. package/dist/cjs/tiptap/components/__tests__/image-upload-placeholder.test.d.ts.map +1 -0
  34. package/dist/cjs/tiptap/components/__tests__/image-upload-placeholder.test.js +206 -0
  35. package/dist/cjs/tiptap/components/__tests__/image-upload-placeholder.test.tsx +297 -0
  36. package/dist/cjs/tiptap/components/__tests__/secure-script-component.test.d.ts +2 -0
  37. package/dist/cjs/tiptap/components/__tests__/secure-script-component.test.d.ts.map +1 -0
  38. package/dist/cjs/tiptap/components/__tests__/secure-script-component.test.js +57 -0
  39. package/dist/cjs/tiptap/components/__tests__/secure-script-component.test.tsx +89 -0
  40. package/dist/cjs/tiptap/components/__tests__/table-bubble-menu.test.d.ts +6 -0
  41. package/dist/cjs/tiptap/components/__tests__/table-bubble-menu.test.d.ts.map +1 -0
  42. package/dist/cjs/tiptap/components/__tests__/table-bubble-menu.test.js +284 -0
  43. package/dist/cjs/tiptap/components/__tests__/table-bubble-menu.test.tsx +466 -0
  44. package/dist/cjs/tiptap/components/__tests__/table-popover.test.d.ts +2 -0
  45. package/dist/cjs/tiptap/components/__tests__/table-popover.test.d.ts.map +1 -0
  46. package/dist/cjs/tiptap/components/__tests__/table-popover.test.js +101 -0
  47. package/dist/cjs/tiptap/components/__tests__/table-popover.test.tsx +157 -0
  48. package/dist/cjs/tiptap/components/__tests__/tiptap.test.d.ts +2 -0
  49. package/dist/cjs/tiptap/components/__tests__/tiptap.test.d.ts.map +1 -0
  50. package/dist/cjs/tiptap/components/__tests__/tiptap.test.js +275 -0
  51. package/dist/cjs/tiptap/components/__tests__/tiptap.test.tsx +378 -0
  52. package/dist/cjs/tiptap/components/format-bubble-menu.d.ts +8 -0
  53. package/dist/cjs/tiptap/components/format-bubble-menu.d.ts.map +1 -0
  54. package/dist/cjs/tiptap/components/format-bubble-menu.js +202 -0
  55. package/dist/cjs/tiptap/components/html-code-viewer.d.ts +10 -0
  56. package/dist/cjs/tiptap/components/html-code-viewer.d.ts.map +1 -0
  57. package/dist/cjs/tiptap/components/html-code-viewer.js +96 -0
  58. package/dist/cjs/tiptap/components/image-upload-placeholder.d.ts +4 -0
  59. package/dist/cjs/tiptap/components/image-upload-placeholder.d.ts.map +1 -0
  60. package/dist/cjs/tiptap/components/image-upload-placeholder.js +94 -0
  61. package/dist/cjs/tiptap/components/menu-bar/__tests__/action-toolbar.test.d.ts +2 -0
  62. package/dist/cjs/tiptap/components/menu-bar/__tests__/action-toolbar.test.d.ts.map +1 -0
  63. package/dist/cjs/tiptap/components/menu-bar/__tests__/action-toolbar.test.js +78 -0
  64. package/dist/cjs/tiptap/components/menu-bar/__tests__/action-toolbar.test.tsx +212 -0
  65. package/dist/cjs/tiptap/components/menu-bar/__tests__/alignment-toolbar.test.d.ts +3 -0
  66. package/dist/cjs/tiptap/components/menu-bar/__tests__/alignment-toolbar.test.d.ts.map +1 -0
  67. package/dist/cjs/tiptap/components/menu-bar/__tests__/alignment-toolbar.test.js +201 -0
  68. package/dist/cjs/tiptap/components/menu-bar/__tests__/alignment-toolbar.test.tsx +411 -0
  69. package/dist/cjs/tiptap/components/menu-bar/__tests__/heading-selector.test.d.ts +4 -0
  70. package/dist/cjs/tiptap/components/menu-bar/__tests__/heading-selector.test.d.ts.map +1 -0
  71. package/dist/cjs/tiptap/components/menu-bar/__tests__/heading-selector.test.js +242 -0
  72. package/dist/cjs/tiptap/components/menu-bar/__tests__/heading-selector.test.tsx +569 -0
  73. package/dist/cjs/tiptap/components/menu-bar/__tests__/index.test.d.ts +2 -0
  74. package/dist/cjs/tiptap/components/menu-bar/__tests__/index.test.d.ts.map +1 -0
  75. package/dist/cjs/tiptap/components/menu-bar/__tests__/index.test.js +236 -0
  76. package/dist/cjs/tiptap/components/menu-bar/__tests__/index.test.tsx +325 -0
  77. package/dist/cjs/tiptap/components/menu-bar/__tests__/link-popover.test.d.ts +3 -0
  78. package/dist/cjs/tiptap/components/menu-bar/__tests__/link-popover.test.d.ts.map +1 -0
  79. package/dist/cjs/tiptap/components/menu-bar/__tests__/link-popover.test.js +332 -0
  80. package/dist/cjs/tiptap/components/menu-bar/__tests__/link-popover.test.tsx +648 -0
  81. package/dist/cjs/tiptap/components/menu-bar/__tests__/list-and-block-toolbar.test.d.ts +2 -0
  82. package/dist/cjs/tiptap/components/menu-bar/__tests__/list-and-block-toolbar.test.d.ts.map +1 -0
  83. package/dist/cjs/tiptap/components/menu-bar/__tests__/list-and-block-toolbar.test.js +196 -0
  84. package/dist/cjs/tiptap/components/menu-bar/__tests__/list-and-block-toolbar.test.tsx +414 -0
  85. package/dist/cjs/tiptap/components/menu-bar/__tests__/media-toolbar.test.d.ts +2 -0
  86. package/dist/cjs/tiptap/components/menu-bar/__tests__/media-toolbar.test.d.ts.map +1 -0
  87. package/dist/cjs/tiptap/components/menu-bar/__tests__/media-toolbar.test.js +74 -0
  88. package/dist/cjs/tiptap/components/menu-bar/__tests__/media-toolbar.test.tsx +206 -0
  89. package/dist/cjs/tiptap/components/menu-bar/__tests__/text-formatting-toolbar.test.d.ts +2 -0
  90. package/dist/cjs/tiptap/components/menu-bar/__tests__/text-formatting-toolbar.test.d.ts.map +1 -0
  91. package/dist/cjs/tiptap/components/menu-bar/__tests__/text-formatting-toolbar.test.js +265 -0
  92. package/dist/cjs/tiptap/components/menu-bar/__tests__/text-formatting-toolbar.test.tsx +575 -0
  93. package/dist/cjs/tiptap/components/menu-bar/__tests__/youtube-popover.test.d.ts +3 -0
  94. package/dist/cjs/tiptap/components/menu-bar/__tests__/youtube-popover.test.d.ts.map +1 -0
  95. package/dist/cjs/tiptap/components/menu-bar/__tests__/youtube-popover.test.js +277 -0
  96. package/dist/cjs/tiptap/components/menu-bar/__tests__/youtube-popover.test.tsx +538 -0
  97. package/dist/cjs/tiptap/components/menu-bar/action-toolbar.d.ts +15 -0
  98. package/dist/cjs/tiptap/components/menu-bar/action-toolbar.d.ts.map +1 -0
  99. package/dist/cjs/tiptap/components/menu-bar/action-toolbar.js +40 -0
  100. package/dist/cjs/tiptap/components/menu-bar/alignment-toolbar.d.ts +12 -0
  101. package/dist/cjs/tiptap/components/menu-bar/alignment-toolbar.d.ts.map +1 -0
  102. package/dist/cjs/tiptap/components/menu-bar/alignment-toolbar.js +39 -0
  103. package/dist/cjs/tiptap/components/menu-bar/heading-selector.d.ts +16 -0
  104. package/dist/cjs/tiptap/components/menu-bar/heading-selector.d.ts.map +1 -0
  105. package/dist/cjs/tiptap/components/menu-bar/heading-selector.js +70 -0
  106. package/dist/cjs/tiptap/components/menu-bar/index.d.ts +18 -0
  107. package/dist/cjs/tiptap/components/menu-bar/index.d.ts.map +1 -0
  108. package/dist/cjs/tiptap/components/menu-bar/index.js +131 -0
  109. package/dist/cjs/tiptap/components/menu-bar/link-popover.d.ts +12 -0
  110. package/dist/cjs/tiptap/components/menu-bar/link-popover.d.ts.map +1 -0
  111. package/dist/cjs/tiptap/components/menu-bar/link-popover.js +108 -0
  112. package/dist/cjs/tiptap/components/menu-bar/list-and-block-toolbar.d.ts +18 -0
  113. package/dist/cjs/tiptap/components/menu-bar/list-and-block-toolbar.d.ts.map +1 -0
  114. package/dist/cjs/tiptap/components/menu-bar/list-and-block-toolbar.js +69 -0
  115. package/dist/cjs/tiptap/components/menu-bar/media-toolbar.d.ts +13 -0
  116. package/dist/cjs/tiptap/components/menu-bar/media-toolbar.d.ts.map +1 -0
  117. package/dist/cjs/tiptap/components/menu-bar/media-toolbar.js +15 -0
  118. package/dist/cjs/tiptap/components/menu-bar/text-formatting-toolbar.d.ts +18 -0
  119. package/dist/cjs/tiptap/components/menu-bar/text-formatting-toolbar.d.ts.map +1 -0
  120. package/dist/cjs/tiptap/components/menu-bar/text-formatting-toolbar.js +87 -0
  121. package/dist/cjs/tiptap/components/menu-bar/youtube-popover.d.ts +12 -0
  122. package/dist/cjs/tiptap/components/menu-bar/youtube-popover.d.ts.map +1 -0
  123. package/dist/cjs/tiptap/components/menu-bar/youtube-popover.js +70 -0
  124. package/dist/cjs/tiptap/components/secure-script-component.d.ts +3 -0
  125. package/dist/cjs/tiptap/components/secure-script-component.d.ts.map +1 -0
  126. package/dist/cjs/tiptap/components/secure-script-component.js +61 -0
  127. package/dist/cjs/tiptap/components/table-bubble-menu.d.ts +9 -0
  128. package/dist/cjs/tiptap/components/table-bubble-menu.d.ts.map +1 -0
  129. package/dist/cjs/tiptap/components/table-bubble-menu.js +274 -0
  130. package/dist/cjs/tiptap/components/table-popover.d.ts +10 -0
  131. package/dist/cjs/tiptap/components/table-popover.d.ts.map +1 -0
  132. package/dist/cjs/tiptap/components/table-popover.js +86 -0
  133. package/dist/cjs/tiptap/components/tiptap.d.ts +4 -0
  134. package/dist/cjs/tiptap/components/tiptap.d.ts.map +1 -0
  135. package/dist/cjs/tiptap/components/tiptap.js +311 -0
  136. package/dist/cjs/tiptap/constants/__tests__/table-defaults.test.d.ts +2 -0
  137. package/dist/cjs/tiptap/constants/__tests__/table-defaults.test.d.ts.map +1 -0
  138. package/dist/cjs/tiptap/constants/__tests__/table-defaults.test.js +56 -0
  139. package/dist/cjs/tiptap/constants/__tests__/table-defaults.test.ts +69 -0
  140. package/dist/cjs/tiptap/constants/editor-config.d.ts +89 -0
  141. package/dist/cjs/tiptap/constants/editor-config.d.ts.map +1 -0
  142. package/dist/cjs/tiptap/constants/editor-config.js +103 -0
  143. package/dist/cjs/tiptap/constants/html-elements.d.ts +95 -0
  144. package/dist/cjs/tiptap/constants/html-elements.d.ts.map +1 -0
  145. package/dist/cjs/tiptap/constants/html-elements.js +158 -0
  146. package/dist/cjs/tiptap/constants/index.d.ts +4 -0
  147. package/dist/cjs/tiptap/constants/index.d.ts.map +1 -0
  148. package/dist/cjs/tiptap/constants/index.js +3 -0
  149. package/dist/cjs/tiptap/constants/table-defaults.d.ts +14 -0
  150. package/dist/cjs/tiptap/constants/table-defaults.d.ts.map +1 -0
  151. package/dist/cjs/tiptap/constants/table-defaults.js +18 -0
  152. package/dist/cjs/tiptap/extensions/__tests__/comment-extension.test.d.ts +2 -0
  153. package/dist/cjs/tiptap/extensions/__tests__/comment-extension.test.d.ts.map +1 -0
  154. package/dist/cjs/tiptap/extensions/__tests__/comment-extension.test.js +75 -0
  155. package/dist/cjs/tiptap/extensions/__tests__/comment-extension.test.ts +84 -0
  156. package/dist/cjs/tiptap/extensions/__tests__/custom-table-cell-extension.test.d.ts +2 -0
  157. package/dist/cjs/tiptap/extensions/__tests__/custom-table-cell-extension.test.d.ts.map +1 -0
  158. package/dist/cjs/tiptap/extensions/__tests__/custom-table-cell-extension.test.js +116 -0
  159. package/dist/cjs/tiptap/extensions/__tests__/custom-table-cell-extension.test.ts +147 -0
  160. package/dist/cjs/tiptap/extensions/__tests__/custom-table-cell-extension.test.tsx +90 -0
  161. package/dist/cjs/tiptap/extensions/__tests__/custom-table-header-extension.test.d.ts +2 -0
  162. package/dist/cjs/tiptap/extensions/__tests__/custom-table-header-extension.test.d.ts.map +1 -0
  163. package/dist/cjs/tiptap/extensions/__tests__/custom-table-header-extension.test.js +183 -0
  164. package/dist/cjs/tiptap/extensions/__tests__/custom-table-header-extension.test.ts +213 -0
  165. package/dist/cjs/tiptap/extensions/__tests__/html-block-extension.test.d.ts +2 -0
  166. package/dist/cjs/tiptap/extensions/__tests__/html-block-extension.test.d.ts.map +1 -0
  167. package/dist/cjs/tiptap/extensions/__tests__/html-block-extension.test.js +103 -0
  168. package/dist/cjs/tiptap/extensions/__tests__/html-block-extension.test.ts +117 -0
  169. package/dist/cjs/tiptap/extensions/__tests__/html-inline-extension.test.d.ts +2 -0
  170. package/dist/cjs/tiptap/extensions/__tests__/html-inline-extension.test.d.ts.map +1 -0
  171. package/dist/cjs/tiptap/extensions/__tests__/html-inline-extension.test.js +105 -0
  172. package/dist/cjs/tiptap/extensions/__tests__/html-inline-extension.test.ts +119 -0
  173. package/dist/cjs/tiptap/extensions/__tests__/iframe-extension.test.d.ts +2 -0
  174. package/dist/cjs/tiptap/extensions/__tests__/iframe-extension.test.d.ts.map +1 -0
  175. package/dist/cjs/tiptap/extensions/__tests__/iframe-extension.test.js +262 -0
  176. package/dist/cjs/tiptap/extensions/__tests__/iframe-extension.test.ts +297 -0
  177. package/dist/cjs/tiptap/extensions/__tests__/image-upload-extension.test.d.ts +2 -0
  178. package/dist/cjs/tiptap/extensions/__tests__/image-upload-extension.test.d.ts.map +1 -0
  179. package/dist/cjs/tiptap/extensions/__tests__/image-upload-extension.test.js +52 -0
  180. package/dist/cjs/tiptap/extensions/__tests__/image-upload-extension.test.tsx +65 -0
  181. package/dist/cjs/tiptap/extensions/__tests__/index.test.d.ts +2 -0
  182. package/dist/cjs/tiptap/extensions/__tests__/index.test.d.ts.map +1 -0
  183. package/dist/cjs/tiptap/extensions/__tests__/index.test.js +24 -0
  184. package/dist/cjs/tiptap/extensions/__tests__/index.test.ts +26 -0
  185. package/dist/cjs/tiptap/extensions/__tests__/reset-marks-extension.test.d.ts +2 -0
  186. package/dist/cjs/tiptap/extensions/__tests__/reset-marks-extension.test.d.ts.map +1 -0
  187. package/dist/cjs/tiptap/extensions/__tests__/reset-marks-extension.test.js +53 -0
  188. package/dist/cjs/tiptap/extensions/__tests__/reset-marks-extension.test.ts +74 -0
  189. package/dist/cjs/tiptap/extensions/__tests__/secure-script-extension.test.d.ts +2 -0
  190. package/dist/cjs/tiptap/extensions/__tests__/secure-script-extension.test.d.ts.map +1 -0
  191. package/dist/cjs/tiptap/extensions/__tests__/secure-script-extension.test.js +27 -0
  192. package/dist/cjs/tiptap/extensions/__tests__/secure-script-extension.test.tsx +32 -0
  193. package/dist/cjs/tiptap/extensions/comment-extension.d.ts +13 -0
  194. package/dist/cjs/tiptap/extensions/comment-extension.d.ts.map +1 -0
  195. package/dist/cjs/tiptap/extensions/comment-extension.js +47 -0
  196. package/dist/cjs/tiptap/extensions/custom-table-cell-extension.d.ts +10 -0
  197. package/dist/cjs/tiptap/extensions/custom-table-cell-extension.d.ts.map +1 -0
  198. package/dist/cjs/tiptap/extensions/custom-table-cell-extension.js +64 -0
  199. package/dist/cjs/tiptap/extensions/custom-table-header-extension.d.ts +10 -0
  200. package/dist/cjs/tiptap/extensions/custom-table-header-extension.d.ts.map +1 -0
  201. package/dist/cjs/tiptap/extensions/custom-table-header-extension.js +63 -0
  202. package/dist/cjs/tiptap/extensions/html-block-extension.d.ts +6 -0
  203. package/dist/cjs/tiptap/extensions/html-block-extension.d.ts.map +1 -0
  204. package/dist/cjs/tiptap/extensions/html-block-extension.js +90 -0
  205. package/dist/cjs/tiptap/extensions/html-inline-extension.d.ts +6 -0
  206. package/dist/cjs/tiptap/extensions/html-inline-extension.d.ts.map +1 -0
  207. package/dist/cjs/tiptap/extensions/html-inline-extension.js +87 -0
  208. package/dist/cjs/tiptap/extensions/iframe-extension.d.ts +18 -0
  209. package/dist/cjs/tiptap/extensions/iframe-extension.d.ts.map +1 -0
  210. package/dist/cjs/tiptap/extensions/iframe-extension.js +170 -0
  211. package/dist/cjs/tiptap/extensions/image-upload-extension.d.ts +3 -0
  212. package/dist/cjs/tiptap/extensions/image-upload-extension.d.ts.map +1 -0
  213. package/dist/cjs/tiptap/extensions/image-upload-extension.js +29 -0
  214. package/dist/cjs/tiptap/extensions/index.d.ts +10 -0
  215. package/dist/cjs/tiptap/extensions/index.d.ts.map +1 -0
  216. package/dist/cjs/tiptap/extensions/index.js +9 -0
  217. package/dist/cjs/tiptap/extensions/reset-marks-extension.d.ts +3 -0
  218. package/dist/cjs/tiptap/extensions/reset-marks-extension.d.ts.map +1 -0
  219. package/dist/cjs/tiptap/extensions/reset-marks-extension.js +17 -0
  220. package/dist/cjs/tiptap/extensions/secure-script-extension.d.ts +3 -0
  221. package/dist/cjs/tiptap/extensions/secure-script-extension.d.ts.map +1 -0
  222. package/dist/cjs/tiptap/extensions/secure-script-extension.js +55 -0
  223. package/dist/cjs/tiptap/types/index.d.ts +232 -0
  224. package/dist/cjs/tiptap/types/index.d.ts.map +1 -0
  225. package/dist/cjs/tiptap/types/index.js +1 -0
  226. package/dist/cjs/tiptap/utils/__tests__/format-html.test.d.ts +2 -0
  227. package/dist/cjs/tiptap/utils/__tests__/format-html.test.d.ts.map +1 -0
  228. package/dist/cjs/tiptap/utils/__tests__/format-html.test.js +68 -0
  229. package/dist/cjs/tiptap/utils/__tests__/format-html.test.ts +91 -0
  230. package/dist/cjs/tiptap/utils/__tests__/highlight-html.test.d.ts +2 -0
  231. package/dist/cjs/tiptap/utils/__tests__/highlight-html.test.d.ts.map +1 -0
  232. package/dist/cjs/tiptap/utils/__tests__/highlight-html.test.js +71 -0
  233. package/dist/cjs/tiptap/utils/__tests__/highlight-html.test.ts +100 -0
  234. package/dist/cjs/tiptap/utils/__tests__/index.test.d.ts +2 -0
  235. package/dist/cjs/tiptap/utils/__tests__/index.test.d.ts.map +1 -0
  236. package/dist/cjs/tiptap/utils/__tests__/index.test.js +13 -0
  237. package/dist/cjs/tiptap/utils/__tests__/index.test.ts +15 -0
  238. package/dist/cjs/tiptap/utils/__tests__/normalize-html.test.d.ts +2 -0
  239. package/dist/cjs/tiptap/utils/__tests__/normalize-html.test.d.ts.map +1 -0
  240. package/dist/cjs/tiptap/utils/__tests__/normalize-html.test.js +53 -0
  241. package/dist/cjs/tiptap/utils/__tests__/normalize-html.test.ts +77 -0
  242. package/dist/cjs/tiptap/utils/__tests__/tiptap-extensions.test.d.ts +2 -0
  243. package/dist/cjs/tiptap/utils/__tests__/tiptap-extensions.test.d.ts.map +1 -0
  244. package/dist/cjs/tiptap/utils/__tests__/tiptap-extensions.test.js +209 -0
  245. package/dist/cjs/tiptap/utils/__tests__/tiptap-extensions.test.ts +299 -0
  246. package/dist/cjs/tiptap/utils/format-html.d.ts +6 -0
  247. package/dist/cjs/tiptap/utils/format-html.d.ts.map +1 -0
  248. package/dist/cjs/tiptap/utils/format-html.js +108 -0
  249. package/dist/cjs/tiptap/utils/highlight-html.d.ts +6 -0
  250. package/dist/cjs/tiptap/utils/highlight-html.d.ts.map +1 -0
  251. package/dist/cjs/tiptap/utils/highlight-html.js +82 -0
  252. package/dist/cjs/tiptap/utils/index.d.ts +5 -0
  253. package/dist/cjs/tiptap/utils/index.d.ts.map +1 -0
  254. package/dist/cjs/tiptap/utils/index.js +4 -0
  255. package/dist/cjs/tiptap/utils/normalize-html.d.ts +7 -0
  256. package/dist/cjs/tiptap/utils/normalize-html.d.ts.map +1 -0
  257. package/dist/cjs/tiptap/utils/normalize-html.js +109 -0
  258. package/dist/cjs/tiptap/utils/tiptap-extensions.d.ts +21 -0
  259. package/dist/cjs/tiptap/utils/tiptap-extensions.d.ts.map +1 -0
  260. package/dist/cjs/tiptap/utils/tiptap-extensions.js +198 -0
  261. package/dist/esm/__tests__/index.test.d.ts +2 -0
  262. package/dist/esm/__tests__/index.test.d.ts.map +1 -0
  263. package/dist/esm/__tests__/index.test.js +38 -0
  264. package/dist/esm/__tests__/index.test.tsx +51 -0
  265. package/dist/esm/i18n/index.d.ts +3 -0
  266. package/dist/esm/i18n/index.d.ts.map +1 -0
  267. package/dist/esm/i18n/index.js +11 -0
  268. package/dist/esm/i18n/translations/en.d.ts +86 -0
  269. package/dist/esm/i18n/translations/en.d.ts.map +1 -0
  270. package/dist/esm/i18n/translations/en.js +85 -0
  271. package/dist/esm/i18n/translations/tr.d.ts +86 -0
  272. package/dist/esm/i18n/translations/tr.d.ts.map +1 -0
  273. package/dist/esm/i18n/translations/tr.js +85 -0
  274. package/dist/esm/index.d.ts +4 -0
  275. package/dist/esm/index.d.ts.map +1 -0
  276. package/dist/esm/index.js +8 -0
  277. package/dist/esm/tiptap/assets/__tests__/icons.test.d.ts +2 -0
  278. package/dist/esm/tiptap/assets/__tests__/icons.test.d.ts.map +1 -0
  279. package/dist/esm/tiptap/assets/__tests__/icons.test.js +25 -0
  280. package/dist/esm/tiptap/assets/__tests__/icons.test.tsx +29 -0
  281. package/dist/esm/tiptap/assets/icons.d.ts +3 -0
  282. package/dist/esm/tiptap/assets/icons.d.ts.map +1 -0
  283. package/dist/esm/tiptap/assets/icons.js +3 -0
  284. package/dist/esm/tiptap/components/__tests__/format-bubble-menu.test.d.ts +6 -0
  285. package/dist/esm/tiptap/components/__tests__/format-bubble-menu.test.d.ts.map +1 -0
  286. package/dist/esm/tiptap/components/__tests__/format-bubble-menu.test.js +311 -0
  287. package/dist/esm/tiptap/components/__tests__/format-bubble-menu.test.tsx +452 -0
  288. package/dist/esm/tiptap/components/__tests__/html-code-viewer.test.d.ts +2 -0
  289. package/dist/esm/tiptap/components/__tests__/html-code-viewer.test.d.ts.map +1 -0
  290. package/dist/esm/tiptap/components/__tests__/html-code-viewer.test.js +89 -0
  291. package/dist/esm/tiptap/components/__tests__/html-code-viewer.test.tsx +126 -0
  292. package/dist/esm/tiptap/components/__tests__/image-upload-placeholder.test.d.ts +2 -0
  293. package/dist/esm/tiptap/components/__tests__/image-upload-placeholder.test.d.ts.map +1 -0
  294. package/dist/esm/tiptap/components/__tests__/image-upload-placeholder.test.js +206 -0
  295. package/dist/esm/tiptap/components/__tests__/image-upload-placeholder.test.tsx +297 -0
  296. package/dist/esm/tiptap/components/__tests__/secure-script-component.test.d.ts +2 -0
  297. package/dist/esm/tiptap/components/__tests__/secure-script-component.test.d.ts.map +1 -0
  298. package/dist/esm/tiptap/components/__tests__/secure-script-component.test.js +57 -0
  299. package/dist/esm/tiptap/components/__tests__/secure-script-component.test.tsx +89 -0
  300. package/dist/esm/tiptap/components/__tests__/table-bubble-menu.test.d.ts +6 -0
  301. package/dist/esm/tiptap/components/__tests__/table-bubble-menu.test.d.ts.map +1 -0
  302. package/dist/esm/tiptap/components/__tests__/table-bubble-menu.test.js +284 -0
  303. package/dist/esm/tiptap/components/__tests__/table-bubble-menu.test.tsx +466 -0
  304. package/dist/esm/tiptap/components/__tests__/table-popover.test.d.ts +2 -0
  305. package/dist/esm/tiptap/components/__tests__/table-popover.test.d.ts.map +1 -0
  306. package/dist/esm/tiptap/components/__tests__/table-popover.test.js +101 -0
  307. package/dist/esm/tiptap/components/__tests__/table-popover.test.tsx +157 -0
  308. package/dist/esm/tiptap/components/__tests__/tiptap.test.d.ts +2 -0
  309. package/dist/esm/tiptap/components/__tests__/tiptap.test.d.ts.map +1 -0
  310. package/dist/esm/tiptap/components/__tests__/tiptap.test.js +275 -0
  311. package/dist/esm/tiptap/components/__tests__/tiptap.test.tsx +378 -0
  312. package/dist/esm/tiptap/components/format-bubble-menu.d.ts +8 -0
  313. package/dist/esm/tiptap/components/format-bubble-menu.d.ts.map +1 -0
  314. package/dist/esm/tiptap/components/format-bubble-menu.js +202 -0
  315. package/dist/esm/tiptap/components/html-code-viewer.d.ts +10 -0
  316. package/dist/esm/tiptap/components/html-code-viewer.d.ts.map +1 -0
  317. package/dist/esm/tiptap/components/html-code-viewer.js +96 -0
  318. package/dist/esm/tiptap/components/image-upload-placeholder.d.ts +4 -0
  319. package/dist/esm/tiptap/components/image-upload-placeholder.d.ts.map +1 -0
  320. package/dist/esm/tiptap/components/image-upload-placeholder.js +94 -0
  321. package/dist/esm/tiptap/components/menu-bar/__tests__/action-toolbar.test.d.ts +2 -0
  322. package/dist/esm/tiptap/components/menu-bar/__tests__/action-toolbar.test.d.ts.map +1 -0
  323. package/dist/esm/tiptap/components/menu-bar/__tests__/action-toolbar.test.js +78 -0
  324. package/dist/esm/tiptap/components/menu-bar/__tests__/action-toolbar.test.tsx +212 -0
  325. package/dist/esm/tiptap/components/menu-bar/__tests__/alignment-toolbar.test.d.ts +3 -0
  326. package/dist/esm/tiptap/components/menu-bar/__tests__/alignment-toolbar.test.d.ts.map +1 -0
  327. package/dist/esm/tiptap/components/menu-bar/__tests__/alignment-toolbar.test.js +201 -0
  328. package/dist/esm/tiptap/components/menu-bar/__tests__/alignment-toolbar.test.tsx +411 -0
  329. package/dist/esm/tiptap/components/menu-bar/__tests__/heading-selector.test.d.ts +4 -0
  330. package/dist/esm/tiptap/components/menu-bar/__tests__/heading-selector.test.d.ts.map +1 -0
  331. package/dist/esm/tiptap/components/menu-bar/__tests__/heading-selector.test.js +242 -0
  332. package/dist/esm/tiptap/components/menu-bar/__tests__/heading-selector.test.tsx +569 -0
  333. package/dist/esm/tiptap/components/menu-bar/__tests__/index.test.d.ts +2 -0
  334. package/dist/esm/tiptap/components/menu-bar/__tests__/index.test.d.ts.map +1 -0
  335. package/dist/esm/tiptap/components/menu-bar/__tests__/index.test.js +236 -0
  336. package/dist/esm/tiptap/components/menu-bar/__tests__/index.test.tsx +325 -0
  337. package/dist/esm/tiptap/components/menu-bar/__tests__/link-popover.test.d.ts +3 -0
  338. package/dist/esm/tiptap/components/menu-bar/__tests__/link-popover.test.d.ts.map +1 -0
  339. package/dist/esm/tiptap/components/menu-bar/__tests__/link-popover.test.js +332 -0
  340. package/dist/esm/tiptap/components/menu-bar/__tests__/link-popover.test.tsx +648 -0
  341. package/dist/esm/tiptap/components/menu-bar/__tests__/list-and-block-toolbar.test.d.ts +2 -0
  342. package/dist/esm/tiptap/components/menu-bar/__tests__/list-and-block-toolbar.test.d.ts.map +1 -0
  343. package/dist/esm/tiptap/components/menu-bar/__tests__/list-and-block-toolbar.test.js +196 -0
  344. package/dist/esm/tiptap/components/menu-bar/__tests__/list-and-block-toolbar.test.tsx +414 -0
  345. package/dist/esm/tiptap/components/menu-bar/__tests__/media-toolbar.test.d.ts +2 -0
  346. package/dist/esm/tiptap/components/menu-bar/__tests__/media-toolbar.test.d.ts.map +1 -0
  347. package/dist/esm/tiptap/components/menu-bar/__tests__/media-toolbar.test.js +74 -0
  348. package/dist/esm/tiptap/components/menu-bar/__tests__/media-toolbar.test.tsx +206 -0
  349. package/dist/esm/tiptap/components/menu-bar/__tests__/text-formatting-toolbar.test.d.ts +2 -0
  350. package/dist/esm/tiptap/components/menu-bar/__tests__/text-formatting-toolbar.test.d.ts.map +1 -0
  351. package/dist/esm/tiptap/components/menu-bar/__tests__/text-formatting-toolbar.test.js +265 -0
  352. package/dist/esm/tiptap/components/menu-bar/__tests__/text-formatting-toolbar.test.tsx +575 -0
  353. package/dist/esm/tiptap/components/menu-bar/__tests__/youtube-popover.test.d.ts +3 -0
  354. package/dist/esm/tiptap/components/menu-bar/__tests__/youtube-popover.test.d.ts.map +1 -0
  355. package/dist/esm/tiptap/components/menu-bar/__tests__/youtube-popover.test.js +277 -0
  356. package/dist/esm/tiptap/components/menu-bar/__tests__/youtube-popover.test.tsx +538 -0
  357. package/dist/esm/tiptap/components/menu-bar/action-toolbar.d.ts +15 -0
  358. package/dist/esm/tiptap/components/menu-bar/action-toolbar.d.ts.map +1 -0
  359. package/dist/esm/tiptap/components/menu-bar/action-toolbar.js +40 -0
  360. package/dist/esm/tiptap/components/menu-bar/alignment-toolbar.d.ts +12 -0
  361. package/dist/esm/tiptap/components/menu-bar/alignment-toolbar.d.ts.map +1 -0
  362. package/dist/esm/tiptap/components/menu-bar/alignment-toolbar.js +39 -0
  363. package/dist/esm/tiptap/components/menu-bar/heading-selector.d.ts +16 -0
  364. package/dist/esm/tiptap/components/menu-bar/heading-selector.d.ts.map +1 -0
  365. package/dist/esm/tiptap/components/menu-bar/heading-selector.js +70 -0
  366. package/dist/esm/tiptap/components/menu-bar/index.d.ts +18 -0
  367. package/dist/esm/tiptap/components/menu-bar/index.d.ts.map +1 -0
  368. package/dist/esm/tiptap/components/menu-bar/index.js +131 -0
  369. package/dist/esm/tiptap/components/menu-bar/link-popover.d.ts +12 -0
  370. package/dist/esm/tiptap/components/menu-bar/link-popover.d.ts.map +1 -0
  371. package/dist/esm/tiptap/components/menu-bar/link-popover.js +108 -0
  372. package/dist/esm/tiptap/components/menu-bar/list-and-block-toolbar.d.ts +18 -0
  373. package/dist/esm/tiptap/components/menu-bar/list-and-block-toolbar.d.ts.map +1 -0
  374. package/dist/esm/tiptap/components/menu-bar/list-and-block-toolbar.js +69 -0
  375. package/dist/esm/tiptap/components/menu-bar/media-toolbar.d.ts +13 -0
  376. package/dist/esm/tiptap/components/menu-bar/media-toolbar.d.ts.map +1 -0
  377. package/dist/esm/tiptap/components/menu-bar/media-toolbar.js +15 -0
  378. package/dist/esm/tiptap/components/menu-bar/text-formatting-toolbar.d.ts +18 -0
  379. package/dist/esm/tiptap/components/menu-bar/text-formatting-toolbar.d.ts.map +1 -0
  380. package/dist/esm/tiptap/components/menu-bar/text-formatting-toolbar.js +87 -0
  381. package/dist/esm/tiptap/components/menu-bar/youtube-popover.d.ts +12 -0
  382. package/dist/esm/tiptap/components/menu-bar/youtube-popover.d.ts.map +1 -0
  383. package/dist/esm/tiptap/components/menu-bar/youtube-popover.js +70 -0
  384. package/dist/esm/tiptap/components/secure-script-component.d.ts +3 -0
  385. package/dist/esm/tiptap/components/secure-script-component.d.ts.map +1 -0
  386. package/dist/esm/tiptap/components/secure-script-component.js +61 -0
  387. package/dist/esm/tiptap/components/table-bubble-menu.d.ts +9 -0
  388. package/dist/esm/tiptap/components/table-bubble-menu.d.ts.map +1 -0
  389. package/dist/esm/tiptap/components/table-bubble-menu.js +274 -0
  390. package/dist/esm/tiptap/components/table-popover.d.ts +10 -0
  391. package/dist/esm/tiptap/components/table-popover.d.ts.map +1 -0
  392. package/dist/esm/tiptap/components/table-popover.js +86 -0
  393. package/dist/esm/tiptap/components/tiptap.d.ts +4 -0
  394. package/dist/esm/tiptap/components/tiptap.d.ts.map +1 -0
  395. package/dist/esm/tiptap/components/tiptap.js +311 -0
  396. package/dist/esm/tiptap/constants/__tests__/table-defaults.test.d.ts +2 -0
  397. package/dist/esm/tiptap/constants/__tests__/table-defaults.test.d.ts.map +1 -0
  398. package/dist/esm/tiptap/constants/__tests__/table-defaults.test.js +56 -0
  399. package/dist/esm/tiptap/constants/__tests__/table-defaults.test.ts +69 -0
  400. package/dist/esm/tiptap/constants/editor-config.d.ts +89 -0
  401. package/dist/esm/tiptap/constants/editor-config.d.ts.map +1 -0
  402. package/dist/esm/tiptap/constants/editor-config.js +103 -0
  403. package/dist/esm/tiptap/constants/html-elements.d.ts +95 -0
  404. package/dist/esm/tiptap/constants/html-elements.d.ts.map +1 -0
  405. package/dist/esm/tiptap/constants/html-elements.js +158 -0
  406. package/dist/esm/tiptap/constants/index.d.ts +4 -0
  407. package/dist/esm/tiptap/constants/index.d.ts.map +1 -0
  408. package/dist/esm/tiptap/constants/index.js +3 -0
  409. package/dist/esm/tiptap/constants/table-defaults.d.ts +14 -0
  410. package/dist/esm/tiptap/constants/table-defaults.d.ts.map +1 -0
  411. package/dist/esm/tiptap/constants/table-defaults.js +18 -0
  412. package/dist/esm/tiptap/extensions/__tests__/comment-extension.test.d.ts +2 -0
  413. package/dist/esm/tiptap/extensions/__tests__/comment-extension.test.d.ts.map +1 -0
  414. package/dist/esm/tiptap/extensions/__tests__/comment-extension.test.js +75 -0
  415. package/dist/esm/tiptap/extensions/__tests__/comment-extension.test.ts +84 -0
  416. package/dist/esm/tiptap/extensions/__tests__/custom-table-cell-extension.test.d.ts +2 -0
  417. package/dist/esm/tiptap/extensions/__tests__/custom-table-cell-extension.test.d.ts.map +1 -0
  418. package/dist/esm/tiptap/extensions/__tests__/custom-table-cell-extension.test.js +116 -0
  419. package/dist/esm/tiptap/extensions/__tests__/custom-table-cell-extension.test.ts +147 -0
  420. package/dist/esm/tiptap/extensions/__tests__/custom-table-cell-extension.test.tsx +90 -0
  421. package/dist/esm/tiptap/extensions/__tests__/custom-table-header-extension.test.d.ts +2 -0
  422. package/dist/esm/tiptap/extensions/__tests__/custom-table-header-extension.test.d.ts.map +1 -0
  423. package/dist/esm/tiptap/extensions/__tests__/custom-table-header-extension.test.js +183 -0
  424. package/dist/esm/tiptap/extensions/__tests__/custom-table-header-extension.test.ts +213 -0
  425. package/dist/esm/tiptap/extensions/__tests__/html-block-extension.test.d.ts +2 -0
  426. package/dist/esm/tiptap/extensions/__tests__/html-block-extension.test.d.ts.map +1 -0
  427. package/dist/esm/tiptap/extensions/__tests__/html-block-extension.test.js +103 -0
  428. package/dist/esm/tiptap/extensions/__tests__/html-block-extension.test.ts +117 -0
  429. package/dist/esm/tiptap/extensions/__tests__/html-inline-extension.test.d.ts +2 -0
  430. package/dist/esm/tiptap/extensions/__tests__/html-inline-extension.test.d.ts.map +1 -0
  431. package/dist/esm/tiptap/extensions/__tests__/html-inline-extension.test.js +105 -0
  432. package/dist/esm/tiptap/extensions/__tests__/html-inline-extension.test.ts +119 -0
  433. package/dist/esm/tiptap/extensions/__tests__/iframe-extension.test.d.ts +2 -0
  434. package/dist/esm/tiptap/extensions/__tests__/iframe-extension.test.d.ts.map +1 -0
  435. package/dist/esm/tiptap/extensions/__tests__/iframe-extension.test.js +262 -0
  436. package/dist/esm/tiptap/extensions/__tests__/iframe-extension.test.ts +297 -0
  437. package/dist/esm/tiptap/extensions/__tests__/image-upload-extension.test.d.ts +2 -0
  438. package/dist/esm/tiptap/extensions/__tests__/image-upload-extension.test.d.ts.map +1 -0
  439. package/dist/esm/tiptap/extensions/__tests__/image-upload-extension.test.js +52 -0
  440. package/dist/esm/tiptap/extensions/__tests__/image-upload-extension.test.tsx +65 -0
  441. package/dist/esm/tiptap/extensions/__tests__/index.test.d.ts +2 -0
  442. package/dist/esm/tiptap/extensions/__tests__/index.test.d.ts.map +1 -0
  443. package/dist/esm/tiptap/extensions/__tests__/index.test.js +24 -0
  444. package/dist/esm/tiptap/extensions/__tests__/index.test.ts +26 -0
  445. package/dist/esm/tiptap/extensions/__tests__/reset-marks-extension.test.d.ts +2 -0
  446. package/dist/esm/tiptap/extensions/__tests__/reset-marks-extension.test.d.ts.map +1 -0
  447. package/dist/esm/tiptap/extensions/__tests__/reset-marks-extension.test.js +53 -0
  448. package/dist/esm/tiptap/extensions/__tests__/reset-marks-extension.test.ts +74 -0
  449. package/dist/esm/tiptap/extensions/__tests__/secure-script-extension.test.d.ts +2 -0
  450. package/dist/esm/tiptap/extensions/__tests__/secure-script-extension.test.d.ts.map +1 -0
  451. package/dist/esm/tiptap/extensions/__tests__/secure-script-extension.test.js +27 -0
  452. package/dist/esm/tiptap/extensions/__tests__/secure-script-extension.test.tsx +32 -0
  453. package/dist/esm/tiptap/extensions/comment-extension.d.ts +13 -0
  454. package/dist/esm/tiptap/extensions/comment-extension.d.ts.map +1 -0
  455. package/dist/esm/tiptap/extensions/comment-extension.js +47 -0
  456. package/dist/esm/tiptap/extensions/custom-table-cell-extension.d.ts +10 -0
  457. package/dist/esm/tiptap/extensions/custom-table-cell-extension.d.ts.map +1 -0
  458. package/dist/esm/tiptap/extensions/custom-table-cell-extension.js +64 -0
  459. package/dist/esm/tiptap/extensions/custom-table-header-extension.d.ts +10 -0
  460. package/dist/esm/tiptap/extensions/custom-table-header-extension.d.ts.map +1 -0
  461. package/dist/esm/tiptap/extensions/custom-table-header-extension.js +63 -0
  462. package/dist/esm/tiptap/extensions/html-block-extension.d.ts +6 -0
  463. package/dist/esm/tiptap/extensions/html-block-extension.d.ts.map +1 -0
  464. package/dist/esm/tiptap/extensions/html-block-extension.js +90 -0
  465. package/dist/esm/tiptap/extensions/html-inline-extension.d.ts +6 -0
  466. package/dist/esm/tiptap/extensions/html-inline-extension.d.ts.map +1 -0
  467. package/dist/esm/tiptap/extensions/html-inline-extension.js +87 -0
  468. package/dist/esm/tiptap/extensions/iframe-extension.d.ts +18 -0
  469. package/dist/esm/tiptap/extensions/iframe-extension.d.ts.map +1 -0
  470. package/dist/esm/tiptap/extensions/iframe-extension.js +170 -0
  471. package/dist/esm/tiptap/extensions/image-upload-extension.d.ts +3 -0
  472. package/dist/esm/tiptap/extensions/image-upload-extension.d.ts.map +1 -0
  473. package/dist/esm/tiptap/extensions/image-upload-extension.js +29 -0
  474. package/dist/esm/tiptap/extensions/index.d.ts +10 -0
  475. package/dist/esm/tiptap/extensions/index.d.ts.map +1 -0
  476. package/dist/esm/tiptap/extensions/index.js +9 -0
  477. package/dist/esm/tiptap/extensions/reset-marks-extension.d.ts +3 -0
  478. package/dist/esm/tiptap/extensions/reset-marks-extension.d.ts.map +1 -0
  479. package/dist/esm/tiptap/extensions/reset-marks-extension.js +17 -0
  480. package/dist/esm/tiptap/extensions/secure-script-extension.d.ts +3 -0
  481. package/dist/esm/tiptap/extensions/secure-script-extension.d.ts.map +1 -0
  482. package/dist/esm/tiptap/extensions/secure-script-extension.js +55 -0
  483. package/dist/esm/tiptap/types/index.d.ts +232 -0
  484. package/dist/esm/tiptap/types/index.d.ts.map +1 -0
  485. package/dist/esm/tiptap/types/index.js +1 -0
  486. package/dist/esm/tiptap/utils/__tests__/format-html.test.d.ts +2 -0
  487. package/dist/esm/tiptap/utils/__tests__/format-html.test.d.ts.map +1 -0
  488. package/dist/esm/tiptap/utils/__tests__/format-html.test.js +68 -0
  489. package/dist/esm/tiptap/utils/__tests__/format-html.test.ts +91 -0
  490. package/dist/esm/tiptap/utils/__tests__/highlight-html.test.d.ts +2 -0
  491. package/dist/esm/tiptap/utils/__tests__/highlight-html.test.d.ts.map +1 -0
  492. package/dist/esm/tiptap/utils/__tests__/highlight-html.test.js +71 -0
  493. package/dist/esm/tiptap/utils/__tests__/highlight-html.test.ts +100 -0
  494. package/dist/esm/tiptap/utils/__tests__/index.test.d.ts +2 -0
  495. package/dist/esm/tiptap/utils/__tests__/index.test.d.ts.map +1 -0
  496. package/dist/esm/tiptap/utils/__tests__/index.test.js +13 -0
  497. package/dist/esm/tiptap/utils/__tests__/index.test.ts +15 -0
  498. package/dist/esm/tiptap/utils/__tests__/normalize-html.test.d.ts +2 -0
  499. package/dist/esm/tiptap/utils/__tests__/normalize-html.test.d.ts.map +1 -0
  500. package/dist/esm/tiptap/utils/__tests__/normalize-html.test.js +53 -0
  501. package/dist/esm/tiptap/utils/__tests__/normalize-html.test.ts +77 -0
  502. package/dist/esm/tiptap/utils/__tests__/tiptap-extensions.test.d.ts +2 -0
  503. package/dist/esm/tiptap/utils/__tests__/tiptap-extensions.test.d.ts.map +1 -0
  504. package/dist/esm/tiptap/utils/__tests__/tiptap-extensions.test.js +209 -0
  505. package/dist/esm/tiptap/utils/__tests__/tiptap-extensions.test.ts +299 -0
  506. package/dist/esm/tiptap/utils/format-html.d.ts +6 -0
  507. package/dist/esm/tiptap/utils/format-html.d.ts.map +1 -0
  508. package/dist/esm/tiptap/utils/format-html.js +108 -0
  509. package/dist/esm/tiptap/utils/highlight-html.d.ts +6 -0
  510. package/dist/esm/tiptap/utils/highlight-html.d.ts.map +1 -0
  511. package/dist/esm/tiptap/utils/highlight-html.js +82 -0
  512. package/dist/esm/tiptap/utils/index.d.ts +5 -0
  513. package/dist/esm/tiptap/utils/index.d.ts.map +1 -0
  514. package/dist/esm/tiptap/utils/index.js +4 -0
  515. package/dist/esm/tiptap/utils/normalize-html.d.ts +7 -0
  516. package/dist/esm/tiptap/utils/normalize-html.d.ts.map +1 -0
  517. package/dist/esm/tiptap/utils/normalize-html.js +109 -0
  518. package/dist/esm/tiptap/utils/tiptap-extensions.d.ts +21 -0
  519. package/dist/esm/tiptap/utils/tiptap-extensions.d.ts.map +1 -0
  520. package/dist/esm/tiptap/utils/tiptap-extensions.js +198 -0
  521. package/package.json +99 -0
@@ -0,0 +1,70 @@
1
+ import '@tiptap/extension-youtube';
2
+ import { Button } from '@akinon/ui-button';
3
+ import { Input } from '@akinon/ui-input';
4
+ import { Popover } from '@akinon/ui-popover';
5
+ import { getSafeCustomTokens, useToken } from '@akinon/ui-theme';
6
+ import { useStyleRegister } from '@ant-design/cssinjs';
7
+ import { ConfigProvider } from 'antd';
8
+ import React, { useState } from 'react';
9
+ import { i18n } from '../../../i18n';
10
+ export const YouTubePopover = ({ editor, disabled }) => {
11
+ const [isOpen, setIsOpen] = useState(false);
12
+ const [url, setUrl] = useState('');
13
+ const { getPrefixCls, theme } = React.useContext(ConfigProvider.ConfigContext);
14
+ const { token, hashId } = useToken();
15
+ const customTokens = getSafeCustomTokens(theme);
16
+ const baseCls = getPrefixCls('tiptap-youtube-popover');
17
+ const useStyle = useStyleRegister({
18
+ token: token,
19
+ path: ['YouTubePopover'],
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ theme: theme
22
+ }, () => {
23
+ const prefixCls = `:where(.${hashId}).${baseCls}`;
24
+ return {
25
+ [prefixCls]: {
26
+ padding: '8px',
27
+ display: 'flex',
28
+ flexDirection: 'column',
29
+ gap: '8px',
30
+ width: '300px'
31
+ },
32
+ [`${prefixCls} .${baseCls}__actions`]: {
33
+ display: customTokens.layout.displayFlex,
34
+ gap: '4px',
35
+ alignItems: customTokens.layout.flexCenter,
36
+ justifyContent: 'flex-end',
37
+ marginTop: '4px'
38
+ }
39
+ };
40
+ });
41
+ const isValidYoutubeUrl = (url) => {
42
+ return /^(https?:\/\/)?(www\.)?(youtube\.com|youtu\.be)\/.+$/.test(url);
43
+ };
44
+ const isValid = isValidYoutubeUrl(url);
45
+ const status = !isValid && url.length > 0 ? 'error' : undefined;
46
+ const handleAddVideo = () => {
47
+ if (url && isValid) {
48
+ editor.commands.setYoutubeVideo({ src: url });
49
+ setUrl('');
50
+ setIsOpen(false);
51
+ }
52
+ };
53
+ const handleClose = () => {
54
+ setUrl('');
55
+ setIsOpen(false);
56
+ };
57
+ const content = (React.createElement("div", { className: `${baseCls} ${hashId}` },
58
+ React.createElement(Input, { type: "text", placeholder: i18n.t('editor.youtube.placeholder'), value: url, autoFocus: true, onChange: e => setUrl(e.target.value), status: status, onKeyDown: e => {
59
+ if (e.key === 'Enter' && isValid) {
60
+ handleAddVideo();
61
+ }
62
+ }, size: "small" }),
63
+ React.createElement("div", { className: `${baseCls}__actions` },
64
+ React.createElement(Button, { size: "small", onClick: handleClose }, i18n.t('editor.youtube.cancel')),
65
+ React.createElement(Button, { size: "small", type: "primary", onClick: handleAddVideo, disabled: !url || !isValid }, i18n.t('editor.youtube.insert')))));
66
+ return useStyle(React.createElement(Popover, { content: content, trigger: "click",
67
+ // @ts-expect-error - IPopoverProps definition is missing 'open' but underlying AntD component supports it
68
+ open: isOpen, onOpenChange: setIsOpen, placement: "bottom" },
69
+ React.createElement(Button, { type: "icon", size: "small", disabled: disabled, tooltip: i18n.t('editor.youtube.tooltip'), icon: "youtube" })));
70
+ };
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const SecureScriptComponent: () => React.JSX.Element;
3
+ //# sourceMappingURL=secure-script-component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure-script-component.d.ts","sourceRoot":"","sources":["../../../../src/tiptap/components/secure-script-component.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,qBAAqB,yBAqEjC,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { useToken } from '@akinon/ui-theme';
2
+ import { useStyleRegister } from '@ant-design/cssinjs';
3
+ import { NodeViewContent, NodeViewWrapper } from '@tiptap/react';
4
+ import { ConfigProvider } from 'antd';
5
+ import React from 'react';
6
+ export const SecureScriptComponent = () => {
7
+ const { getPrefixCls, theme } = React.useContext(ConfigProvider.ConfigContext);
8
+ const { token, hashId } = useToken();
9
+ const baseCls = getPrefixCls('tiptap-secure-script');
10
+ const useStyle = useStyleRegister({
11
+ token: token,
12
+ path: ['TiptapSecureScript'],
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ theme: theme
15
+ }, () => {
16
+ var _a, _b;
17
+ const prefixCls = `:where(.${hashId}).${baseCls}`;
18
+ const colors = (theme === null || theme === void 0 ? void 0 : theme.colors) || {};
19
+ return {
20
+ [`${prefixCls}`]: {
21
+ display: 'block', // Code block implies block level
22
+ margin: '1em 0',
23
+ fontFamily: 'monospace',
24
+ borderRadius: '6px',
25
+ overflow: 'hidden',
26
+ [`& pre`]: {
27
+ margin: 0,
28
+ padding: '1em',
29
+ overflow: 'auto',
30
+ fontFamily: 'inherit',
31
+ fontSize: '0.9em',
32
+ lineHeight: '1.5'
33
+ },
34
+ [`& code`]: {
35
+ fontFamily: 'inherit'
36
+ },
37
+ [`& .${baseCls}__tag`]: {
38
+ color: (_a = colors.orange) === null || _a === void 0 ? void 0 : _a['400'],
39
+ fontWeight: 'bold',
40
+ userSelect: 'none'
41
+ },
42
+ [`& .${baseCls}__content`]: {
43
+ display: 'block',
44
+ margin: '2px 0',
45
+ color: (_b = colors.neutral) === null || _b === void 0 ? void 0 : _b['50'],
46
+ outline: 'none',
47
+ fontFamily: 'inherit'
48
+ },
49
+ [`& .${baseCls}__content div[data-node-view-wrapper]`]: {
50
+ paddingLeft: '20px'
51
+ }
52
+ }
53
+ };
54
+ });
55
+ return useStyle(React.createElement(NodeViewWrapper, { className: `${baseCls} ${hashId}` },
56
+ React.createElement("pre", null,
57
+ React.createElement("code", null,
58
+ React.createElement("span", { className: `${baseCls}__tag` }, "<script>"),
59
+ React.createElement(NodeViewContent, { as: "div", className: `${baseCls}__content` }),
60
+ React.createElement("span", { className: `${baseCls}__tag` }, "</script>")))));
61
+ };
@@ -0,0 +1,9 @@
1
+ import '@tiptap/extension-table';
2
+ import type { Editor } from '@tiptap/react';
3
+ import React from 'react';
4
+ interface TableBubbleMenuProps {
5
+ editor: Editor;
6
+ }
7
+ export declare const TableBubbleMenu: ({ editor }: TableBubbleMenuProps) => React.JSX.Element | null;
8
+ export {};
9
+ //# sourceMappingURL=table-bubble-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-bubble-menu.d.ts","sourceRoot":"","sources":["../../../../src/tiptap/components/table-bubble-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AAgBjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,KAAuC,MAAM,OAAO,CAAC;AAM5D,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAmBD,eAAO,MAAM,eAAe,GAAI,YAAY,oBAAoB,6BAoX/D,CAAC"}
@@ -0,0 +1,274 @@
1
+ import '@tiptap/extension-table';
2
+ import { Button } from '@akinon/ui-button';
3
+ import { ColorPicker } from '@akinon/ui-color-picker';
4
+ import { Input } from '@akinon/ui-input';
5
+ import { Select } from '@akinon/ui-select';
6
+ import { useToken } from '@akinon/ui-theme';
7
+ import { useStyleRegister } from '@ant-design/cssinjs';
8
+ import { BubbleMenu } from '@tiptap/react/menus';
9
+ import { ConfigProvider } from 'antd';
10
+ import React, { useEffect, useMemo, useState } from 'react';
11
+ import { i18n } from '../../i18n';
12
+ import { getTableCellDefaults } from '../constants';
13
+ const getColorString = (value, defaultColor) => {
14
+ var _a;
15
+ if (typeof value === 'string') {
16
+ return value;
17
+ }
18
+ return ((_a = value === null || value === void 0 ? void 0 : value.toHexString) === null || _a === void 0 ? void 0 : _a.call(value)) ? value.toHexString() : defaultColor;
19
+ };
20
+ export const TableBubbleMenu = ({ editor }) => {
21
+ if (!editor) {
22
+ return null;
23
+ }
24
+ const { getPrefixCls, theme } = React.useContext(ConfigProvider.ConfigContext);
25
+ const { token, hashId } = useToken();
26
+ const colors = (theme === null || theme === void 0 ? void 0 : theme.colors) || {};
27
+ const baseCls = getPrefixCls('tiptap-table-bubble-menu');
28
+ const tableCellDefaults = useMemo(() => getTableCellDefaults(colors), [colors]);
29
+ const [showCellStyles, setShowCellStyles] = useState(false);
30
+ const [cellStyles, setCellStyles] = useState(() => ({
31
+ borderColor: tableCellDefaults.borderColor,
32
+ borderWidth: tableCellDefaults.borderWidth,
33
+ borderStyle: tableCellDefaults.borderStyle,
34
+ backgroundColor: tableCellDefaults.backgroundColor
35
+ }));
36
+ const handleColorChange = (key, value, defaultColor) => {
37
+ const colorValue = getColorString(value, defaultColor);
38
+ setCellStyles(prev => (Object.assign(Object.assign({}, prev), { [key]: colorValue })));
39
+ };
40
+ const handleBorderStyleChange = (value) => {
41
+ setCellStyles(prev => (Object.assign(Object.assign({}, prev), { borderStyle: value })));
42
+ };
43
+ const useStyle = useStyleRegister({
44
+ token: token,
45
+ path: ['TableBubbleMenu'],
46
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
+ theme: theme
48
+ }, () => {
49
+ var _a, _b, _c, _d, _e, _f, _g;
50
+ const prefixCls = `:where(.${hashId}).${baseCls}`;
51
+ return {
52
+ [prefixCls]: {
53
+ padding: '8px',
54
+ display: 'flex',
55
+ flexDirection: 'column',
56
+ gap: '8px',
57
+ backgroundColor: (_a = colors.ebonyClay) === null || _a === void 0 ? void 0 : _a['500'],
58
+ color: (_b = colors.neutral) === null || _b === void 0 ? void 0 : _b['50'],
59
+ borderRadius: '4px',
60
+ boxShadow: token.boxShadowSecondary,
61
+ border: `2px solid ${(_c = colors.ebonyClay) === null || _c === void 0 ? void 0 : _c['550']}`,
62
+ maxWidth: '600px',
63
+ position: 'relative'
64
+ },
65
+ [`${prefixCls}::before`]: {
66
+ content: '""',
67
+ position: 'absolute',
68
+ top: '-8px',
69
+ left: '50%',
70
+ transform: 'translateX(-50%)',
71
+ borderWidth: '0 8px 8px 8px',
72
+ borderStyle: 'solid',
73
+ borderColor: `transparent transparent ${(_d = colors.ebonyClay) === null || _d === void 0 ? void 0 : _d['550']} transparent`,
74
+ width: 0,
75
+ height: 0
76
+ },
77
+ [`${prefixCls}::after`]: {
78
+ content: '""',
79
+ position: 'absolute',
80
+ top: '-5px',
81
+ left: '50%',
82
+ transform: 'translateX(-50%)',
83
+ borderWidth: '0 8px 8px 8px',
84
+ borderStyle: 'solid',
85
+ borderColor: `transparent transparent ${(_e = colors.ebonyClay) === null || _e === void 0 ? void 0 : _e['500']} transparent`,
86
+ width: 0,
87
+ height: 0
88
+ },
89
+ [`${prefixCls} .${baseCls}__actions`]: {
90
+ display: 'flex',
91
+ gap: '4px',
92
+ alignItems: 'center',
93
+ flexWrap: 'wrap'
94
+ },
95
+ [`${prefixCls} .${baseCls}__cell-styles`]: {
96
+ display: 'flex',
97
+ flexDirection: 'column',
98
+ gap: '12px',
99
+ padding: '12px',
100
+ backgroundColor: (_f = colors.ebonyClay) === null || _f === void 0 ? void 0 : _f['475'],
101
+ borderRadius: '4px',
102
+ minWidth: '320px'
103
+ },
104
+ [`${prefixCls} .${baseCls}__border-style-select`]: {
105
+ width: '120px'
106
+ },
107
+ [`${prefixCls} .${baseCls}__width-input`]: {
108
+ width: '70px'
109
+ },
110
+ [`${prefixCls} .${baseCls}__style-row`]: {
111
+ display: 'flex',
112
+ gap: '8px',
113
+ alignItems: 'center'
114
+ },
115
+ [`${prefixCls} .${baseCls}__style-label`]: {
116
+ fontSize: '12px',
117
+ color: (_g = colors.neutral) === null || _g === void 0 ? void 0 : _g['400'],
118
+ minWidth: '80px'
119
+ },
120
+ [`${prefixCls} .${baseCls}__footer`]: {
121
+ display: 'flex',
122
+ justifyContent: 'flex-end',
123
+ gap: '8px',
124
+ marginTop: '8px'
125
+ }
126
+ };
127
+ });
128
+ {
129
+ /* Force re-render on selection update to ensure disabled states are accurate */
130
+ }
131
+ const [, forceUpdate] = useState({});
132
+ useEffect(() => {
133
+ const handleSelectionUpdate = () => {
134
+ forceUpdate({});
135
+ {
136
+ /* Load current cell styles when selection changes */
137
+ }
138
+ if (editor.isActive('tableCell') || editor.isActive('tableHeader')) {
139
+ const attrs = editor.getAttributes('tableCell');
140
+ setCellStyles({
141
+ borderColor: attrs.borderColor || tableCellDefaults.borderColor,
142
+ borderWidth: attrs.borderWidth || tableCellDefaults.borderWidth,
143
+ borderStyle: attrs.borderStyle || tableCellDefaults.borderStyle,
144
+ backgroundColor: attrs.backgroundColor || tableCellDefaults.backgroundColor
145
+ });
146
+ }
147
+ };
148
+ editor.on('selectionUpdate', handleSelectionUpdate);
149
+ return () => {
150
+ editor.off('selectionUpdate', handleSelectionUpdate);
151
+ };
152
+ }, [editor, tableCellDefaults]);
153
+ const borderStyleOptions = [
154
+ { value: 'solid', label: i18n.t('editor.table.border_style.solid') },
155
+ {
156
+ value: 'dashed',
157
+ label: i18n.t('editor.table.border_style.dashed')
158
+ },
159
+ {
160
+ value: 'dotted',
161
+ label: i18n.t('editor.table.border_style.dotted')
162
+ },
163
+ {
164
+ value: 'double',
165
+ label: i18n.t('editor.table.border_style.double')
166
+ }
167
+ ];
168
+ const handleApplyCellStyles = () => {
169
+ const attributesToUpdate = {};
170
+ const hasBorder = cellStyles.borderWidth !== tableCellDefaults.borderWidth ||
171
+ cellStyles.borderStyle !== tableCellDefaults.borderStyle ||
172
+ cellStyles.borderColor !== tableCellDefaults.borderColor;
173
+ if (hasBorder) {
174
+ attributesToUpdate.borderColor = cellStyles.borderColor;
175
+ attributesToUpdate.borderWidth = cellStyles.borderWidth;
176
+ attributesToUpdate.borderStyle = cellStyles.borderStyle;
177
+ }
178
+ const hasBackgroundColor = cellStyles.backgroundColor &&
179
+ cellStyles.backgroundColor !== tableCellDefaults.backgroundColor;
180
+ if (hasBackgroundColor) {
181
+ attributesToUpdate.backgroundColor = cellStyles.backgroundColor;
182
+ }
183
+ const isHeader = editor.isActive('tableHeader');
184
+ const isCell = editor.isActive('tableCell');
185
+ if (isHeader) {
186
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
187
+ editor.chain().focus()
188
+ .updateHeaderAttributes(attributesToUpdate)
189
+ .run();
190
+ }
191
+ else if (isCell) {
192
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
193
+ editor.chain().focus()
194
+ .updateCellAttributes(attributesToUpdate)
195
+ .run();
196
+ }
197
+ };
198
+ const tableActions = [
199
+ {
200
+ icon: 'add-column-before',
201
+ onClick: () => editor.chain().focus().addColumnBefore().run(),
202
+ tooltip: i18n.t('editor.table.add_column_before')
203
+ },
204
+ {
205
+ icon: 'add-column-after',
206
+ onClick: () => editor.chain().focus().addColumnAfter().run(),
207
+ tooltip: i18n.t('editor.table.add_column_after')
208
+ },
209
+ {
210
+ icon: 'delete-column',
211
+ onClick: () => editor.chain().focus().deleteColumn().run(),
212
+ tooltip: i18n.t('editor.table.delete_column'),
213
+ danger: true
214
+ },
215
+ {
216
+ icon: 'add-row-before',
217
+ onClick: () => editor.chain().focus().addRowBefore().run(),
218
+ tooltip: i18n.t('editor.table.add_row_before')
219
+ },
220
+ {
221
+ icon: 'add-row-after',
222
+ onClick: () => editor.chain().focus().addRowAfter().run(),
223
+ tooltip: i18n.t('editor.table.add_row_after')
224
+ },
225
+ {
226
+ icon: 'delete-row',
227
+ onClick: () => editor.chain().focus().deleteRow().run(),
228
+ tooltip: i18n.t('editor.table.delete_row'),
229
+ danger: true
230
+ },
231
+ {
232
+ icon: 'format-merge',
233
+ onClick: () => editor.chain().focus().mergeCells().run(),
234
+ tooltip: i18n.t('editor.table.merge_cells'),
235
+ disabled: !editor.can().mergeCells()
236
+ },
237
+ {
238
+ icon: 'format-split-cells',
239
+ onClick: () => editor.chain().focus().splitCell().run(),
240
+ tooltip: i18n.t('editor.table.split_cell'),
241
+ disabled: !editor.can().splitCell()
242
+ },
243
+ {
244
+ icon: 'settings',
245
+ onClick: () => setShowCellStyles(!showCellStyles),
246
+ tooltip: i18n.t('editor.table.cell_properties')
247
+ },
248
+ {
249
+ icon: 'bin',
250
+ onClick: () => editor.chain().focus().deleteTable().run(),
251
+ tooltip: i18n.t('editor.table.delete_table'),
252
+ danger: true
253
+ }
254
+ ];
255
+ return useStyle(React.createElement(BubbleMenu, { editor: editor, pluginKey: "table-bubble-menu", shouldShow: ({ editor }) => editor.isActive('table'), options: { placement: 'bottom' } },
256
+ React.createElement("div", { className: `${baseCls} ${hashId}` },
257
+ React.createElement("div", { className: `${baseCls}__actions` }, tableActions.map((btn, index) => (React.createElement(Button, { key: index, size: "small", type: "icon", onClick: btn.onClick, tooltip: btn.tooltip, disabled: btn.disabled, danger: btn.danger, icon: btn.icon })))),
258
+ showCellStyles && (React.createElement("div", { className: `${baseCls}__cell-styles` },
259
+ React.createElement("div", { className: `${baseCls}__style-row` },
260
+ React.createElement("span", { className: `${baseCls}__style-label` },
261
+ i18n.t('editor.table.border'),
262
+ ":"),
263
+ React.createElement(Select, { size: "small", value: cellStyles.borderStyle, onChange: handleBorderStyleChange, options: borderStyleOptions, rootClassName: `${baseCls}__border-style-select` }),
264
+ React.createElement(ColorPicker, { value: cellStyles.borderColor, onChange: value => handleColorChange('borderColor', value, '#000000'), size: "small" }),
265
+ React.createElement(Input, { size: "small", value: cellStyles.borderWidth, onChange: e => setCellStyles(prev => (Object.assign(Object.assign({}, prev), { borderWidth: e.target.value }))), placeholder: i18n.t('editor.table.width'), className: `${baseCls}__width-input` })),
266
+ React.createElement("div", { className: `${baseCls}__style-row` },
267
+ React.createElement("span", { className: `${baseCls}__style-label` },
268
+ i18n.t('editor.table.background'),
269
+ ":"),
270
+ React.createElement(ColorPicker, { value: cellStyles.backgroundColor, onChange: value => handleColorChange('backgroundColor', value, 'transparent'), size: "small" })),
271
+ React.createElement("div", { className: `${baseCls}__footer` },
272
+ React.createElement(Button, { size: "small", onClick: () => setShowCellStyles(false) }, i18n.t('editor.common.cancel')),
273
+ React.createElement(Button, { size: "small", type: "primary", onClick: handleApplyCellStyles }, i18n.t('editor.common.apply'))))))));
274
+ };
@@ -0,0 +1,10 @@
1
+ import '@tiptap/extension-table';
2
+ import type { Editor } from '@tiptap/react';
3
+ import React from 'react';
4
+ interface TablePopoverProps {
5
+ editor: Editor;
6
+ disabled?: boolean;
7
+ }
8
+ export declare const TablePopover: ({ editor, disabled }: TablePopoverProps) => React.JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=table-popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-popover.d.ts","sourceRoot":"","sources":["../../../../src/tiptap/components/table-popover.tsx"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AAUjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAID,eAAO,MAAM,YAAY,GAAI,sBAAsB,iBAAiB,sBA2HnE,CAAC"}
@@ -0,0 +1,86 @@
1
+ import '@tiptap/extension-table';
2
+ import { Button } from '@akinon/ui-button';
3
+ import { Popover } from '@akinon/ui-popover';
4
+ import { useToken } from '@akinon/ui-theme';
5
+ import { useStyleRegister } from '@ant-design/cssinjs';
6
+ import { ConfigProvider } from 'antd';
7
+ import React, { useState } from 'react';
8
+ import { i18n } from '../../i18n';
9
+ const DEFAULT_GRID_SIZE = 10;
10
+ export const TablePopover = ({ editor, disabled }) => {
11
+ const [isOpen, setIsOpen] = useState(false);
12
+ const [hoveredCell, setHoveredCell] = useState(null);
13
+ const { getPrefixCls, theme } = React.useContext(ConfigProvider.ConfigContext);
14
+ const { token, hashId } = useToken();
15
+ const baseCls = getPrefixCls('tiptap-table-popover');
16
+ const activeCls = 'active';
17
+ const useStyle = useStyleRegister({
18
+ token: token,
19
+ path: ['TablePopover'],
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ theme: theme
22
+ }, () => {
23
+ const prefixCls = `:where(.${hashId}).${baseCls}`;
24
+ return {
25
+ [prefixCls]: {
26
+ padding: '8px',
27
+ display: 'flex',
28
+ flexDirection: 'column'
29
+ },
30
+ [`${prefixCls} .${baseCls}__grid`]: {
31
+ display: 'grid',
32
+ gridTemplateColumns: 'repeat(10, 18px)',
33
+ gap: '2px',
34
+ marginBottom: '8px'
35
+ },
36
+ [`${prefixCls} .${baseCls}__cell`]: {
37
+ width: '18px',
38
+ height: '18px',
39
+ border: `1px solid ${token.colorBorder}`,
40
+ borderRadius: '2px',
41
+ cursor: 'pointer',
42
+ transition: 'all 0.2s',
43
+ backgroundColor: token.colorBgContainer,
44
+ boxSizing: 'border-box'
45
+ },
46
+ [`${prefixCls} .${baseCls}__cell--hovered`]: {
47
+ backgroundColor: token.colorPrimaryBg,
48
+ borderColor: token.colorPrimary
49
+ },
50
+ [`${prefixCls} .${baseCls}__cell--selected`]: {
51
+ backgroundColor: token.colorPrimaryBgHover,
52
+ borderColor: token.colorPrimary
53
+ },
54
+ [`${prefixCls} .${baseCls}__label`]: {
55
+ textAlign: 'center',
56
+ fontSize: '12px',
57
+ color: token.colorText
58
+ }
59
+ };
60
+ });
61
+ const insertTable = (rows, cols) => {
62
+ editor.commands.focus();
63
+ editor.commands.insertTable({ rows, cols, withHeaderRow: true });
64
+ setIsOpen(false);
65
+ setHoveredCell(null);
66
+ };
67
+ const renderGridCells = () => {
68
+ return Array.from({ length: DEFAULT_GRID_SIZE }).map((_, rowIndex) => Array.from({ length: DEFAULT_GRID_SIZE }).map((_, colIndex) => {
69
+ const row = rowIndex + 1;
70
+ const col = colIndex + 1;
71
+ const isHovered = hoveredCell && row <= hoveredCell.row && col <= hoveredCell.col;
72
+ return (React.createElement("div", { key: `${row}-${col}`, className: `${baseCls}__cell ${isHovered ? `${baseCls}__cell--hovered` : ''}`, onMouseEnter: () => setHoveredCell({ row, col }), onClick: () => {
73
+ insertTable(row, col);
74
+ } }));
75
+ }));
76
+ };
77
+ const gridContent = (React.createElement("div", { className: `${baseCls} ${hashId}` },
78
+ React.createElement("div", { className: `${baseCls}__grid` }, renderGridCells()),
79
+ React.createElement("div", { className: `${baseCls}__label` }, hoveredCell
80
+ ? `${hoveredCell.row} x ${hoveredCell.col}`
81
+ : i18n.t('editor.table.select_size'))));
82
+ return useStyle(React.createElement(Popover, { content: gridContent, trigger: "click",
83
+ // @ts-expect-error - IPopoverProps definition is missing 'open' but underlying AntD component supports it
84
+ open: isOpen, onOpenChange: setIsOpen, placement: "bottom" },
85
+ React.createElement(Button, { type: "icon", size: "small", disabled: disabled, tooltip: i18n.t('editor.table.insert_table'), icon: "table", className: isOpen ? activeCls : '' })));
86
+ };
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type TextEditorProps } from '../types';
3
+ export declare const Tiptap: ({ value, defaultValue, onChange, readOnly, classNames, toolbar, defaultSourceMode, placeholder }: TextEditorProps) => React.JSX.Element;
4
+ //# sourceMappingURL=tiptap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiptap.d.ts","sourceRoot":"","sources":["../../../../src/tiptap/components/tiptap.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAQzC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAOhD,eAAO,MAAM,MAAM,GAAI,kGASpB,eAAe,sBAwWjB,CAAC"}