@quadrats/react 0.6.7 → 0.7.1

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 (334) hide show
  1. package/_internal/index.cjs.js +42 -44
  2. package/_internal/renderer/composeRenderElementsBase.js +10 -10
  3. package/_internal/renderer/composeRenderLeafsBase.js +8 -8
  4. package/_internal/renderer/createRenderElementBase.js +6 -6
  5. package/_internal/renderer/createRenderElementsBase.js +8 -8
  6. package/_internal/renderer/createRenderMarkBase.js +10 -10
  7. package/blockquote/constants.js +5 -5
  8. package/blockquote/createReactBlockquote.d.ts +1 -1
  9. package/blockquote/createReactBlockquote.js +58 -58
  10. package/blockquote/defaultRenderBlockquoteElement.d.ts +2 -2
  11. package/blockquote/index.cjs.js +64 -71
  12. package/blockquote/jsx-serializer/createJsxSerializeBlockquote.d.ts +2 -2
  13. package/blockquote/jsx-serializer/createJsxSerializeBlockquote.js +3 -3
  14. package/blockquote/jsx-serializer/index.cjs.js +3 -5
  15. package/blockquote/jsx-serializer/typings.d.ts +1 -1
  16. package/blockquote/toolbar/BlockquoteToolbarIcon.d.ts +2 -2
  17. package/blockquote/toolbar/BlockquoteToolbarIcon.js +4 -4
  18. package/blockquote/toolbar/index.cjs.js +10 -16
  19. package/blockquote/toolbar/useBlockquoteTool.js +6 -6
  20. package/blockquote/typings.d.ts +1 -1
  21. package/bold/constants.js +5 -5
  22. package/bold/createReactBold.d.ts +1 -1
  23. package/bold/createReactBold.js +3 -3
  24. package/bold/defaultRenderBold.d.ts +2 -2
  25. package/bold/defaultRenderBold.js +1 -1
  26. package/bold/index.cjs.js +9 -15
  27. package/bold/jsx-serializer/createJsxSerializeBold.js +3 -3
  28. package/bold/jsx-serializer/index.cjs.js +3 -5
  29. package/components/Icon/index.d.ts +1 -1
  30. package/components/Icon/index.js +15 -15
  31. package/components/Portal/index.d.ts +1 -0
  32. package/components/Portal/index.js +3 -3
  33. package/components/Progress/index.js +10 -10
  34. package/components/Tooltip/calculatePosition.js +66 -66
  35. package/components/Tooltip/index.d.ts +2 -2
  36. package/components/Tooltip/index.js +109 -109
  37. package/components/Tooltip/typings.d.ts +4 -4
  38. package/components/index.cjs.js +203 -211
  39. package/configs/ConfigsProvider.d.ts +2 -2
  40. package/configs/ConfigsProvider.js +7 -7
  41. package/configs/index.cjs.js +38 -44
  42. package/configs/locale.js +3 -3
  43. package/configs/theme.js +28 -28
  44. package/core/components/DefaultElement.d.ts +2 -2
  45. package/core/components/DefaultLeaf.d.ts +2 -2
  46. package/core/components/Editable.d.ts +3 -3
  47. package/core/components/Editable.js +41 -42
  48. package/core/components/Quadrats.d.ts +3 -3
  49. package/core/components/Quadrats.js +7 -7
  50. package/core/composeHandlers.js +30 -30
  51. package/core/composeRenderElements.d.ts +1 -1
  52. package/core/composeRenderElements.js +5 -5
  53. package/core/composeRenderLeafs.js +5 -5
  54. package/core/createReactEditor.js +2 -2
  55. package/core/createRenderElement.d.ts +1 -1
  56. package/core/createRenderElement.js +2 -2
  57. package/core/createRenderElements.d.ts +1 -1
  58. package/core/createRenderElements.js +2 -2
  59. package/core/createRenderMark.js +2 -2
  60. package/core/index.d.ts +6 -4
  61. package/core/index.js +11 -0
  62. package/core/typings/descendant.d.ts +1 -1
  63. package/core/typings/handler.d.ts +7 -7
  64. package/core/typings/renderer.d.ts +5 -5
  65. package/core/typings/with.d.ts +2 -2
  66. package/divider/createReactDivider.d.ts +1 -1
  67. package/divider/createReactDivider.js +4 -4
  68. package/divider/defaultRenderDividerElement.d.ts +2 -2
  69. package/divider/defaultRenderDividerElement.js +2 -2
  70. package/divider/index.cjs.js +6 -12
  71. package/divider/jsx-serializer/createJsxSerializeDivider.d.ts +2 -2
  72. package/divider/jsx-serializer/createJsxSerializeDivider.js +3 -3
  73. package/divider/jsx-serializer/defaultRenderDividerElement.d.ts +2 -2
  74. package/divider/jsx-serializer/index.cjs.js +4 -10
  75. package/divider/jsx-serializer/typings.d.ts +1 -1
  76. package/divider/toolbar/DividerToolbarIcon.d.ts +2 -2
  77. package/divider/toolbar/DividerToolbarIcon.js +4 -4
  78. package/divider/toolbar/index.cjs.js +9 -15
  79. package/divider/toolbar/useDividerTool.js +5 -5
  80. package/divider/typings.d.ts +1 -1
  81. package/embed/components/VideoIframe.d.ts +2 -2
  82. package/embed/components/VideoIframe.js +8 -8
  83. package/embed/createReactEmbed.d.ts +1 -1
  84. package/embed/createReactEmbed.js +7 -7
  85. package/embed/createRenderEmbedElementBase.js +9 -9
  86. package/embed/hooks/useVideoIframeSize.js +19 -19
  87. package/embed/index.cjs.js +43 -49
  88. package/embed/jsx-serializer/createJsxSerializeEmbed.d.ts +1 -1
  89. package/embed/jsx-serializer/createJsxSerializeEmbed.js +6 -6
  90. package/embed/jsx-serializer/facebook/index.cjs.js +2 -4
  91. package/embed/jsx-serializer/index.cjs.js +6 -8
  92. package/embed/jsx-serializer/instagram/index.cjs.js +2 -4
  93. package/embed/jsx-serializer/twitter/index.cjs.js +2 -4
  94. package/embed/jsx-serializer/vimeo/index.cjs.js +2 -4
  95. package/embed/jsx-serializer/youtube/index.cjs.js +2 -4
  96. package/embed/renderers/facebook/components/Facebook.d.ts +2 -2
  97. package/embed/renderers/facebook/components/Facebook.js +11 -11
  98. package/embed/renderers/facebook/defaultRenderFacebookEmbedElement.d.ts +2 -2
  99. package/embed/renderers/facebook/index.cjs.js +12 -18
  100. package/embed/renderers/instagram/components/Instagram.d.ts +2 -2
  101. package/embed/renderers/instagram/components/Instagram.js +18 -18
  102. package/embed/renderers/instagram/defaultRenderInstagramEmbedElement.d.ts +2 -2
  103. package/embed/renderers/instagram/hooks/useLoadInstagramEmbedApi.js +22 -22
  104. package/embed/renderers/instagram/index.cjs.js +41 -47
  105. package/embed/renderers/podcast-apple/components/PodcastApple.d.ts +2 -2
  106. package/embed/renderers/podcast-apple/components/PodcastApple.js +6 -6
  107. package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.d.ts +2 -2
  108. package/embed/renderers/podcast-apple/index.cjs.js +7 -13
  109. package/embed/renderers/spotify/components/Spotify.d.ts +2 -2
  110. package/embed/renderers/spotify/components/Spotify.js +10 -10
  111. package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.d.ts +2 -2
  112. package/embed/renderers/spotify/index.cjs.js +11 -17
  113. package/embed/renderers/twitter/components/Twitter.d.ts +2 -2
  114. package/embed/renderers/twitter/components/Twitter.js +5 -5
  115. package/embed/renderers/twitter/defaultRenderTwitterEmbedElement.d.ts +2 -2
  116. package/embed/renderers/twitter/hooks/useLoadTwitterEmbedApi.js +28 -28
  117. package/embed/renderers/twitter/index.cjs.js +34 -40
  118. package/embed/renderers/vimeo/defaultRenderVimeoEmbedElement.d.ts +2 -2
  119. package/embed/renderers/vimeo/index.cjs.js +1 -7
  120. package/embed/renderers/youtube/defaultRenderYoutubeEmbedElement.d.ts +2 -2
  121. package/embed/renderers/youtube/index.cjs.js +1 -7
  122. package/embed/toolbar/EmbedToolbarIcon.d.ts +2 -2
  123. package/embed/toolbar/EmbedToolbarIcon.js +4 -4
  124. package/embed/toolbar/index.cjs.js +16 -22
  125. package/embed/toolbar/useEmbedTool.js +12 -12
  126. package/embed/typings.d.ts +1 -1
  127. package/file-uploader/components/FileUploader.d.ts +2 -2
  128. package/file-uploader/components/FileUploader.js +7 -7
  129. package/file-uploader/createReactFileUploader.js +7 -7
  130. package/file-uploader/hooks/useFileUploader.js +7 -7
  131. package/file-uploader/index.cjs.js +22 -28
  132. package/file-uploader/toolbar/FileUploaderToolbarIcon.d.ts +2 -2
  133. package/file-uploader/toolbar/FileUploaderToolbarIcon.js +4 -4
  134. package/file-uploader/toolbar/index.cjs.js +9 -15
  135. package/file-uploader/toolbar/useFileUploaderTool.js +5 -5
  136. package/file-uploader/typings.d.ts +3 -3
  137. package/footnote/createReactFootnote.d.ts +1 -1
  138. package/footnote/createReactFootnote.js +6 -6
  139. package/footnote/defaultRenderFootnoteElement.d.ts +2 -2
  140. package/footnote/defaultRenderFootnoteElement.js +9 -9
  141. package/footnote/index.cjs.js +51 -57
  142. package/footnote/jsx-serializer/createJsxSerializeFootnote.d.ts +2 -2
  143. package/footnote/jsx-serializer/createJsxSerializeFootnote.js +4 -4
  144. package/footnote/jsx-serializer/defaultRenderFootnoteElement.d.ts +2 -2
  145. package/footnote/jsx-serializer/defaultRenderFootnoteElement.js +5 -5
  146. package/footnote/jsx-serializer/index.cjs.js +9 -15
  147. package/footnote/jsx-serializer/typings.d.ts +1 -1
  148. package/footnote/toolbar/FootnoteToolbarIcon.d.ts +2 -2
  149. package/footnote/toolbar/FootnoteToolbarIcon.js +4 -4
  150. package/footnote/toolbar/index.cjs.js +17 -23
  151. package/footnote/toolbar/useFootnoteTool.d.ts +1 -1
  152. package/footnote/toolbar/useFootnoteTool.js +13 -13
  153. package/footnote/typings.d.ts +1 -1
  154. package/footnote/useFootnotes.js +15 -15
  155. package/footnote/useFootnotesFromNodes.js +21 -21
  156. package/heading/constants.js +8 -8
  157. package/heading/createReactHeading.d.ts +1 -1
  158. package/heading/createReactHeading.js +37 -37
  159. package/heading/defaultRenderHeadingElement.d.ts +2 -2
  160. package/heading/defaultRenderHeadingElement.js +14 -14
  161. package/heading/index.cjs.js +59 -66
  162. package/heading/jsx-serializer/createJsxSerializeHeading.d.ts +2 -2
  163. package/heading/jsx-serializer/createJsxSerializeHeading.js +3 -3
  164. package/heading/jsx-serializer/index.cjs.js +3 -5
  165. package/heading/jsx-serializer/typings.d.ts +1 -1
  166. package/heading/toolbar/HeadingToolbarIcon.d.ts +2 -2
  167. package/heading/toolbar/HeadingToolbarIcon.js +4 -4
  168. package/heading/toolbar/index.cjs.js +10 -16
  169. package/heading/toolbar/useToggleHeadingTool.js +6 -6
  170. package/heading/typings.d.ts +1 -1
  171. package/highlight/constants.js +5 -5
  172. package/highlight/createReactHighlight.d.ts +1 -1
  173. package/highlight/createReactHighlight.js +3 -3
  174. package/highlight/defaultRenderHighlight.d.ts +2 -2
  175. package/highlight/defaultRenderHighlight.js +1 -1
  176. package/highlight/index.cjs.js +9 -15
  177. package/highlight/jsx-serializer/createJsxSerializeHighlight.d.ts +1 -1
  178. package/highlight/jsx-serializer/createJsxSerializeHighlight.js +4 -4
  179. package/highlight/jsx-serializer/index.cjs.js +4 -6
  180. package/image/components/Image.d.ts +2 -2
  181. package/image/components/Image.js +11 -11
  182. package/image/components/ImageCaption.d.ts +2 -2
  183. package/image/components/ImageCaption.js +13 -13
  184. package/image/components/ImageFigure.d.ts +2 -2
  185. package/image/components/ImageFigure.js +8 -8
  186. package/image/createReactImage.d.ts +1 -1
  187. package/image/createReactImage.js +94 -94
  188. package/image/defaultRenderImageElements.js +4 -4
  189. package/image/hooks/useImageResizer.js +89 -89
  190. package/image/image.css +1 -1
  191. package/image/index.cjs.js +219 -227
  192. package/image/jsx-serializer/createJsxSerializeImage.d.ts +2 -3
  193. package/image/jsx-serializer/createJsxSerializeImage.js +34 -34
  194. package/image/jsx-serializer/defaultRenderImageElements.js +4 -4
  195. package/image/jsx-serializer/index.cjs.js +38 -44
  196. package/image/jsx-serializer/typings.d.ts +1 -1
  197. package/image/typings.d.ts +3 -3
  198. package/index.cjs.js +103 -109
  199. package/index.js +3 -2
  200. package/input-block/components/InputBlock.d.ts +2 -2
  201. package/input-block/components/InputBlock.js +19 -19
  202. package/input-block/createReactInputBlock.d.ts +1 -1
  203. package/input-block/createReactInputBlock.js +10 -10
  204. package/input-block/hooks/useInputBlock.js +43 -43
  205. package/input-block/index.cjs.js +73 -79
  206. package/input-block/typings.d.ts +2 -2
  207. package/italic/constants.js +5 -5
  208. package/italic/createReactItalic.d.ts +1 -1
  209. package/italic/createReactItalic.js +3 -3
  210. package/italic/defaultRenderItalic.d.ts +2 -2
  211. package/italic/defaultRenderItalic.js +1 -1
  212. package/italic/index.cjs.js +9 -15
  213. package/italic/jsx-serializer/createJsxSerializeItalic.js +3 -3
  214. package/italic/jsx-serializer/index.cjs.js +3 -5
  215. package/jsx-serializer/createJsxSerializeElement.d.ts +1 -1
  216. package/jsx-serializer/createJsxSerializeElement.js +2 -2
  217. package/jsx-serializer/createJsxSerializeElements.d.ts +1 -1
  218. package/jsx-serializer/createJsxSerializeElements.js +2 -2
  219. package/jsx-serializer/createJsxSerializeMark.js +2 -2
  220. package/jsx-serializer/createJsxSerializer.js +42 -42
  221. package/jsx-serializer/index.cjs.js +48 -54
  222. package/jsx-serializer/typings.d.ts +5 -5
  223. package/line-break/commonBreak.js +26 -26
  224. package/line-break/createOnKeyDownBreak.js +41 -41
  225. package/line-break/createReactLineBreak.d.ts +1 -1
  226. package/line-break/createReactLineBreak.js +6 -6
  227. package/line-break/defaultRenderLineBreakElement.d.ts +2 -2
  228. package/line-break/index.cjs.js +75 -82
  229. package/line-break/jsx-serializer/createJsxSerializeLineBreak.d.ts +2 -2
  230. package/line-break/jsx-serializer/createJsxSerializeLineBreak.js +4 -4
  231. package/line-break/jsx-serializer/defaultRenderLineBreakElement.d.ts +2 -2
  232. package/line-break/jsx-serializer/defaultRenderLineBreakElement.js +1 -1
  233. package/line-break/jsx-serializer/index.cjs.js +6 -12
  234. package/line-break/jsx-serializer/typings.d.ts +1 -1
  235. package/line-break/renderLineBreakElementWithSymbol.d.ts +2 -2
  236. package/line-break/typings.d.ts +1 -1
  237. package/link/createReactLink.js +22 -22
  238. package/link/defaultRenderLinkElement.d.ts +2 -2
  239. package/link/defaultRenderLinkElement.js +7 -7
  240. package/link/index.cjs.js +29 -35
  241. package/link/jsx-serializer/createJsxSerializeLink.d.ts +2 -2
  242. package/link/jsx-serializer/createJsxSerializeLink.js +3 -3
  243. package/link/jsx-serializer/defaultRenderLinkElement.d.ts +2 -2
  244. package/link/jsx-serializer/index.cjs.js +4 -10
  245. package/link/jsx-serializer/typings.d.ts +1 -1
  246. package/link/toolbar/LinkToolbarIcon.d.ts +2 -2
  247. package/link/toolbar/LinkToolbarIcon.js +4 -4
  248. package/link/toolbar/UnlinkToolbarIcon.d.ts +2 -2
  249. package/link/toolbar/UnlinkToolbarIcon.js +4 -4
  250. package/link/toolbar/index.cjs.js +27 -33
  251. package/link/toolbar/useLinkTool.d.ts +1 -1
  252. package/link/toolbar/useLinkTool.js +14 -14
  253. package/link/toolbar/useUnlinkTool.js +5 -5
  254. package/link/typings.d.ts +1 -1
  255. package/list/createReactList.d.ts +1 -1
  256. package/list/createReactList.js +18 -18
  257. package/list/defaultRenderListElements.js +4 -4
  258. package/list/index.cjs.js +22 -28
  259. package/list/jsx-serializer/createJsxSerializeList.d.ts +2 -2
  260. package/list/jsx-serializer/createJsxSerializeList.js +8 -8
  261. package/list/jsx-serializer/index.cjs.js +8 -10
  262. package/list/jsx-serializer/typings.d.ts +1 -1
  263. package/list/toolbar/ListToolbarIcon.d.ts +2 -2
  264. package/list/toolbar/ListToolbarIcon.js +4 -4
  265. package/list/toolbar/index.cjs.js +10 -16
  266. package/list/toolbar/useListTool.js +6 -6
  267. package/list/typings.d.ts +2 -2
  268. package/package.json +10 -10
  269. package/paragraph/createRenderParagraphElement.d.ts +2 -2
  270. package/paragraph/createRenderParagraphElement.js +3 -3
  271. package/paragraph/defaultRenderParagraphElement.d.ts +2 -2
  272. package/paragraph/index.cjs.js +5 -11
  273. package/paragraph/jsx-serializer/createJsxSerializeParagraph.d.ts +2 -2
  274. package/paragraph/jsx-serializer/createJsxSerializeParagraph.js +3 -3
  275. package/paragraph/jsx-serializer/index.cjs.js +3 -5
  276. package/paragraph/jsx-serializer/typings.d.ts +1 -1
  277. package/paragraph/renderParagraphElementWithSymbol.d.ts +2 -2
  278. package/read-more/components/ReadMore.d.ts +2 -2
  279. package/read-more/components/ReadMore.js +6 -6
  280. package/read-more/createReactReadMore.d.ts +1 -1
  281. package/read-more/createReactReadMore.js +4 -4
  282. package/read-more/defaultRenderReadMoreElement.d.ts +2 -2
  283. package/read-more/index.cjs.js +11 -17
  284. package/read-more/jsx-serializer/createJsxSerializeReadMore.d.ts +2 -2
  285. package/read-more/jsx-serializer/createJsxSerializeReadMore.js +3 -3
  286. package/read-more/jsx-serializer/index.cjs.js +3 -5
  287. package/read-more/jsx-serializer/typings.d.ts +1 -1
  288. package/read-more/toolbar/ReadMoreToolbarIcon.d.ts +2 -2
  289. package/read-more/toolbar/ReadMoreToolbarIcon.js +4 -4
  290. package/read-more/toolbar/index.cjs.js +9 -15
  291. package/read-more/toolbar/useReadMoreTool.js +5 -5
  292. package/read-more/typings.d.ts +1 -1
  293. package/strikethrough/constants.js +5 -5
  294. package/strikethrough/createReactStrikethrough.d.ts +1 -1
  295. package/strikethrough/createReactStrikethrough.js +3 -3
  296. package/strikethrough/defaultRenderStrikethrough.d.ts +2 -2
  297. package/strikethrough/defaultRenderStrikethrough.js +1 -1
  298. package/strikethrough/index.cjs.js +9 -15
  299. package/strikethrough/jsx-serializer/createJsxSerializeStrikethrough.js +3 -3
  300. package/strikethrough/jsx-serializer/index.cjs.js +3 -5
  301. package/toggle-mark/createReactToggleMarkCreator.d.ts +2 -2
  302. package/toggle-mark/createReactToggleMarkCreator.js +14 -14
  303. package/toggle-mark/index.cjs.js +14 -20
  304. package/toggle-mark/jsx-serializer/createJsxSerializeToggleMarkCreator.d.ts +3 -3
  305. package/toggle-mark/jsx-serializer/createJsxSerializeToggleMarkCreator.js +2 -2
  306. package/toggle-mark/jsx-serializer/index.cjs.js +2 -4
  307. package/toggle-mark/jsx-serializer/typings.d.ts +1 -1
  308. package/toggle-mark/toolbar/ToggleMarkToolbarIcon.d.ts +2 -2
  309. package/toggle-mark/toolbar/ToggleMarkToolbarIcon.js +4 -4
  310. package/toggle-mark/toolbar/index.cjs.js +10 -16
  311. package/toggle-mark/toolbar/useToggleMarkTool.js +6 -6
  312. package/toggle-mark/typings.d.ts +2 -2
  313. package/toolbar/components/Toolbar.d.ts +1 -1
  314. package/toolbar/components/Toolbar.js +102 -102
  315. package/toolbar/components/ToolbarIcon.d.ts +2 -2
  316. package/toolbar/components/ToolbarIcon.js +6 -6
  317. package/toolbar/components/ToolbarInput.d.ts +2 -2
  318. package/toolbar/components/ToolbarInput.js +23 -23
  319. package/toolbar/constants.d.ts +2 -2
  320. package/toolbar/constants.js +3 -3
  321. package/toolbar/hooks/useStartToolInput.js +2 -2
  322. package/toolbar/index.cjs.js +137 -144
  323. package/toolbar/toolbar.css +1 -1
  324. package/toolbar/typings.d.ts +1 -1
  325. package/underline/constants.js +5 -5
  326. package/underline/createReactUnderline.d.ts +1 -1
  327. package/underline/createReactUnderline.js +3 -3
  328. package/underline/defaultRenderUnderline.d.ts +2 -2
  329. package/underline/defaultRenderUnderline.js +1 -1
  330. package/underline/index.cjs.js +9 -15
  331. package/underline/jsx-serializer/createJsxSerializeUnderline.js +3 -3
  332. package/underline/jsx-serializer/index.cjs.js +3 -5
  333. package/utils/composeRefs.js +29 -29
  334. package/utils/index.cjs.js +29 -31
@@ -1,9 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { ImageCaptionTypeKey, ImageFigureTypeKey, ImageHostingResolvers, ImageTypeKey } from '@quadrats/common/image';
3
- import { QuadratsElement } from '@quadrats/core';
4
3
  import { CreateJsxSerializeElementOptions } from '@quadrats/react/jsx-serializer';
5
4
  import { JsxSerializeImageCaptionElementProps, JsxSerializeImageElementProps, JsxSerializeImageFigureElementProps } from './typings';
6
- export declare type CreateJsxSerializeImageOptions<H extends string> = Partial<Record<ImageFigureTypeKey, Partial<CreateJsxSerializeElementOptions<JsxSerializeImageFigureElementProps>>> & Record<ImageTypeKey, Partial<CreateJsxSerializeElementOptions<JsxSerializeImageElementProps>>> & Record<ImageCaptionTypeKey, Partial<CreateJsxSerializeElementOptions<JsxSerializeImageCaptionElementProps>>> & {
5
+ export type CreateJsxSerializeImageOptions<H extends string> = Partial<Record<ImageFigureTypeKey, Partial<CreateJsxSerializeElementOptions<JsxSerializeImageFigureElementProps>>> & Record<ImageTypeKey, Partial<CreateJsxSerializeElementOptions<JsxSerializeImageElementProps>>> & Record<ImageCaptionTypeKey, Partial<CreateJsxSerializeElementOptions<JsxSerializeImageCaptionElementProps>>> & {
7
6
  hostingResolvers?: ImageHostingResolvers<H>;
8
7
  }>;
9
- export declare function createJsxSerializeImage<H extends string>(options?: CreateJsxSerializeImageOptions<H>): (props: import("@quadrats/react/jsx-serializer").JsxSerializeElementProps<QuadratsElement>) => JSX.Element | null | undefined;
8
+ export declare function createJsxSerializeImage<H extends string>(options?: CreateJsxSerializeImageOptions<H>): (props: import("@quadrats/react/jsx-serializer").JsxSerializeElementProps) => JSX.Element | null | undefined;
@@ -3,40 +3,40 @@ import { IMAGE_TYPES, getImageFigureElementCommonProps, getImageElementCommonPro
3
3
  import { createJsxSerializeElements } from '@quadrats/react/jsx-serializer';
4
4
  import { defaultRenderImageElements } from './defaultRenderImageElements.js';
5
5
 
6
- function createJsxSerializeImage(options = {}) {
7
- const { figure = {}, image = {}, caption = {}, hostingResolvers, } = options;
8
- const figureType = figure.type || IMAGE_TYPES.figure;
9
- const captionType = caption.type || IMAGE_TYPES.caption;
10
- const renderFigure = figure.render || defaultRenderImageElements.figure;
11
- const renderImage = image.render || defaultRenderImageElements.image;
12
- const renderCaption = caption.render || defaultRenderImageElements.caption;
13
- return createJsxSerializeElements([
14
- {
15
- type: figureType,
16
- render: (props) => {
17
- const { children } = props;
18
- const element = props.element;
19
- return renderFigure(Object.assign(Object.assign({}, getImageFigureElementCommonProps(element)), { children,
20
- element }));
21
- },
22
- },
23
- {
24
- type: image.type || IMAGE_TYPES.image,
25
- render: (props) => {
26
- var _a;
27
- const { children } = props;
28
- const element = props.element;
29
- const figure = getFirstAncestor(element, node => node.type === figureType);
30
- const caption = (_a = figure === null || figure === void 0 ? void 0 : figure.children) === null || _a === void 0 ? void 0 : _a[1];
31
- return renderImage(Object.assign(Object.assign({}, getImageElementCommonProps(element, hostingResolvers)), { caption: (caption === null || caption === void 0 ? void 0 : caption.type) === captionType ? getMergedNodeTexts(caption) : '', children,
32
- element }));
33
- },
34
- },
35
- {
36
- type: captionType,
37
- render: props => renderCaption(Object.assign(Object.assign({}, props), { isEmpty: !getMergedNodeTexts(props.element) })),
38
- },
39
- ]);
6
+ function createJsxSerializeImage(options = {}) {
7
+ const { figure = {}, image = {}, caption = {}, hostingResolvers, } = options;
8
+ const figureType = figure.type || IMAGE_TYPES.figure;
9
+ const captionType = caption.type || IMAGE_TYPES.caption;
10
+ const renderFigure = figure.render || defaultRenderImageElements.figure;
11
+ const renderImage = image.render || defaultRenderImageElements.image;
12
+ const renderCaption = caption.render || defaultRenderImageElements.caption;
13
+ return createJsxSerializeElements([
14
+ {
15
+ type: figureType,
16
+ render: (props) => {
17
+ const { children } = props;
18
+ const element = props.element;
19
+ return renderFigure(Object.assign(Object.assign({}, getImageFigureElementCommonProps(element)), { children,
20
+ element }));
21
+ },
22
+ },
23
+ {
24
+ type: image.type || IMAGE_TYPES.image,
25
+ render: (props) => {
26
+ var _a;
27
+ const { children } = props;
28
+ const element = props.element;
29
+ const figure = getFirstAncestor(element, node => node.type === figureType);
30
+ const caption = (_a = figure === null || figure === void 0 ? void 0 : figure.children) === null || _a === void 0 ? void 0 : _a[1];
31
+ return renderImage(Object.assign(Object.assign({}, getImageElementCommonProps(element, hostingResolvers)), { caption: (caption === null || caption === void 0 ? void 0 : caption.type) === captionType ? getMergedNodeTexts(caption) : '', children,
32
+ element }));
33
+ },
34
+ },
35
+ {
36
+ type: captionType,
37
+ render: props => renderCaption(Object.assign(Object.assign({}, props), { isEmpty: !getMergedNodeTexts(props.element) })),
38
+ },
39
+ ]);
40
40
  }
41
41
 
42
42
  export { createJsxSerializeImage };
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
 
3
- const defaultRenderImageElements = {
4
- figure: ({ children, style }) => React.createElement("figure", { style: style }, children),
5
- image: ({ caption, src }) => React.createElement("img", { src: src, alt: caption, style: { width: '100%' } }),
6
- caption: ({ children, isEmpty }) => (isEmpty ? React.createElement("span", null) : React.createElement("figcaption", null, children)),
3
+ const defaultRenderImageElements = {
4
+ figure: ({ children, style }) => React.createElement("figure", { style: style }, children),
5
+ image: ({ caption, src }) => React.createElement("img", { src: src, alt: caption, style: { width: '100%' } }),
6
+ caption: ({ children, isEmpty }) => (isEmpty ? React.createElement("span", null) : React.createElement("figcaption", null, children)),
7
7
  };
8
8
 
9
9
  export { defaultRenderImageElements };
@@ -1,56 +1,50 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
  var serializers = require('@quadrats/core/serializers');
7
5
  var image = require('@quadrats/common/image');
8
6
  var jsxSerializer = require('@quadrats/react/jsx-serializer');
9
7
 
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
11
-
12
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
-
14
- const defaultRenderImageElements = {
15
- figure: ({ children, style }) => React__default.createElement("figure", { style: style }, children),
16
- image: ({ caption, src }) => React__default.createElement("img", { src: src, alt: caption, style: { width: '100%' } }),
17
- caption: ({ children, isEmpty }) => (isEmpty ? React__default.createElement("span", null) : React__default.createElement("figcaption", null, children)),
8
+ const defaultRenderImageElements = {
9
+ figure: ({ children, style }) => React.createElement("figure", { style: style }, children),
10
+ image: ({ caption, src }) => React.createElement("img", { src: src, alt: caption, style: { width: '100%' } }),
11
+ caption: ({ children, isEmpty }) => (isEmpty ? React.createElement("span", null) : React.createElement("figcaption", null, children)),
18
12
  };
19
13
 
20
- function createJsxSerializeImage(options = {}) {
21
- const { figure = {}, image: image$1 = {}, caption = {}, hostingResolvers, } = options;
22
- const figureType = figure.type || image.IMAGE_TYPES.figure;
23
- const captionType = caption.type || image.IMAGE_TYPES.caption;
24
- const renderFigure = figure.render || defaultRenderImageElements.figure;
25
- const renderImage = image$1.render || defaultRenderImageElements.image;
26
- const renderCaption = caption.render || defaultRenderImageElements.caption;
27
- return jsxSerializer.createJsxSerializeElements([
28
- {
29
- type: figureType,
30
- render: (props) => {
31
- const { children } = props;
32
- const element = props.element;
33
- return renderFigure(Object.assign(Object.assign({}, image.getImageFigureElementCommonProps(element)), { children,
34
- element }));
35
- },
36
- },
37
- {
38
- type: image$1.type || image.IMAGE_TYPES.image,
39
- render: (props) => {
40
- var _a;
41
- const { children } = props;
42
- const element = props.element;
43
- const figure = serializers.getFirstAncestor(element, node => node.type === figureType);
44
- const caption = (_a = figure === null || figure === void 0 ? void 0 : figure.children) === null || _a === void 0 ? void 0 : _a[1];
45
- return renderImage(Object.assign(Object.assign({}, image.getImageElementCommonProps(element, hostingResolvers)), { caption: (caption === null || caption === void 0 ? void 0 : caption.type) === captionType ? serializers.getMergedNodeTexts(caption) : '', children,
46
- element }));
47
- },
48
- },
49
- {
50
- type: captionType,
51
- render: props => renderCaption(Object.assign(Object.assign({}, props), { isEmpty: !serializers.getMergedNodeTexts(props.element) })),
52
- },
53
- ]);
14
+ function createJsxSerializeImage(options = {}) {
15
+ const { figure = {}, image: image$1 = {}, caption = {}, hostingResolvers, } = options;
16
+ const figureType = figure.type || image.IMAGE_TYPES.figure;
17
+ const captionType = caption.type || image.IMAGE_TYPES.caption;
18
+ const renderFigure = figure.render || defaultRenderImageElements.figure;
19
+ const renderImage = image$1.render || defaultRenderImageElements.image;
20
+ const renderCaption = caption.render || defaultRenderImageElements.caption;
21
+ return jsxSerializer.createJsxSerializeElements([
22
+ {
23
+ type: figureType,
24
+ render: (props) => {
25
+ const { children } = props;
26
+ const element = props.element;
27
+ return renderFigure(Object.assign(Object.assign({}, image.getImageFigureElementCommonProps(element)), { children,
28
+ element }));
29
+ },
30
+ },
31
+ {
32
+ type: image$1.type || image.IMAGE_TYPES.image,
33
+ render: (props) => {
34
+ var _a;
35
+ const { children } = props;
36
+ const element = props.element;
37
+ const figure = serializers.getFirstAncestor(element, node => node.type === figureType);
38
+ const caption = (_a = figure === null || figure === void 0 ? void 0 : figure.children) === null || _a === void 0 ? void 0 : _a[1];
39
+ return renderImage(Object.assign(Object.assign({}, image.getImageElementCommonProps(element, hostingResolvers)), { caption: (caption === null || caption === void 0 ? void 0 : caption.type) === captionType ? serializers.getMergedNodeTexts(caption) : '', children,
40
+ element }));
41
+ },
42
+ },
43
+ {
44
+ type: captionType,
45
+ render: props => renderCaption(Object.assign(Object.assign({}, props), { isEmpty: !serializers.getMergedNodeTexts(props.element) })),
46
+ },
47
+ ]);
54
48
  }
55
49
 
56
50
  exports.createJsxSerializeImage = createJsxSerializeImage;
@@ -13,4 +13,4 @@ export interface JsxSerializeImageElementProps extends JsxSerializeElementProps<
13
13
  export interface JsxSerializeImageCaptionElementProps extends JsxSerializeElementProps<ImageCaptionElement> {
14
14
  isEmpty: boolean;
15
15
  }
16
- export declare type ImageJsxSerializeElements = Record<ImageFigureTypeKey, (props: JsxSerializeImageFigureElementProps) => JSX.Element | null | undefined> & Record<ImageTypeKey, (props: JsxSerializeImageElementProps) => JSX.Element | null | undefined> & Record<ImageCaptionTypeKey, (props: JsxSerializeImageCaptionElementProps) => JSX.Element | null | undefined>;
16
+ export type ImageJsxSerializeElements = Record<ImageFigureTypeKey, (props: JsxSerializeImageFigureElementProps) => JSX.Element | null | undefined> & Record<ImageTypeKey, (props: JsxSerializeImageElementProps) => JSX.Element | null | undefined> & Record<ImageCaptionTypeKey, (props: JsxSerializeImageCaptionElementProps) => JSX.Element | null | undefined>;
@@ -10,9 +10,9 @@ export interface RenderImageElementProps extends RenderElementProps<ImageElement
10
10
  resizeImage: ReactImage<any>['resizeImage'];
11
11
  src: string;
12
12
  }
13
- export declare type RenderImageCaptionElementProps = RenderElementProps<ImageCaptionElement>;
14
- export declare type ImageRenderElements = Record<ImageFigureTypeKey, (props: RenderImageFigureElementProps) => JSX.Element | null | undefined> & Record<ImageTypeKey, (props: RenderImageElementProps) => JSX.Element | null | undefined> & Record<ImageCaptionTypeKey, (props: RenderImageCaptionElementProps) => JSX.Element | null | undefined>;
15
- export declare type ReactImageCreateRenderElementOptions = {
13
+ export type RenderImageCaptionElementProps = RenderElementProps<ImageCaptionElement>;
14
+ export type ImageRenderElements = Record<ImageFigureTypeKey, (props: RenderImageFigureElementProps) => JSX.Element | null | undefined> & Record<ImageTypeKey, (props: RenderImageElementProps) => JSX.Element | null | undefined> & Record<ImageCaptionTypeKey, (props: RenderImageCaptionElementProps) => JSX.Element | null | undefined>;
15
+ export type ReactImageCreateRenderElementOptions = {
16
16
  [K in ImageFigureTypeKey | ImageTypeKey | ImageCaptionTypeKey]?: ImageRenderElements[K];
17
17
  };
18
18
  export interface ReactImage<Hosting extends string> extends Omit<Image<Hosting, Editor>, 'with'>, WithCreateHandlers, WithCreateRenderElement<[ReactImageCreateRenderElementOptions?]>, ReactWithable {
package/index.cjs.js CHANGED
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var configs = require('@quadrats/react/configs');
6
4
  var slateReact = require('slate-react');
7
5
  var core = require('@quadrats/core');
@@ -10,130 +8,125 @@ var React = require('react');
10
8
  var clsx = require('clsx');
11
9
  var _internal = require('@quadrats/react/_internal');
12
10
 
13
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
14
-
15
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
- var clsx__default = /*#__PURE__*/_interopDefaultLegacy(clsx);
17
-
18
- const DefaultLeaf = ({ attributes, children }) => React__default.createElement("span", Object.assign({}, attributes), children);
19
-
20
- const PLACEHOLDER_KEY = '__quadrats-placeholder__';
21
- function Editable(props) {
22
- const locale = configs.useLocale();
23
- const { className, decorate: decorateProp, onCompositionEnd: onCompositionEndProp, onCompositionStart: onCompositionStartProp, placeholder = locale.editor.placeholder, renderLeaf: renderLeafProp, style } = props, slateEditableProps = tslib.__rest(props, ["className", "decorate", "onCompositionEnd", "onCompositionStart", "placeholder", "renderLeaf", "style"]);
24
- const { props: themeProps } = configs.useTheme();
25
- const editor = slateReact.useSlate();
26
- const isEditorEmpty = core.isAncestorEmpty(editor);
27
- const [placeholderShowable, setPlaceholderShowable] = React.useState(isEditorEmpty);
28
- const decorate = React.useCallback((entry) => {
29
- const result = decorateProp ? decorateProp(entry) : [];
30
- const [node] = entry;
31
- if (isEditorEmpty && core.Editor.isEditor(node)) {
32
- const start = core.Editor.start(node, []);
33
- result.push({
34
- [PLACEHOLDER_KEY]: true,
35
- anchor: start,
36
- focus: start,
37
- });
38
- }
39
- return result;
40
- }, [decorateProp, isEditorEmpty]);
41
- const onCompositionEnd = React.useCallback((event) => {
42
- onCompositionEndProp === null || onCompositionEndProp === void 0 ? void 0 : onCompositionEndProp(event);
43
- setPlaceholderShowable(true);
44
- }, [onCompositionEndProp]);
45
- const onCompositionStart = React.useCallback((event) => {
46
- onCompositionStartProp === null || onCompositionStartProp === void 0 ? void 0 : onCompositionStartProp(event);
47
- if (isEditorEmpty) {
48
- setPlaceholderShowable(false);
49
- }
50
- }, [onCompositionStartProp, isEditorEmpty]);
51
- const renderLeaf = React.useCallback((props) => {
52
- const children = renderLeafProp ? renderLeafProp(props) : React__default.createElement(DefaultLeaf, Object.assign({}, props));
53
- const { leaf } = props;
54
- if (placeholderShowable && leaf[PLACEHOLDER_KEY]) {
55
- return (React__default.createElement(React__default.Fragment, null,
56
- React__default.createElement("span", { className: "qdr-editable__placeholder", contentEditable: false }, placeholder),
57
- children));
58
- }
59
- return children;
60
- }, [renderLeafProp, placeholder, placeholderShowable]);
61
- return (React__default.createElement(slateReact.Editable, Object.assign({}, slateEditableProps, { className: clsx__default('qdr-editable', themeProps.className, className), decorate: decorate, onCompositionStart: onCompositionStart, onCompositionEnd: onCompositionEnd, renderLeaf: renderLeaf, style: Object.assign(Object.assign({}, themeProps.style), style) })));
11
+ const DefaultLeaf = ({ attributes, children }) => React.createElement("span", Object.assign({}, attributes), children);
12
+
13
+ function Editable(props) {
14
+ const locale = configs.useLocale();
15
+ const { className, decorate: decorateProp, onCompositionEnd: onCompositionEndProp, onCompositionStart: onCompositionStartProp, placeholder = locale.editor.placeholder, renderLeaf: renderLeafProp, style } = props, slateEditableProps = tslib.__rest(props, ["className", "decorate", "onCompositionEnd", "onCompositionStart", "placeholder", "renderLeaf", "style"]);
16
+ const { props: themeProps } = configs.useTheme();
17
+ const editor = slateReact.useSlate();
18
+ const isEditorEmpty = core.isAncestorEmpty(editor);
19
+ const [placeholderShowable, setPlaceholderShowable] = React.useState(isEditorEmpty);
20
+ const decorate = React.useCallback((entry) => {
21
+ const result = decorateProp ? decorateProp(entry) : [];
22
+ const [node] = entry;
23
+ if (isEditorEmpty && core.Editor.isEditor(node)) {
24
+ const start = core.Editor.start(node, []);
25
+ result.push({
26
+ [PLACEHOLDER_KEY]: true,
27
+ anchor: start,
28
+ focus: start,
29
+ });
30
+ }
31
+ return result;
32
+ }, [decorateProp, isEditorEmpty]);
33
+ const onCompositionEnd = React.useCallback((event) => {
34
+ onCompositionEndProp === null || onCompositionEndProp === void 0 ? void 0 : onCompositionEndProp(event);
35
+ setPlaceholderShowable(true);
36
+ }, [onCompositionEndProp]);
37
+ const onCompositionStart = React.useCallback((event) => {
38
+ onCompositionStartProp === null || onCompositionStartProp === void 0 ? void 0 : onCompositionStartProp(event);
39
+ if (isEditorEmpty) {
40
+ setPlaceholderShowable(false);
41
+ }
42
+ }, [onCompositionStartProp, isEditorEmpty]);
43
+ const renderLeaf = React.useCallback((props) => {
44
+ const children = renderLeafProp ? renderLeafProp(props) : React.createElement(DefaultLeaf, Object.assign({}, props));
45
+ if (placeholderShowable && props.leaf[PLACEHOLDER_KEY]) {
46
+ return (React.createElement(React.Fragment, null,
47
+ React.createElement("span", { className: "qdr-editable__placeholder", contentEditable: false }, placeholder),
48
+ children));
49
+ }
50
+ return children;
51
+ }, [renderLeafProp, placeholder, placeholderShowable]);
52
+ return (React.createElement(slateReact.Editable, Object.assign({}, slateEditableProps, { className: clsx('qdr-editable', themeProps.className, className), decorate: decorate, onCompositionStart: onCompositionStart, onCompositionEnd: onCompositionEnd, renderLeaf: renderLeaf, style: Object.assign(Object.assign({}, themeProps.style), style) })));
62
53
  }
63
54
 
64
- const DefaultElement = ({ attributes, children }) => React__default.createElement("div", Object.assign({}, attributes), children);
55
+ const DefaultElement = ({ attributes, children }) => React.createElement("div", Object.assign({}, attributes), children);
65
56
 
66
- /**
67
- * Provide configs of quadrats and control the value.
68
- */
69
- function Quadrats(props) {
70
- const { children, editor, locale, onChange, theme, value, } = props;
71
- return (React__default.createElement(configs.ConfigsProvider, { theme: theme, locale: locale },
72
- React__default.createElement(slateReact.Slate, { editor: editor, onChange: onChange, value: value }, children)));
57
+ /**
58
+ * Provide configs of quadrats and control the value.
59
+ */
60
+ function Quadrats(props) {
61
+ const { children, editor, locale, onChange, theme, value, } = props;
62
+ return (React.createElement(configs.ConfigsProvider, { theme: theme, locale: locale },
63
+ React.createElement(slateReact.Slate, { editor: editor, onChange: onChange, value: value }, children)));
73
64
  }
74
65
 
75
- function createEventHandler(editor, handlers) {
76
- const [handler, ...restHandlers] = handlers;
77
- return event => handler(event, editor, () => {
78
- const next = restHandlers.length > 0 ? createEventHandler(editor, restHandlers) : () => { };
79
- next(event);
80
- });
81
- }
82
- /**
83
- * To compose sequential `event handlers` to single for each event types.
84
- */
85
- function composeHandlers(handlersList) {
86
- const handlersListRecord = handlersList.reduce((acc, handlers) => {
87
- Object.entries(handlers).forEach(([key, value]) => {
88
- const name = key;
89
- const handler = value;
90
- const origin = acc[name];
91
- if (origin) {
92
- origin.push(handler);
93
- }
94
- else {
95
- acc[name] = [handler];
96
- }
97
- });
98
- return acc;
99
- }, {});
100
- const handlersEntries = Object.entries(handlersListRecord);
101
- return editor => handlersEntries.reduce((acc, [name, handlers]) => {
102
- acc[name] = createEventHandler(editor, handlers);
103
- return acc;
104
- }, {});
66
+ function createEventHandler(editor, handlers) {
67
+ const [handler, ...restHandlers] = handlers;
68
+ return event => handler(event, editor, () => {
69
+ const next = restHandlers.length > 0 ? createEventHandler(editor, restHandlers) : () => { };
70
+ next(event);
71
+ });
72
+ }
73
+ /**
74
+ * To compose sequential `event handlers` to single for each event types.
75
+ */
76
+ function composeHandlers(handlersList) {
77
+ const handlersListRecord = handlersList.reduce((acc, handlers) => {
78
+ Object.entries(handlers).forEach(([key, value]) => {
79
+ const name = key;
80
+ const handler = value;
81
+ const origin = acc[name];
82
+ if (origin) {
83
+ origin.push(handler);
84
+ }
85
+ else {
86
+ acc[name] = [handler];
87
+ }
88
+ });
89
+ return acc;
90
+ }, {});
91
+ const handlersEntries = Object.entries(handlersListRecord);
92
+ return editor => handlersEntries.reduce((acc, [name, handlers]) => {
93
+ acc[name] = createEventHandler(editor, handlers);
94
+ return acc;
95
+ }, {});
105
96
  }
106
97
 
107
- /**
108
- * To compose sequential `renderElement`s to single.
109
- */
110
- function composeRenderElements(renderElements) {
111
- return _internal.composeRenderElementsBase(props => React__default.createElement(DefaultElement, Object.assign({}, props)), renderElements);
98
+ /**
99
+ * To compose sequential `renderElement`s to single.
100
+ */
101
+ function composeRenderElements(renderElements) {
102
+ return _internal.composeRenderElementsBase(props => React.createElement(DefaultElement, Object.assign({}, props)), renderElements);
112
103
  }
113
104
 
114
- /**
115
- * To compose sequential `renderLeaf`s or `renderMark`s to single.
116
- */
117
- function composeRenderLeafs(renderLeafs) {
118
- return _internal.composeRenderLeafsBase(props => React__default.createElement(DefaultLeaf, Object.assign({}, props)), renderLeafs);
105
+ /**
106
+ * To compose sequential `renderLeaf`s or `renderMark`s to single.
107
+ */
108
+ function composeRenderLeafs(renderLeafs) {
109
+ return _internal.composeRenderLeafsBase(props => React.createElement(DefaultLeaf, Object.assign({}, props)), renderLeafs);
119
110
  }
120
111
 
121
- function createReactEditor() {
122
- return slateReact.withReact(core.createEditor());
112
+ function createReactEditor() {
113
+ return slateReact.withReact(core.createEditor());
123
114
  }
124
115
 
125
- function createRenderElement(options) {
126
- return _internal.createRenderElementBase(options);
116
+ function createRenderElement(options) {
117
+ return _internal.createRenderElementBase(options);
127
118
  }
128
119
 
129
- function createRenderElements(options) {
130
- return _internal.createRenderElementsBase(options);
120
+ function createRenderElements(options) {
121
+ return _internal.createRenderElementsBase(options);
131
122
  }
132
123
 
133
- function createRenderMark(options) {
134
- return _internal.createRenderMarkBase(options);
124
+ function createRenderMark(options) {
125
+ return _internal.createRenderMarkBase(options);
135
126
  }
136
127
 
128
+ const PLACEHOLDER_KEY = '__quadrats-placeholder__';
129
+
137
130
  exports.ReactEditor = slateReact.ReactEditor;
138
131
  exports.useFocused = slateReact.useFocused;
139
132
  exports.useQuadrats = slateReact.useSlate;
@@ -144,6 +137,7 @@ exports.Editor = core.Editor;
144
137
  exports.DefaultElement = DefaultElement;
145
138
  exports.DefaultLeaf = DefaultLeaf;
146
139
  exports.Editable = Editable;
140
+ exports.PLACEHOLDER_KEY = PLACEHOLDER_KEY;
147
141
  exports.Quadrats = Quadrats;
148
142
  exports.composeHandlers = composeHandlers;
149
143
  exports.composeRenderElements = composeRenderElements;
@@ -152,6 +146,6 @@ exports.createReactEditor = createReactEditor;
152
146
  exports.createRenderElement = createRenderElement;
153
147
  exports.createRenderElements = createRenderElements;
154
148
  exports.createRenderMark = createRenderMark;
155
- for (var k in configs) {
149
+ Object.keys(configs).forEach(function (k) {
156
150
  if (k !== 'default' && !exports.hasOwnProperty(k)) exports[k] = configs[k];
157
- }
151
+ });
package/index.js CHANGED
@@ -1,10 +1,11 @@
1
1
  export * from '@quadrats/react/configs';
2
- export { ReactEditor, useFocused, useSlate as useQuadrats, useReadOnly, useSelected, useSlateStatic } from 'slate-react';
3
- export { Editor } from '@quadrats/core';
2
+ export { PLACEHOLDER_KEY } from './core/index.js';
4
3
  export { default as Editable } from './core/components/Editable.js';
5
4
  export { default as DefaultElement } from './core/components/DefaultElement.js';
6
5
  export { default as DefaultLeaf } from './core/components/DefaultLeaf.js';
7
6
  export { default as Quadrats } from './core/components/Quadrats.js';
7
+ export { ReactEditor, useFocused, useSlate as useQuadrats, useReadOnly, useSelected, useSlateStatic } from 'slate-react';
8
+ export { Editor } from '@quadrats/core';
8
9
  export { composeHandlers } from './core/composeHandlers.js';
9
10
  export { composeRenderElements } from './core/composeRenderElements.js';
10
11
  export { composeRenderLeafs } from './core/composeRenderLeafs.js';
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { RenderInputBlockElementProps } from '../typings';
3
- declare function InputBlock(props: RenderInputBlockElementProps): JSX.Element;
3
+ declare function InputBlock(props: RenderInputBlockElementProps): React.JSX.Element;
4
4
  export default InputBlock;
@@ -1,25 +1,25 @@
1
1
  import React from 'react';
2
2
  import { useInputBlock } from '../hooks/useInputBlock.js';
3
3
 
4
- function InputBlock(props) {
5
- const { attributes, children } = props;
6
- const { inputRef, onBlur, onKeyDown, placeholder, } = useInputBlock(props);
7
- return (React.createElement("div", Object.assign({}, attributes, { contentEditable: false, style: {
8
- display: 'flex',
9
- }, className: "qdr-input-block" }),
10
- React.createElement("input", { ref: inputRef, onBlur: onBlur, onKeyDown: onKeyDown, placeholder: placeholder, style: {
11
- display: 'block',
12
- color: 'currentColor',
13
- font: 'inherit',
14
- width: '100%',
15
- margin: 0,
16
- border: 0,
17
- padding: 0,
18
- background: 'none',
19
- outline: 0,
20
- boxSizing: 'border-box',
21
- } }),
22
- children));
4
+ function InputBlock(props) {
5
+ const { attributes, children } = props;
6
+ const { inputRef, onBlur, onKeyDown, placeholder, } = useInputBlock(props);
7
+ return (React.createElement("div", Object.assign({}, attributes, { contentEditable: false, style: {
8
+ display: 'flex',
9
+ }, className: "qdr-input-block" }),
10
+ React.createElement("input", { ref: inputRef, onBlur: onBlur, onKeyDown: onKeyDown, placeholder: placeholder, style: {
11
+ display: 'block',
12
+ color: 'currentColor',
13
+ font: 'inherit',
14
+ width: '100%',
15
+ margin: 0,
16
+ border: 0,
17
+ padding: 0,
18
+ background: 'none',
19
+ outline: 0,
20
+ boxSizing: 'border-box',
21
+ } }),
22
+ children));
23
23
  }
24
24
 
25
25
  export { InputBlock as default };
@@ -1,4 +1,4 @@
1
1
  import { CreateInputBlockOptions } from '@quadrats/common/input-block';
2
2
  import { ReactInputBlock } from './typings';
3
- export declare type CreateReactInputBlockOptions = CreateInputBlockOptions;
3
+ export type CreateReactInputBlockOptions = CreateInputBlockOptions;
4
4
  export declare function createReactInputBlock(options?: CreateInputBlockOptions): ReactInputBlock;
@@ -2,16 +2,16 @@ import { createInputBlock } from '@quadrats/common/input-block';
2
2
  import { createRenderElement, ReactEditor } from '@quadrats/react';
3
3
  import { defaultRenderInputBlockElement } from './defaultRenderInputBlockElement.js';
4
4
 
5
- function createReactInputBlock(options = {}) {
6
- const core = createInputBlock(options);
7
- const { type } = core;
8
- const remove = (editor, element) => core.remove(editor, [element, ReactEditor.findPath(editor, element)], () => ReactEditor.focus(editor));
9
- const confirm = (editor, element, value) => core.confirm(element, value, () => remove(editor, element));
10
- return Object.assign(Object.assign({}, core), { remove,
11
- confirm, createRenderElement: ({ render = defaultRenderInputBlockElement, } = {}) => createRenderElement({
12
- type,
13
- render: (props) => render(Object.assign(Object.assign({}, props), { remove, confirm })),
14
- }) });
5
+ function createReactInputBlock(options = {}) {
6
+ const core = createInputBlock(options);
7
+ const { type } = core;
8
+ const remove = (editor, element) => core.remove(editor, [element, ReactEditor.findPath(editor, element)], () => ReactEditor.focus(editor));
9
+ const confirm = (editor, element, value) => core.confirm(element, value, () => remove(editor, element));
10
+ return Object.assign(Object.assign({}, core), { remove,
11
+ confirm, createRenderElement: ({ render = defaultRenderInputBlockElement, } = {}) => createRenderElement({
12
+ type,
13
+ render: (props) => render(Object.assign(Object.assign({}, props), { remove, confirm })),
14
+ }) });
15
15
  }
16
16
 
17
17
  export { createReactInputBlock };