@cgboiler/biz-basic 1.0.53 → 1.0.55

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 (321) hide show
  1. package/es/index.d.ts +1 -1
  2. package/es/index.js +1 -1
  3. package/es/rich-text-editor/RichTextEditor.d.ts +14 -5
  4. package/es/rich-text-editor/RichTextEditor.js +76 -196
  5. package/es/rich-text-editor/_atomic.css +2 -1
  6. package/es/rich-text-editor/extensions/ConsumedTrigger.d.ts +8 -0
  7. package/es/rich-text-editor/extensions/ConsumedTrigger.js +22 -0
  8. package/es/rich-text-editor/extensions/CustomContent.d.ts +5 -0
  9. package/es/rich-text-editor/extensions/CustomContent.js +103 -0
  10. package/es/rich-text-editor/extensions/HashTag.d.ts +15 -0
  11. package/es/rich-text-editor/extensions/HashTag.js +133 -0
  12. package/es/rich-text-editor/extensions/HorizontalRule.d.ts +2 -0
  13. package/es/rich-text-editor/extensions/HorizontalRule.js +16 -0
  14. package/es/rich-text-editor/extensions/IMEComposition.d.ts +16 -0
  15. package/es/rich-text-editor/extensions/IMEComposition.js +30 -0
  16. package/es/rich-text-editor/extensions/ImageUpload.d.ts +56 -0
  17. package/es/rich-text-editor/extensions/ImageUpload.js +80 -0
  18. package/es/rich-text-editor/extensions/MarkdownExtensions.d.ts +15 -0
  19. package/es/rich-text-editor/extensions/MarkdownExtensions.js +35 -0
  20. package/es/rich-text-editor/extensions/MediaInputRules.d.ts +17 -0
  21. package/es/rich-text-editor/extensions/MediaInputRules.js +47 -0
  22. package/es/rich-text-editor/extensions/MentionExtension.d.ts +15 -0
  23. package/es/rich-text-editor/extensions/MentionExtension.js +60 -0
  24. package/es/rich-text-editor/extensions/index.d.ts +16 -0
  25. package/es/rich-text-editor/extensions/index.js +20 -0
  26. package/es/rich-text-editor/hooks/index.d.ts +6 -0
  27. package/es/rich-text-editor/hooks/index.js +4 -0
  28. package/es/rich-text-editor/hooks/useEditorHistory.d.ts +17 -0
  29. package/es/rich-text-editor/hooks/useEditorHistory.js +87 -0
  30. package/es/rich-text-editor/index copy 2.css +1 -0
  31. package/es/rich-text-editor/index copy 2.less +598 -0
  32. package/es/rich-text-editor/index copy.css +1 -0
  33. package/es/rich-text-editor/index copy.less +356 -0
  34. package/es/rich-text-editor/index.css +1 -1
  35. package/es/rich-text-editor/index.less +444 -254
  36. package/es/rich-text-editor/lib/utils.d.ts +123 -0
  37. package/es/rich-text-editor/lib/utils.js +244 -0
  38. package/es/rich-text-editor/menu-system/components/_atomic.css +44 -0
  39. package/es/rich-text-editor/menu-system/components/blockquote-button.d.ts +49 -0
  40. package/es/rich-text-editor/menu-system/components/blockquote-button.js +75 -0
  41. package/es/rich-text-editor/menu-system/components/code-block-button.d.ts +49 -0
  42. package/es/rich-text-editor/menu-system/components/code-block-button.js +75 -0
  43. package/es/rich-text-editor/menu-system/components/color-highlight-button.d.ts +61 -0
  44. package/es/rich-text-editor/menu-system/components/color-highlight-button.js +102 -0
  45. package/es/rich-text-editor/menu-system/components/color-highlight-popover.d.ts +32 -0
  46. package/es/rich-text-editor/menu-system/components/color-highlight-popover.js +99 -0
  47. package/es/rich-text-editor/menu-system/components/heading-dropdown-menu.d.ts +43 -0
  48. package/es/rich-text-editor/menu-system/components/heading-dropdown-menu.js +102 -0
  49. package/es/rich-text-editor/menu-system/components/horizontal-rule-button.d.ts +22 -0
  50. package/es/rich-text-editor/menu-system/components/horizontal-rule-button.js +42 -0
  51. package/es/rich-text-editor/menu-system/components/image-upload-button.d.ts +40 -0
  52. package/es/rich-text-editor/menu-system/components/image-upload-button.js +71 -0
  53. package/es/rich-text-editor/menu-system/components/image-upload-node.d.ts +93 -0
  54. package/es/rich-text-editor/menu-system/components/image-upload-node.js +299 -0
  55. package/es/rich-text-editor/menu-system/components/link-popover.d.ts +32 -0
  56. package/es/rich-text-editor/menu-system/components/link-popover.js +127 -0
  57. package/es/rich-text-editor/menu-system/components/list-button.d.ts +40 -0
  58. package/es/rich-text-editor/menu-system/components/list-button.js +69 -0
  59. package/es/rich-text-editor/menu-system/components/list-dropdown-menu.d.ts +41 -0
  60. package/es/rich-text-editor/menu-system/components/list-dropdown-menu.js +97 -0
  61. package/es/rich-text-editor/menu-system/components/mark-button.d.ts +58 -0
  62. package/es/rich-text-editor/menu-system/components/mark-button.js +80 -0
  63. package/es/rich-text-editor/menu-system/components/text-align-button.d.ts +58 -0
  64. package/es/rich-text-editor/menu-system/components/text-align-button.js +80 -0
  65. package/es/rich-text-editor/menu-system/components/undo-redo-button.d.ts +58 -0
  66. package/es/rich-text-editor/menu-system/components/undo-redo-button.js +77 -0
  67. package/es/rich-text-editor/menu-system/hooks/use-blockquote.d.ts +34 -0
  68. package/es/rich-text-editor/menu-system/hooks/use-blockquote.js +140 -0
  69. package/es/rich-text-editor/menu-system/hooks/use-code-block.d.ts +34 -0
  70. package/es/rich-text-editor/menu-system/hooks/use-code-block.js +140 -0
  71. package/es/rich-text-editor/menu-system/hooks/use-color-highlight.d.ts +46 -0
  72. package/es/rich-text-editor/menu-system/hooks/use-color-highlight.js +166 -0
  73. package/es/rich-text-editor/menu-system/hooks/use-cursor-visibility.d.ts +7 -0
  74. package/es/rich-text-editor/menu-system/hooks/use-cursor-visibility.js +46 -0
  75. package/es/rich-text-editor/menu-system/hooks/use-element-rect.d.ts +10 -0
  76. package/es/rich-text-editor/menu-system/hooks/use-element-rect.js +132 -0
  77. package/es/rich-text-editor/menu-system/hooks/use-file-upload.d.ts +94 -0
  78. package/es/rich-text-editor/menu-system/hooks/use-file-upload.js +135 -0
  79. package/es/rich-text-editor/menu-system/hooks/use-heading-dropdown-menu.d.ts +41 -0
  80. package/es/rich-text-editor/menu-system/hooks/use-heading-dropdown-menu.js +70 -0
  81. package/es/rich-text-editor/menu-system/hooks/use-heading.d.ts +26 -0
  82. package/es/rich-text-editor/menu-system/hooks/use-heading.js +166 -0
  83. package/es/rich-text-editor/menu-system/hooks/use-image-upload.d.ts +35 -0
  84. package/es/rich-text-editor/menu-system/hooks/use-image-upload.js +103 -0
  85. package/es/rich-text-editor/menu-system/hooks/use-link-popover.d.ts +10 -0
  86. package/es/rich-text-editor/menu-system/hooks/use-link-popover.js +62 -0
  87. package/es/rich-text-editor/menu-system/hooks/use-list-dropdown-menu.d.ts +34 -0
  88. package/es/rich-text-editor/menu-system/hooks/use-list-dropdown-menu.js +121 -0
  89. package/es/rich-text-editor/menu-system/hooks/use-list.d.ts +28 -0
  90. package/es/rich-text-editor/menu-system/hooks/use-list.js +191 -0
  91. package/es/rich-text-editor/menu-system/hooks/use-mark.d.ts +22 -0
  92. package/es/rich-text-editor/menu-system/hooks/use-mark.js +109 -0
  93. package/es/rich-text-editor/menu-system/hooks/use-menu-navigation.d.ts +16 -0
  94. package/es/rich-text-editor/menu-system/hooks/use-menu-navigation.js +134 -0
  95. package/es/rich-text-editor/menu-system/hooks/use-mobile.d.ts +1 -0
  96. package/es/rich-text-editor/menu-system/hooks/use-mobile.js +20 -0
  97. package/es/rich-text-editor/menu-system/hooks/use-text-align.d.ts +28 -0
  98. package/es/rich-text-editor/menu-system/hooks/use-text-align.js +113 -0
  99. package/es/rich-text-editor/menu-system/hooks/use-throttled-callback.d.ts +8 -0
  100. package/es/rich-text-editor/menu-system/hooks/use-throttled-callback.js +45 -0
  101. package/es/rich-text-editor/menu-system/hooks/use-undo-redo.d.ts +60 -0
  102. package/es/rich-text-editor/menu-system/hooks/use-undo-redo.js +96 -0
  103. package/es/rich-text-editor/menu-system/hooks/use-window-size.d.ts +21 -0
  104. package/es/rich-text-editor/menu-system/hooks/use-window-size.js +74 -0
  105. package/es/rich-text-editor/menu-system/icons/_atomic.css +32 -0
  106. package/es/rich-text-editor/menu-system/icons/index.d.ts +546 -0
  107. package/es/rich-text-editor/menu-system/icons/index.js +487 -0
  108. package/es/rich-text-editor/menu-system/primitives/_atomic.css +38 -0
  109. package/es/rich-text-editor/menu-system/primitives/button.d.ts +110 -0
  110. package/es/rich-text-editor/menu-system/primitives/button.js +107 -0
  111. package/es/rich-text-editor/menu-system/primitives/card.d.ts +75 -0
  112. package/es/rich-text-editor/menu-system/primitives/card.js +116 -0
  113. package/es/rich-text-editor/menu-system/primitives/input.d.ts +37 -0
  114. package/es/rich-text-editor/menu-system/primitives/input.js +55 -0
  115. package/es/rich-text-editor/menu-system/primitives/separator.d.ts +34 -0
  116. package/es/rich-text-editor/menu-system/primitives/separator.js +42 -0
  117. package/es/rich-text-editor/menu-system/primitives/toolbar.d.ts +39 -0
  118. package/es/rich-text-editor/menu-system/primitives/toolbar.js +149 -0
  119. package/es/rich-text-editor/menu-system/styles/animations.css +1 -0
  120. package/es/rich-text-editor/menu-system/styles/animations.less +91 -0
  121. package/es/rich-text-editor/menu-system/styles/button-colors.css +1 -0
  122. package/es/rich-text-editor/menu-system/styles/button-colors.less +142 -0
  123. package/es/rich-text-editor/menu-system/styles/button-group.css +1 -0
  124. package/es/rich-text-editor/menu-system/styles/button-group.less +23 -0
  125. package/es/rich-text-editor/menu-system/styles/button.css +1 -0
  126. package/es/rich-text-editor/menu-system/styles/button.less +322 -0
  127. package/es/rich-text-editor/menu-system/styles/card.css +1 -0
  128. package/es/rich-text-editor/menu-system/styles/card.less +78 -0
  129. package/es/rich-text-editor/menu-system/styles/color-highlight-button.css +1 -0
  130. package/es/rich-text-editor/menu-system/styles/color-highlight-button.less +57 -0
  131. package/es/rich-text-editor/menu-system/styles/color-highlight-popover.css +1 -0
  132. package/es/rich-text-editor/menu-system/styles/color-highlight-popover.less +51 -0
  133. package/es/rich-text-editor/menu-system/styles/dropdown-menu.css +1 -0
  134. package/es/rich-text-editor/menu-system/styles/dropdown-menu.less +40 -0
  135. package/es/rich-text-editor/menu-system/styles/image-upload-node.css +1 -0
  136. package/es/rich-text-editor/menu-system/styles/image-upload-node.less +240 -0
  137. package/es/rich-text-editor/menu-system/styles/input.css +1 -0
  138. package/es/rich-text-editor/menu-system/styles/input.less +53 -0
  139. package/es/rich-text-editor/menu-system/styles/link-popover.css +1 -0
  140. package/es/rich-text-editor/menu-system/styles/link-popover.less +32 -0
  141. package/es/rich-text-editor/menu-system/styles/separator.css +1 -0
  142. package/es/rich-text-editor/menu-system/styles/separator.less +26 -0
  143. package/es/rich-text-editor/menu-system/styles/simple-editor.css +1 -0
  144. package/es/rich-text-editor/menu-system/styles/simple-editor.less +39 -0
  145. package/es/rich-text-editor/menu-system/styles/toolbar.css +1 -0
  146. package/es/rich-text-editor/menu-system/styles/toolbar.less +87 -0
  147. package/es/rich-text-editor/menu-system/styles/variables.css +1 -0
  148. package/es/rich-text-editor/menu-system/styles/variables.less +296 -0
  149. package/es/rich-text-editor/menu-system/utils/tiptap-utils.d.ts +122 -0
  150. package/es/rich-text-editor/menu-system/utils/tiptap-utils.js +243 -0
  151. package/es/rich-text-editor/types.d.ts +4 -0
  152. package/es/rich-text-editor/types.js +4 -0
  153. package/es/rich-text-editor/useExtensions.d.ts +3 -3
  154. package/es/rich-text-editor/useExtensions.js +63 -428
  155. package/es/rich-text-editor/utils/eventHandlers.d.ts +37 -0
  156. package/es/rich-text-editor/utils/eventHandlers.js +103 -0
  157. package/es/rich-text-editor/utils/index.d.ts +6 -0
  158. package/es/rich-text-editor/utils/index.js +19 -0
  159. package/es/rich-text-editor/utils/triggerHelpers.d.ts +31 -0
  160. package/es/rich-text-editor/utils/triggerHelpers.js +46 -0
  161. package/lib/index.d.ts +1 -1
  162. package/lib/index.js +1 -1
  163. package/lib/rich-text-editor/RichTextEditor.d.ts +14 -5
  164. package/lib/rich-text-editor/RichTextEditor.js +76 -206
  165. package/lib/rich-text-editor/_atomic.css +2 -1
  166. package/lib/rich-text-editor/extensions/ConsumedTrigger.d.ts +8 -0
  167. package/lib/rich-text-editor/extensions/ConsumedTrigger.js +41 -0
  168. package/lib/rich-text-editor/extensions/CustomContent.d.ts +5 -0
  169. package/lib/rich-text-editor/extensions/CustomContent.js +132 -0
  170. package/lib/rich-text-editor/extensions/HashTag.d.ts +15 -0
  171. package/lib/rich-text-editor/extensions/HashTag.js +157 -0
  172. package/lib/rich-text-editor/extensions/HorizontalRule.d.ts +2 -0
  173. package/lib/rich-text-editor/extensions/HorizontalRule.js +45 -0
  174. package/lib/rich-text-editor/extensions/IMEComposition.d.ts +16 -0
  175. package/lib/rich-text-editor/extensions/IMEComposition.js +49 -0
  176. package/lib/rich-text-editor/extensions/ImageUpload.d.ts +56 -0
  177. package/lib/rich-text-editor/extensions/ImageUpload.js +99 -0
  178. package/lib/rich-text-editor/extensions/MarkdownExtensions.d.ts +15 -0
  179. package/lib/rich-text-editor/extensions/MarkdownExtensions.js +54 -0
  180. package/lib/rich-text-editor/extensions/MediaInputRules.d.ts +17 -0
  181. package/lib/rich-text-editor/extensions/MediaInputRules.js +66 -0
  182. package/lib/rich-text-editor/extensions/MentionExtension.d.ts +15 -0
  183. package/lib/rich-text-editor/extensions/MentionExtension.js +89 -0
  184. package/lib/rich-text-editor/extensions/index.d.ts +16 -0
  185. package/lib/rich-text-editor/extensions/index.js +49 -0
  186. package/lib/rich-text-editor/hooks/index.d.ts +6 -0
  187. package/lib/rich-text-editor/hooks/index.js +23 -0
  188. package/lib/rich-text-editor/hooks/useEditorHistory.d.ts +17 -0
  189. package/lib/rich-text-editor/hooks/useEditorHistory.js +116 -0
  190. package/lib/rich-text-editor/index copy 2.css +1 -0
  191. package/lib/rich-text-editor/index copy 2.less +598 -0
  192. package/lib/rich-text-editor/index copy.css +1 -0
  193. package/lib/rich-text-editor/index copy.less +356 -0
  194. package/lib/rich-text-editor/index.css +1 -1
  195. package/lib/rich-text-editor/index.less +444 -254
  196. package/lib/rich-text-editor/lib/utils.d.ts +123 -0
  197. package/lib/rich-text-editor/lib/utils.js +263 -0
  198. package/lib/rich-text-editor/menu-system/components/_atomic.css +44 -0
  199. package/lib/rich-text-editor/menu-system/components/blockquote-button.d.ts +49 -0
  200. package/lib/rich-text-editor/menu-system/components/blockquote-button.js +94 -0
  201. package/lib/rich-text-editor/menu-system/components/code-block-button.d.ts +49 -0
  202. package/lib/rich-text-editor/menu-system/components/code-block-button.js +94 -0
  203. package/lib/rich-text-editor/menu-system/components/color-highlight-button.d.ts +61 -0
  204. package/lib/rich-text-editor/menu-system/components/color-highlight-button.js +119 -0
  205. package/lib/rich-text-editor/menu-system/components/color-highlight-popover.d.ts +32 -0
  206. package/lib/rich-text-editor/menu-system/components/color-highlight-popover.js +118 -0
  207. package/lib/rich-text-editor/menu-system/components/heading-dropdown-menu.d.ts +43 -0
  208. package/lib/rich-text-editor/menu-system/components/heading-dropdown-menu.js +131 -0
  209. package/lib/rich-text-editor/menu-system/components/horizontal-rule-button.d.ts +22 -0
  210. package/lib/rich-text-editor/menu-system/components/horizontal-rule-button.js +61 -0
  211. package/lib/rich-text-editor/menu-system/components/image-upload-button.d.ts +40 -0
  212. package/lib/rich-text-editor/menu-system/components/image-upload-button.js +90 -0
  213. package/lib/rich-text-editor/menu-system/components/image-upload-node.d.ts +93 -0
  214. package/lib/rich-text-editor/menu-system/components/image-upload-node.js +316 -0
  215. package/lib/rich-text-editor/menu-system/components/link-popover.d.ts +32 -0
  216. package/lib/rich-text-editor/menu-system/components/link-popover.js +146 -0
  217. package/lib/rich-text-editor/menu-system/components/list-button.d.ts +40 -0
  218. package/lib/rich-text-editor/menu-system/components/list-button.js +88 -0
  219. package/lib/rich-text-editor/menu-system/components/list-dropdown-menu.d.ts +41 -0
  220. package/lib/rich-text-editor/menu-system/components/list-dropdown-menu.js +116 -0
  221. package/lib/rich-text-editor/menu-system/components/mark-button.d.ts +58 -0
  222. package/lib/rich-text-editor/menu-system/components/mark-button.js +99 -0
  223. package/lib/rich-text-editor/menu-system/components/text-align-button.d.ts +58 -0
  224. package/lib/rich-text-editor/menu-system/components/text-align-button.js +99 -0
  225. package/lib/rich-text-editor/menu-system/components/undo-redo-button.d.ts +58 -0
  226. package/lib/rich-text-editor/menu-system/components/undo-redo-button.js +96 -0
  227. package/lib/rich-text-editor/menu-system/hooks/use-blockquote.d.ts +34 -0
  228. package/lib/rich-text-editor/menu-system/hooks/use-blockquote.js +154 -0
  229. package/lib/rich-text-editor/menu-system/hooks/use-code-block.d.ts +34 -0
  230. package/lib/rich-text-editor/menu-system/hooks/use-code-block.js +154 -0
  231. package/lib/rich-text-editor/menu-system/hooks/use-color-highlight.d.ts +46 -0
  232. package/lib/rich-text-editor/menu-system/hooks/use-color-highlight.js +185 -0
  233. package/lib/rich-text-editor/menu-system/hooks/use-cursor-visibility.d.ts +7 -0
  234. package/lib/rich-text-editor/menu-system/hooks/use-cursor-visibility.js +65 -0
  235. package/lib/rich-text-editor/menu-system/hooks/use-element-rect.d.ts +10 -0
  236. package/lib/rich-text-editor/menu-system/hooks/use-element-rect.js +149 -0
  237. package/lib/rich-text-editor/menu-system/hooks/use-file-upload.d.ts +94 -0
  238. package/lib/rich-text-editor/menu-system/hooks/use-file-upload.js +154 -0
  239. package/lib/rich-text-editor/menu-system/hooks/use-heading-dropdown-menu.d.ts +41 -0
  240. package/lib/rich-text-editor/menu-system/hooks/use-heading-dropdown-menu.js +84 -0
  241. package/lib/rich-text-editor/menu-system/hooks/use-heading.d.ts +26 -0
  242. package/lib/rich-text-editor/menu-system/hooks/use-heading.js +190 -0
  243. package/lib/rich-text-editor/menu-system/hooks/use-image-upload.d.ts +35 -0
  244. package/lib/rich-text-editor/menu-system/hooks/use-image-upload.js +122 -0
  245. package/lib/rich-text-editor/menu-system/hooks/use-link-popover.d.ts +10 -0
  246. package/lib/rich-text-editor/menu-system/hooks/use-link-popover.js +81 -0
  247. package/lib/rich-text-editor/menu-system/hooks/use-list-dropdown-menu.d.ts +34 -0
  248. package/lib/rich-text-editor/menu-system/hooks/use-list-dropdown-menu.js +140 -0
  249. package/lib/rich-text-editor/menu-system/hooks/use-list.d.ts +28 -0
  250. package/lib/rich-text-editor/menu-system/hooks/use-list.js +205 -0
  251. package/lib/rich-text-editor/menu-system/hooks/use-mark.d.ts +22 -0
  252. package/lib/rich-text-editor/menu-system/hooks/use-mark.js +138 -0
  253. package/lib/rich-text-editor/menu-system/hooks/use-menu-navigation.d.ts +16 -0
  254. package/lib/rich-text-editor/menu-system/hooks/use-menu-navigation.js +153 -0
  255. package/lib/rich-text-editor/menu-system/hooks/use-mobile.d.ts +1 -0
  256. package/lib/rich-text-editor/menu-system/hooks/use-mobile.js +39 -0
  257. package/lib/rich-text-editor/menu-system/hooks/use-text-align.d.ts +28 -0
  258. package/lib/rich-text-editor/menu-system/hooks/use-text-align.js +132 -0
  259. package/lib/rich-text-editor/menu-system/hooks/use-throttled-callback.d.ts +8 -0
  260. package/lib/rich-text-editor/menu-system/hooks/use-throttled-callback.js +64 -0
  261. package/lib/rich-text-editor/menu-system/hooks/use-undo-redo.d.ts +60 -0
  262. package/lib/rich-text-editor/menu-system/hooks/use-undo-redo.js +115 -0
  263. package/lib/rich-text-editor/menu-system/hooks/use-window-size.d.ts +21 -0
  264. package/lib/rich-text-editor/menu-system/hooks/use-window-size.js +93 -0
  265. package/lib/rich-text-editor/menu-system/icons/_atomic.css +32 -0
  266. package/lib/rich-text-editor/menu-system/icons/index.d.ts +546 -0
  267. package/lib/rich-text-editor/menu-system/icons/index.js +506 -0
  268. package/lib/rich-text-editor/menu-system/primitives/_atomic.css +38 -0
  269. package/lib/rich-text-editor/menu-system/primitives/button.d.ts +110 -0
  270. package/lib/rich-text-editor/menu-system/primitives/button.js +126 -0
  271. package/lib/rich-text-editor/menu-system/primitives/card.d.ts +75 -0
  272. package/lib/rich-text-editor/menu-system/primitives/card.js +135 -0
  273. package/lib/rich-text-editor/menu-system/primitives/input.d.ts +37 -0
  274. package/lib/rich-text-editor/menu-system/primitives/input.js +74 -0
  275. package/lib/rich-text-editor/menu-system/primitives/separator.d.ts +34 -0
  276. package/lib/rich-text-editor/menu-system/primitives/separator.js +61 -0
  277. package/lib/rich-text-editor/menu-system/primitives/toolbar.d.ts +39 -0
  278. package/lib/rich-text-editor/menu-system/primitives/toolbar.js +168 -0
  279. package/lib/rich-text-editor/menu-system/styles/animations.css +1 -0
  280. package/lib/rich-text-editor/menu-system/styles/animations.less +91 -0
  281. package/lib/rich-text-editor/menu-system/styles/button-colors.css +1 -0
  282. package/lib/rich-text-editor/menu-system/styles/button-colors.less +142 -0
  283. package/lib/rich-text-editor/menu-system/styles/button-group.css +1 -0
  284. package/lib/rich-text-editor/menu-system/styles/button-group.less +23 -0
  285. package/lib/rich-text-editor/menu-system/styles/button.css +1 -0
  286. package/lib/rich-text-editor/menu-system/styles/button.less +322 -0
  287. package/lib/rich-text-editor/menu-system/styles/card.css +1 -0
  288. package/lib/rich-text-editor/menu-system/styles/card.less +78 -0
  289. package/lib/rich-text-editor/menu-system/styles/color-highlight-button.css +1 -0
  290. package/lib/rich-text-editor/menu-system/styles/color-highlight-button.less +57 -0
  291. package/lib/rich-text-editor/menu-system/styles/color-highlight-popover.css +1 -0
  292. package/lib/rich-text-editor/menu-system/styles/color-highlight-popover.less +51 -0
  293. package/lib/rich-text-editor/menu-system/styles/dropdown-menu.css +1 -0
  294. package/lib/rich-text-editor/menu-system/styles/dropdown-menu.less +40 -0
  295. package/lib/rich-text-editor/menu-system/styles/image-upload-node.css +1 -0
  296. package/lib/rich-text-editor/menu-system/styles/image-upload-node.less +240 -0
  297. package/lib/rich-text-editor/menu-system/styles/input.css +1 -0
  298. package/lib/rich-text-editor/menu-system/styles/input.less +53 -0
  299. package/lib/rich-text-editor/menu-system/styles/link-popover.css +1 -0
  300. package/lib/rich-text-editor/menu-system/styles/link-popover.less +32 -0
  301. package/lib/rich-text-editor/menu-system/styles/separator.css +1 -0
  302. package/lib/rich-text-editor/menu-system/styles/separator.less +26 -0
  303. package/lib/rich-text-editor/menu-system/styles/simple-editor.css +1 -0
  304. package/lib/rich-text-editor/menu-system/styles/simple-editor.less +39 -0
  305. package/lib/rich-text-editor/menu-system/styles/toolbar.css +1 -0
  306. package/lib/rich-text-editor/menu-system/styles/toolbar.less +87 -0
  307. package/lib/rich-text-editor/menu-system/styles/variables.css +1 -0
  308. package/lib/rich-text-editor/menu-system/styles/variables.less +296 -0
  309. package/lib/rich-text-editor/menu-system/utils/tiptap-utils.d.ts +122 -0
  310. package/lib/rich-text-editor/menu-system/utils/tiptap-utils.js +262 -0
  311. package/lib/rich-text-editor/types.d.ts +4 -0
  312. package/lib/rich-text-editor/types.js +4 -0
  313. package/lib/rich-text-editor/useExtensions.d.ts +3 -3
  314. package/lib/rich-text-editor/useExtensions.js +64 -429
  315. package/lib/rich-text-editor/utils/eventHandlers.d.ts +37 -0
  316. package/lib/rich-text-editor/utils/eventHandlers.js +132 -0
  317. package/lib/rich-text-editor/utils/index.d.ts +6 -0
  318. package/lib/rich-text-editor/utils/index.js +32 -0
  319. package/lib/rich-text-editor/utils/triggerHelpers.d.ts +31 -0
  320. package/lib/rich-text-editor/utils/triggerHelpers.js +65 -0
  321. package/package.json +13 -3
@@ -0,0 +1,598 @@
1
+ @import './menu-system/styles/variables.less';
2
+
3
+ .tiptap-editor-container {
4
+ display: flex;
5
+ flex-direction: column;
6
+ height: 100%;
7
+ width: 100%;
8
+ overflow: hidden;
9
+ background-color: var(--tt-bg-canvas);
10
+ position: relative;
11
+ border-radius: var(--tt-radius-lg);
12
+
13
+ .tiptap-editor-toolbar {
14
+ flex: 0 0 auto;
15
+ }
16
+
17
+ .tiptap-editor-content-wrapper {
18
+ flex: 1 1 auto;
19
+ overflow-y: auto;
20
+ position: relative;
21
+ padding: 16px 8px;
22
+ background-color: var(--white);
23
+ display: flex;
24
+ justify-content: center;
25
+
26
+ .dark & {
27
+ background-color: var(--black);
28
+ }
29
+
30
+ .ProseMirror {
31
+ width: 100%;
32
+ outline: none;
33
+ }
34
+ }
35
+ }
36
+
37
+ /* =====================
38
+ CORE EDITOR STYLES (Integrated from official SCSS)
39
+ ===================== */
40
+
41
+ .tiptap.ProseMirror {
42
+ --tt-collaboration-carets-label: var(--tt-gray-light-900);
43
+ --link-text-color: var(--tt-brand-color-500);
44
+ --thread-text: var(--tt-gray-light-900);
45
+ --placeholder-color: var(--tt-gray-light-a-400);
46
+ --thread-bg-color: var(--tt-color-yellow-inc-2);
47
+ --horizontal-rule-color: var(--tt-gray-light-a-200);
48
+ --blockquote-bg-color: var(--tt-gray-light-900);
49
+ --tiptap-ai-insertion-color: var(--tt-brand-color-600);
50
+
51
+ --tt-inline-code-bg-color: var(--tt-gray-light-a-100);
52
+ --tt-inline-code-text-color: var(--tt-gray-light-a-700);
53
+ --tt-inline-code-border-color: var(--tt-gray-light-a-200);
54
+ --tt-codeblock-bg: var(--tt-gray-light-a-50);
55
+ --tt-codeblock-text: var(--tt-gray-light-a-800);
56
+ --tt-codeblock-border: var(--tt-gray-light-a-200);
57
+
58
+ --tt-checklist-bg-color: var(--tt-gray-light-a-100);
59
+ --tt-checklist-bg-active-color: var(--tt-gray-light-a-900);
60
+ --tt-checklist-border-color: var(--tt-gray-light-a-200);
61
+ --tt-checklist-border-active-color: var(--tt-gray-light-a-900);
62
+ --tt-checklist-check-icon-color: var(--white);
63
+ --tt-checklist-text-active: var(--tt-gray-light-a-500);
64
+
65
+ .dark & {
66
+ --tt-collaboration-carets-label: var(--tt-gray-dark-100);
67
+ --link-text-color: var(--tt-brand-color-400);
68
+ --thread-text: var(--tt-gray-dark-900);
69
+ --placeholder-color: var(--tt-gray-dark-a-400);
70
+ --thread-bg-color: var(--tt-color-yellow-dec-2);
71
+ --horizontal-rule-color: var(--tt-gray-dark-a-200);
72
+ --blockquote-bg-color: var(--tt-gray-dark-900);
73
+ --tiptap-ai-insertion-color: var(--tt-brand-color-400);
74
+
75
+ --tt-inline-code-bg-color: var(--tt-gray-dark-a-100);
76
+ --tt-inline-code-text-color: var(--tt-gray-dark-a-700);
77
+ --tt-inline-code-border-color: var(--tt-gray-dark-a-200);
78
+ --tt-codeblock-bg: var(--tt-gray-dark-a-50);
79
+ --tt-codeblock-text: var(--tt-gray-dark-a-800);
80
+ --tt-codeblock-border: var(--tt-gray-dark-a-200);
81
+
82
+ --tt-checklist-bg-color: var(--tt-gray-dark-a-100);
83
+ --tt-checklist-bg-active-color: var(--tt-gray-dark-a-900);
84
+ --tt-checklist-border-color: var(--tt-gray-dark-a-200);
85
+ --tt-checklist-border-active-color: var(--tt-gray-dark-a-900);
86
+ --tt-checklist-check-icon-color: var(--black);
87
+ --tt-checklist-text-active: var(--tt-gray-dark-a-500);
88
+ }
89
+
90
+ white-space: pre-wrap;
91
+ caret-color: var(--tt-cursor-color);
92
+
93
+ > * {
94
+ position: relative;
95
+ }
96
+
97
+ /* Selection */
98
+ &:not(.readonly):not(.ProseMirror-hideselection) {
99
+ ::selection {
100
+ background-color: var(--tt-selection-color);
101
+ }
102
+ }
103
+
104
+ .selection {
105
+ display: inline;
106
+ background-color: var(--tt-selection-color);
107
+ }
108
+
109
+ .ProseMirror-selectednode:not(img):not(pre):not(.react-renderer) {
110
+ border-radius: var(--tt-radius-md);
111
+ background-color: var(--tt-selection-color);
112
+ }
113
+
114
+ /* Paragraphs */
115
+ p {
116
+ font-size: 1rem;
117
+ line-height: 1.6; /* Fix cursor height to match text */
118
+ }
119
+
120
+ /* Headings */
121
+ h1,
122
+ h2,
123
+ h3,
124
+ h4 {
125
+ position: relative;
126
+ color: inherit;
127
+ font-style: inherit;
128
+ &:first-child {
129
+ margin-top: 0;
130
+ }
131
+ }
132
+
133
+ h1 {
134
+ font-size: 1.5em;
135
+ font-weight: 700;
136
+ margin-top: 0;
137
+ }
138
+ h2 {
139
+ font-size: 1.25em;
140
+ font-weight: 700;
141
+ margin-top: 0;
142
+ }
143
+ h3 {
144
+ font-size: 1.125em;
145
+ font-weight: 600;
146
+ margin-top: 0;
147
+ }
148
+ h4 {
149
+ font-size: 1em;
150
+ font-weight: 600;
151
+ margin-top: 0;
152
+ }
153
+
154
+ /* Links */
155
+ a {
156
+ color: var(--link-text-color);
157
+ text-decoration: underline;
158
+ span {
159
+ text-decoration: underline;
160
+ }
161
+ }
162
+
163
+ /* Code */
164
+ code {
165
+ background-color: var(--tt-inline-code-bg-color);
166
+ color: var(--tt-inline-code-text-color);
167
+ border: 1px solid var(--tt-inline-code-border-color);
168
+ font-family: 'JetBrains Mono NL', monospace;
169
+ font-size: 0.875em;
170
+ line-height: 1.4;
171
+ border-radius: 0.375rem;
172
+ padding: 0.1em 0.25em;
173
+ }
174
+
175
+ pre {
176
+ background-color: var(--tt-codeblock-bg);
177
+ color: var(--tt-codeblock-text);
178
+ border: 1px solid var(--tt-codeblock-border);
179
+ margin-top: 1.5em;
180
+ margin-bottom: 1.5em;
181
+ padding: 1em;
182
+ font-size: 1rem;
183
+ border-radius: 0.375rem;
184
+
185
+ code {
186
+ background-color: transparent;
187
+ border: none;
188
+ border-radius: 0;
189
+ color: inherit;
190
+ padding: 0;
191
+ }
192
+ }
193
+
194
+ /* Blockquote */
195
+ blockquote {
196
+ position: relative;
197
+ padding: 0.375em 0 0.375em 1em;
198
+ margin: 1.5rem 0;
199
+ p {
200
+ margin-top: 0;
201
+ }
202
+ &::after {
203
+ position: absolute;
204
+ bottom: 0;
205
+ left: 0;
206
+ top: 0;
207
+ height: 100%;
208
+ width: 0.25em;
209
+ background-color: var(--blockquote-bg-color);
210
+ content: '';
211
+ }
212
+ }
213
+
214
+ /* Lists */
215
+ ol,
216
+ ul {
217
+ margin-top: 1.5em;
218
+ margin-bottom: 1.5em;
219
+ padding-left: 1.5em;
220
+ &:first-child {
221
+ margin-top: 0;
222
+ }
223
+ &:last-child {
224
+ margin-bottom: 0;
225
+ }
226
+ ol,
227
+ ul {
228
+ margin-top: 0;
229
+ margin-bottom: 0;
230
+ }
231
+ }
232
+
233
+ li p {
234
+ margin-top: 0;
235
+ line-height: 1.6;
236
+ }
237
+
238
+ ol {
239
+ list-style: decimal;
240
+ ol {
241
+ list-style: lower-alpha;
242
+ ol {
243
+ list-style: lower-roman;
244
+ }
245
+ }
246
+ }
247
+ ul:not([data-type='taskList']) {
248
+ list-style: disc;
249
+ ul {
250
+ list-style: circle;
251
+ ul {
252
+ list-style: square;
253
+ }
254
+ }
255
+ }
256
+
257
+ ul[data-type='taskList'] {
258
+ padding-left: 0;
259
+ li {
260
+ display: flex;
261
+ flex-direction: row;
262
+ align-items: flex-start;
263
+ margin-bottom: 0.25em;
264
+
265
+ &[data-checked='true'] {
266
+ > div > p {
267
+ opacity: 0.5;
268
+ text-decoration: line-through;
269
+ }
270
+ }
271
+
272
+ label {
273
+ position: relative;
274
+ padding-top: 4px;
275
+ padding-right: 0.5rem;
276
+ input[type='checkbox'] {
277
+ position: absolute;
278
+ opacity: 0;
279
+ width: 0;
280
+ height: 0;
281
+ }
282
+ span {
283
+ display: block;
284
+ width: 1em;
285
+ height: 1em;
286
+ border: 1px solid var(--tt-checklist-border-color);
287
+ border-radius: 0.25rem;
288
+ position: relative;
289
+ cursor: pointer;
290
+ background-color: var(--tt-checklist-bg-color);
291
+ transition: background-color 80ms ease-out, border-color 80ms ease-out;
292
+
293
+ &::before {
294
+ content: '';
295
+ position: absolute;
296
+ left: 50%;
297
+ top: 50%;
298
+ transform: translate(-50%, -50%);
299
+ width: 0.75em;
300
+ height: 0.75em;
301
+ background-color: var(--tt-checklist-check-icon-color);
302
+ opacity: 0;
303
+ mask: url('data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21.4142%204.58579C22.1953%205.36683%2022.1953%206.63317%2021.4142%207.41421L10.4142%2018.4142C9.63317%2019.1953%208.36684%2019.1953%207.58579%2018.4142L2.58579%2013.4142C1.80474%2012.6332%201.80474%2011.3668%202.58579%2010.5858C3.36683%209.80474%204.63317%209.80474%205.41421%2010.5858L9%2014.1716L18.5858%204.58579C19.3668%203.80474%2020.6332%203.80474%2021.4142%204.58579Z%22%20fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E')
304
+ center/contain no-repeat;
305
+ }
306
+ }
307
+ input[type='checkbox']:checked + span {
308
+ background: var(--tt-checklist-bg-active-color);
309
+ border-color: var(--tt-checklist-border-active-color);
310
+ &::before {
311
+ opacity: 1;
312
+ }
313
+ }
314
+ }
315
+ div {
316
+ flex: 1;
317
+ min-width: 0;
318
+ p {
319
+ margin-top: 0;
320
+ }
321
+ }
322
+ }
323
+ }
324
+
325
+ /* Horizontal Rule */
326
+ hr {
327
+ border: none;
328
+ height: 1px;
329
+ background-color: var(--horizontal-rule-color);
330
+ margin: 2.25em 0;
331
+ }
332
+
333
+ /* Images */
334
+ img {
335
+ max-width: 100%;
336
+ height: auto;
337
+ display: block;
338
+ margin: 2rem 0;
339
+ border-radius: var(--tt-radius-xs, 0.25rem);
340
+ &.ProseMirror-selectednode {
341
+ outline: 0.125rem solid var(--tt-brand-color-500);
342
+ }
343
+ }
344
+
345
+ /* Mentions & HashTags (Custom) */
346
+ [data-type='mention'] {
347
+ display: inline-block;
348
+ color: var(--tt-brand-color-500);
349
+ font-weight: 500;
350
+ }
351
+
352
+ .mention,
353
+ .hash-tag {
354
+ color: var(--tt-brand-color-500);
355
+ padding: 0 2px;
356
+ }
357
+ }
358
+
359
+ /* Common UI */
360
+ .ProseMirror .is-empty[data-placeholder]::before {
361
+ content: attr(data-placeholder);
362
+ position: absolute;
363
+ left: 0.15em;
364
+ top: 0;
365
+ pointer-events: none;
366
+ color: var(--placeholder-color);
367
+ font-style: normal;
368
+ text-indent: 0;
369
+ margin: 0;
370
+ padding: 0;
371
+ }
372
+
373
+ /* 针对不同区块类型的占位符偏移,确保与光标对齐且不覆盖图标 */
374
+ .ProseMirror {
375
+ /* 普通列表缩进保持一致,并留出光标空间 */
376
+ ul:not([data-type='taskList']).is-empty::before,
377
+ ol.is-empty::before {
378
+ left: 1.65em !important; /* 对应 ol, ul 的 padding-left + 0.15em */
379
+ }
380
+
381
+ /* 任务列表避开左侧复选框,并留出光标空间 */
382
+ ul[data-type='taskList'].is-empty::before {
383
+ left: 1.8rem;
384
+ }
385
+
386
+ /* 列表项内部的段落如果带占位符,默认 left: 0 即可,因为它已经相对于父级偏移 */
387
+ li p.is-empty::before {
388
+ left: 0;
389
+ }
390
+
391
+ /* 引用块避开左侧装饰条,并留出光标空间 */
392
+ blockquote.is-empty::before {
393
+ left: 1.15em !important;
394
+ top: 0.4em !important;
395
+ }
396
+
397
+ /* 代码块避开左侧内边距,并留出光标空间 */
398
+ pre.is-empty::before {
399
+ left: 1.15em !important;
400
+ top: 0.8em !important;
401
+ }
402
+ }
403
+
404
+ /* Dropdown styling */
405
+ .tiptap-dropdown-menu {
406
+ .el-dropdown-menu__item {
407
+ &.is-active {
408
+ color: var(--tt-brand-color-500) !important;
409
+ background-color: var(--tt-brand-color-50) !important;
410
+ .dark & {
411
+ color: var(--tt-brand-color-400) !important;
412
+ background-color: var(--tt-brand-color-900) !important;
413
+ }
414
+ }
415
+ &:hover {
416
+ color: var(--tt-brand-color-500) !important;
417
+ background-color: var(--tt-brand-color-50) !important;
418
+ .dark & {
419
+ color: var(--tt-brand-color-400) !important;
420
+ background-color: var(--tt-brand-color-900) !important;
421
+ }
422
+ }
423
+ }
424
+ }
425
+
426
+ .tiptap-dropdown-menu-item-content {
427
+ display: flex;
428
+ align-items: center;
429
+ gap: 8px;
430
+ width: 100%;
431
+ }
432
+ .tiptap-dropdown-menu-item-label {
433
+ font-size: 10px;
434
+ font-weight: 700;
435
+ color: var(--tt-text-muted);
436
+ background-color: var(--tt-gray-light-100);
437
+ padding: 1px 4px;
438
+ border-radius: 4px;
439
+ min-width: 20px;
440
+ text-align: center;
441
+ .dark & {
442
+ background-color: var(--tt-gray-dark-200);
443
+ }
444
+ }
445
+
446
+ .tiptap-heading-trigger,
447
+ .tiptap-list-dropdown-trigger {
448
+ .tiptap-button-icon-chevron {
449
+ width: 12px;
450
+ height: 12px;
451
+ margin-left: 2px;
452
+ color: var(--tt-text-muted);
453
+ }
454
+ }
455
+ .tiptap-dropdown-menu-item-icon {
456
+ width: 16px;
457
+ height: 16px;
458
+ color: var(--tt-text-muted);
459
+ }
460
+
461
+ body .ProseMirror {
462
+ flex: 1;
463
+ overflow: auto;
464
+ outline: none;
465
+
466
+ line-height: 1.6;
467
+ font-size: var(--font-base);
468
+
469
+ video {
470
+ width: 100%;
471
+ }
472
+
473
+ /* List styles */
474
+ ol {
475
+ list-style: auto;
476
+ ol {
477
+ list-style: disc;
478
+ }
479
+ }
480
+
481
+ ul {
482
+ list-style: disc;
483
+ }
484
+
485
+ ol,
486
+ ul {
487
+ margin: 0 !important;
488
+ }
489
+
490
+ li::marker {
491
+ text-align: start !important;
492
+ }
493
+
494
+ /* Table-specific styling */
495
+ table {
496
+ border-collapse: collapse;
497
+ margin: 0;
498
+ overflow: hidden;
499
+ table-layout: fixed;
500
+ width: 100%;
501
+
502
+ td,
503
+ th {
504
+ border: 1px solid var(--gray-3);
505
+ box-sizing: border-box;
506
+ min-width: 1em;
507
+ padding: 6px 8px;
508
+ position: relative;
509
+ vertical-align: top;
510
+
511
+ > * {
512
+ margin-bottom: 0;
513
+ }
514
+ }
515
+
516
+ th {
517
+ background-color: var(--gray-1);
518
+ font-weight: bold;
519
+ text-align: left;
520
+ }
521
+
522
+ .selectedCell:after {
523
+ background: var(--gray-2);
524
+ content: '';
525
+ left: 0;
526
+ right: 0;
527
+ top: 0;
528
+ bottom: 0;
529
+ pointer-events: none;
530
+ position: absolute;
531
+ z-index: 2;
532
+ }
533
+
534
+ .column-resize-handle {
535
+ background-color: var(--purple);
536
+ bottom: -2px;
537
+ pointer-events: none;
538
+ position: absolute;
539
+ right: -2px;
540
+ top: 0;
541
+ width: 4px;
542
+ }
543
+ }
544
+
545
+ .tableWrapper {
546
+ margin: 1.5rem 0;
547
+ overflow-x: auto;
548
+ }
549
+
550
+ &.resize-cursor {
551
+ cursor: ew-resize;
552
+ cursor: col-resize;
553
+ }
554
+ img {
555
+ max-width: 100%;
556
+ }
557
+
558
+ code {
559
+ background-color: #ffe5e8 !important;
560
+ color: #c02537 !important;
561
+ margin-top: 20px;
562
+ }
563
+
564
+ // @人的样式 #话题的样式 自定义内容的样式
565
+ .mention,
566
+ .hash-tag {
567
+ color: #c02537 !important;
568
+ padding: 0 0.3em;
569
+ }
570
+
571
+ .custom-content {
572
+ color: var(--custom-content-color, #000);
573
+ padding: 0 0.3em;
574
+ cursor: pointer;
575
+ transition: color 0.2s ease;
576
+
577
+ &:hover {
578
+ color: var(--custom-content-hover-color, #c02537);
579
+ }
580
+ }
581
+ }
582
+
583
+ // animation
584
+ .animation-indent--right {
585
+ animation: indent-right 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55) 1 alternate-reverse;
586
+ }
587
+
588
+ @keyframes indent-right {
589
+ 0% {
590
+ -webkit-transform: translateX(0);
591
+ transform: translateX(0);
592
+ }
593
+
594
+ to {
595
+ -webkit-transform: translateX(12px);
596
+ transform: translateX(12px);
597
+ }
598
+ }
@@ -0,0 +1 @@
1
+ body .ProseMirror{flex:1;overflow:auto;outline:none;line-height:1.6;font-size:var(--font-base);--white: #fff;--black: #2e2b29;--gray-1: rgba(61, 37, 20, .05);--gray-2: rgba(61, 37, 20, .08);--gray-3: rgba(61, 37, 20, .12);--gray-4: rgba(53, 38, 28, .3);--gray-5: rgba(28, 25, 23, .6);--green: #22c55e;--purple: #6a00f5;--purple-contrast: #5800cc;--purple-light: rgba(88, 5, 255, .05);--yellow-contrast: #facc15;--yellow: rgba(250, 204, 21, .4);--yellow-light: #fffae5;--red: #ff5c33;--red-light: #ffebe5;--shadow: 0px 12px 33px 0px rgba(0, 0, 0, .06), 0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)}body .ProseMirror :first-child{margin-top:0}body .ProseMirror video{width:100%}body .ProseMirror ol{list-style:auto}body .ProseMirror ol ol,body .ProseMirror ul{list-style:disc}body .ProseMirror ol,body .ProseMirror ul{padding-left:1.5em;margin:0 0 12px}body .ProseMirror ol li p,body .ProseMirror ul li p{margin-top:.25em;margin-bottom:.25em}body .ProseMirror li::marker{text-align:start!important}body .ProseMirror h1,body .ProseMirror h2,body .ProseMirror h3,body .ProseMirror h4,body .ProseMirror h5,body .ProseMirror h6{line-height:1.1;margin-top:2.5rem;text-wrap:pretty}body .ProseMirror h1,body .ProseMirror h2{margin-top:1rem;margin-bottom:1rem}body .ProseMirror h1{font-size:1.4rem}body .ProseMirror h2{font-size:1.2rem}body .ProseMirror h3{font-size:1.1rem}body .ProseMirror h4,body .ProseMirror h5,body .ProseMirror h6{font-size:1rem}body .ProseMirror a,body .ProseMirror .editor-link{color:var(--purple);text-decoration:underline;cursor:pointer;transition:color .2s ease}body .ProseMirror a:hover,body .ProseMirror .editor-link:hover{color:var(--purple-contrast);text-decoration:underline}body .ProseMirror code{background-color:#ffe5e8;border-radius:.4rem;color:#c02537;padding:2px 4px}body .ProseMirror pre{border-radius:.5rem;font-family:JetBrainsMono,monospace;margin:1.5rem 0;padding:.75rem 1rem}body .ProseMirror pre code{background:none;color:inherit;font-size:.8rem;padding:0}body .ProseMirror blockquote{border-left:3px solid var(--gray-3);margin:1.5rem 0;padding-left:1rem}body .ProseMirror hr{border:none;border-top:1px solid var(--gray-2);margin:2rem 0}body .ProseMirror p.is-editor-empty:first-child:before{color:var(--gray-4);content:attr(data-placeholder);float:left;height:0;pointer-events:none}body .ProseMirror .is-empty:before{color:var(--gray-4);content:attr(data-placeholder);float:left;height:0;pointer-events:none}body .ProseMirror table{border-collapse:collapse;margin:0;overflow:hidden;table-layout:fixed;width:100%}body .ProseMirror table td,body .ProseMirror table th{border:1px solid var(--gray-3);box-sizing:border-box;min-width:1em;padding:6px 8px;position:relative;vertical-align:top}body .ProseMirror table td>*,body .ProseMirror table th>*{margin-bottom:0}body .ProseMirror table th{background-color:var(--gray-1);font-weight:700;text-align:left}body .ProseMirror table .selectedCell:after{background:var(--gray-2);content:"";left:0;right:0;top:0;bottom:0;pointer-events:none;position:absolute;z-index:2}body .ProseMirror table .column-resize-handle{background-color:var(--purple);bottom:-2px;pointer-events:none;position:absolute;right:-2px;top:0;width:4px}body .ProseMirror .tableWrapper{margin:1.5rem 0;overflow-x:auto}body .ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}body .ProseMirror img{max-width:100%}body .ProseMirror .mention,body .ProseMirror .hash-tag{color:#c02537;padding:0 .3em}body .ProseMirror .custom-content{color:var(--custom-content-color, #000);padding:0 .3em;cursor:pointer;transition:color .2s ease}body .ProseMirror .custom-content:hover{color:var(--custom-content-hover-color, #c02537)}.animation-indent--right{animation:indent-right .5s cubic-bezier(.68,-.55,.27,1.55) 1 alternate-reverse}@keyframes indent-right{0%{transform:translate(0)}to{transform:translate(12px)}}.tiptap-editor-container{display:flex;flex-direction:column;border:1px solid var(--gray-3);border-radius:8px;overflow:hidden;height:100%;background-color:var(--white)}.dark .tiptap-editor-container{background-color:var(--black);border-color:var(--gray-4)}.tiptap-editor-container .tiptap-editor-toolbar{flex:0 0 auto;border-bottom:1px solid var(--gray-3);padding:4px;background-color:var(--gray-1);display:flex;flex-wrap:wrap;gap:4px}.dark .tiptap-editor-container .tiptap-editor-toolbar{border-bottom-color:var(--gray-4);background-color:var(--gray-2)}.tiptap-editor-container .tiptap-editor-content-wrapper{flex:1 1 auto;overflow-y:auto;position:relative;padding:16px 8px;background-color:var(--white);display:flex;justify-content:center}.dark .tiptap-editor-container .tiptap-editor-content-wrapper{background-color:var(--black)}.tiptap-editor-container .tiptap-editor-content-wrapper .ProseMirror{width:100%}.tiptap-dropdown-menu .el-dropdown-menu__item.is-active{color:var(--tt-brand-color-500)!important;background-color:var(--tt-brand-color-50)!important}.dark .tiptap-dropdown-menu .el-dropdown-menu__item.is-active{color:var(--tt-brand-color-400)!important;background-color:var(--tt-brand-color-900)!important}.tiptap-dropdown-menu-item-content{display:flex;align-items:center;gap:8px;width:100%}.tiptap-dropdown-menu-item-label{font-size:10px;font-weight:700;color:var(--tt-text-muted);background-color:var(--tt-gray-light-100);padding:1px 4px;border-radius:4px;min-width:20px;text-align:center}.dark .tiptap-dropdown-menu-item-label{background-color:var(--tt-gray-dark-200)}.tiptap-heading-trigger .tiptap-button-icon-chevron,.tiptap-list-dropdown-trigger .tiptap-button-icon-chevron{width:12px;height:12px;margin-left:2px;color:var(--tt-text-muted)}.tiptap-dropdown-menu-item-icon{width:16px;height:16px;color:var(--tt-text-muted)}