@quadrats/react 1.1.7 → 1.1.8

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 (1422) hide show
  1. package/CHANGELOG.md +610 -0
  2. package/_internal/package.json +1 -4
  3. package/_internal/src/renderer/composeRenderElementsBase.ts +19 -0
  4. package/_internal/src/renderer/composeRenderLeafsBase.ts +17 -0
  5. package/_internal/src/renderer/createRenderElementBase.ts +14 -0
  6. package/_internal/src/renderer/createRenderElementsBase.ts +15 -0
  7. package/_internal/src/renderer/createRenderMarkBase.ts +19 -0
  8. package/_internal/src/renderer/typings.ts +30 -0
  9. package/_internal/tsconfig.build.json +5 -0
  10. package/accordion/jsx-serializer/package.json +6 -3
  11. package/accordion/jsx-serializer/src/createJsxSerializeAccordion.ts +79 -0
  12. package/accordion/jsx-serializer/src/defaultRenderAccordionElements.tsx +21 -0
  13. package/accordion/jsx-serializer/src/typings.ts +16 -0
  14. package/accordion/jsx-serializer/tsconfig.build.json +5 -0
  15. package/accordion/package.json +8 -3
  16. package/accordion/src/components/Accordion.tsx +53 -0
  17. package/accordion/src/components/AccordionContent.tsx +38 -0
  18. package/accordion/src/components/AccordionTitle.tsx +33 -0
  19. package/accordion/src/contexts/AccordionContext.ts +4 -0
  20. package/accordion/src/createReactAccordion.ts +194 -0
  21. package/accordion/src/defaultRenderAccordionElements.tsx +11 -0
  22. package/accordion/src/hooks/useAccordion.ts +6 -0
  23. package/accordion/src/typings.ts +41 -0
  24. package/accordion/toolbar/package.json +6 -3
  25. package/accordion/toolbar/src/AccordionToolbarIcon.tsx +17 -0
  26. package/accordion/toolbar/src/index.ts +3 -0
  27. package/accordion/toolbar/src/useAccordionTool.ts +10 -0
  28. package/accordion/toolbar/tsconfig.build.json +5 -0
  29. package/accordion/tsconfig.build.json +5 -0
  30. package/align/package.json +5 -3
  31. package/align/src/constants.ts +8 -0
  32. package/align/src/createReactAlign.ts +27 -0
  33. package/align/src/typings.ts +20 -0
  34. package/align/toolbar/package.json +7 -3
  35. package/align/toolbar/src/AlignToolbarIcon.tsx +19 -0
  36. package/align/toolbar/src/index.ts +3 -0
  37. package/align/toolbar/src/useAlignTool.ts +18 -0
  38. package/align/toolbar/tsconfig.build.json +5 -0
  39. package/align/tsconfig.build.json +5 -0
  40. package/blockquote/jsx-serializer/package.json +6 -3
  41. package/blockquote/jsx-serializer/src/createJsxSerializeBlockquote.ts +14 -0
  42. package/blockquote/jsx-serializer/src/typings.ts +4 -0
  43. package/blockquote/jsx-serializer/tsconfig.build.json +5 -0
  44. package/blockquote/package.json +9 -3
  45. package/blockquote/src/ReactBlockquote.spec.tsx +42 -0
  46. package/blockquote/src/constants.ts +6 -0
  47. package/blockquote/src/createReactBlockquote.ts +105 -0
  48. package/blockquote/src/defaultRenderBlockquoteElement.tsx +15 -0
  49. package/blockquote/src/typings.ts +22 -0
  50. package/blockquote/toolbar/package.json +6 -3
  51. package/blockquote/toolbar/src/BlockquoteToolbarIcon.tsx +17 -0
  52. package/blockquote/toolbar/src/useBlockquoteTool.ts +11 -0
  53. package/blockquote/toolbar/tsconfig.build.json +5 -0
  54. package/blockquote/tsconfig.build.json +5 -0
  55. package/bold/jsx-serializer/package.json +6 -3
  56. package/bold/jsx-serializer/src/createJsxSerializeBold.ts +8 -0
  57. package/bold/jsx-serializer/tsconfig.build.json +5 -0
  58. package/bold/package.json +5 -3
  59. package/bold/src/constants.ts +6 -0
  60. package/bold/src/createReactBold.ts +11 -0
  61. package/bold/src/defaultRenderBold.tsx +12 -0
  62. package/bold/src/typings.ts +6 -0
  63. package/bold/tsconfig.build.json +5 -0
  64. package/card/jsx-serializer/package.json +6 -3
  65. package/card/jsx-serializer/src/createJsxSerializeCard.ts +65 -0
  66. package/card/jsx-serializer/src/defaultRenderCardElements.tsx +9 -0
  67. package/card/jsx-serializer/src/typings.ts +20 -0
  68. package/card/jsx-serializer/tsconfig.build.json +5 -0
  69. package/card/package.json +11 -3
  70. package/card/src/components/Card.tsx +139 -0
  71. package/card/src/components/CardContents.tsx +35 -0
  72. package/card/src/components/CardImage.tsx +30 -0
  73. package/card/src/components/CardPlaceholder.tsx +40 -0
  74. package/card/src/createReactCard.ts +101 -0
  75. package/card/src/defaultRenderCardElements.tsx +16 -0
  76. package/card/src/typings.ts +46 -0
  77. package/card/toolbar/package.json +6 -3
  78. package/card/toolbar/src/CardToolbarIcon.tsx +17 -0
  79. package/card/toolbar/src/useCardTool.tsx +43 -0
  80. package/card/toolbar/tsconfig.build.json +5 -0
  81. package/card/tsconfig.build.json +5 -0
  82. package/carousel/jsx-serializer/package.json +6 -3
  83. package/carousel/jsx-serializer/src/createJsxSerializeCarousel.ts +71 -0
  84. package/carousel/jsx-serializer/src/defaultRenderCarouselElements.tsx +9 -0
  85. package/carousel/jsx-serializer/src/typings.ts +20 -0
  86. package/carousel/jsx-serializer/tsconfig.build.json +5 -0
  87. package/carousel/package.json +10 -3
  88. package/carousel/src/components/Carousel.tsx +102 -0
  89. package/carousel/src/components/CarouselCaption.tsx +27 -0
  90. package/carousel/src/components/CarouselImages.tsx +97 -0
  91. package/carousel/src/components/CarouselPlaceholder.tsx +26 -0
  92. package/carousel/src/contexts/CarouselContext.ts +4 -0
  93. package/carousel/src/createReactCarousel.ts +104 -0
  94. package/carousel/src/defaultRenderCarouselElements.tsx +16 -0
  95. package/carousel/src/hooks/useCarousel.ts +6 -0
  96. package/carousel/src/typings.ts +55 -0
  97. package/carousel/toolbar/package.json +6 -3
  98. package/carousel/toolbar/src/CarouselToolbarIcon.tsx +17 -0
  99. package/carousel/toolbar/src/useCarouselTool.tsx +34 -0
  100. package/carousel/toolbar/tsconfig.build.json +5 -0
  101. package/carousel/tsconfig.build.json +5 -0
  102. package/components/package.json +21 -3
  103. package/components/src/BaseField/index.tsx +35 -0
  104. package/components/src/Button/index.tsx +48 -0
  105. package/components/src/Hint/index.tsx +61 -0
  106. package/components/src/Icon/index.tsx +45 -0
  107. package/components/src/ImageUploader/index.tsx +306 -0
  108. package/components/src/Input/index.tsx +72 -0
  109. package/components/src/Message/index.tsx +138 -0
  110. package/components/src/Modal/index.tsx +161 -0
  111. package/components/src/Notifier/NotifierManager.tsx +50 -0
  112. package/components/src/Notifier/createNotifier.tsx +100 -0
  113. package/components/src/Notifier/typings.ts +33 -0
  114. package/components/src/Portal/index.tsx +15 -0
  115. package/components/src/Progress/index.tsx +49 -0
  116. package/components/src/SegmentedControl/index.tsx +37 -0
  117. package/components/src/Textarea/index.tsx +74 -0
  118. package/components/src/Toggle/index.tsx +34 -0
  119. package/components/src/Tooltip/calculatePosition.ts +84 -0
  120. package/components/src/Tooltip/index.tsx +187 -0
  121. package/components/src/Tooltip/typings.ts +40 -0
  122. package/components/src/Transition/SlideFade.tsx +159 -0
  123. package/components/src/Transition/Transition.tsx +176 -0
  124. package/components/src/Transition/getTransitionStyleProps.ts +48 -0
  125. package/components/src/Transition/useSetNodeTransition.ts +46 -0
  126. package/components/src/index.ts +17 -0
  127. package/components/tsconfig.build.json +5 -0
  128. package/configs/package.json +1 -4
  129. package/configs/src/ConfigsProvider.tsx +39 -0
  130. package/configs/src/locale.ts +8 -0
  131. package/configs/src/theme.ts +50 -0
  132. package/configs/tsconfig.build.json +5 -0
  133. package/divider/jsx-serializer/package.json +6 -3
  134. package/divider/jsx-serializer/src/createJsxSerializeDivider.ts +12 -0
  135. package/divider/jsx-serializer/src/defaultRenderDividerElement.tsx +3 -0
  136. package/divider/jsx-serializer/src/typings.ts +4 -0
  137. package/divider/jsx-serializer/tsconfig.build.json +5 -0
  138. package/divider/package.json +8 -3
  139. package/divider/src/createReactDivider.ts +16 -0
  140. package/divider/src/defaultRenderDividerElement.tsx +8 -0
  141. package/divider/src/typings.ts +13 -0
  142. package/divider/toolbar/package.json +6 -3
  143. package/divider/toolbar/src/DividerToolbarIcon.tsx +17 -0
  144. package/divider/toolbar/src/index.ts +3 -0
  145. package/divider/toolbar/src/useDividerTool.ts +10 -0
  146. package/divider/toolbar/tsconfig.build.json +5 -0
  147. package/divider/tsconfig.build.json +5 -0
  148. package/embed/jsx-serializer/facebook/package.json +6 -3
  149. package/embed/jsx-serializer/facebook/tsconfig.build.json +5 -0
  150. package/embed/jsx-serializer/instagram/package.json +6 -3
  151. package/embed/jsx-serializer/instagram/tsconfig.build.json +5 -0
  152. package/embed/jsx-serializer/package.json +6 -3
  153. package/embed/jsx-serializer/src/createJsxSerializeEmbed.ts +20 -0
  154. package/embed/jsx-serializer/src/typings.ts +7 -0
  155. package/embed/jsx-serializer/tsconfig.build.json +5 -0
  156. package/embed/jsx-serializer/twitter/package.json +6 -3
  157. package/embed/jsx-serializer/twitter/tsconfig.build.json +5 -0
  158. package/embed/jsx-serializer/vimeo/package.json +6 -3
  159. package/embed/jsx-serializer/vimeo/tsconfig.build.json +5 -0
  160. package/embed/jsx-serializer/youtube/package.json +6 -3
  161. package/embed/jsx-serializer/youtube/tsconfig.build.json +5 -0
  162. package/embed/package.json +8 -3
  163. package/embed/renderers/base/package.json +6 -3
  164. package/embed/renderers/base/src/components/BaseEmbedElement.tsx +107 -0
  165. package/embed/renderers/base/src/index.ts +5 -0
  166. package/embed/renderers/base/tsconfig.build.json +5 -0
  167. package/embed/renderers/facebook/package.json +6 -3
  168. package/embed/renderers/facebook/src/components/Facebook.tsx +56 -0
  169. package/embed/renderers/facebook/src/defaultRenderFacebookEmbedElement.tsx +81 -0
  170. package/embed/renderers/facebook/tsconfig.build.json +5 -0
  171. package/embed/renderers/instagram/package.json +6 -3
  172. package/embed/renderers/instagram/src/components/Instagram.tsx +86 -0
  173. package/embed/renderers/instagram/src/defaultRenderInstagramEmbedElement.tsx +74 -0
  174. package/embed/renderers/instagram/src/hooks/useLoadInstagramEmbedApi.ts +39 -0
  175. package/embed/renderers/instagram/tsconfig.build.json +5 -0
  176. package/embed/renderers/podcast-apple/package.json +6 -3
  177. package/embed/renderers/podcast-apple/src/components/PodcastApple.tsx +37 -0
  178. package/embed/renderers/podcast-apple/src/defaultRenderPodcastAppleEmbedElement.tsx +69 -0
  179. package/embed/renderers/podcast-apple/tsconfig.build.json +5 -0
  180. package/embed/renderers/spotify/package.json +6 -3
  181. package/embed/renderers/spotify/src/components/Spotify.tsx +51 -0
  182. package/embed/renderers/spotify/src/defaultRenderSpotifyEmbedElement.tsx +63 -0
  183. package/embed/renderers/spotify/tsconfig.build.json +5 -0
  184. package/embed/renderers/twitter/package.json +6 -3
  185. package/embed/renderers/twitter/src/components/Twitter.tsx +47 -0
  186. package/embed/renderers/twitter/src/defaultRenderTwitterEmbedElement.tsx +78 -0
  187. package/embed/renderers/twitter/src/hooks/useLoadTwitterEmbedApi.ts +55 -0
  188. package/embed/renderers/twitter/tsconfig.build.json +5 -0
  189. package/embed/renderers/vimeo/package.json +6 -3
  190. package/embed/renderers/vimeo/src/defaultRenderVimeoEmbedElement.tsx +52 -0
  191. package/embed/renderers/vimeo/tsconfig.build.json +5 -0
  192. package/embed/renderers/youtube/package.json +6 -3
  193. package/embed/renderers/youtube/src/defaultRenderYoutubeEmbedElement.tsx +52 -0
  194. package/embed/renderers/youtube/tsconfig.build.json +5 -0
  195. package/embed/src/components/VideoIframe.tsx +41 -0
  196. package/embed/src/createReactEmbed.ts +23 -0
  197. package/embed/src/createRenderEmbedElementBase.ts +30 -0
  198. package/embed/src/hooks/useVideoIframeSize.ts +28 -0
  199. package/embed/src/typings.ts +26 -0
  200. package/embed/toolbar/package.json +6 -3
  201. package/embed/toolbar/src/EmbedToolbarIcon.tsx +25 -0
  202. package/embed/toolbar/src/index.ts +3 -0
  203. package/embed/toolbar/src/useEmbedTool.tsx +106 -0
  204. package/embed/toolbar/tsconfig.build.json +5 -0
  205. package/embed/tsconfig.build.json +5 -0
  206. package/file-uploader/package.json +9 -3
  207. package/file-uploader/src/components/FileUploader.tsx +18 -0
  208. package/file-uploader/src/createReactFileUploader.ts +28 -0
  209. package/file-uploader/src/defaultRenderFileUploaderElement.tsx +5 -0
  210. package/file-uploader/src/hooks/useFileUploader.ts +14 -0
  211. package/file-uploader/src/typings.ts +19 -0
  212. package/file-uploader/toolbar/package.json +6 -3
  213. package/file-uploader/toolbar/src/FileUploaderToolbarIcon.tsx +19 -0
  214. package/file-uploader/toolbar/src/index.ts +3 -0
  215. package/file-uploader/toolbar/src/useFileUploaderTool.ts +14 -0
  216. package/file-uploader/toolbar/tsconfig.build.json +5 -0
  217. package/file-uploader/tsconfig.build.json +5 -0
  218. package/footnote/jsx-serializer/package.json +6 -3
  219. package/footnote/jsx-serializer/src/createJsxSerializeFootnote.ts +13 -0
  220. package/footnote/jsx-serializer/src/defaultRenderFootnoteElement.tsx +18 -0
  221. package/footnote/jsx-serializer/src/typings.ts +4 -0
  222. package/footnote/jsx-serializer/tsconfig.build.json +5 -0
  223. package/footnote/package.json +5 -3
  224. package/footnote/src/createReactFootnote.ts +22 -0
  225. package/footnote/src/defaultRenderFootnoteElement.tsx +36 -0
  226. package/footnote/src/typings.ts +14 -0
  227. package/footnote/src/useFootnotes.ts +28 -0
  228. package/footnote/src/useFootnotesFromNodes.ts +33 -0
  229. package/footnote/toolbar/package.json +6 -3
  230. package/footnote/toolbar/src/FootnoteToolbarIcon.tsx +18 -0
  231. package/footnote/toolbar/src/index.ts +3 -0
  232. package/footnote/toolbar/src/useFootnoteTool.ts +22 -0
  233. package/footnote/toolbar/tsconfig.build.json +5 -0
  234. package/footnote/tsconfig.build.json +5 -0
  235. package/heading/jsx-serializer/package.json +6 -3
  236. package/heading/jsx-serializer/src/createJsxSerializeHeading.ts +13 -0
  237. package/heading/jsx-serializer/src/typings.ts +4 -0
  238. package/heading/jsx-serializer/tsconfig.build.json +5 -0
  239. package/heading/package.json +9 -3
  240. package/heading/src/constants.ts +9 -0
  241. package/heading/src/createReactHeading.ts +56 -0
  242. package/heading/src/defaultRenderHeadingElement.tsx +36 -0
  243. package/heading/src/typings.ts +21 -0
  244. package/heading/toolbar/package.json +6 -3
  245. package/heading/toolbar/src/HeadingToolbarIcon.tsx +22 -0
  246. package/heading/toolbar/src/index.ts +3 -0
  247. package/heading/toolbar/src/useToggleHeadingTool.ts +15 -0
  248. package/heading/toolbar/tsconfig.build.json +5 -0
  249. package/heading/tsconfig.build.json +5 -0
  250. package/highlight/jsx-serializer/package.json +6 -3
  251. package/highlight/jsx-serializer/src/createJsxSerializeHighlight.ts +8 -0
  252. package/highlight/jsx-serializer/tsconfig.build.json +5 -0
  253. package/highlight/package.json +5 -3
  254. package/highlight/src/constants.ts +6 -0
  255. package/highlight/src/createReactHighlight.ts +11 -0
  256. package/highlight/src/defaultRenderHighlight.tsx +12 -0
  257. package/highlight/src/typings.ts +6 -0
  258. package/highlight/tsconfig.build.json +5 -0
  259. package/image/jsx-serializer/package.json +6 -3
  260. package/image/jsx-serializer/src/createJsxSerializeImage.ts +85 -0
  261. package/image/jsx-serializer/src/defaultRenderImageElements.tsx +21 -0
  262. package/image/jsx-serializer/src/typings.ts +34 -0
  263. package/image/jsx-serializer/tsconfig.build.json +5 -0
  264. package/image/package.json +10 -3
  265. package/image/src/components/Image.tsx +107 -0
  266. package/image/src/components/ImageCaption.tsx +35 -0
  267. package/image/src/components/ImageFigure.tsx +26 -0
  268. package/image/src/components/ImagePlaceholder.tsx +16 -0
  269. package/image/src/createReactImage.ts +191 -0
  270. package/image/src/defaultRenderImageElements.tsx +11 -0
  271. package/image/src/hooks/useImageResizer.ts +135 -0
  272. package/image/src/typings.ts +50 -0
  273. package/image/tsconfig.build.json +5 -0
  274. package/input-block/package.json +8 -3
  275. package/input-block/src/components/InputBlock.tsx +70 -0
  276. package/input-block/src/createReactInputBlock.ts +34 -0
  277. package/input-block/src/defaultRenderInputBlockElement.tsx +5 -0
  278. package/input-block/src/hooks/useInputBlock.ts +61 -0
  279. package/input-block/src/typings.ts +19 -0
  280. package/input-block/tsconfig.build.json +5 -0
  281. package/italic/jsx-serializer/package.json +6 -3
  282. package/italic/jsx-serializer/src/createJsxSerializeItalic.ts +8 -0
  283. package/italic/jsx-serializer/tsconfig.build.json +5 -0
  284. package/italic/package.json +5 -3
  285. package/italic/src/constants.ts +6 -0
  286. package/italic/src/createReactItalic.ts +11 -0
  287. package/italic/src/defaultRenderItalic.tsx +12 -0
  288. package/italic/src/typings.ts +6 -0
  289. package/italic/tsconfig.build.json +5 -0
  290. package/jsx-serializer/package.json +5 -3
  291. package/jsx-serializer/src/createJsxSerializeElement.ts +8 -0
  292. package/jsx-serializer/src/createJsxSerializeElements.ts +8 -0
  293. package/jsx-serializer/src/createJsxSerializeMark.ts +6 -0
  294. package/jsx-serializer/src/createJsxSerializer.tsx +84 -0
  295. package/jsx-serializer/src/typings.ts +20 -0
  296. package/jsx-serializer/tsconfig.build.json +5 -0
  297. package/line-break/jsx-serializer/package.json +6 -3
  298. package/line-break/jsx-serializer/src/createJsxSerializeLineBreak.ts +13 -0
  299. package/line-break/jsx-serializer/src/defaultRenderLineBreakElement.tsx +7 -0
  300. package/line-break/jsx-serializer/src/typings.ts +4 -0
  301. package/line-break/jsx-serializer/tsconfig.build.json +5 -0
  302. package/line-break/package.json +8 -3
  303. package/line-break/src/commonBreak.ts +32 -0
  304. package/line-break/src/createOnKeyDownBreak.ts +88 -0
  305. package/line-break/src/createReactLineBreak.ts +20 -0
  306. package/line-break/src/defaultRenderLineBreakElement.tsx +8 -0
  307. package/line-break/src/renderLineBreakElementWithSymbol.tsx +8 -0
  308. package/line-break/src/typings.ts +38 -0
  309. package/line-break/tsconfig.build.json +5 -0
  310. package/link/jsx-serializer/package.json +6 -3
  311. package/link/jsx-serializer/src/createJsxSerializeLink.ts +11 -0
  312. package/link/jsx-serializer/src/defaultRenderLinkElement.tsx +8 -0
  313. package/link/jsx-serializer/src/typings.ts +4 -0
  314. package/link/jsx-serializer/tsconfig.build.json +5 -0
  315. package/link/package.json +5 -3
  316. package/link/src/createReactLink.ts +49 -0
  317. package/link/src/defaultRenderLinkElement.tsx +27 -0
  318. package/link/src/typings.ts +14 -0
  319. package/link/toolbar/package.json +6 -3
  320. package/link/toolbar/src/LinkToolbarIcon.tsx +18 -0
  321. package/link/toolbar/src/UnlinkToolbarIcon.tsx +17 -0
  322. package/link/toolbar/src/index.ts +5 -0
  323. package/link/toolbar/src/useLinkTool.ts +31 -0
  324. package/link/toolbar/src/useUnlinkTool.ts +10 -0
  325. package/link/toolbar/tsconfig.build.json +5 -0
  326. package/link/tsconfig.build.json +5 -0
  327. package/list/jsx-serializer/package.json +6 -3
  328. package/list/jsx-serializer/src/createJsxSerializeList.ts +21 -0
  329. package/list/jsx-serializer/src/typings.ts +4 -0
  330. package/list/jsx-serializer/tsconfig.build.json +5 -0
  331. package/list/package.json +8 -3
  332. package/list/src/createReactList.ts +52 -0
  333. package/list/src/defaultRenderListElements.tsx +12 -0
  334. package/list/src/typings.ts +14 -0
  335. package/list/toolbar/package.json +6 -3
  336. package/list/toolbar/src/ListToolbarIcon.tsx +19 -0
  337. package/list/toolbar/src/index.ts +3 -0
  338. package/list/toolbar/src/useListTool.ts +12 -0
  339. package/list/toolbar/tsconfig.build.json +5 -0
  340. package/list/tsconfig.build.json +5 -0
  341. package/package.json +18 -5
  342. package/paragraph/jsx-serializer/package.json +6 -3
  343. package/paragraph/jsx-serializer/src/createJsxSerializeParagraph.ts +14 -0
  344. package/paragraph/jsx-serializer/src/typings.ts +4 -0
  345. package/paragraph/jsx-serializer/tsconfig.build.json +5 -0
  346. package/paragraph/package.json +8 -3
  347. package/paragraph/src/createReactParagraph.ts +9 -0
  348. package/paragraph/src/createRenderParagraphElement.ts +17 -0
  349. package/paragraph/src/defaultRenderParagraphElement.tsx +21 -0
  350. package/paragraph/src/renderParagraphElementWithSymbol.tsx +21 -0
  351. package/paragraph/toolbar/package.json +6 -3
  352. package/paragraph/toolbar/src/ParagraphToolbarIcon.tsx +17 -0
  353. package/paragraph/toolbar/src/useToggleParagraphTool.ts +11 -0
  354. package/paragraph/toolbar/tsconfig.build.json +5 -0
  355. package/paragraph/tsconfig.build.json +5 -0
  356. package/read-more/jsx-serializer/package.json +6 -3
  357. package/read-more/jsx-serializer/src/createJsxSerializeReadMore.ts +11 -0
  358. package/read-more/jsx-serializer/src/typings.ts +4 -0
  359. package/read-more/jsx-serializer/tsconfig.build.json +5 -0
  360. package/read-more/package.json +8 -3
  361. package/read-more/src/components/ReadMore.tsx +24 -0
  362. package/read-more/src/createReactReadMore.ts +16 -0
  363. package/read-more/src/defaultRenderReadMoreElement.tsx +5 -0
  364. package/read-more/src/typings.ts +12 -0
  365. package/read-more/toolbar/package.json +6 -3
  366. package/read-more/toolbar/src/ReadMoreToolbarIcon.tsx +17 -0
  367. package/read-more/toolbar/src/index.ts +3 -0
  368. package/read-more/toolbar/src/useReadMoreTool.ts +10 -0
  369. package/read-more/toolbar/tsconfig.build.json +5 -0
  370. package/read-more/tsconfig.build.json +5 -0
  371. package/src/core/components/DefaultElement.tsx +6 -0
  372. package/src/core/components/DefaultLeaf.tsx +6 -0
  373. package/src/core/components/Editable.tsx +129 -0
  374. package/src/core/components/Quadrats.tsx +40 -0
  375. package/src/core/composeHandlers.ts +58 -0
  376. package/src/core/composeRenderElements.tsx +13 -0
  377. package/src/core/composeRenderLeafs.tsx +11 -0
  378. package/src/core/constants.ts +1 -0
  379. package/src/core/contexts/composition/CompositionProvider.tsx +15 -0
  380. package/src/core/contexts/composition/composition.ts +16 -0
  381. package/src/core/contexts/message/MessageProvider.tsx +46 -0
  382. package/src/core/contexts/message/message.ts +14 -0
  383. package/src/core/contexts/modal/CardModal/CardModal.tsx +256 -0
  384. package/src/core/contexts/modal/CarouselModal/CarouselItem.tsx +97 -0
  385. package/src/core/contexts/modal/CarouselModal/CarouselModal.tsx +280 -0
  386. package/src/core/contexts/modal/CarouselModal/FilesDropZone.tsx +118 -0
  387. package/src/core/contexts/modal/ConfirmModal/ConfirmModal.tsx +72 -0
  388. package/src/core/contexts/modal/EmbedModal/EmbedModal.tsx +57 -0
  389. package/src/core/contexts/modal/ModalProvider.tsx +114 -0
  390. package/src/core/contexts/modal/modal.ts +36 -0
  391. package/src/core/createReactEditor.ts +7 -0
  392. package/src/core/createRenderElement.ts +6 -0
  393. package/src/core/createRenderElements.ts +6 -0
  394. package/src/core/createRenderMark.ts +6 -0
  395. package/src/core/index.ts +53 -0
  396. package/src/core/typings/descendant.ts +3 -0
  397. package/src/core/typings/handler.ts +32 -0
  398. package/src/core/typings/renderer.ts +33 -0
  399. package/src/core/typings/with.ts +5 -0
  400. package/strikethrough/jsx-serializer/package.json +6 -3
  401. package/strikethrough/jsx-serializer/src/createJsxSerializeStrikethrough.ts +8 -0
  402. package/strikethrough/jsx-serializer/tsconfig.build.json +5 -0
  403. package/strikethrough/package.json +5 -3
  404. package/strikethrough/src/constants.ts +6 -0
  405. package/strikethrough/src/createReactStrikethrough.ts +11 -0
  406. package/strikethrough/src/defaultRenderStrikethrough.tsx +12 -0
  407. package/strikethrough/src/typings.ts +6 -0
  408. package/strikethrough/tsconfig.build.json +5 -0
  409. package/table/jsx-serializer/package.json +6 -3
  410. package/table/jsx-serializer/src/components/Table.tsx +6 -0
  411. package/table/jsx-serializer/src/components/TableBody.tsx +6 -0
  412. package/table/jsx-serializer/src/components/TableCell.tsx +51 -0
  413. package/table/jsx-serializer/src/components/TableHeader.tsx +16 -0
  414. package/table/jsx-serializer/src/components/TableMain.tsx +36 -0
  415. package/table/jsx-serializer/src/components/TableRow.tsx +6 -0
  416. package/table/jsx-serializer/src/components/TableTitle.tsx +6 -0
  417. package/table/jsx-serializer/src/contexts/TableHeaderContext.ts +3 -0
  418. package/table/jsx-serializer/src/contexts/TableScrollContext.ts +6 -0
  419. package/table/jsx-serializer/src/createJsxSerializeTable.tsx +163 -0
  420. package/table/jsx-serializer/src/defaultRenderTableElements.tsx +19 -0
  421. package/table/jsx-serializer/src/typings.ts +36 -0
  422. package/table/jsx-serializer/tsconfig.build.json +5 -0
  423. package/table/package.json +12 -3
  424. package/table/src/components/ColumnDragButton.tsx +72 -0
  425. package/table/src/components/RowDragButton.tsx +69 -0
  426. package/table/src/components/Table.tsx +351 -0
  427. package/table/src/components/TableBody.tsx +15 -0
  428. package/table/src/components/TableCell.tsx +415 -0
  429. package/table/src/components/TableDragLayer.tsx +127 -0
  430. package/table/src/components/TableHeader.tsx +26 -0
  431. package/table/src/components/TableMain.tsx +322 -0
  432. package/table/src/components/TableRow.tsx +11 -0
  433. package/table/src/components/TableTitle.tsx +28 -0
  434. package/table/src/contexts/TableActionsContext.ts +23 -0
  435. package/table/src/contexts/TableDragContext.tsx +58 -0
  436. package/table/src/contexts/TableHeaderContext.ts +6 -0
  437. package/table/src/contexts/TableMetadataContext.ts +21 -0
  438. package/table/src/contexts/TableScrollContext.ts +8 -0
  439. package/table/src/contexts/TableStateContext.ts +9 -0
  440. package/table/src/createReactTable.ts +371 -0
  441. package/table/src/defaultRenderTableElements.tsx +19 -0
  442. package/table/src/hooks/useColumnResize.ts +242 -0
  443. package/table/src/hooks/useTableActions.ts +1394 -0
  444. package/table/src/hooks/useTableActionsContext.ts +12 -0
  445. package/table/src/hooks/useTableCell.ts +223 -0
  446. package/table/src/hooks/useTableCellToolbarActions.tsx +694 -0
  447. package/table/src/hooks/useTableMetadata.ts +12 -0
  448. package/table/src/hooks/useTableStateContext.ts +12 -0
  449. package/table/src/hooks/useTableStates.ts +14 -0
  450. package/table/src/typings.ts +107 -0
  451. package/table/src/utils/helper.ts +1106 -0
  452. package/table/toolbar/package.json +6 -3
  453. package/table/toolbar/src/TableToolbarIcon.tsx +17 -0
  454. package/table/toolbar/src/useTableTool.ts +14 -0
  455. package/table/toolbar/tsconfig.build.json +5 -0
  456. package/table/tsconfig.build.json +5 -0
  457. package/toggle-mark/jsx-serializer/package.json +6 -3
  458. package/toggle-mark/jsx-serializer/src/createJsxSerializeToggleMarkCreator.ts +12 -0
  459. package/toggle-mark/jsx-serializer/src/index.ts +6 -0
  460. package/toggle-mark/jsx-serializer/src/typings.ts +3 -0
  461. package/toggle-mark/jsx-serializer/tsconfig.build.json +5 -0
  462. package/toggle-mark/package.json +5 -3
  463. package/toggle-mark/src/createReactToggleMarkCreator.ts +33 -0
  464. package/toggle-mark/src/index.ts +6 -0
  465. package/toggle-mark/src/typings.ts +24 -0
  466. package/toggle-mark/toolbar/package.json +6 -3
  467. package/toggle-mark/toolbar/src/ToggleMarkToolbarIcon.tsx +17 -0
  468. package/toggle-mark/toolbar/src/useToggleMarkTool.ts +11 -0
  469. package/toggle-mark/toolbar/tsconfig.build.json +5 -0
  470. package/toggle-mark/tsconfig.build.json +5 -0
  471. package/toolbar/package.json +9 -3
  472. package/toolbar/src/components/InlineToolbar.tsx +81 -0
  473. package/toolbar/src/components/Toolbar.tsx +243 -0
  474. package/toolbar/src/components/ToolbarGroupIcon.tsx +131 -0
  475. package/toolbar/src/components/ToolbarIcon.tsx +84 -0
  476. package/toolbar/src/components/ToolbarInput.tsx +66 -0
  477. package/toolbar/src/components/toolbarIconName.ts +125 -0
  478. package/toolbar/src/constants.tsx +6 -0
  479. package/toolbar/src/contexts/StartToolInputContext.ts +4 -0
  480. package/toolbar/src/contexts/toolbar.ts +14 -0
  481. package/toolbar/src/contexts/toolbarMenu.ts +15 -0
  482. package/toolbar/src/hooks/useAutoGroupIcons.tsx +98 -0
  483. package/toolbar/src/hooks/useStartToolInput.ts +6 -0
  484. package/toolbar/src/index.ts +7 -0
  485. package/toolbar/src/typings.ts +8 -0
  486. package/toolbar/tsconfig.build.json +5 -0
  487. package/tsconfig.build.json +8 -0
  488. package/underline/jsx-serializer/package.json +6 -3
  489. package/underline/jsx-serializer/src/createJsxSerializeUnderline.ts +8 -0
  490. package/underline/jsx-serializer/tsconfig.build.json +5 -0
  491. package/underline/package.json +5 -3
  492. package/underline/src/constants.ts +6 -0
  493. package/underline/src/createReactUnderline.ts +11 -0
  494. package/underline/src/defaultRenderUnderline.tsx +12 -0
  495. package/underline/src/typings.ts +6 -0
  496. package/underline/tsconfig.build.json +5 -0
  497. package/utils/package.json +1 -4
  498. package/utils/src/composeRefs.ts +34 -0
  499. package/utils/src/removePreviousElement.ts +62 -0
  500. package/utils/src/upload.ts +83 -0
  501. package/utils/src/useClickAway.ts +34 -0
  502. package/utils/src/useDocumentEvents.ts +35 -0
  503. package/utils/src/useIsomorphicLayoutEffect.ts +8 -0
  504. package/utils/src/usePreviousValue.ts +11 -0
  505. package/utils/tsconfig.build.json +5 -0
  506. package/LICENSE +0 -21
  507. package/_internal/index.cjs.js +0 -59
  508. package/_internal/index.js +0 -5
  509. package/_internal/renderer/composeRenderElementsBase.d.ts +0 -3
  510. package/_internal/renderer/composeRenderElementsBase.js +0 -13
  511. package/_internal/renderer/composeRenderLeafsBase.d.ts +0 -3
  512. package/_internal/renderer/composeRenderLeafsBase.js +0 -11
  513. package/_internal/renderer/createRenderElementBase.d.ts +0 -3
  514. package/_internal/renderer/createRenderElementBase.js +0 -9
  515. package/_internal/renderer/createRenderElementsBase.d.ts +0 -3
  516. package/_internal/renderer/createRenderElementsBase.js +0 -11
  517. package/_internal/renderer/createRenderMarkBase.d.ts +0 -3
  518. package/_internal/renderer/createRenderMarkBase.js +0 -13
  519. package/_internal/renderer/typings.d.ts +0 -19
  520. package/accordion/accordion.css +0 -1
  521. package/accordion/components/Accordion.d.ts +0 -9
  522. package/accordion/components/Accordion.js +0 -22
  523. package/accordion/components/AccordionContent.d.ts +0 -8
  524. package/accordion/components/AccordionContent.js +0 -24
  525. package/accordion/components/AccordionTitle.d.ts +0 -8
  526. package/accordion/components/AccordionTitle.js +0 -20
  527. package/accordion/contexts/AccordionContext.d.ts +0 -2
  528. package/accordion/contexts/AccordionContext.js +0 -5
  529. package/accordion/createReactAccordion.d.ts +0 -4
  530. package/accordion/createReactAccordion.js +0 -144
  531. package/accordion/defaultRenderAccordionElements.d.ts +0 -2
  532. package/accordion/defaultRenderAccordionElements.js +0 -12
  533. package/accordion/hooks/useAccordion.d.ts +0 -1
  534. package/accordion/hooks/useAccordion.js +0 -8
  535. package/accordion/index.cjs.js +0 -212
  536. package/accordion/index.js +0 -10
  537. package/accordion/jsx-serializer/createJsxSerializeAccordion.d.ts +0 -5
  538. package/accordion/jsx-serializer/createJsxSerializeAccordion.js +0 -48
  539. package/accordion/jsx-serializer/defaultRenderAccordionElements.d.ts +0 -2
  540. package/accordion/jsx-serializer/defaultRenderAccordionElements.js +0 -16
  541. package/accordion/jsx-serializer/index.cjs.js +0 -64
  542. package/accordion/jsx-serializer/index.js +0 -2
  543. package/accordion/jsx-serializer/typings.d.ts +0 -4
  544. package/accordion/toolbar/AccordionToolbarIcon.d.ts +0 -8
  545. package/accordion/toolbar/AccordionToolbarIcon.js +0 -12
  546. package/accordion/toolbar/index.cjs.js +0 -22
  547. package/accordion/toolbar/index.d.ts +0 -2
  548. package/accordion/toolbar/index.js +0 -2
  549. package/accordion/toolbar/useAccordionTool.d.ts +0 -4
  550. package/accordion/toolbar/useAccordionTool.js +0 -10
  551. package/accordion/typings.d.ts +0 -25
  552. package/align/constants.d.ts +0 -8
  553. package/align/constants.js +0 -10
  554. package/align/createReactAlign.d.ts +0 -2
  555. package/align/createReactAlign.js +0 -26
  556. package/align/index.cjs.js +0 -39
  557. package/align/index.js +0 -2
  558. package/align/toolbar/AlignToolbarIcon.d.ts +0 -10
  559. package/align/toolbar/AlignToolbarIcon.js +0 -12
  560. package/align/toolbar/index.cjs.js +0 -30
  561. package/align/toolbar/index.d.ts +0 -2
  562. package/align/toolbar/index.js +0 -2
  563. package/align/toolbar/useAlignTool.d.ts +0 -6
  564. package/align/toolbar/useAlignTool.js +0 -18
  565. package/align/typings.d.ts +0 -17
  566. package/blockquote/blockquote.css +0 -1
  567. package/blockquote/constants.d.ts +0 -6
  568. package/blockquote/constants.js +0 -8
  569. package/blockquote/createReactBlockquote.d.ts +0 -5
  570. package/blockquote/createReactBlockquote.js +0 -84
  571. package/blockquote/defaultRenderBlockquoteElement.d.ts +0 -6
  572. package/blockquote/defaultRenderBlockquoteElement.js +0 -7
  573. package/blockquote/index.cjs.js +0 -98
  574. package/blockquote/index.js +0 -3
  575. package/blockquote/jsx-serializer/createJsxSerializeBlockquote.d.ts +0 -4
  576. package/blockquote/jsx-serializer/createJsxSerializeBlockquote.js +0 -10
  577. package/blockquote/jsx-serializer/index.cjs.js +0 -13
  578. package/blockquote/jsx-serializer/index.js +0 -2
  579. package/blockquote/jsx-serializer/typings.d.ts +0 -3
  580. package/blockquote/toolbar/BlockquoteToolbarIcon.d.ts +0 -8
  581. package/blockquote/toolbar/BlockquoteToolbarIcon.js +0 -12
  582. package/blockquote/toolbar/index.cjs.js +0 -23
  583. package/blockquote/toolbar/index.js +0 -2
  584. package/blockquote/toolbar/useBlockquoteTool.d.ts +0 -5
  585. package/blockquote/toolbar/useBlockquoteTool.js +0 -11
  586. package/blockquote/typings.d.ts +0 -16
  587. package/bold/constants.d.ts +0 -6
  588. package/bold/constants.js +0 -8
  589. package/bold/createReactBold.d.ts +0 -1
  590. package/bold/createReactBold.js +0 -11
  591. package/bold/defaultRenderBold.d.ts +0 -3
  592. package/bold/defaultRenderBold.js +0 -7
  593. package/bold/index.cjs.js +0 -24
  594. package/bold/index.js +0 -3
  595. package/bold/jsx-serializer/createJsxSerializeBold.d.ts +0 -1
  596. package/bold/jsx-serializer/createJsxSerializeBold.js +0 -10
  597. package/bold/jsx-serializer/index.cjs.js +0 -13
  598. package/bold/jsx-serializer/index.js +0 -2
  599. package/bold/typings.d.ts +0 -5
  600. package/card/card.css +0 -1
  601. package/card/components/Card.d.ts +0 -15
  602. package/card/components/Card.js +0 -109
  603. package/card/components/CardContents.d.ts +0 -9
  604. package/card/components/CardContents.js +0 -18
  605. package/card/components/CardImage.d.ts +0 -9
  606. package/card/components/CardImage.js +0 -13
  607. package/card/components/CardPlaceholder.d.ts +0 -4
  608. package/card/components/CardPlaceholder.js +0 -21
  609. package/card/createReactCard.d.ts +0 -4
  610. package/card/createReactCard.js +0 -82
  611. package/card/defaultRenderCardElements.d.ts +0 -3
  612. package/card/defaultRenderCardElements.js +0 -14
  613. package/card/index.cjs.js +0 -242
  614. package/card/index.js +0 -6
  615. package/card/jsx-serializer/createJsxSerializeCard.d.ts +0 -5
  616. package/card/jsx-serializer/createJsxSerializeCard.js +0 -48
  617. package/card/jsx-serializer/defaultRenderCardElements.d.ts +0 -2
  618. package/card/jsx-serializer/defaultRenderCardElements.js +0 -10
  619. package/card/jsx-serializer/index.cjs.js +0 -58
  620. package/card/jsx-serializer/index.js +0 -2
  621. package/card/jsx-serializer/typings.d.ts +0 -9
  622. package/card/toolbar/CardToolbarIcon.d.ts +0 -8
  623. package/card/toolbar/CardToolbarIcon.js +0 -12
  624. package/card/toolbar/index.cjs.js +0 -52
  625. package/card/toolbar/index.js +0 -2
  626. package/card/toolbar/useCardTool.d.ts +0 -4
  627. package/card/toolbar/useCardTool.js +0 -41
  628. package/card/typings.d.ts +0 -24
  629. package/carousel/carousel.css +0 -1
  630. package/carousel/components/Carousel.d.ts +0 -15
  631. package/carousel/components/Carousel.js +0 -66
  632. package/carousel/components/CarouselCaption.d.ts +0 -9
  633. package/carousel/components/CarouselCaption.js +0 -12
  634. package/carousel/components/CarouselImages.d.ts +0 -9
  635. package/carousel/components/CarouselImages.js +0 -52
  636. package/carousel/components/CarouselPlaceholder.d.ts +0 -4
  637. package/carousel/components/CarouselPlaceholder.js +0 -17
  638. package/carousel/contexts/CarouselContext.d.ts +0 -2
  639. package/carousel/contexts/CarouselContext.js +0 -5
  640. package/carousel/createReactCarousel.d.ts +0 -4
  641. package/carousel/createReactCarousel.js +0 -82
  642. package/carousel/defaultRenderCarouselElements.d.ts +0 -3
  643. package/carousel/defaultRenderCarouselElements.js +0 -14
  644. package/carousel/hooks/useCarousel.d.ts +0 -1
  645. package/carousel/hooks/useCarousel.js +0 -8
  646. package/carousel/index.cjs.js +0 -236
  647. package/carousel/index.js +0 -8
  648. package/carousel/jsx-serializer/createJsxSerializeCarousel.d.ts +0 -5
  649. package/carousel/jsx-serializer/createJsxSerializeCarousel.js +0 -48
  650. package/carousel/jsx-serializer/defaultRenderCarouselElements.d.ts +0 -2
  651. package/carousel/jsx-serializer/defaultRenderCarouselElements.js +0 -10
  652. package/carousel/jsx-serializer/index.cjs.js +0 -58
  653. package/carousel/jsx-serializer/index.js +0 -2
  654. package/carousel/jsx-serializer/typings.d.ts +0 -9
  655. package/carousel/toolbar/CarouselToolbarIcon.d.ts +0 -8
  656. package/carousel/toolbar/CarouselToolbarIcon.js +0 -12
  657. package/carousel/toolbar/index.cjs.js +0 -43
  658. package/carousel/toolbar/index.js +0 -2
  659. package/carousel/toolbar/useCarouselTool.d.ts +0 -4
  660. package/carousel/toolbar/useCarouselTool.js +0 -32
  661. package/carousel/typings.d.ts +0 -27
  662. package/components/BaseField/index.d.ts +0 -11
  663. package/components/BaseField/index.js +0 -17
  664. package/components/Button/index.d.ts +0 -14
  665. package/components/Button/index.js +0 -12
  666. package/components/Hint/index.d.ts +0 -15
  667. package/components/Hint/index.js +0 -30
  668. package/components/Icon/index.d.ts +0 -15
  669. package/components/Icon/index.js +0 -21
  670. package/components/ImageUploader/index.d.ts +0 -25
  671. package/components/ImageUploader/index.js +0 -174
  672. package/components/Input/index.d.ts +0 -14
  673. package/components/Input/index.js +0 -24
  674. package/components/Message/index.d.ts +0 -18
  675. package/components/Message/index.js +0 -72
  676. package/components/Modal/index.d.ts +0 -28
  677. package/components/Modal/index.js +0 -61
  678. package/components/Notifier/NotifierManager.d.ts +0 -17
  679. package/components/Notifier/NotifierManager.js +0 -24
  680. package/components/Notifier/createNotifier.d.ts +0 -21
  681. package/components/Notifier/createNotifier.js +0 -60
  682. package/components/Notifier/typings.d.ts +0 -28
  683. package/components/Portal/index.d.ts +0 -7
  684. package/components/Portal/index.js +0 -8
  685. package/components/Progress/index.d.ts +0 -7
  686. package/components/Progress/index.js +0 -20
  687. package/components/SegmentedControl/index.d.ts +0 -13
  688. package/components/SegmentedControl/index.js +0 -14
  689. package/components/Textarea/index.d.ts +0 -15
  690. package/components/Textarea/index.js +0 -24
  691. package/components/Toggle/index.d.ts +0 -8
  692. package/components/Toggle/index.js +0 -15
  693. package/components/Tooltip/calculatePosition.d.ts +0 -5
  694. package/components/Tooltip/calculatePosition.js +0 -69
  695. package/components/Tooltip/index.d.ts +0 -10
  696. package/components/Tooltip/index.js +0 -124
  697. package/components/Tooltip/typings.d.ts +0 -29
  698. package/components/Transition/SlideFade.d.ts +0 -20
  699. package/components/Transition/SlideFade.js +0 -91
  700. package/components/Transition/Transition.d.ts +0 -98
  701. package/components/Transition/Transition.js +0 -27
  702. package/components/Transition/getTransitionStyleProps.d.ts +0 -16
  703. package/components/Transition/getTransitionStyleProps.js +0 -25
  704. package/components/Transition/useSetNodeTransition.d.ts +0 -7
  705. package/components/Transition/useSetNodeTransition.js +0 -35
  706. package/components/baseField.css +0 -1
  707. package/components/button.css +0 -1
  708. package/components/components.css +0 -1
  709. package/components/hint.css +0 -1
  710. package/components/imageUploader.css +0 -1
  711. package/components/index.cjs.js +0 -867
  712. package/components/index.d.ts +0 -16
  713. package/components/index.js +0 -15
  714. package/components/input.css +0 -1
  715. package/components/message.css +0 -1
  716. package/components/modal.css +0 -1
  717. package/components/progress.css +0 -1
  718. package/components/segmentedControl.css +0 -1
  719. package/components/textarea.css +0 -1
  720. package/components/toggle.css +0 -1
  721. package/components/tooltip.css +0 -1
  722. package/configs/ConfigsProvider.d.ts +0 -18
  723. package/configs/ConfigsProvider.js +0 -15
  724. package/configs/index.cjs.js +0 -58
  725. package/configs/index.js +0 -3
  726. package/configs/locale.d.ts +0 -3
  727. package/configs/locale.js +0 -9
  728. package/configs/theme.d.ts +0 -18
  729. package/configs/theme.js +0 -34
  730. package/core/components/DefaultElement.d.ts +0 -4
  731. package/core/components/DefaultElement.js +0 -5
  732. package/core/components/DefaultLeaf.d.ts +0 -4
  733. package/core/components/DefaultLeaf.js +0 -5
  734. package/core/components/Editable.d.ts +0 -9
  735. package/core/components/Editable.js +0 -71
  736. package/core/components/Quadrats.d.ts +0 -16
  737. package/core/components/Quadrats.js +0 -21
  738. package/core/composeHandlers.d.ts +0 -8
  739. package/core/composeHandlers.js +0 -33
  740. package/core/composeRenderElements.d.ts +0 -6
  741. package/core/composeRenderElements.js +0 -12
  742. package/core/composeRenderLeafs.d.ts +0 -6
  743. package/core/composeRenderLeafs.js +0 -12
  744. package/core/constants.d.ts +0 -1
  745. package/core/constants.js +0 -3
  746. package/core/contexts/composition/CompositionProvider.d.ts +0 -8
  747. package/core/contexts/composition/CompositionProvider.js +0 -8
  748. package/core/contexts/composition/composition.d.ts +0 -7
  749. package/core/contexts/composition/composition.js +0 -11
  750. package/core/contexts/message/MessageProvider.d.ts +0 -5
  751. package/core/contexts/message/MessageProvider.js +0 -35
  752. package/core/contexts/message/message.d.ts +0 -10
  753. package/core/contexts/message/message.js +0 -10
  754. package/core/contexts/modal/CardModal/CardModal.d.ts +0 -28
  755. package/core/contexts/modal/CardModal/CardModal.js +0 -111
  756. package/core/contexts/modal/CarouselModal/CarouselItem.d.ts +0 -15
  757. package/core/contexts/modal/CarouselModal/CarouselItem.js +0 -46
  758. package/core/contexts/modal/CarouselModal/CarouselModal.d.ts +0 -11
  759. package/core/contexts/modal/CarouselModal/CarouselModal.js +0 -169
  760. package/core/contexts/modal/CarouselModal/FilesDropZone.d.ts +0 -13
  761. package/core/contexts/modal/CarouselModal/FilesDropZone.js +0 -64
  762. package/core/contexts/modal/ConfirmModal/ConfirmModal.d.ts +0 -14
  763. package/core/contexts/modal/ConfirmModal/ConfirmModal.js +0 -24
  764. package/core/contexts/modal/EmbedModal/EmbedModal.d.ts +0 -11
  765. package/core/contexts/modal/EmbedModal/EmbedModal.js +0 -27
  766. package/core/contexts/modal/ModalProvider.d.ts +0 -8
  767. package/core/contexts/modal/ModalProvider.js +0 -66
  768. package/core/contexts/modal/modal.d.ts +0 -24
  769. package/core/contexts/modal/modal.js +0 -15
  770. package/core/createReactEditor.d.ts +0 -2
  771. package/core/createReactEditor.js +0 -8
  772. package/core/createRenderElement.d.ts +0 -2
  773. package/core/createRenderElement.js +0 -7
  774. package/core/createRenderElements.d.ts +0 -2
  775. package/core/createRenderElements.js +0 -7
  776. package/core/createRenderMark.d.ts +0 -2
  777. package/core/createRenderMark.js +0 -7
  778. package/core/index.d.ts +0 -37
  779. package/core/typings/descendant.d.ts +0 -2
  780. package/core/typings/handler.d.ts +0 -15
  781. package/core/typings/renderer.d.ts +0 -15
  782. package/core/typings/with.d.ts +0 -4
  783. package/divider/createReactDivider.d.ts +0 -4
  784. package/divider/createReactDivider.js +0 -11
  785. package/divider/defaultRenderDividerElement.d.ts +0 -3
  786. package/divider/defaultRenderDividerElement.js +0 -6
  787. package/divider/divider.css +0 -1
  788. package/divider/index.cjs.js +0 -17
  789. package/divider/index.js +0 -2
  790. package/divider/jsx-serializer/createJsxSerializeDivider.d.ts +0 -4
  791. package/divider/jsx-serializer/createJsxSerializeDivider.js +0 -10
  792. package/divider/jsx-serializer/defaultRenderDividerElement.d.ts +0 -2
  793. package/divider/jsx-serializer/defaultRenderDividerElement.js +0 -6
  794. package/divider/jsx-serializer/index.cjs.js +0 -16
  795. package/divider/jsx-serializer/index.js +0 -2
  796. package/divider/jsx-serializer/typings.d.ts +0 -3
  797. package/divider/toolbar/DividerToolbarIcon.d.ts +0 -8
  798. package/divider/toolbar/DividerToolbarIcon.js +0 -12
  799. package/divider/toolbar/index.cjs.js +0 -22
  800. package/divider/toolbar/index.d.ts +0 -2
  801. package/divider/toolbar/index.js +0 -2
  802. package/divider/toolbar/useDividerTool.d.ts +0 -4
  803. package/divider/toolbar/useDividerTool.js +0 -10
  804. package/divider/typings.d.ts +0 -10
  805. package/editable.css +0 -1
  806. package/embed/components/VideoIframe.d.ts +0 -12
  807. package/embed/components/VideoIframe.js +0 -16
  808. package/embed/createReactEmbed.d.ts +0 -4
  809. package/embed/createReactEmbed.js +0 -17
  810. package/embed/createRenderEmbedElementBase.d.ts +0 -10
  811. package/embed/createRenderEmbedElementBase.js +0 -16
  812. package/embed/embed.css +0 -1
  813. package/embed/hooks/useVideoIframeSize.d.ts +0 -7
  814. package/embed/hooks/useVideoIframeSize.js +0 -24
  815. package/embed/index.cjs.js +0 -68
  816. package/embed/index.js +0 -4
  817. package/embed/jsx-serializer/createJsxSerializeEmbed.d.ts +0 -9
  818. package/embed/jsx-serializer/createJsxSerializeEmbed.js +0 -13
  819. package/embed/jsx-serializer/facebook/index.cjs.js +0 -16
  820. package/embed/jsx-serializer/facebook/index.js +0 -1
  821. package/embed/jsx-serializer/index.cjs.js +0 -15
  822. package/embed/jsx-serializer/index.js +0 -1
  823. package/embed/jsx-serializer/instagram/index.cjs.js +0 -16
  824. package/embed/jsx-serializer/instagram/index.js +0 -1
  825. package/embed/jsx-serializer/twitter/index.cjs.js +0 -16
  826. package/embed/jsx-serializer/twitter/index.js +0 -1
  827. package/embed/jsx-serializer/typings.d.ts +0 -5
  828. package/embed/jsx-serializer/vimeo/index.cjs.js +0 -16
  829. package/embed/jsx-serializer/vimeo/index.js +0 -1
  830. package/embed/jsx-serializer/youtube/index.cjs.js +0 -7
  831. package/embed/jsx-serializer/youtube/index.js +0 -1
  832. package/embed/renderers/base/components/BaseEmbedElement.d.ts +0 -21
  833. package/embed/renderers/base/components/BaseEmbedElement.js +0 -70
  834. package/embed/renderers/base/index.cjs.js +0 -73
  835. package/embed/renderers/base/index.d.ts +0 -1
  836. package/embed/renderers/base/index.js +0 -1
  837. package/embed/renderers/facebook/components/Facebook.d.ts +0 -12
  838. package/embed/renderers/facebook/components/Facebook.js +0 -23
  839. package/embed/renderers/facebook/defaultRenderFacebookEmbedElement.d.ts +0 -5
  840. package/embed/renderers/facebook/defaultRenderFacebookEmbedElement.js +0 -46
  841. package/embed/renderers/facebook/index.cjs.js +0 -70
  842. package/embed/renderers/facebook/index.js +0 -2
  843. package/embed/renderers/instagram/components/Instagram.d.ts +0 -12
  844. package/embed/renderers/instagram/components/Instagram.js +0 -53
  845. package/embed/renderers/instagram/defaultRenderInstagramEmbedElement.d.ts +0 -5
  846. package/embed/renderers/instagram/defaultRenderInstagramEmbedElement.js +0 -46
  847. package/embed/renderers/instagram/hooks/useLoadInstagramEmbedApi.d.ts +0 -1
  848. package/embed/renderers/instagram/hooks/useLoadInstagramEmbedApi.js +0 -27
  849. package/embed/renderers/instagram/index.cjs.js +0 -124
  850. package/embed/renderers/instagram/index.js +0 -3
  851. package/embed/renderers/podcast-apple/components/PodcastApple.d.ts +0 -11
  852. package/embed/renderers/podcast-apple/components/PodcastApple.js +0 -13
  853. package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.d.ts +0 -5
  854. package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.js +0 -39
  855. package/embed/renderers/podcast-apple/index.cjs.js +0 -53
  856. package/embed/renderers/podcast-apple/index.js +0 -2
  857. package/embed/renderers/spotify/components/Spotify.d.ts +0 -12
  858. package/embed/renderers/spotify/components/Spotify.js +0 -18
  859. package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.d.ts +0 -5
  860. package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.js +0 -36
  861. package/embed/renderers/spotify/index.cjs.js +0 -55
  862. package/embed/renderers/spotify/index.js +0 -2
  863. package/embed/renderers/twitter/components/Twitter.d.ts +0 -12
  864. package/embed/renderers/twitter/components/Twitter.js +0 -24
  865. package/embed/renderers/twitter/defaultRenderTwitterEmbedElement.d.ts +0 -5
  866. package/embed/renderers/twitter/defaultRenderTwitterEmbedElement.js +0 -46
  867. package/embed/renderers/twitter/hooks/useLoadTwitterEmbedApi.d.ts +0 -2
  868. package/embed/renderers/twitter/hooks/useLoadTwitterEmbedApi.js +0 -33
  869. package/embed/renderers/twitter/index.cjs.js +0 -101
  870. package/embed/renderers/twitter/index.js +0 -3
  871. package/embed/renderers/vimeo/defaultRenderVimeoEmbedElement.d.ts +0 -6
  872. package/embed/renderers/vimeo/defaultRenderVimeoEmbedElement.js +0 -30
  873. package/embed/renderers/vimeo/index.cjs.js +0 -34
  874. package/embed/renderers/vimeo/index.js +0 -1
  875. package/embed/renderers/youtube/defaultRenderYoutubeEmbedElement.d.ts +0 -6
  876. package/embed/renderers/youtube/defaultRenderYoutubeEmbedElement.js +0 -30
  877. package/embed/renderers/youtube/index.cjs.js +0 -34
  878. package/embed/renderers/youtube/index.js +0 -1
  879. package/embed/toolbar/EmbedToolbarIcon.d.ts +0 -12
  880. package/embed/toolbar/EmbedToolbarIcon.js +0 -12
  881. package/embed/toolbar/index.cjs.js +0 -98
  882. package/embed/toolbar/index.d.ts +0 -2
  883. package/embed/toolbar/index.js +0 -2
  884. package/embed/toolbar/useEmbedTool.d.ts +0 -4
  885. package/embed/toolbar/useEmbedTool.js +0 -87
  886. package/embed/typings.d.ts +0 -15
  887. package/file-uploader/components/FileUploader.d.ts +0 -4
  888. package/file-uploader/components/FileUploader.js +0 -13
  889. package/file-uploader/createReactFileUploader.d.ts +0 -5
  890. package/file-uploader/createReactFileUploader.js +0 -17
  891. package/file-uploader/defaultRenderFileUploaderElement.d.ts +0 -2
  892. package/file-uploader/defaultRenderFileUploaderElement.js +0 -6
  893. package/file-uploader/file-uploader.css +0 -1
  894. package/file-uploader/hooks/useFileUploader.d.ts +0 -4
  895. package/file-uploader/hooks/useFileUploader.js +0 -13
  896. package/file-uploader/index.cjs.js +0 -42
  897. package/file-uploader/index.js +0 -4
  898. package/file-uploader/toolbar/FileUploaderToolbarIcon.d.ts +0 -10
  899. package/file-uploader/toolbar/FileUploaderToolbarIcon.js +0 -12
  900. package/file-uploader/toolbar/index.cjs.js +0 -25
  901. package/file-uploader/toolbar/index.d.ts +0 -2
  902. package/file-uploader/toolbar/index.js +0 -2
  903. package/file-uploader/toolbar/useFileUploaderTool.d.ts +0 -5
  904. package/file-uploader/toolbar/useFileUploaderTool.js +0 -13
  905. package/file-uploader/typings.d.ts +0 -14
  906. package/footnote/createReactFootnote.d.ts +0 -4
  907. package/footnote/createReactFootnote.js +0 -13
  908. package/footnote/defaultRenderFootnoteElement.d.ts +0 -9
  909. package/footnote/defaultRenderFootnoteElement.js +0 -15
  910. package/footnote/index.cjs.js +0 -71
  911. package/footnote/index.js +0 -4
  912. package/footnote/jsx-serializer/createJsxSerializeFootnote.d.ts +0 -4
  913. package/footnote/jsx-serializer/createJsxSerializeFootnote.js +0 -11
  914. package/footnote/jsx-serializer/defaultRenderFootnoteElement.d.ts +0 -5
  915. package/footnote/jsx-serializer/defaultRenderFootnoteElement.js +0 -12
  916. package/footnote/jsx-serializer/index.cjs.js +0 -23
  917. package/footnote/jsx-serializer/index.js +0 -2
  918. package/footnote/jsx-serializer/typings.d.ts +0 -3
  919. package/footnote/toolbar/FootnoteToolbarIcon.d.ts +0 -10
  920. package/footnote/toolbar/FootnoteToolbarIcon.js +0 -12
  921. package/footnote/toolbar/index.cjs.js +0 -30
  922. package/footnote/toolbar/index.d.ts +0 -2
  923. package/footnote/toolbar/index.js +0 -2
  924. package/footnote/toolbar/useFootnoteTool.d.ts +0 -7
  925. package/footnote/toolbar/useFootnoteTool.js +0 -19
  926. package/footnote/typings.d.ts +0 -9
  927. package/footnote/useFootnotes.d.ts +0 -4
  928. package/footnote/useFootnotes.js +0 -21
  929. package/footnote/useFootnotesFromNodes.d.ts +0 -4
  930. package/footnote/useFootnotesFromNodes.js +0 -27
  931. package/heading/constants.d.ts +0 -9
  932. package/heading/constants.js +0 -11
  933. package/heading/createReactHeading.d.ts +0 -4
  934. package/heading/createReactHeading.js +0 -47
  935. package/heading/defaultRenderHeadingElement.d.ts +0 -16
  936. package/heading/defaultRenderHeadingElement.js +0 -20
  937. package/heading/heading.css +0 -1
  938. package/heading/index.cjs.js +0 -77
  939. package/heading/index.js +0 -3
  940. package/heading/jsx-serializer/createJsxSerializeHeading.d.ts +0 -4
  941. package/heading/jsx-serializer/createJsxSerializeHeading.js +0 -10
  942. package/heading/jsx-serializer/index.cjs.js +0 -13
  943. package/heading/jsx-serializer/index.js +0 -2
  944. package/heading/jsx-serializer/typings.d.ts +0 -3
  945. package/heading/toolbar/HeadingToolbarIcon.d.ts +0 -10
  946. package/heading/toolbar/HeadingToolbarIcon.js +0 -12
  947. package/heading/toolbar/index.cjs.js +0 -23
  948. package/heading/toolbar/index.d.ts +0 -2
  949. package/heading/toolbar/index.js +0 -2
  950. package/heading/toolbar/useToggleHeadingTool.d.ts +0 -6
  951. package/heading/toolbar/useToggleHeadingTool.js +0 -11
  952. package/heading/typings.d.ts +0 -15
  953. package/highlight/constants.d.ts +0 -6
  954. package/highlight/constants.js +0 -8
  955. package/highlight/createReactHighlight.d.ts +0 -1
  956. package/highlight/createReactHighlight.js +0 -11
  957. package/highlight/defaultRenderHighlight.d.ts +0 -3
  958. package/highlight/defaultRenderHighlight.js +0 -7
  959. package/highlight/index.cjs.js +0 -24
  960. package/highlight/index.js +0 -3
  961. package/highlight/jsx-serializer/createJsxSerializeHighlight.d.ts +0 -1
  962. package/highlight/jsx-serializer/createJsxSerializeHighlight.js +0 -10
  963. package/highlight/jsx-serializer/index.cjs.js +0 -13
  964. package/highlight/jsx-serializer/index.js +0 -2
  965. package/highlight/typings.d.ts +0 -5
  966. package/image/components/Image.d.ts +0 -4
  967. package/image/components/Image.js +0 -68
  968. package/image/components/ImageCaption.d.ts +0 -4
  969. package/image/components/ImageCaption.js +0 -23
  970. package/image/components/ImageFigure.d.ts +0 -4
  971. package/image/components/ImageFigure.js +0 -15
  972. package/image/components/ImagePlaceholder.d.ts +0 -4
  973. package/image/components/ImagePlaceholder.js +0 -11
  974. package/image/createReactImage.d.ts +0 -8
  975. package/image/createReactImage.js +0 -121
  976. package/image/defaultRenderImageElements.d.ts +0 -2
  977. package/image/defaultRenderImageElements.js +0 -12
  978. package/image/hooks/useImageResizer.d.ts +0 -7
  979. package/image/hooks/useImageResizer.js +0 -95
  980. package/image/image.css +0 -1
  981. package/image/index.cjs.js +0 -324
  982. package/image/index.js +0 -7
  983. package/image/jsx-serializer/createJsxSerializeImage.d.ts +0 -7
  984. package/image/jsx-serializer/createJsxSerializeImage.js +0 -42
  985. package/image/jsx-serializer/defaultRenderImageElements.d.ts +0 -2
  986. package/image/jsx-serializer/defaultRenderImageElements.js +0 -10
  987. package/image/jsx-serializer/index.cjs.js +0 -52
  988. package/image/jsx-serializer/index.js +0 -2
  989. package/image/jsx-serializer/typings.d.ts +0 -18
  990. package/image/typings.d.ts +0 -22
  991. package/index.cjs.js +0 -709
  992. package/index.js +0 -21
  993. package/input-block/components/InputBlock.d.ts +0 -4
  994. package/input-block/components/InputBlock.js +0 -35
  995. package/input-block/createReactInputBlock.d.ts +0 -4
  996. package/input-block/createReactInputBlock.js +0 -17
  997. package/input-block/defaultRenderInputBlockElement.d.ts +0 -2
  998. package/input-block/defaultRenderInputBlockElement.js +0 -6
  999. package/input-block/hooks/useInputBlock.d.ts +0 -10
  1000. package/input-block/hooks/useInputBlock.js +0 -57
  1001. package/input-block/index.cjs.js +0 -108
  1002. package/input-block/index.js +0 -4
  1003. package/input-block/input-block.css +0 -1
  1004. package/input-block/typings.d.ts +0 -12
  1005. package/italic/constants.d.ts +0 -6
  1006. package/italic/constants.js +0 -8
  1007. package/italic/createReactItalic.d.ts +0 -1
  1008. package/italic/createReactItalic.js +0 -11
  1009. package/italic/defaultRenderItalic.d.ts +0 -3
  1010. package/italic/defaultRenderItalic.js +0 -7
  1011. package/italic/index.cjs.js +0 -24
  1012. package/italic/index.js +0 -3
  1013. package/italic/jsx-serializer/createJsxSerializeItalic.d.ts +0 -1
  1014. package/italic/jsx-serializer/createJsxSerializeItalic.js +0 -10
  1015. package/italic/jsx-serializer/index.cjs.js +0 -13
  1016. package/italic/jsx-serializer/index.js +0 -2
  1017. package/italic/typings.d.ts +0 -5
  1018. package/jsx-serializer/createJsxSerializeElement.d.ts +0 -2
  1019. package/jsx-serializer/createJsxSerializeElement.js +0 -7
  1020. package/jsx-serializer/createJsxSerializeElements.d.ts +0 -2
  1021. package/jsx-serializer/createJsxSerializeElements.js +0 -7
  1022. package/jsx-serializer/createJsxSerializeMark.d.ts +0 -2
  1023. package/jsx-serializer/createJsxSerializeMark.js +0 -7
  1024. package/jsx-serializer/createJsxSerializer.d.ts +0 -18
  1025. package/jsx-serializer/createJsxSerializer.js +0 -49
  1026. package/jsx-serializer/index.cjs.js +0 -66
  1027. package/jsx-serializer/index.js +0 -4
  1028. package/jsx-serializer/typings.d.ts +0 -8
  1029. package/line-break/commonBreak.d.ts +0 -14
  1030. package/line-break/commonBreak.js +0 -31
  1031. package/line-break/createOnKeyDownBreak.d.ts +0 -11
  1032. package/line-break/createOnKeyDownBreak.js +0 -48
  1033. package/line-break/createReactLineBreak.d.ts +0 -4
  1034. package/line-break/createReactLineBreak.js +0 -14
  1035. package/line-break/defaultRenderLineBreakElement.d.ts +0 -3
  1036. package/line-break/defaultRenderLineBreakElement.js +0 -5
  1037. package/line-break/index.cjs.js +0 -102
  1038. package/line-break/index.js +0 -4
  1039. package/line-break/jsx-serializer/createJsxSerializeLineBreak.d.ts +0 -4
  1040. package/line-break/jsx-serializer/createJsxSerializeLineBreak.js +0 -11
  1041. package/line-break/jsx-serializer/defaultRenderLineBreakElement.d.ts +0 -2
  1042. package/line-break/jsx-serializer/defaultRenderLineBreakElement.js +0 -6
  1043. package/line-break/jsx-serializer/index.cjs.js +0 -17
  1044. package/line-break/jsx-serializer/index.js +0 -2
  1045. package/line-break/jsx-serializer/typings.d.ts +0 -3
  1046. package/line-break/line-break.css +0 -1
  1047. package/line-break/renderLineBreakElementWithSymbol.d.ts +0 -3
  1048. package/line-break/renderLineBreakElementWithSymbol.js +0 -5
  1049. package/line-break/typings.d.ts +0 -32
  1050. package/link/createReactLink.d.ts +0 -11
  1051. package/link/createReactLink.js +0 -29
  1052. package/link/defaultRenderLinkElement.d.ts +0 -9
  1053. package/link/defaultRenderLinkElement.js +0 -13
  1054. package/link/index.cjs.js +0 -42
  1055. package/link/index.js +0 -2
  1056. package/link/jsx-serializer/createJsxSerializeLink.d.ts +0 -4
  1057. package/link/jsx-serializer/createJsxSerializeLink.js +0 -10
  1058. package/link/jsx-serializer/defaultRenderLinkElement.d.ts +0 -3
  1059. package/link/jsx-serializer/defaultRenderLinkElement.js +0 -5
  1060. package/link/jsx-serializer/index.cjs.js +0 -15
  1061. package/link/jsx-serializer/index.js +0 -2
  1062. package/link/jsx-serializer/typings.d.ts +0 -3
  1063. package/link/toolbar/LinkToolbarIcon.d.ts +0 -10
  1064. package/link/toolbar/LinkToolbarIcon.js +0 -12
  1065. package/link/toolbar/UnlinkToolbarIcon.d.ts +0 -8
  1066. package/link/toolbar/UnlinkToolbarIcon.js +0 -12
  1067. package/link/toolbar/index.cjs.js +0 -51
  1068. package/link/toolbar/index.d.ts +0 -4
  1069. package/link/toolbar/index.js +0 -4
  1070. package/link/toolbar/useLinkTool.d.ts +0 -7
  1071. package/link/toolbar/useLinkTool.js +0 -25
  1072. package/link/toolbar/useUnlinkTool.d.ts +0 -4
  1073. package/link/toolbar/useUnlinkTool.js +0 -10
  1074. package/link/typings.d.ts +0 -9
  1075. package/list/createReactList.d.ts +0 -4
  1076. package/list/createReactList.js +0 -35
  1077. package/list/defaultRenderListElements.d.ts +0 -7
  1078. package/list/defaultRenderListElements.js +0 -9
  1079. package/list/index.cjs.js +0 -44
  1080. package/list/index.js +0 -2
  1081. package/list/jsx-serializer/createJsxSerializeList.d.ts +0 -7
  1082. package/list/jsx-serializer/createJsxSerializeList.js +0 -15
  1083. package/list/jsx-serializer/index.cjs.js +0 -18
  1084. package/list/jsx-serializer/index.js +0 -2
  1085. package/list/jsx-serializer/typings.d.ts +0 -3
  1086. package/list/list.css +0 -1
  1087. package/list/toolbar/ListToolbarIcon.d.ts +0 -10
  1088. package/list/toolbar/ListToolbarIcon.js +0 -12
  1089. package/list/toolbar/index.cjs.js +0 -23
  1090. package/list/toolbar/index.d.ts +0 -2
  1091. package/list/toolbar/index.js +0 -2
  1092. package/list/toolbar/useListTool.d.ts +0 -6
  1093. package/list/toolbar/useListTool.js +0 -11
  1094. package/list/typings.d.ts +0 -9
  1095. package/paragraph/createReactParagraph.d.ts +0 -2
  1096. package/paragraph/createReactParagraph.js +0 -8
  1097. package/paragraph/createRenderParagraphElement.d.ts +0 -8
  1098. package/paragraph/createRenderParagraphElement.js +0 -10
  1099. package/paragraph/defaultRenderParagraphElement.d.ts +0 -8
  1100. package/paragraph/defaultRenderParagraphElement.js +0 -8
  1101. package/paragraph/index.cjs.js +0 -31
  1102. package/paragraph/index.js +0 -4
  1103. package/paragraph/jsx-serializer/createJsxSerializeParagraph.d.ts +0 -4
  1104. package/paragraph/jsx-serializer/createJsxSerializeParagraph.js +0 -10
  1105. package/paragraph/jsx-serializer/index.cjs.js +0 -13
  1106. package/paragraph/jsx-serializer/index.js +0 -2
  1107. package/paragraph/jsx-serializer/typings.d.ts +0 -3
  1108. package/paragraph/paragraph.css +0 -1
  1109. package/paragraph/renderParagraphElementWithSymbol.d.ts +0 -8
  1110. package/paragraph/renderParagraphElementWithSymbol.js +0 -8
  1111. package/paragraph/toolbar/ParagraphToolbarIcon.d.ts +0 -8
  1112. package/paragraph/toolbar/ParagraphToolbarIcon.js +0 -12
  1113. package/paragraph/toolbar/index.cjs.js +0 -23
  1114. package/paragraph/toolbar/index.js +0 -2
  1115. package/paragraph/toolbar/useToggleParagraphTool.d.ts +0 -5
  1116. package/paragraph/toolbar/useToggleParagraphTool.js +0 -11
  1117. package/read-more/components/ReadMore.d.ts +0 -8
  1118. package/read-more/components/ReadMore.js +0 -14
  1119. package/read-more/createReactReadMore.d.ts +0 -4
  1120. package/read-more/createReactReadMore.js +0 -11
  1121. package/read-more/defaultRenderReadMoreElement.d.ts +0 -3
  1122. package/read-more/defaultRenderReadMoreElement.js +0 -6
  1123. package/read-more/index.cjs.js +0 -27
  1124. package/read-more/index.js +0 -3
  1125. package/read-more/jsx-serializer/createJsxSerializeReadMore.d.ts +0 -4
  1126. package/read-more/jsx-serializer/createJsxSerializeReadMore.js +0 -10
  1127. package/read-more/jsx-serializer/index.cjs.js +0 -13
  1128. package/read-more/jsx-serializer/index.js +0 -2
  1129. package/read-more/jsx-serializer/typings.d.ts +0 -3
  1130. package/read-more/read-more.css +0 -1
  1131. package/read-more/toolbar/ReadMoreToolbarIcon.d.ts +0 -8
  1132. package/read-more/toolbar/ReadMoreToolbarIcon.js +0 -12
  1133. package/read-more/toolbar/index.cjs.js +0 -22
  1134. package/read-more/toolbar/index.d.ts +0 -2
  1135. package/read-more/toolbar/index.js +0 -2
  1136. package/read-more/toolbar/useReadMoreTool.d.ts +0 -4
  1137. package/read-more/toolbar/useReadMoreTool.js +0 -10
  1138. package/read-more/typings.d.ts +0 -9
  1139. package/strikethrough/constants.d.ts +0 -6
  1140. package/strikethrough/constants.js +0 -8
  1141. package/strikethrough/createReactStrikethrough.d.ts +0 -1
  1142. package/strikethrough/createReactStrikethrough.js +0 -11
  1143. package/strikethrough/defaultRenderStrikethrough.d.ts +0 -3
  1144. package/strikethrough/defaultRenderStrikethrough.js +0 -7
  1145. package/strikethrough/index.cjs.js +0 -24
  1146. package/strikethrough/index.js +0 -3
  1147. package/strikethrough/jsx-serializer/createJsxSerializeStrikethrough.d.ts +0 -1
  1148. package/strikethrough/jsx-serializer/createJsxSerializeStrikethrough.js +0 -10
  1149. package/strikethrough/jsx-serializer/index.cjs.js +0 -13
  1150. package/strikethrough/jsx-serializer/index.js +0 -2
  1151. package/strikethrough/typings.d.ts +0 -5
  1152. package/table/components/ColumnDragButton.d.ts +0 -10
  1153. package/table/components/ColumnDragButton.js +0 -41
  1154. package/table/components/RowDragButton.d.ts +0 -10
  1155. package/table/components/RowDragButton.js +0 -42
  1156. package/table/components/Table.d.ts +0 -9
  1157. package/table/components/Table.js +0 -236
  1158. package/table/components/TableBody.d.ts +0 -5
  1159. package/table/components/TableBody.js +0 -8
  1160. package/table/components/TableCell.d.ts +0 -5
  1161. package/table/components/TableCell.js +0 -297
  1162. package/table/components/TableDragLayer.d.ts +0 -6
  1163. package/table/components/TableDragLayer.js +0 -89
  1164. package/table/components/TableHeader.d.ts +0 -5
  1165. package/table/components/TableHeader.js +0 -13
  1166. package/table/components/TableMain.d.ts +0 -5
  1167. package/table/components/TableMain.js +0 -233
  1168. package/table/components/TableRow.d.ts +0 -5
  1169. package/table/components/TableRow.js +0 -8
  1170. package/table/components/TableTitle.d.ts +0 -5
  1171. package/table/components/TableTitle.js +0 -18
  1172. package/table/contexts/TableActionsContext.d.ts +0 -3
  1173. package/table/contexts/TableActionsContext.js +0 -5
  1174. package/table/contexts/TableDragContext.d.ts +0 -26
  1175. package/table/contexts/TableDragContext.js +0 -26
  1176. package/table/contexts/TableHeaderContext.d.ts +0 -2
  1177. package/table/contexts/TableHeaderContext.js +0 -7
  1178. package/table/contexts/TableMetadataContext.d.ts +0 -3
  1179. package/table/contexts/TableMetadataContext.js +0 -5
  1180. package/table/contexts/TableScrollContext.d.ts +0 -2
  1181. package/table/contexts/TableScrollContext.js +0 -9
  1182. package/table/contexts/TableStateContext.d.ts +0 -3
  1183. package/table/contexts/TableStateContext.js +0 -5
  1184. package/table/createReactTable.d.ts +0 -4
  1185. package/table/createReactTable.js +0 -297
  1186. package/table/defaultRenderTableElements.d.ts +0 -2
  1187. package/table/defaultRenderTableElements.js +0 -20
  1188. package/table/hooks/useColumnResize.d.ts +0 -12
  1189. package/table/hooks/useColumnResize.js +0 -168
  1190. package/table/hooks/useTableActions.d.ts +0 -27
  1191. package/table/hooks/useTableActions.js +0 -1092
  1192. package/table/hooks/useTableActionsContext.d.ts +0 -1
  1193. package/table/hooks/useTableActionsContext.js +0 -12
  1194. package/table/hooks/useTableCell.d.ts +0 -16
  1195. package/table/hooks/useTableCell.js +0 -166
  1196. package/table/hooks/useTableCellToolbarActions.d.ts +0 -34
  1197. package/table/hooks/useTableCellToolbarActions.js +0 -540
  1198. package/table/hooks/useTableMetadata.d.ts +0 -1
  1199. package/table/hooks/useTableMetadata.js +0 -12
  1200. package/table/hooks/useTableStateContext.d.ts +0 -1
  1201. package/table/hooks/useTableStateContext.js +0 -12
  1202. package/table/hooks/useTableStates.d.ts +0 -18
  1203. package/table/hooks/useTableStates.js +0 -14
  1204. package/table/index.cjs.js +0 -4016
  1205. package/table/index.js +0 -27
  1206. package/table/jsx-serializer/components/Table.d.ts +0 -3
  1207. package/table/jsx-serializer/components/Table.js +0 -7
  1208. package/table/jsx-serializer/components/TableBody.d.ts +0 -3
  1209. package/table/jsx-serializer/components/TableBody.js +0 -7
  1210. package/table/jsx-serializer/components/TableCell.d.ts +0 -5
  1211. package/table/jsx-serializer/components/TableCell.js +0 -33
  1212. package/table/jsx-serializer/components/TableHeader.d.ts +0 -3
  1213. package/table/jsx-serializer/components/TableHeader.js +0 -10
  1214. package/table/jsx-serializer/components/TableMain.d.ts +0 -6
  1215. package/table/jsx-serializer/components/TableMain.js +0 -18
  1216. package/table/jsx-serializer/components/TableRow.d.ts +0 -3
  1217. package/table/jsx-serializer/components/TableRow.js +0 -7
  1218. package/table/jsx-serializer/components/TableTitle.d.ts +0 -3
  1219. package/table/jsx-serializer/components/TableTitle.js +0 -7
  1220. package/table/jsx-serializer/contexts/TableHeaderContext.d.ts +0 -1
  1221. package/table/jsx-serializer/contexts/TableHeaderContext.js +0 -5
  1222. package/table/jsx-serializer/contexts/TableScrollContext.d.ts +0 -2
  1223. package/table/jsx-serializer/contexts/TableScrollContext.js +0 -7
  1224. package/table/jsx-serializer/createJsxSerializeTable.d.ts +0 -5
  1225. package/table/jsx-serializer/createJsxSerializeTable.js +0 -113
  1226. package/table/jsx-serializer/defaultRenderTableElements.d.ts +0 -2
  1227. package/table/jsx-serializer/defaultRenderTableElements.js +0 -20
  1228. package/table/jsx-serializer/index.cjs.js +0 -195
  1229. package/table/jsx-serializer/index.js +0 -2
  1230. package/table/jsx-serializer/typings.d.ts +0 -12
  1231. package/table/table.css +0 -1
  1232. package/table/toolbar/TableToolbarIcon.d.ts +0 -8
  1233. package/table/toolbar/TableToolbarIcon.js +0 -12
  1234. package/table/toolbar/index.cjs.js +0 -24
  1235. package/table/toolbar/index.js +0 -2
  1236. package/table/toolbar/useTableTool.d.ts +0 -4
  1237. package/table/toolbar/useTableTool.js +0 -13
  1238. package/table/typings.d.ts +0 -68
  1239. package/table/utils/helper.d.ts +0 -186
  1240. package/table/utils/helper.js +0 -799
  1241. package/toggle-mark/createReactToggleMarkCreator.d.ts +0 -6
  1242. package/toggle-mark/createReactToggleMarkCreator.js +0 -20
  1243. package/toggle-mark/index.cjs.js +0 -22
  1244. package/toggle-mark/index.d.ts +0 -2
  1245. package/toggle-mark/index.js +0 -1
  1246. package/toggle-mark/jsx-serializer/createJsxSerializeToggleMarkCreator.d.ts +0 -4
  1247. package/toggle-mark/jsx-serializer/createJsxSerializeToggleMarkCreator.js +0 -7
  1248. package/toggle-mark/jsx-serializer/index.cjs.js +0 -9
  1249. package/toggle-mark/jsx-serializer/index.d.ts +0 -2
  1250. package/toggle-mark/jsx-serializer/index.js +0 -1
  1251. package/toggle-mark/jsx-serializer/typings.d.ts +0 -2
  1252. package/toggle-mark/toolbar/ToggleMarkToolbarIcon.d.ts +0 -8
  1253. package/toggle-mark/toolbar/ToggleMarkToolbarIcon.js +0 -12
  1254. package/toggle-mark/toolbar/index.cjs.js +0 -23
  1255. package/toggle-mark/toolbar/index.js +0 -2
  1256. package/toggle-mark/toolbar/useToggleMarkTool.d.ts +0 -5
  1257. package/toggle-mark/toolbar/useToggleMarkTool.js +0 -11
  1258. package/toggle-mark/typings.d.ts +0 -12
  1259. package/toolbar/components/InlineToolbar.d.ts +0 -19
  1260. package/toolbar/components/InlineToolbar.js +0 -31
  1261. package/toolbar/components/Toolbar.d.ts +0 -25
  1262. package/toolbar/components/Toolbar.js +0 -137
  1263. package/toolbar/components/ToolbarGroupIcon.d.ts +0 -7
  1264. package/toolbar/components/ToolbarGroupIcon.js +0 -80
  1265. package/toolbar/components/ToolbarIcon.d.ts +0 -9
  1266. package/toolbar/components/ToolbarIcon.js +0 -32
  1267. package/toolbar/components/ToolbarInput.d.ts +0 -8
  1268. package/toolbar/components/ToolbarInput.js +0 -38
  1269. package/toolbar/components/toolbarIconName.d.ts +0 -2
  1270. package/toolbar/components/toolbarIconName.js +0 -86
  1271. package/toolbar/constants.d.ts +0 -5
  1272. package/toolbar/constants.js +0 -8
  1273. package/toolbar/contexts/StartToolInputContext.d.ts +0 -2
  1274. package/toolbar/contexts/StartToolInputContext.js +0 -5
  1275. package/toolbar/contexts/toolbar.d.ts +0 -7
  1276. package/toolbar/contexts/toolbar.js +0 -10
  1277. package/toolbar/contexts/toolbarMenu.d.ts +0 -6
  1278. package/toolbar/contexts/toolbarMenu.js +0 -11
  1279. package/toolbar/hooks/useAutoGroupIcons.d.ts +0 -12
  1280. package/toolbar/hooks/useAutoGroupIcons.js +0 -68
  1281. package/toolbar/hooks/useStartToolInput.d.ts +0 -1
  1282. package/toolbar/hooks/useStartToolInput.js +0 -8
  1283. package/toolbar/index.cjs.js +0 -468
  1284. package/toolbar/index.d.ts +0 -7
  1285. package/toolbar/index.js +0 -6
  1286. package/toolbar/toolbar.css +0 -1
  1287. package/toolbar/typings.d.ts +0 -6
  1288. package/underline/constants.d.ts +0 -6
  1289. package/underline/constants.js +0 -8
  1290. package/underline/createReactUnderline.d.ts +0 -1
  1291. package/underline/createReactUnderline.js +0 -11
  1292. package/underline/defaultRenderUnderline.d.ts +0 -3
  1293. package/underline/defaultRenderUnderline.js +0 -7
  1294. package/underline/index.cjs.js +0 -24
  1295. package/underline/index.js +0 -3
  1296. package/underline/jsx-serializer/createJsxSerializeUnderline.d.ts +0 -1
  1297. package/underline/jsx-serializer/createJsxSerializeUnderline.js +0 -10
  1298. package/underline/jsx-serializer/index.cjs.js +0 -13
  1299. package/underline/jsx-serializer/index.js +0 -2
  1300. package/underline/typings.d.ts +0 -5
  1301. package/utils/composeRefs.d.ts +0 -19
  1302. package/utils/composeRefs.js +0 -32
  1303. package/utils/index.cjs.js +0 -193
  1304. package/utils/index.js +0 -7
  1305. package/utils/removePreviousElement.d.ts +0 -9
  1306. package/utils/removePreviousElement.js +0 -44
  1307. package/utils/upload.d.ts +0 -11
  1308. package/utils/upload.js +0 -57
  1309. package/utils/useClickAway.d.ts +0 -5
  1310. package/utils/useClickAway.js +0 -23
  1311. package/utils/useDocumentEvents.d.ts +0 -5
  1312. package/utils/useDocumentEvents.js +0 -21
  1313. package/utils/useIsomorphicLayoutEffect.d.ts +0 -2
  1314. package/utils/useIsomorphicLayoutEffect.js +0 -9
  1315. package/utils/usePreviousValue.d.ts +0 -1
  1316. package/utils/usePreviousValue.js +0 -11
  1317. /package/_internal/{index.d.ts → src/index.ts} +0 -0
  1318. /package/accordion/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1319. /package/accordion/{accordion.scss → src/accordion.scss} +0 -0
  1320. /package/accordion/{index.d.ts → src/index.ts} +0 -0
  1321. /package/align/{index.d.ts → src/index.ts} +0 -0
  1322. /package/blockquote/jsx-serializer/{defaultRenderBlockquoteElement.d.ts → src/defaultRenderBlockquoteElement.ts} +0 -0
  1323. /package/blockquote/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1324. /package/blockquote/{blockquote.scss → src/blockquote.scss} +0 -0
  1325. /package/blockquote/{index.d.ts → src/index.ts} +0 -0
  1326. /package/blockquote/toolbar/{index.d.ts → src/index.ts} +0 -0
  1327. /package/bold/jsx-serializer/{defaultRenderBold.d.ts → src/defaultRenderBold.ts} +0 -0
  1328. /package/bold/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1329. /package/bold/{index.d.ts → src/index.ts} +0 -0
  1330. /package/card/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1331. /package/card/{card.scss → src/card.scss} +0 -0
  1332. /package/card/{index.d.ts → src/index.ts} +0 -0
  1333. /package/card/toolbar/{index.d.ts → src/index.ts} +0 -0
  1334. /package/carousel/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1335. /package/carousel/{carousel.scss → src/carousel.scss} +0 -0
  1336. /package/carousel/{index.d.ts → src/index.ts} +0 -0
  1337. /package/carousel/toolbar/{index.d.ts → src/index.ts} +0 -0
  1338. /package/components/{baseField.scss → src/BaseField/baseField.scss} +0 -0
  1339. /package/components/{button.scss → src/Button/button.scss} +0 -0
  1340. /package/components/{hint.scss → src/Hint/hint.scss} +0 -0
  1341. /package/components/{imageUploader.scss → src/ImageUploader/imageUploader.scss} +0 -0
  1342. /package/components/{input.scss → src/Input/input.scss} +0 -0
  1343. /package/components/{message.scss → src/Message/message.scss} +0 -0
  1344. /package/components/{modal.scss → src/Modal/modal.scss} +0 -0
  1345. /package/components/{progress.scss → src/Progress/progress.scss} +0 -0
  1346. /package/components/{segmentedControl.scss → src/SegmentedControl/segmentedControl.scss} +0 -0
  1347. /package/components/{textarea.scss → src/Textarea/textarea.scss} +0 -0
  1348. /package/components/{toggle.scss → src/Toggle/toggle.scss} +0 -0
  1349. /package/components/{tooltip.scss → src/Tooltip/tooltip.scss} +0 -0
  1350. /package/components/{components.scss → src/components.scss} +0 -0
  1351. /package/configs/{index.d.ts → src/index.ts} +0 -0
  1352. /package/divider/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1353. /package/divider/{divider.scss → src/divider.scss} +0 -0
  1354. /package/divider/{index.d.ts → src/index.ts} +0 -0
  1355. /package/embed/jsx-serializer/facebook/{index.d.ts → src/index.ts} +0 -0
  1356. /package/embed/jsx-serializer/instagram/{index.d.ts → src/index.ts} +0 -0
  1357. /package/embed/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1358. /package/embed/jsx-serializer/twitter/{index.d.ts → src/index.ts} +0 -0
  1359. /package/embed/jsx-serializer/vimeo/{index.d.ts → src/index.ts} +0 -0
  1360. /package/embed/jsx-serializer/youtube/{index.d.ts → src/index.ts} +0 -0
  1361. /package/embed/renderers/facebook/{index.d.ts → src/index.ts} +0 -0
  1362. /package/embed/renderers/instagram/{index.d.ts → src/index.ts} +0 -0
  1363. /package/embed/renderers/podcast-apple/{index.d.ts → src/index.ts} +0 -0
  1364. /package/embed/renderers/spotify/{index.d.ts → src/index.ts} +0 -0
  1365. /package/embed/renderers/twitter/{index.d.ts → src/index.ts} +0 -0
  1366. /package/embed/renderers/vimeo/{index.d.ts → src/index.ts} +0 -0
  1367. /package/embed/renderers/youtube/{index.d.ts → src/index.ts} +0 -0
  1368. /package/embed/{embed.scss → src/embed.scss} +0 -0
  1369. /package/embed/{index.d.ts → src/index.ts} +0 -0
  1370. /package/file-uploader/{file-uploader.scss → src/components/file-uploader.scss} +0 -0
  1371. /package/file-uploader/{index.d.ts → src/index.ts} +0 -0
  1372. /package/footnote/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1373. /package/footnote/{index.d.ts → src/index.ts} +0 -0
  1374. /package/heading/jsx-serializer/{defaultRenderHeadingElement.d.ts → src/defaultRenderHeadingElement.ts} +0 -0
  1375. /package/heading/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1376. /package/heading/{heading.scss → src/heading.scss} +0 -0
  1377. /package/heading/{index.d.ts → src/index.ts} +0 -0
  1378. /package/highlight/jsx-serializer/{defaultRenderHighlight.d.ts → src/defaultRenderHighlight.ts} +0 -0
  1379. /package/highlight/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1380. /package/highlight/{index.d.ts → src/index.ts} +0 -0
  1381. /package/image/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1382. /package/image/{image.scss → src/components/image.scss} +0 -0
  1383. /package/image/{index.d.ts → src/index.ts} +0 -0
  1384. /package/input-block/{index.d.ts → src/index.ts} +0 -0
  1385. /package/input-block/{input-block.scss → src/input-block.scss} +0 -0
  1386. /package/italic/jsx-serializer/{defaultRenderItalic.d.ts → src/defaultRenderItalic.ts} +0 -0
  1387. /package/italic/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1388. /package/italic/{index.d.ts → src/index.ts} +0 -0
  1389. /package/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1390. /package/line-break/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1391. /package/line-break/{index.d.ts → src/index.ts} +0 -0
  1392. /package/line-break/{line-break.scss → src/line-break.scss} +0 -0
  1393. /package/link/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1394. /package/link/{index.d.ts → src/index.ts} +0 -0
  1395. /package/list/jsx-serializer/{defaultRenderListElements.d.ts → src/defaultRenderListElements.ts} +0 -0
  1396. /package/list/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1397. /package/list/{index.d.ts → src/index.ts} +0 -0
  1398. /package/list/{list.scss → src/list.scss} +0 -0
  1399. /package/paragraph/jsx-serializer/{defaultRenderParagraphElement.d.ts → src/defaultRenderParagraphElement.ts} +0 -0
  1400. /package/paragraph/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1401. /package/paragraph/{index.d.ts → src/index.ts} +0 -0
  1402. /package/paragraph/{paragraph.scss → src/paragraph.scss} +0 -0
  1403. /package/paragraph/toolbar/{index.d.ts → src/index.ts} +0 -0
  1404. /package/read-more/jsx-serializer/{defaultRenderReadMoreElement.d.ts → src/defaultRenderReadMoreElement.ts} +0 -0
  1405. /package/read-more/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1406. /package/read-more/{read-more.scss → src/components/read-more.scss} +0 -0
  1407. /package/read-more/{index.d.ts → src/index.ts} +0 -0
  1408. /package/{editable.scss → src/core/components/editable.scss} +0 -0
  1409. /package/{index.d.ts → src/index.ts} +0 -0
  1410. /package/strikethrough/jsx-serializer/{defaultRenderStrikethrough.d.ts → src/defaultRenderStrikethrough.ts} +0 -0
  1411. /package/strikethrough/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1412. /package/strikethrough/{index.d.ts → src/index.ts} +0 -0
  1413. /package/table/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1414. /package/table/{index.d.ts → src/index.ts} +0 -0
  1415. /package/table/{table.scss → src/table.scss} +0 -0
  1416. /package/table/toolbar/{index.d.ts → src/index.ts} +0 -0
  1417. /package/toggle-mark/toolbar/{index.d.ts → src/index.ts} +0 -0
  1418. /package/toolbar/{toolbar.scss → src/components/toolbar.scss} +0 -0
  1419. /package/underline/jsx-serializer/{defaultRenderUnderline.d.ts → src/defaultRenderUnderline.ts} +0 -0
  1420. /package/underline/jsx-serializer/{index.d.ts → src/index.ts} +0 -0
  1421. /package/underline/{index.d.ts → src/index.ts} +0 -0
  1422. /package/utils/{index.d.ts → src/index.ts} +0 -0
@@ -1,799 +0,0 @@
1
- import { Element, Transforms, PARAGRAPH_TYPE } from '@quadrats/core';
2
- import { ReactEditor } from 'slate-react';
3
- import { TABLE_MAIN_TYPE, TABLE_BODY_TYPE, TABLE_HEADER_TYPE, MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE, TABLE_CELL_TYPE, TABLE_ROW_TYPE, MIN_COLUMN_WIDTH_PERCENTAGE, MIN_COLUMN_WIDTH_PIXEL } from '@quadrats/common/table';
4
- import { ALIGNABLE_TYPES, ALIGN_TYPE } from '@quadrats/common/align';
5
-
6
- /**
7
- * 分配百分比寬度,確保總和為 100%
8
- * 前 n-1 個欄位使用四捨五入的平均值,最後一個欄位使用剩餘寬度
9
- * @param count - 欄位數量
10
- * @returns 百分比陣列,總和為 100%
11
- */
12
- function distributeEqualPercentages(count) {
13
- if (count <= 0)
14
- return [];
15
- if (count === 1)
16
- return [100];
17
- const percentages = [];
18
- const averagePercentage = Math.round((100 / count) * 10) / 10;
19
- // 前 n-1 個欄位使用四捨五入的平均值
20
- for (let i = 0; i < count - 1; i++) {
21
- percentages.push(averagePercentage);
22
- }
23
- // 最後一個欄位使用剩餘寬度,確保總和為 100%
24
- const sumOfFirst = percentages.reduce((sum, val) => sum + val, 0);
25
- const lastPercentage = Math.round((100 - sumOfFirst) * 10) / 10;
26
- percentages.push(lastPercentage);
27
- return percentages;
28
- }
29
- /**
30
- * 等比例縮減現有百分比並加入新欄位
31
- * 前 n-1 個縮減後的欄位使用四捨五入,最後一個縮減欄位使用剩餘寬度
32
- * @param currentPercentages - 當前的百分比陣列
33
- * @param newColumnPercentage - 新欄位要佔的百分比
34
- * @param insertIndex - 新欄位插入的位置(0-based)
35
- * @returns 新的百分比陣列,總和為 100%
36
- */
37
- function scalePercentagesWithNewColumn(currentPercentages, newColumnPercentage, insertIndex) {
38
- if (currentPercentages.length === 0)
39
- return [100];
40
- const currentTotal = currentPercentages.reduce((sum, val) => sum + val, 0);
41
- const targetTotal = 100 - newColumnPercentage;
42
- const scaleFactor = targetTotal / currentTotal;
43
- const scaledPercentages = [];
44
- // 前 n-1 個欄位使用縮放後四捨五入的值
45
- for (let i = 0; i < currentPercentages.length - 1; i++) {
46
- const scaledValue = Math.round(currentPercentages[i] * scaleFactor * 10) / 10;
47
- scaledPercentages.push(scaledValue);
48
- }
49
- // 最後一個現有欄位使用剩餘寬度,確保總和正確
50
- const sumOfScaled = scaledPercentages.reduce((sum, val) => sum + val, 0);
51
- const lastScaledValue = Math.round((targetTotal - sumOfScaled) * 10) / 10;
52
- scaledPercentages.push(lastScaledValue);
53
- // 在指定位置插入新欄位
54
- const result = [...scaledPercentages];
55
- result.splice(insertIndex, 0, newColumnPercentage);
56
- return result;
57
- }
58
- /**
59
- * 提取表格的所有基本元素
60
- */
61
- function getTableElements(element) {
62
- const tableMainElement = element.children.find((child) => Element.isElement(child) && child.type.includes(TABLE_MAIN_TYPE));
63
- if (!tableMainElement || !Element.isElement(tableMainElement)) {
64
- return {
65
- tableMainElement: null,
66
- tableBodyElement: null,
67
- tableHeaderElement: null,
68
- };
69
- }
70
- const tableBodyElement = tableMainElement.children.find((child) => Element.isElement(child) && child.type.includes(TABLE_BODY_TYPE));
71
- const tableHeaderElement = tableMainElement.children.find((child) => Element.isElement(child) && child.type.includes(TABLE_HEADER_TYPE));
72
- return {
73
- tableMainElement: Element.isElement(tableMainElement) ? tableMainElement : null,
74
- tableBodyElement: Element.isElement(tableBodyElement) ? tableBodyElement : null,
75
- tableHeaderElement: Element.isElement(tableHeaderElement) ? tableHeaderElement : null,
76
- };
77
- }
78
- /**
79
- * 獲取表格的完整結構
80
- */
81
- function getTableStructure(editor, element) {
82
- var _a;
83
- const elements = getTableElements(element);
84
- if (!elements.tableMainElement || !elements.tableBodyElement) {
85
- return null;
86
- }
87
- const tableMainPath = ReactEditor.findPath(editor, elements.tableMainElement);
88
- const tableBodyPath = ReactEditor.findPath(editor, elements.tableBodyElement);
89
- const tableHeaderPath = elements.tableHeaderElement
90
- ? ReactEditor.findPath(editor, elements.tableHeaderElement)
91
- : null;
92
- const headerRowCount = ((_a = elements.tableHeaderElement) === null || _a === void 0 ? void 0 : _a.children.length) || 0;
93
- const firstRow = elements.tableBodyElement.children[0];
94
- const columnCount = Element.isElement(firstRow) ? firstRow.children.length : 0;
95
- return Object.assign(Object.assign({}, elements), { tableMainPath,
96
- tableBodyPath,
97
- tableHeaderPath,
98
- headerRowCount,
99
- columnCount, firstRow: Element.isElement(firstRow) ? firstRow : null });
100
- }
101
- /**
102
- * 檢查是否有任何 pinned columns
103
- */
104
- function hasAnyPinnedColumns(tableStructure) {
105
- if (Element.isElement(tableStructure.tableBodyElement)) {
106
- const lastRow = tableStructure.tableBodyElement.children[tableStructure.tableBodyElement.children.length - 1];
107
- if (Element.isElement(lastRow) && lastRow.type.includes(TABLE_ROW_TYPE)) {
108
- if (lastRow.children[0] &&
109
- Element.isElement(lastRow.children[0]) &&
110
- lastRow.children[0].type.includes(TABLE_CELL_TYPE)) {
111
- // 如果最後一行 body row 的第一個 cell 是 pinned,代表有任何 pinned columns
112
- return lastRow.children[0].pinned === true;
113
- }
114
- }
115
- }
116
- return false;
117
- }
118
- /**
119
- * 檢查是否有任何 pinned rows
120
- */
121
- function hasAnyPinnedRows(tableStructure) {
122
- if (!tableStructure.tableHeaderElement)
123
- return false;
124
- if (tableStructure.tableHeaderElement.children[0]) {
125
- const firstRow = tableStructure.tableHeaderElement.children[0];
126
- if (Element.isElement(firstRow) && firstRow.type.includes(TABLE_ROW_TYPE)) {
127
- // 如果第一個 header row 的所有 cell 都是 pinned,代表有任何 pinned rows
128
- return firstRow.children.every((cell) => Element.isElement(cell) && cell.type.includes(TABLE_CELL_TYPE) && cell.pinned);
129
- }
130
- }
131
- return false;
132
- }
133
- /**
134
- * 創建新的 table cell
135
- */
136
- function createTableCell(referenceCell, overrideProps) {
137
- var _a;
138
- const baseCell = {
139
- type: TABLE_CELL_TYPE,
140
- children: [
141
- {
142
- type: PARAGRAPH_TYPE,
143
- children: [{ text: '' }],
144
- },
145
- ],
146
- };
147
- if (referenceCell) {
148
- if (referenceCell.treatAsTitle) {
149
- baseCell.treatAsTitle = true;
150
- }
151
- if (referenceCell.pinned) {
152
- baseCell.pinned = true;
153
- }
154
- if ((_a = referenceCell.children[0]) === null || _a === void 0 ? void 0 : _a.align) {
155
- baseCell.children[0].align = referenceCell.children[0].align;
156
- }
157
- }
158
- return Object.assign(Object.assign({}, baseCell), overrideProps);
159
- }
160
- /**
161
- * 獲取參考 row
162
- */
163
- function getReferenceRowFromHeaderOrBody(HeaderOrBodyContainer, rowIndex) {
164
- const row = HeaderOrBodyContainer.children[rowIndex];
165
- if (!Element.isElement(row) || !row.type.includes(TABLE_ROW_TYPE)) {
166
- return undefined;
167
- }
168
- return row;
169
- }
170
- /**
171
- * 收集指定範圍的 cells
172
- * @param tableStructure - 表格結構
173
- * @param scope - 'table' | 'column'
174
- * @param columnIndex - 當 scope 為 'column' 時需要指定
175
- * @returns cells 陣列
176
- */
177
- function collectCells(tableStructure, scope, columnIndex) {
178
- const containers = [tableStructure.tableBodyElement, tableStructure.tableHeaderElement].filter(Boolean);
179
- const cells = [];
180
- for (const container of containers) {
181
- if (!Element.isElement(container))
182
- continue;
183
- for (const row of container.children) {
184
- if (!Element.isElement(row))
185
- continue;
186
- if (scope === 'column' && typeof columnIndex === 'number') {
187
- // 收集指定 column 的 cells
188
- const cell = row.children[columnIndex];
189
- if (Element.isElement(cell)) {
190
- cells.push(cell);
191
- }
192
- }
193
- else if (scope === 'table') {
194
- // 收集所有 cells
195
- for (const cell of row.children) {
196
- if (Element.isElement(cell)) {
197
- cells.push(cell);
198
- }
199
- }
200
- }
201
- }
202
- }
203
- return cells;
204
- }
205
- /**
206
- * 設定指定 cells 的 align
207
- * @param editor - Slate editor
208
- * @param cells - 要設定 align 的 cell 元素陣列
209
- * @param alignValue - align 值
210
- */
211
- function setAlignForCells(editor, cells, alignValue) {
212
- for (const cell of cells) {
213
- if (!Element.isElement(cell))
214
- continue;
215
- const cellPath = ReactEditor.findPath(editor, cell);
216
- // 對 cell 內的所有可 align 的元素設定 align
217
- for (let contentIndex = 0; contentIndex < cell.children.length; contentIndex++) {
218
- const content = cell.children[contentIndex];
219
- if (Element.isElement(content) &&
220
- content.type &&
221
- ALIGNABLE_TYPES.includes(content.type)) {
222
- const contentPath = [...cellPath, contentIndex];
223
- Transforms.setNodes(editor, { [ALIGN_TYPE]: alignValue }, {
224
- at: contentPath,
225
- });
226
- }
227
- }
228
- }
229
- }
230
- /**
231
- * 獲取指定 cells 的 align 狀態
232
- * @param cells - 要檢查的 cell 元素陣列
233
- * @returns 如果所有 cell 的 align 都相同則返回該值,否則返回 'left'
234
- */
235
- function getAlignFromCells(cells) {
236
- const alignValues = [];
237
- for (const cell of cells) {
238
- if (!Element.isElement(cell))
239
- continue;
240
- // 檢查 cell 內的第一個可 align 元素
241
- for (const content of cell.children) {
242
- if (Element.isElement(content) &&
243
- content.type &&
244
- ALIGNABLE_TYPES.includes(content.type)) {
245
- const alignValue = content[ALIGN_TYPE];
246
- if (alignValue) {
247
- alignValues.push(alignValue);
248
- }
249
- break; // 只檢查第一個可 align 元素
250
- }
251
- }
252
- }
253
- // 如果所有 align 值都相同,返回該值;否則返回預設的 'left'
254
- if (alignValues.length > 0) {
255
- const firstAlign = alignValues[0];
256
- const allSame = alignValues.every((align) => align === firstAlign);
257
- if (allSame) {
258
- return firstAlign;
259
- }
260
- }
261
- return 'left';
262
- }
263
- /**
264
- * 獲取釘選欄位的資訊
265
- * @param tableElement - 表格最外層元素
266
- * @returns 釘選欄位的索引陣列和總寬度百分比
267
- */
268
- function getPinnedColumnsInfo(tableElement) {
269
- const { tableBodyElement } = getTableElements(tableElement);
270
- if (!tableBodyElement || !Element.isElement(tableBodyElement)) {
271
- return { pinnedColumnIndices: [], totalPinnedPercentage: 0 };
272
- }
273
- const firstRow = tableBodyElement.children[0];
274
- if (!Element.isElement(firstRow)) {
275
- return { pinnedColumnIndices: [], totalPinnedPercentage: 0 };
276
- }
277
- const pinnedColumnIndices = [];
278
- let totalPinnedPercentage = 0;
279
- firstRow.children.forEach((cell, index) => {
280
- if (Element.isElement(cell) && cell.treatAsTitle && cell.pinned) {
281
- pinnedColumnIndices.push(index);
282
- // 如果有設定 columnWidths,使用設定的寬度
283
- if (tableElement.columnWidths && tableElement.columnWidths[index]) {
284
- const width = tableElement.columnWidths[index];
285
- if (width.type === 'percentage') {
286
- totalPinnedPercentage += width.value;
287
- }
288
- }
289
- }
290
- });
291
- return { pinnedColumnIndices, totalPinnedPercentage };
292
- }
293
- /**
294
- * 強制調整釘選欄位寬度以符合最大限制
295
- * @param columnWidths - 當前欄位寬度陣列
296
- * @param pinnedColumnIndices - 釘選欄位索引陣列
297
- * @returns 調整後的欄位寬度陣列
298
- */
299
- function enforcePinnedColumnsMaxWidth(columnWidths, pinnedColumnIndices) {
300
- if (pinnedColumnIndices.length === 0) {
301
- return columnWidths;
302
- }
303
- // 計算釘選欄位的總寬度
304
- let totalPinnedPercentage = 0;
305
- pinnedColumnIndices.forEach((index) => {
306
- const width = columnWidths[index];
307
- if (width && width.type === 'percentage') {
308
- totalPinnedPercentage += width.value;
309
- }
310
- });
311
- // 如果超過最大限制,按比例縮減
312
- if (totalPinnedPercentage > MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE) {
313
- const scaleFactor = MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE / totalPinnedPercentage;
314
- const newWidths = [...columnWidths];
315
- pinnedColumnIndices.forEach((index) => {
316
- const width = newWidths[index];
317
- if (width && width.type === 'percentage') {
318
- newWidths[index] = {
319
- type: 'percentage',
320
- value: Math.round(width.value * scaleFactor * 10) / 10,
321
- };
322
- }
323
- });
324
- return newWidths;
325
- }
326
- return columnWidths;
327
- }
328
- /**
329
- * 獲取表格的欄位寬度陣列
330
- * 當有釘選欄位時:
331
- * - 釘選欄位使用 percentage
332
- * - 未釘選欄位使用 pixel(基於剩餘空間平均分配)
333
- * @param tableElement - 表格最外層元素
334
- * @param tableWidth - 表格容器的實際寬度(pixel),用於計算 pixel 寬度
335
- * @returns 欄位寬度陣列
336
- */
337
- function getColumnWidths(tableElement, tableWidth) {
338
- const tableStructure = getTableElements(tableElement);
339
- const { tableBodyElement } = tableStructure;
340
- if (!tableBodyElement || !Element.isElement(tableBodyElement)) {
341
- return [];
342
- }
343
- const firstRow = tableBodyElement.children[0];
344
- if (!Element.isElement(firstRow)) {
345
- return [];
346
- }
347
- const columnCount = firstRow.children.length;
348
- // 獲取釘選欄位資訊
349
- const { pinnedColumnIndices } = getPinnedColumnsInfo(tableElement);
350
- const hasPinnedColumns = pinnedColumnIndices.length > 0;
351
- // 如果 tableElement 有 columnWidths
352
- if (tableElement.columnWidths && tableElement.columnWidths.length === columnCount) {
353
- let widths = [...tableElement.columnWidths];
354
- // 強制檢查釘選欄位是否超過 40%,如果超過則調整
355
- if (hasPinnedColumns) {
356
- widths = enforcePinnedColumnsMaxWidth(widths, pinnedColumnIndices);
357
- }
358
- return widths;
359
- }
360
- // 如果沒有設定 columnWidths,需要初始化
361
- // 如果有釘選欄位,使用混合模式
362
- if (hasPinnedColumns && tableWidth) {
363
- const widths = [];
364
- // 先計算釘選欄位的總寬度
365
- const pinnedPercentagePerColumn = Math.min(Math.round((MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE / pinnedColumnIndices.length) * 10) / 10, MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE);
366
- // 計算實際釘選欄位總百分比
367
- const actualPinnedPercentage = Math.min(pinnedPercentagePerColumn * pinnedColumnIndices.length, MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE);
368
- // 計算剩餘空間(pixel)
369
- const remainingPercentage = 100 - actualPinnedPercentage;
370
- const remainingPixelWidth = (tableWidth * remainingPercentage) / 100;
371
- const unpinnedColumnCount = columnCount - pinnedColumnIndices.length;
372
- const pixelWidthPerColumn = unpinnedColumnCount > 0 ? Math.floor(remainingPixelWidth / unpinnedColumnCount) : 0;
373
- // 建立寬度陣列
374
- for (let i = 0; i < columnCount; i++) {
375
- if (pinnedColumnIndices.includes(i)) {
376
- widths.push({ type: 'percentage', value: pinnedPercentagePerColumn });
377
- }
378
- else {
379
- widths.push({ type: 'pixel', value: pixelWidthPerColumn });
380
- }
381
- }
382
- return widths;
383
- }
384
- // 否則返回平均分配的 percentage(總和為 100%)
385
- const percentages = distributeEqualPercentages(columnCount);
386
- return percentages.map((value) => ({ type: 'percentage', value }));
387
- }
388
- /**
389
- * 設定表格的欄位寬度
390
- * @param editor - Slate editor
391
- * @param tableElement - 表格最外層元素
392
- * @param columnWidths - 欄位寬度陣列
393
- */
394
- function setColumnWidths(editor, tableElement, columnWidths) {
395
- const tablePath = ReactEditor.findPath(editor, tableElement);
396
- Transforms.setNodes(editor, { columnWidths: [...columnWidths] }, { at: tablePath });
397
- }
398
- /**
399
- * 計算新增欄位後的欄位寬度
400
- * - 如果所有欄位都是 percentage:按比例縮減現有欄位,新欄位佔平均寬度
401
- * - 如果有混合模式(percentage + pixel):
402
- * * 如果用戶操作的欄位是 pinned column:新欄位使用 percentage(需要調整 pinned columns 的百分比)
403
- * * 如果用戶操作的欄位是 unpinned column:新欄位使用 pixel(與其他 pixel 欄位相同寬度)
404
- *
405
- * @param currentWidths - 當前的欄位寬度陣列
406
- * @param insertIndex - 新欄位插入的位置(0-based)
407
- * @param pinnedColumnIndices - 當前釘選欄位的索引陣列(插入前的索引)
408
- * @param operatingColumnIndex - 用戶實際操作的欄位索引(用於判斷是在 pinned 還是 unpinned column 操作)
409
- * @returns 新的欄位寬度陣列
410
- */
411
- function calculateColumnWidthsAfterAdd(currentWidths, insertIndex, pinnedColumnIndices = [], operatingColumnIndex) {
412
- const newColumnCount = currentWidths.length + 1;
413
- // 分離 percentage 和 pixel 欄位
414
- const percentageColumns = [];
415
- const pixelColumns = [];
416
- currentWidths.forEach((width, index) => {
417
- if (width.type === 'percentage') {
418
- percentageColumns.push({ index, value: width.value });
419
- }
420
- else {
421
- pixelColumns.push({ index, value: width.value });
422
- }
423
- });
424
- // 如果所有欄位都是 percentage(正常模式,無 pinned columns)
425
- if (percentageColumns.length === currentWidths.length) {
426
- // 計算新欄位的平均百分比
427
- const averagePercentage = Math.round((100 / newColumnCount) * 10) / 10;
428
- // 提取當前的百分比值
429
- const currentPercentages = currentWidths.map((w) => w.value);
430
- // 等比例縮減現有欄位並插入新欄位
431
- const newPercentages = scalePercentagesWithNewColumn(currentPercentages, averagePercentage, insertIndex);
432
- return newPercentages.map((value) => ({ type: 'percentage', value }));
433
- }
434
- // 如果有混合的 pixel 和 percentage 欄位(有 pinned columns)
435
- if (percentageColumns.length && pixelColumns.length) {
436
- // 判斷新欄位是否應該是 pinned column
437
- const isNewColumnPinned = typeof operatingColumnIndex === 'number' ? pinnedColumnIndices.includes(operatingColumnIndex) : false;
438
- if (isNewColumnPinned) {
439
- // 新欄位應該是 pinned column,使用 percentage
440
- // 需要調整所有 pinned columns 的百分比
441
- const newWidths = [];
442
- const pinnedColumnCount = pinnedColumnIndices.length + 1; // 加上新欄位
443
- const pinnedPercentagePerColumn = Math.min(Math.round((MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE / pinnedColumnCount) * 10) / 10, MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE);
444
- currentWidths.forEach((width, index) => {
445
- if (index === insertIndex) {
446
- newWidths.push({ type: 'percentage', value: pinnedPercentagePerColumn });
447
- }
448
- if (pinnedColumnIndices.includes(index)) {
449
- // 調整現有 pinned column 的百分比
450
- newWidths.push({ type: 'percentage', value: pinnedPercentagePerColumn });
451
- }
452
- else {
453
- // 保持非 pinned column (pixel) 不變
454
- newWidths.push(Object.assign({}, width));
455
- }
456
- });
457
- // 如果插入位置在最後(但仍在 pinned 區域內)
458
- if (insertIndex >= currentWidths.length) {
459
- newWidths.push({ type: 'percentage', value: pinnedPercentagePerColumn });
460
- }
461
- return newWidths;
462
- }
463
- else {
464
- // 新欄位應該是 unpinned column,使用 pixel
465
- const newWidths = [];
466
- // 找到最後一個 pixel 欄位的寬度,新欄位將複製這個寬度
467
- const lastPixelWidth = pixelColumns.length > 0 ? pixelColumns[pixelColumns.length - 1].value : 150;
468
- currentWidths.forEach((width, index) => {
469
- if (index === insertIndex) {
470
- newWidths.push({ type: 'pixel', value: lastPixelWidth });
471
- }
472
- newWidths.push(Object.assign({}, width));
473
- });
474
- // 如果插入位置在最後
475
- if (insertIndex >= currentWidths.length) {
476
- newWidths.push({ type: 'pixel', value: lastPixelWidth });
477
- }
478
- return newWidths;
479
- }
480
- }
481
- // Fallback: 等比例縮減並插入新欄位
482
- const averagePercentage = Math.round((100 / newColumnCount) * 10) / 10;
483
- // 提取當前的百分比值(假設都是 percentage,否則轉為平均分配)
484
- const currentPercentages = currentWidths.map((w) => (w.type === 'percentage' ? w.value : 100 / currentWidths.length));
485
- // 等比例縮減現有欄位並插入新欄位
486
- const newPercentages = scalePercentagesWithNewColumn(currentPercentages, averagePercentage, insertIndex);
487
- return newPercentages.map((value) => ({ type: 'percentage', value }));
488
- }
489
- /**
490
- * 計算刪除欄位後的欄位寬度
491
- * 此函數會智慧處理欄位寬度的重新分配:
492
- * - 如果所有欄位都是 percentage:按比例放大剩餘欄位
493
- * - 如果有 pixel 欄位:保持 pixel 欄位不變,只調整 percentage 欄位
494
- *
495
- * @param currentWidths - 當前的欄位寬度陣列
496
- * @param deleteIndex - 要刪除的欄位索引(0-based)
497
- * @returns 新的欄位寬度陣列
498
- */
499
- function calculateColumnWidthsAfterDelete(currentWidths, deleteIndex) {
500
- if (currentWidths.length <= 1) {
501
- return currentWidths;
502
- }
503
- const deletedWidth = currentWidths[deleteIndex];
504
- const newWidths = currentWidths.filter((_, index) => index !== deleteIndex);
505
- // 如果刪除的是 pixel 欄位,其他欄位保持不變
506
- if (deletedWidth.type === 'pixel') {
507
- return newWidths;
508
- }
509
- // 刪除的是 percentage 欄位
510
- const deletedPercentage = deletedWidth.value;
511
- // 分離 percentage 和 pixel 欄位
512
- const percentageIndices = [];
513
- newWidths.forEach((width, index) => {
514
- if (width.type === 'percentage') {
515
- percentageIndices.push(index);
516
- }
517
- });
518
- // 如果沒有 percentage 欄位,直接返回
519
- if (percentageIndices.length === 0) {
520
- return newWidths;
521
- }
522
- // 將刪除欄位的百分比按比例分配給其他 percentage 欄位
523
- const currentPercentageTotal = percentageIndices.reduce((sum, index) => sum + newWidths[index].value, 0);
524
- return newWidths.map((width) => {
525
- if (width.type === 'percentage') {
526
- const proportion = width.value / currentPercentageTotal;
527
- const additionalPercentage = deletedPercentage * proportion;
528
- const newValue = Math.round((width.value + additionalPercentage) * 10) / 10;
529
- return { type: 'percentage', value: newValue };
530
- }
531
- return width;
532
- });
533
- }
534
- /**
535
- * 計算拖曳後的欄位寬度
536
- * 處理釘選欄位的特殊邏輯:
537
- * - 情況 1:未釘選欄位(pixel)與未釘選欄位(pixel)之間:直接改變 pixel 值,允許超出容器
538
- * - 情況 2:釘選欄位(percentage)與釘選欄位(percentage)之間:互相調整,且總和不超過 40%
539
- * - 情況 3:釘選欄位(percentage)與未釘選欄位(pixel)之間:
540
- * * 只調整釘選欄位的百分比(不超過 40% 總限制)
541
- * * 當 table 未溢出(寬度 < container)時,重新計算所有未釘選欄位的 pixel 值以維持 100%
542
- * * 當 table 已溢出時,只調整下一個欄位的 pixel 值
543
- * * 當達到 40% 上限時,停止調整
544
- * - 預設情況:兩個都是 percentage 但都不是釘選欄位(正常模式)
545
- *
546
- * @param currentWidths - 當前的欄位寬度陣列
547
- * @param columnIndex - 被調整的欄位索引
548
- * @param deltaPercentage - 寬度變化量(百分比)
549
- * @param deltaPixel - 寬度變化量(pixel)
550
- * @param pinnedColumnIndices - 釘選欄位的索引陣列
551
- * @returns 新的欄位寬度陣列
552
- */
553
- function calculateResizedColumnWidths(currentWidths, columnIndex, deltaPercentage, deltaPixel, pinnedColumnIndices = []) {
554
- const newWidths = [...currentWidths];
555
- const nextColumnIndex = columnIndex + 1;
556
- const isLastColumn = nextColumnIndex >= newWidths.length;
557
- const currentCol = newWidths[columnIndex];
558
- const nextCol = isLastColumn ? null : newWidths[nextColumnIndex];
559
- const isCurrentPinned = pinnedColumnIndices.includes(columnIndex);
560
- const isNextPinned = nextCol ? pinnedColumnIndices.includes(nextColumnIndex) : false;
561
- // **特殊情況:最後一欄,只調整當前欄位**
562
- // 最後一欄必定不是 pinned column
563
- if (isLastColumn) {
564
- if (currentCol.type === 'pixel') {
565
- // pixel 欄位(有 pinned column 情境):直接調整寬度
566
- const currentPixel = currentCol.value;
567
- const newCurrentPixel = Math.max(MIN_COLUMN_WIDTH_PIXEL, currentPixel + deltaPixel);
568
- newWidths[columnIndex] = { type: 'pixel', value: Math.floor(newCurrentPixel) };
569
- }
570
- else if (currentCol.type === 'percentage') {
571
- // percentage 欄位(無 pinned column 情境):調整當前欄位並將差額分配給前一欄以確保總和為 100%
572
- const currentWidth = currentCol.value;
573
- let newCurrentWidth = Math.max(MIN_COLUMN_WIDTH_PERCENTAGE, Math.round((currentWidth + deltaPercentage) * 10) / 10);
574
- // 計算其他欄位的總百分比
575
- const otherColumnsTotal = newWidths
576
- .filter((_, idx) => idx !== columnIndex)
577
- .reduce((sum, width) => sum + (width.type === 'percentage' ? width.value : 0), 0);
578
- // 確保總和為 100%
579
- const maxAllowedWidth = 100 - otherColumnsTotal;
580
- newCurrentWidth = Math.min(newCurrentWidth, maxAllowedWidth);
581
- // 計算寬度變化量
582
- const widthChange = currentWidth - newCurrentWidth;
583
- // 如果有寬度變化且存在前一欄,將差額分配給前一欄
584
- if (widthChange !== 0 && columnIndex > 0) {
585
- const prevCol = newWidths[columnIndex - 1];
586
- if (prevCol.type === 'percentage') {
587
- const newPrevWidth = Math.max(MIN_COLUMN_WIDTH_PERCENTAGE, Math.round((prevCol.value + widthChange) * 10) / 10);
588
- newWidths[columnIndex - 1] = { type: 'percentage', value: newPrevWidth };
589
- }
590
- }
591
- newWidths[columnIndex] = { type: 'percentage', value: newCurrentWidth };
592
- }
593
- return newWidths;
594
- }
595
- // 以下是有 next column 的邏輯
596
- if (!nextCol) {
597
- return newWidths;
598
- }
599
- // 情況 1:當前欄位是 pixel(未釘選),下一欄位也是 pixel(未釘選)
600
- if (currentCol.type === 'pixel' && nextCol.type === 'pixel') {
601
- const currentPixel = currentCol.value;
602
- const newCurrentPixel = Math.max(MIN_COLUMN_WIDTH_PIXEL, currentPixel + deltaPixel);
603
- newWidths[columnIndex] = { type: 'pixel', value: Math.floor(newCurrentPixel) };
604
- return newWidths;
605
- }
606
- // 情況 2:當前欄位是 percentage(釘選),下一欄位也是 percentage(釘選)
607
- if (currentCol.type === 'percentage' && nextCol.type === 'percentage' && isCurrentPinned && isNextPinned) {
608
- const currentWidth = currentCol.value;
609
- const nextWidth = nextCol.value;
610
- // 計算新寬度
611
- let newCurrentWidth = Math.round((currentWidth + deltaPercentage) * 10) / 10;
612
- let newNextWidth = Math.round((nextWidth - deltaPercentage) * 10) / 10;
613
- if (newCurrentWidth < MIN_COLUMN_WIDTH_PERCENTAGE) {
614
- newCurrentWidth = MIN_COLUMN_WIDTH_PERCENTAGE;
615
- newNextWidth = Math.round((currentWidth + nextWidth - MIN_COLUMN_WIDTH_PERCENTAGE) * 10) / 10;
616
- }
617
- else if (newNextWidth < MIN_COLUMN_WIDTH_PERCENTAGE) {
618
- newNextWidth = MIN_COLUMN_WIDTH_PERCENTAGE;
619
- newCurrentWidth = Math.round((currentWidth + nextWidth - MIN_COLUMN_WIDTH_PERCENTAGE) * 10) / 10;
620
- }
621
- // 確保釘選欄位總和不超過 40%
622
- const otherPinnedTotal = pinnedColumnIndices
623
- .filter((idx) => idx !== columnIndex && idx !== nextColumnIndex)
624
- .reduce((sum, idx) => sum + (newWidths[idx].type === 'percentage' ? newWidths[idx].value : 0), 0);
625
- const twoColumnsTotal = newCurrentWidth + newNextWidth;
626
- if (otherPinnedTotal + twoColumnsTotal > MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE) {
627
- // 按比例縮減這兩個欄位
628
- const allowedTotal = MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE - otherPinnedTotal;
629
- const scale = allowedTotal / twoColumnsTotal;
630
- newCurrentWidth = Math.round(newCurrentWidth * scale * 10) / 10;
631
- newNextWidth = Math.round(newNextWidth * scale * 10) / 10;
632
- }
633
- newWidths[columnIndex] = { type: 'percentage', value: newCurrentWidth };
634
- newWidths[nextColumnIndex] = { type: 'percentage', value: newNextWidth };
635
- return newWidths;
636
- }
637
- // 情況 3:當前欄位是 percentage(釘選),下一欄位是 pixel(未釘選)
638
- if (currentCol.type === 'percentage' && nextCol.type === 'pixel' && isCurrentPinned && !isNextPinned) {
639
- const currentWidth = currentCol.value;
640
- // 計算新的釘選欄位寬度
641
- let newCurrentWidth = Math.round((currentWidth + deltaPercentage) * 10) / 10;
642
- newCurrentWidth = Math.max(MIN_COLUMN_WIDTH_PERCENTAGE, newCurrentWidth);
643
- // 確保所有釘選欄位總和不超過 40%
644
- const otherPinnedTotal = pinnedColumnIndices
645
- .filter((idx) => idx !== columnIndex)
646
- .reduce((sum, idx) => sum + (newWidths[idx].type === 'percentage' ? newWidths[idx].value : 0), 0);
647
- const maxAllowedWidth = MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE - otherPinnedTotal;
648
- // 計算調整前後的實際寬度
649
- const beforeAdjustWidth = Math.min(currentWidth, maxAllowedWidth);
650
- const afterAdjustWidth = Math.min(newCurrentWidth, maxAllowedWidth);
651
- // 如果調整前後的寬度相同(表示已經被限制在上限),則不調整任何欄位
652
- if (Math.abs(afterAdjustWidth - beforeAdjustWidth) < 0.1) {
653
- return newWidths;
654
- }
655
- // 應用上限限制
656
- newCurrentWidth = afterAdjustWidth;
657
- // 更新當前釘選欄位的寬度
658
- newWidths[columnIndex] = { type: 'percentage', value: newCurrentWidth };
659
- return newWidths;
660
- }
661
- // 預設情況:兩個都是 percentage 但都不是釘選欄位(正常模式)
662
- if (currentCol.type === 'percentage' && nextCol.type === 'percentage') {
663
- const currentWidth = currentCol.value;
664
- const nextWidth = nextCol.value;
665
- let newCurrentWidth = Math.round((currentWidth + deltaPercentage) * 10) / 10;
666
- let newNextWidth = Math.round((nextWidth - deltaPercentage) * 10) / 10;
667
- if (newCurrentWidth < MIN_COLUMN_WIDTH_PERCENTAGE) {
668
- newCurrentWidth = MIN_COLUMN_WIDTH_PERCENTAGE;
669
- newNextWidth = Math.round((currentWidth + nextWidth - MIN_COLUMN_WIDTH_PERCENTAGE) * 10) / 10;
670
- }
671
- else if (newNextWidth < MIN_COLUMN_WIDTH_PERCENTAGE) {
672
- newNextWidth = MIN_COLUMN_WIDTH_PERCENTAGE;
673
- newCurrentWidth = Math.round((currentWidth + nextWidth - MIN_COLUMN_WIDTH_PERCENTAGE) * 10) / 10;
674
- }
675
- newWidths[columnIndex] = { type: 'percentage', value: newCurrentWidth };
676
- newWidths[nextColumnIndex] = { type: 'percentage', value: newNextWidth };
677
- return newWidths;
678
- }
679
- return newWidths;
680
- }
681
- /**
682
- * 移動或交換欄位寬度設定
683
- * @param currentWidths - 當前的欄位寬度陣列
684
- * @param sourceIndex - 來源欄位的索引
685
- * @param targetIndex - 目標欄位的索引
686
- * @param mode - 'swap' 為交換兩個位置,'move' 為移動到目標位置
687
- * @returns 處理後的欄位寬度陣列
688
- */
689
- function moveOrSwapColumnWidth(currentWidths, sourceIndex, targetIndex, mode = 'move') {
690
- if (sourceIndex === targetIndex ||
691
- sourceIndex < 0 ||
692
- targetIndex < 0 ||
693
- sourceIndex >= currentWidths.length ||
694
- targetIndex >= currentWidths.length) {
695
- return currentWidths;
696
- }
697
- const newWidths = [...currentWidths];
698
- if (mode === 'swap') {
699
- // swap 邏輯:直接交換兩個位置的值
700
- const temp = newWidths[sourceIndex];
701
- newWidths[sourceIndex] = newWidths[targetIndex];
702
- newWidths[targetIndex] = temp;
703
- }
704
- else {
705
- // move 邏輯:移除再插入
706
- const [movedWidth] = newWidths.splice(sourceIndex, 1);
707
- newWidths.splice(targetIndex, 0, movedWidth);
708
- }
709
- return newWidths;
710
- }
711
- /**
712
- * 將 columnWidths 轉換為混合模式(釘選欄位用 percentage,未釘選欄位用 pixel)
713
- * @param currentWidths - 當前的欄位寬度陣列
714
- * @param pinnedColumnIndices - 釘選欄位的索引陣列
715
- * @param tableWidth - 表格的實際寬度(pixel)
716
- * @returns 轉換後的欄位寬度陣列
717
- */
718
- function convertToMixedWidthMode(currentWidths, pinnedColumnIndices, tableWidth) {
719
- if (pinnedColumnIndices.length === 0 || tableWidth === 0) {
720
- return currentWidths;
721
- }
722
- const newWidths = [];
723
- // 計算釘選欄位的總百分比
724
- let totalPinnedPercentage = 0;
725
- pinnedColumnIndices.forEach((index) => {
726
- const width = currentWidths[index];
727
- if (width) {
728
- if (width.type === 'percentage') {
729
- totalPinnedPercentage += width.value;
730
- }
731
- else {
732
- // 如果是 pixel,轉換為百分比
733
- const percentage = (width.value / tableWidth) * 100;
734
- totalPinnedPercentage += percentage;
735
- }
736
- }
737
- });
738
- // 確保釘選欄位總和不超過指定範圍
739
- const scaleFactor = totalPinnedPercentage > MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE
740
- ? MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE / totalPinnedPercentage
741
- : 1;
742
- totalPinnedPercentage = Math.min(totalPinnedPercentage, MAX_PINNED_COLUMNS_WIDTH_PERCENTAGE);
743
- // 調整釘選欄位的百分比
744
- currentWidths.forEach((width, index) => {
745
- if (pinnedColumnIndices.includes(index)) {
746
- if (width.type === 'percentage') {
747
- currentWidths[index] = {
748
- type: 'percentage',
749
- value: Math.round(width.value * scaleFactor * 10) / 10,
750
- };
751
- }
752
- else {
753
- const percentage = (width.value / tableWidth) * 100;
754
- currentWidths[index] = {
755
- type: 'percentage',
756
- value: Math.round(percentage * scaleFactor * 10) / 10,
757
- };
758
- }
759
- }
760
- });
761
- // 計算剩餘空間(用於未釘選欄位)
762
- const remainingPercentage = 100 - totalPinnedPercentage;
763
- const remainingPixelWidth = (tableWidth * remainingPercentage) / 100;
764
- const unpinnedColumnCount = currentWidths.length - pinnedColumnIndices.length;
765
- const pixelWidthPerColumn = unpinnedColumnCount > 0 ? Math.floor(remainingPixelWidth / unpinnedColumnCount) : 0;
766
- // 建立新的寬度陣列
767
- currentWidths.forEach((width, index) => {
768
- if (pinnedColumnIndices.includes(index)) {
769
- // 釘選欄位:使用 percentage
770
- newWidths.push(width);
771
- }
772
- else {
773
- // 未釘選欄位:使用 pixel
774
- newWidths.push({ type: 'pixel', value: pixelWidthPerColumn });
775
- }
776
- });
777
- return newWidths;
778
- }
779
- /**
780
- * 將混合模式的欄位寬度轉換回純百分比模式
781
- * 當所有 pinned columns 都被 unpin 後,需要將 pixel 欄位轉換回 percentage
782
- * @param currentWidths - 當前的欄位寬度陣列(混合模式)
783
- * @returns 轉換後的純百分比欄位寬度陣列,總和為 100%
784
- */
785
- function convertToPercentageMode(currentWidths) {
786
- if (currentWidths.length === 0)
787
- return [];
788
- // 檢查是否有 pixel 欄位
789
- const hasPixelColumns = currentWidths.some((width) => width.type === 'pixel');
790
- // 如果沒有 pixel 欄位,表示已經是純百分比模式,直接返回
791
- if (!hasPixelColumns) {
792
- return currentWidths;
793
- }
794
- // 使用 distributeEqualPercentages 重新分配百分比,確保總和為 100%
795
- const percentages = distributeEqualPercentages(currentWidths.length);
796
- return percentages.map((value) => ({ type: 'percentage', value }));
797
- }
798
-
799
- export { calculateColumnWidthsAfterAdd, calculateColumnWidthsAfterDelete, calculateResizedColumnWidths, collectCells, convertToMixedWidthMode, convertToPercentageMode, createTableCell, distributeEqualPercentages, enforcePinnedColumnsMaxWidth, getAlignFromCells, getColumnWidths, getPinnedColumnsInfo, getReferenceRowFromHeaderOrBody, getTableElements, getTableStructure, hasAnyPinnedColumns, hasAnyPinnedRows, moveOrSwapColumnWidth, scalePercentagesWithNewColumn, setAlignForCells, setColumnWidths };