@quadrats/react 0.6.6 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) 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.js +3 -3
  178. package/highlight/jsx-serializer/index.cjs.js +3 -5
  179. package/image/components/Image.d.ts +2 -2
  180. package/image/components/Image.js +11 -11
  181. package/image/components/ImageCaption.d.ts +2 -2
  182. package/image/components/ImageCaption.js +13 -13
  183. package/image/components/ImageFigure.d.ts +2 -2
  184. package/image/components/ImageFigure.js +8 -8
  185. package/image/createReactImage.d.ts +1 -1
  186. package/image/createReactImage.js +94 -94
  187. package/image/defaultRenderImageElements.js +4 -4
  188. package/image/hooks/useImageResizer.js +89 -89
  189. package/image/image.css +1 -1
  190. package/image/index.cjs.js +219 -227
  191. package/image/jsx-serializer/createJsxSerializeImage.d.ts +2 -3
  192. package/image/jsx-serializer/createJsxSerializeImage.js +34 -34
  193. package/image/jsx-serializer/defaultRenderImageElements.js +4 -4
  194. package/image/jsx-serializer/index.cjs.js +38 -44
  195. package/image/jsx-serializer/typings.d.ts +1 -1
  196. package/image/typings.d.ts +3 -3
  197. package/index.cjs.js +103 -109
  198. package/index.js +3 -2
  199. package/input-block/components/InputBlock.d.ts +2 -2
  200. package/input-block/components/InputBlock.js +19 -19
  201. package/input-block/createReactInputBlock.d.ts +1 -1
  202. package/input-block/createReactInputBlock.js +10 -10
  203. package/input-block/hooks/useInputBlock.js +43 -43
  204. package/input-block/index.cjs.js +73 -79
  205. package/input-block/typings.d.ts +2 -2
  206. package/italic/constants.js +5 -5
  207. package/italic/createReactItalic.d.ts +1 -1
  208. package/italic/createReactItalic.js +3 -3
  209. package/italic/defaultRenderItalic.d.ts +2 -2
  210. package/italic/defaultRenderItalic.js +1 -1
  211. package/italic/index.cjs.js +9 -15
  212. package/italic/jsx-serializer/createJsxSerializeItalic.js +3 -3
  213. package/italic/jsx-serializer/index.cjs.js +3 -5
  214. package/jsx-serializer/createJsxSerializeElement.d.ts +1 -1
  215. package/jsx-serializer/createJsxSerializeElement.js +2 -2
  216. package/jsx-serializer/createJsxSerializeElements.d.ts +1 -1
  217. package/jsx-serializer/createJsxSerializeElements.js +2 -2
  218. package/jsx-serializer/createJsxSerializeMark.js +2 -2
  219. package/jsx-serializer/createJsxSerializer.js +42 -42
  220. package/jsx-serializer/index.cjs.js +48 -54
  221. package/jsx-serializer/typings.d.ts +5 -5
  222. package/line-break/commonBreak.js +26 -26
  223. package/line-break/createOnKeyDownBreak.js +41 -41
  224. package/line-break/createReactLineBreak.d.ts +1 -1
  225. package/line-break/createReactLineBreak.js +6 -6
  226. package/line-break/defaultRenderLineBreakElement.d.ts +2 -2
  227. package/line-break/index.cjs.js +75 -82
  228. package/line-break/jsx-serializer/createJsxSerializeLineBreak.d.ts +2 -2
  229. package/line-break/jsx-serializer/createJsxSerializeLineBreak.js +4 -4
  230. package/line-break/jsx-serializer/defaultRenderLineBreakElement.d.ts +2 -2
  231. package/line-break/jsx-serializer/defaultRenderLineBreakElement.js +1 -1
  232. package/line-break/jsx-serializer/index.cjs.js +6 -12
  233. package/line-break/jsx-serializer/typings.d.ts +1 -1
  234. package/line-break/renderLineBreakElementWithSymbol.d.ts +2 -2
  235. package/line-break/typings.d.ts +1 -1
  236. package/link/createReactLink.js +22 -22
  237. package/link/defaultRenderLinkElement.d.ts +2 -2
  238. package/link/defaultRenderLinkElement.js +7 -7
  239. package/link/index.cjs.js +29 -35
  240. package/link/jsx-serializer/createJsxSerializeLink.d.ts +2 -2
  241. package/link/jsx-serializer/createJsxSerializeLink.js +3 -3
  242. package/link/jsx-serializer/defaultRenderLinkElement.d.ts +2 -2
  243. package/link/jsx-serializer/index.cjs.js +4 -10
  244. package/link/jsx-serializer/typings.d.ts +1 -1
  245. package/link/toolbar/LinkToolbarIcon.d.ts +2 -2
  246. package/link/toolbar/LinkToolbarIcon.js +4 -4
  247. package/link/toolbar/UnlinkToolbarIcon.d.ts +2 -2
  248. package/link/toolbar/UnlinkToolbarIcon.js +4 -4
  249. package/link/toolbar/index.cjs.js +27 -33
  250. package/link/toolbar/useLinkTool.d.ts +1 -1
  251. package/link/toolbar/useLinkTool.js +14 -14
  252. package/link/toolbar/useUnlinkTool.js +5 -5
  253. package/link/typings.d.ts +1 -1
  254. package/list/createReactList.d.ts +1 -1
  255. package/list/createReactList.js +18 -18
  256. package/list/defaultRenderListElements.js +4 -4
  257. package/list/index.cjs.js +22 -28
  258. package/list/jsx-serializer/createJsxSerializeList.d.ts +2 -2
  259. package/list/jsx-serializer/createJsxSerializeList.js +8 -8
  260. package/list/jsx-serializer/index.cjs.js +8 -10
  261. package/list/jsx-serializer/typings.d.ts +1 -1
  262. package/list/toolbar/ListToolbarIcon.d.ts +2 -2
  263. package/list/toolbar/ListToolbarIcon.js +4 -4
  264. package/list/toolbar/index.cjs.js +10 -16
  265. package/list/toolbar/useListTool.js +6 -6
  266. package/list/typings.d.ts +2 -2
  267. package/package.json +10 -10
  268. package/paragraph/createRenderParagraphElement.d.ts +2 -2
  269. package/paragraph/createRenderParagraphElement.js +3 -3
  270. package/paragraph/defaultRenderParagraphElement.d.ts +2 -2
  271. package/paragraph/index.cjs.js +5 -11
  272. package/paragraph/jsx-serializer/createJsxSerializeParagraph.d.ts +2 -2
  273. package/paragraph/jsx-serializer/createJsxSerializeParagraph.js +3 -3
  274. package/paragraph/jsx-serializer/index.cjs.js +3 -5
  275. package/paragraph/jsx-serializer/typings.d.ts +1 -1
  276. package/paragraph/renderParagraphElementWithSymbol.d.ts +2 -2
  277. package/read-more/components/ReadMore.d.ts +2 -2
  278. package/read-more/components/ReadMore.js +6 -6
  279. package/read-more/createReactReadMore.d.ts +1 -1
  280. package/read-more/createReactReadMore.js +4 -4
  281. package/read-more/defaultRenderReadMoreElement.d.ts +2 -2
  282. package/read-more/index.cjs.js +11 -17
  283. package/read-more/jsx-serializer/createJsxSerializeReadMore.d.ts +2 -2
  284. package/read-more/jsx-serializer/createJsxSerializeReadMore.js +3 -3
  285. package/read-more/jsx-serializer/index.cjs.js +3 -5
  286. package/read-more/jsx-serializer/typings.d.ts +1 -1
  287. package/read-more/toolbar/ReadMoreToolbarIcon.d.ts +2 -2
  288. package/read-more/toolbar/ReadMoreToolbarIcon.js +4 -4
  289. package/read-more/toolbar/index.cjs.js +9 -15
  290. package/read-more/toolbar/useReadMoreTool.js +5 -5
  291. package/read-more/typings.d.ts +1 -1
  292. package/strikethrough/constants.js +5 -5
  293. package/strikethrough/createReactStrikethrough.d.ts +1 -1
  294. package/strikethrough/createReactStrikethrough.js +3 -3
  295. package/strikethrough/defaultRenderStrikethrough.d.ts +2 -2
  296. package/strikethrough/defaultRenderStrikethrough.js +1 -1
  297. package/strikethrough/index.cjs.js +9 -15
  298. package/strikethrough/jsx-serializer/createJsxSerializeStrikethrough.js +3 -3
  299. package/strikethrough/jsx-serializer/index.cjs.js +3 -5
  300. package/toggle-mark/createReactToggleMarkCreator.d.ts +2 -2
  301. package/toggle-mark/createReactToggleMarkCreator.js +14 -14
  302. package/toggle-mark/index.cjs.js +14 -20
  303. package/toggle-mark/jsx-serializer/createJsxSerializeToggleMarkCreator.d.ts +3 -3
  304. package/toggle-mark/jsx-serializer/createJsxSerializeToggleMarkCreator.js +2 -2
  305. package/toggle-mark/jsx-serializer/index.cjs.js +2 -4
  306. package/toggle-mark/jsx-serializer/typings.d.ts +1 -1
  307. package/toggle-mark/toolbar/ToggleMarkToolbarIcon.d.ts +2 -2
  308. package/toggle-mark/toolbar/ToggleMarkToolbarIcon.js +4 -4
  309. package/toggle-mark/toolbar/index.cjs.js +10 -16
  310. package/toggle-mark/toolbar/useToggleMarkTool.js +6 -6
  311. package/toggle-mark/typings.d.ts +2 -2
  312. package/toolbar/components/Toolbar.d.ts +1 -1
  313. package/toolbar/components/Toolbar.js +102 -102
  314. package/toolbar/components/ToolbarIcon.d.ts +2 -2
  315. package/toolbar/components/ToolbarIcon.js +6 -6
  316. package/toolbar/components/ToolbarInput.d.ts +2 -2
  317. package/toolbar/components/ToolbarInput.js +23 -23
  318. package/toolbar/constants.d.ts +2 -2
  319. package/toolbar/constants.js +3 -3
  320. package/toolbar/hooks/useStartToolInput.js +2 -2
  321. package/toolbar/index.cjs.js +137 -144
  322. package/toolbar/toolbar.css +1 -1
  323. package/toolbar/typings.d.ts +1 -1
  324. package/underline/constants.js +5 -5
  325. package/underline/createReactUnderline.d.ts +1 -1
  326. package/underline/createReactUnderline.js +3 -3
  327. package/underline/defaultRenderUnderline.d.ts +2 -2
  328. package/underline/defaultRenderUnderline.js +1 -1
  329. package/underline/index.cjs.js +9 -15
  330. package/underline/jsx-serializer/createJsxSerializeUnderline.js +3 -3
  331. package/underline/jsx-serializer/index.cjs.js +3 -5
  332. package/utils/composeRefs.js +29 -29
  333. package/utils/index.cjs.js +29 -31
@@ -1,69 +1,63 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var _internal = require('@quadrats/react/_internal');
6
4
  var React = require('react');
7
5
  var serializers = require('@quadrats/core/serializers');
8
6
 
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
10
-
11
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
-
13
- function createJsxSerializeElement(options) {
14
- return _internal.createRenderElementBase(options);
7
+ function createJsxSerializeElement(options) {
8
+ return _internal.createRenderElementBase(options);
15
9
  }
16
10
 
17
- function createJsxSerializeElements(options) {
18
- return _internal.createRenderElementsBase(options);
11
+ function createJsxSerializeElements(options) {
12
+ return _internal.createRenderElementsBase(options);
19
13
  }
20
14
 
21
- function createJsxSerializeMark(options) {
22
- return _internal.createRenderMarkBase(options);
15
+ function createJsxSerializeMark(options) {
16
+ return _internal.createRenderMarkBase(options);
23
17
  }
24
18
 
25
- let key = 0;
26
- function addKey(element) {
27
- key += 1;
28
- return React.cloneElement(element, { key });
29
- }
30
- function createJsxSerializer(options) {
31
- const { defaultElement: defaultSerializeElement = ({ children }) => React__default.createElement("div", null, children), defaultLeaf: defaultSerializeLeaf = ({ children }) => React__default.createElement("span", null, children), elements: serializeElements = [], leafs: serializeLeafs = [], } = options;
32
- const serializeElement = _internal.composeRenderElementsBase(defaultSerializeElement, serializeElements);
33
- const serializeLeaf = _internal.composeRenderLeafsBase(defaultSerializeLeaf, serializeLeafs);
34
- const leafStyle = {
35
- whiteSpace: 'pre-wrap',
36
- };
37
- function serializeNode(node) {
38
- const { parent } = node;
39
- let result;
40
- if (!serializers.isText(node)) {
41
- result = serializeElement({
42
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
43
- children: serializeNodes(node.children, node),
44
- element: Object.assign(Object.assign({}, node), { parent }),
45
- });
46
- }
47
- else if (node.text) {
48
- result = serializeLeaf({
49
- leaf: node,
50
- children: (React__default.createElement("span", { style: leafStyle }, node.text
51
- .split('\n')
52
- .map(t => t || ' ')
53
- .join('\n'))),
54
- });
55
- }
56
- else {
57
- result = React__default.createElement("span", null, "\uFEFF");
58
- }
59
- return addKey(result);
60
- }
61
- function serializeNodes(nodes, parent) {
62
- return React__default.createElement(React__default.Fragment, null, nodes.map(node => serializeNode(Object.assign(Object.assign({}, node), { parent }))));
63
- }
64
- return {
65
- serialize: (nodes) => serializeNodes(nodes, undefined),
66
- };
19
+ let key = 0;
20
+ function addKey(element) {
21
+ key += 1;
22
+ return React.cloneElement(element, { key });
23
+ }
24
+ function createJsxSerializer(options) {
25
+ const { defaultElement: defaultSerializeElement = ({ children }) => React.createElement("div", null, children), defaultLeaf: defaultSerializeLeaf = ({ children }) => React.createElement("span", null, children), elements: serializeElements = [], leafs: serializeLeafs = [], } = options;
26
+ const serializeElement = _internal.composeRenderElementsBase(defaultSerializeElement, serializeElements);
27
+ const serializeLeaf = _internal.composeRenderLeafsBase(defaultSerializeLeaf, serializeLeafs);
28
+ const leafStyle = {
29
+ whiteSpace: 'pre-wrap',
30
+ };
31
+ function serializeNode(node) {
32
+ const { parent } = node;
33
+ let result;
34
+ if (!serializers.isText(node)) {
35
+ result = serializeElement({
36
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
37
+ children: serializeNodes(node.children, node),
38
+ element: Object.assign(Object.assign({}, node), { parent }),
39
+ });
40
+ }
41
+ else if (node.text) {
42
+ result = serializeLeaf({
43
+ leaf: node,
44
+ children: (React.createElement("span", { style: leafStyle }, node.text
45
+ .split('\n')
46
+ .map(t => t || ' ')
47
+ .join('\n'))),
48
+ });
49
+ }
50
+ else {
51
+ result = React.createElement("span", null, "\uFEFF");
52
+ }
53
+ return addKey(result);
54
+ }
55
+ function serializeNodes(nodes, parent) {
56
+ return React.createElement(React.Fragment, null, nodes.map(node => serializeNode(Object.assign(Object.assign({}, node), { parent }))));
57
+ }
58
+ return {
59
+ serialize: (nodes) => serializeNodes(nodes, undefined),
60
+ };
67
61
  }
68
62
 
69
63
  exports.createJsxSerializeElement = createJsxSerializeElement;
@@ -1,8 +1,8 @@
1
1
  import { QuadratsElement } from '@quadrats/core';
2
2
  import { WithElementParent } from '@quadrats/core/serializers';
3
3
  import { CreateRenderElementOptionsBase, CreateRenderMarkOptionsBase, RenderElementPropsBase, RenderLeafPropsBase, RenderMarkPropsBase } from '@quadrats/react/_internal';
4
- export declare type JsxSerializeLeafProps = RenderLeafPropsBase;
5
- export declare type JsxSerializeMarkProps<M> = RenderMarkPropsBase<M>;
6
- export declare type JsxSerializeElementProps<E extends QuadratsElement = QuadratsElement> = RenderElementPropsBase<E & WithElementParent>;
7
- export declare type CreateJsxSerializeMarkOptions<M> = CreateRenderMarkOptionsBase<M, JsxSerializeMarkProps<M>>;
8
- export declare type CreateJsxSerializeElementOptions<P extends JsxSerializeElementProps> = CreateRenderElementOptionsBase<P>;
4
+ export type JsxSerializeLeafProps = RenderLeafPropsBase;
5
+ export type JsxSerializeMarkProps<M> = RenderMarkPropsBase<M>;
6
+ export type JsxSerializeElementProps<E extends QuadratsElement = QuadratsElement> = RenderElementPropsBase<E & WithElementParent>;
7
+ export type CreateJsxSerializeMarkOptions<M> = CreateRenderMarkOptionsBase<M, JsxSerializeMarkProps<M>>;
8
+ export type CreateJsxSerializeElementOptions<P extends JsxSerializeElementProps> = CreateRenderElementOptionsBase<P>;
@@ -1,31 +1,31 @@
1
1
  import { createOnKeyDownBreak } from './createOnKeyDownBreak.js';
2
2
 
3
- const COMMON_EXIT_BREAK_ON_BEFORE_HOTKEY = 'mod+enter';
4
- const COMMON_EXIT_BREAK_ON_AFTER_HOTKEY = 'mod+shift+enter';
5
- const COMMON_EXIT_BREAK_ON_BEFORE_RULE = {
6
- hotkey: COMMON_EXIT_BREAK_ON_BEFORE_HOTKEY,
7
- };
8
- const COMMON_EXIT_BREAK_ON_AFTER_RULE = {
9
- hotkey: COMMON_EXIT_BREAK_ON_AFTER_HOTKEY,
10
- before: true,
11
- };
12
- const COMMON_EXIT_BREAK_RULES = [COMMON_EXIT_BREAK_ON_AFTER_RULE, COMMON_EXIT_BREAK_ON_BEFORE_RULE];
13
- const COMMON_SOFT_BREAK_HOTKEY = 'shift+enter';
14
- const COMMON_SOFT_BREAK_RULE = {
15
- hotkey: COMMON_SOFT_BREAK_HOTKEY,
16
- };
17
- /**
18
- * Common behavior of exit.
19
- *
20
- * Using `shift+enter` for soft break and `mod+enter` for exit break.
21
- */
22
- const COMMON_ON_KEY_DOWN_BREAK = createOnKeyDownBreak({
23
- exitBreak: {
24
- rules: COMMON_EXIT_BREAK_RULES,
25
- },
26
- softBreak: {
27
- rules: [COMMON_SOFT_BREAK_RULE],
28
- },
3
+ const COMMON_EXIT_BREAK_ON_BEFORE_HOTKEY = 'mod+enter';
4
+ const COMMON_EXIT_BREAK_ON_AFTER_HOTKEY = 'mod+shift+enter';
5
+ const COMMON_EXIT_BREAK_ON_BEFORE_RULE = {
6
+ hotkey: COMMON_EXIT_BREAK_ON_BEFORE_HOTKEY,
7
+ };
8
+ const COMMON_EXIT_BREAK_ON_AFTER_RULE = {
9
+ hotkey: COMMON_EXIT_BREAK_ON_AFTER_HOTKEY,
10
+ before: true,
11
+ };
12
+ const COMMON_EXIT_BREAK_RULES = [COMMON_EXIT_BREAK_ON_AFTER_RULE, COMMON_EXIT_BREAK_ON_BEFORE_RULE];
13
+ const COMMON_SOFT_BREAK_HOTKEY = 'shift+enter';
14
+ const COMMON_SOFT_BREAK_RULE = {
15
+ hotkey: COMMON_SOFT_BREAK_HOTKEY,
16
+ };
17
+ /**
18
+ * Common behavior of exit.
19
+ *
20
+ * Using `shift+enter` for soft break and `mod+enter` for exit break.
21
+ */
22
+ const COMMON_ON_KEY_DOWN_BREAK = createOnKeyDownBreak({
23
+ exitBreak: {
24
+ rules: COMMON_EXIT_BREAK_RULES,
25
+ },
26
+ softBreak: {
27
+ rules: [COMMON_SOFT_BREAK_RULE],
28
+ },
29
29
  });
30
30
 
31
31
  export { COMMON_EXIT_BREAK_ON_AFTER_HOTKEY, COMMON_EXIT_BREAK_ON_AFTER_RULE, COMMON_EXIT_BREAK_ON_BEFORE_HOTKEY, COMMON_EXIT_BREAK_ON_BEFORE_RULE, COMMON_EXIT_BREAK_RULES, COMMON_ON_KEY_DOWN_BREAK, COMMON_SOFT_BREAK_HOTKEY, COMMON_SOFT_BREAK_RULE };
@@ -2,47 +2,47 @@ import { __rest } from 'tslib';
2
2
  import isHotkey from 'is-hotkey';
3
3
  import { getAboveBlock, isNodeMatch, isSelectionAtBlockEdge, Path, Transforms, insertSoftBreak, PARAGRAPH_TYPE } from '@quadrats/core';
4
4
 
5
- function createOnKeyDownBreak({ exitBreak, softBreak }) {
6
- return (event, editor, next) => {
7
- const { selection } = editor;
8
- if (selection) {
9
- /**
10
- * Take vscode as reference. Won't delete fragment and only use `selection.focus` as the anchor of exit break.
11
- */
12
- const entry = getAboveBlock(editor, { at: selection.focus });
13
- if (exitBreak) {
14
- const { rules } = exitBreak;
15
- for (const rule of rules) {
16
- const { hotkey } = rule, _a = rule.match, _b = _a === void 0 ? {} : _a, { onlyAtEdge = false } = _b, match = __rest(_b, ["onlyAtEdge"]), { before = false, defaultType = PARAGRAPH_TYPE } = rule;
17
- if (isHotkey(hotkey, event)
18
- && isNodeMatch(entry, match)
19
- && (!onlyAtEdge || isSelectionAtBlockEdge(editor))) {
20
- let [, at] = entry;
21
- if (!before) {
22
- at = Path.next(at);
23
- }
24
- event.preventDefault();
25
- Transforms.insertNodes(editor, { type: defaultType, children: [{ text: '' }] }, {
26
- at,
27
- select: true,
28
- });
29
- return;
30
- }
31
- }
32
- }
33
- if (softBreak) {
34
- const { rules } = softBreak;
35
- for (const { hotkey, match } of rules) {
36
- if (isHotkey(hotkey, event) && (!match || isNodeMatch(entry, match))) {
37
- event.preventDefault();
38
- insertSoftBreak(editor);
39
- return;
40
- }
41
- }
42
- }
43
- }
44
- next();
45
- };
5
+ function createOnKeyDownBreak({ exitBreak, softBreak }) {
6
+ return (event, editor, next) => {
7
+ const { selection } = editor;
8
+ if (selection) {
9
+ /**
10
+ * Take vscode as reference. Won't delete fragment and only use `selection.focus` as the anchor of exit break.
11
+ */
12
+ const entry = getAboveBlock(editor, { at: selection.focus });
13
+ if (exitBreak) {
14
+ const { rules } = exitBreak;
15
+ for (const rule of rules) {
16
+ const { hotkey } = rule, _a = rule.match, _b = _a === void 0 ? {} : _a, { onlyAtEdge = false } = _b, match = __rest(_b, ["onlyAtEdge"]), { before = false, defaultType = PARAGRAPH_TYPE } = rule;
17
+ if (isHotkey(hotkey, event)
18
+ && isNodeMatch(entry, match)
19
+ && (!onlyAtEdge || isSelectionAtBlockEdge(editor))) {
20
+ let [, at] = entry;
21
+ if (!before) {
22
+ at = Path.next(at);
23
+ }
24
+ event.preventDefault();
25
+ Transforms.insertNodes(editor, { type: defaultType, children: [{ text: '' }] }, {
26
+ at,
27
+ select: true,
28
+ });
29
+ return;
30
+ }
31
+ }
32
+ }
33
+ if (softBreak) {
34
+ const { rules } = softBreak;
35
+ for (const { hotkey, match } of rules) {
36
+ if (isHotkey(hotkey, event) && (!match || isNodeMatch(entry, match))) {
37
+ event.preventDefault();
38
+ insertSoftBreak(editor);
39
+ return;
40
+ }
41
+ }
42
+ }
43
+ }
44
+ next();
45
+ };
46
46
  }
47
47
 
48
48
  export { createOnKeyDownBreak };
@@ -1,4 +1,4 @@
1
1
  import { CreateLineBreakOptions } from '@quadrats/core';
2
2
  import { ReactBreak } from './typings';
3
- export declare type CreateReactLineBreakOptions = CreateLineBreakOptions;
3
+ export type CreateReactLineBreakOptions = CreateLineBreakOptions;
4
4
  export declare function createReactLineBreak(options?: CreateReactLineBreakOptions): ReactBreak;
@@ -3,12 +3,12 @@ import { createRenderElement } from '@quadrats/react';
3
3
  import { COMMON_ON_KEY_DOWN_BREAK } from './commonBreak.js';
4
4
  import { defaultRenderLineBreakElement } from './defaultRenderLineBreakElement.js';
5
5
 
6
- function createReactLineBreak(options = {}) {
7
- const core = createLineBreak(options);
8
- const { type } = core;
9
- return Object.assign(Object.assign({}, core), { createHandlers: () => ({
10
- onKeyDown: COMMON_ON_KEY_DOWN_BREAK,
11
- }), createRenderElement: ({ render = defaultRenderLineBreakElement } = {}) => createRenderElement({ type, render }) });
6
+ function createReactLineBreak(options = {}) {
7
+ const core = createLineBreak(options);
8
+ const { type } = core;
9
+ return Object.assign(Object.assign({}, core), { createHandlers: () => ({
10
+ onKeyDown: COMMON_ON_KEY_DOWN_BREAK,
11
+ }), createRenderElement: ({ render = defaultRenderLineBreakElement } = {}) => createRenderElement({ type, render }) });
12
12
  }
13
13
 
14
14
  export { createReactLineBreak };
@@ -1,3 +1,3 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { RenderLineBreakElementProps } from './typings';
3
- export declare const defaultRenderLineBreakElement: ({ attributes, children }: RenderLineBreakElementProps) => JSX.Element;
3
+ export declare const defaultRenderLineBreakElement: ({ attributes, children }: RenderLineBreakElementProps) => React.JSX.Element;
@@ -1,100 +1,93 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var tslib = require('tslib');
6
4
  var isHotkey = require('is-hotkey');
7
5
  var core = require('@quadrats/core');
8
6
  var react = require('@quadrats/react');
9
7
  var React = require('react');
10
8
 
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
12
-
13
- var isHotkey__default = /*#__PURE__*/_interopDefaultLegacy(isHotkey);
14
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
-
16
- function createOnKeyDownBreak({ exitBreak, softBreak }) {
17
- return (event, editor, next) => {
18
- const { selection } = editor;
19
- if (selection) {
20
- /**
21
- * Take vscode as reference. Won't delete fragment and only use `selection.focus` as the anchor of exit break.
22
- */
23
- const entry = core.getAboveBlock(editor, { at: selection.focus });
24
- if (exitBreak) {
25
- const { rules } = exitBreak;
26
- for (const rule of rules) {
27
- const { hotkey } = rule, _a = rule.match, _b = _a === void 0 ? {} : _a, { onlyAtEdge = false } = _b, match = tslib.__rest(_b, ["onlyAtEdge"]), { before = false, defaultType = core.PARAGRAPH_TYPE } = rule;
28
- if (isHotkey__default(hotkey, event)
29
- && core.isNodeMatch(entry, match)
30
- && (!onlyAtEdge || core.isSelectionAtBlockEdge(editor))) {
31
- let [, at] = entry;
32
- if (!before) {
33
- at = core.Path.next(at);
34
- }
35
- event.preventDefault();
36
- core.Transforms.insertNodes(editor, { type: defaultType, children: [{ text: '' }] }, {
37
- at,
38
- select: true,
39
- });
40
- return;
41
- }
42
- }
43
- }
44
- if (softBreak) {
45
- const { rules } = softBreak;
46
- for (const { hotkey, match } of rules) {
47
- if (isHotkey__default(hotkey, event) && (!match || core.isNodeMatch(entry, match))) {
48
- event.preventDefault();
49
- core.insertSoftBreak(editor);
50
- return;
51
- }
52
- }
53
- }
54
- }
55
- next();
56
- };
9
+ function createOnKeyDownBreak({ exitBreak, softBreak }) {
10
+ return (event, editor, next) => {
11
+ const { selection } = editor;
12
+ if (selection) {
13
+ /**
14
+ * Take vscode as reference. Won't delete fragment and only use `selection.focus` as the anchor of exit break.
15
+ */
16
+ const entry = core.getAboveBlock(editor, { at: selection.focus });
17
+ if (exitBreak) {
18
+ const { rules } = exitBreak;
19
+ for (const rule of rules) {
20
+ const { hotkey } = rule, _a = rule.match, _b = _a === void 0 ? {} : _a, { onlyAtEdge = false } = _b, match = tslib.__rest(_b, ["onlyAtEdge"]), { before = false, defaultType = core.PARAGRAPH_TYPE } = rule;
21
+ if (isHotkey(hotkey, event)
22
+ && core.isNodeMatch(entry, match)
23
+ && (!onlyAtEdge || core.isSelectionAtBlockEdge(editor))) {
24
+ let [, at] = entry;
25
+ if (!before) {
26
+ at = core.Path.next(at);
27
+ }
28
+ event.preventDefault();
29
+ core.Transforms.insertNodes(editor, { type: defaultType, children: [{ text: '' }] }, {
30
+ at,
31
+ select: true,
32
+ });
33
+ return;
34
+ }
35
+ }
36
+ }
37
+ if (softBreak) {
38
+ const { rules } = softBreak;
39
+ for (const { hotkey, match } of rules) {
40
+ if (isHotkey(hotkey, event) && (!match || core.isNodeMatch(entry, match))) {
41
+ event.preventDefault();
42
+ core.insertSoftBreak(editor);
43
+ return;
44
+ }
45
+ }
46
+ }
47
+ }
48
+ next();
49
+ };
57
50
  }
58
51
 
59
- const COMMON_EXIT_BREAK_ON_BEFORE_HOTKEY = 'mod+enter';
60
- const COMMON_EXIT_BREAK_ON_AFTER_HOTKEY = 'mod+shift+enter';
61
- const COMMON_EXIT_BREAK_ON_BEFORE_RULE = {
62
- hotkey: COMMON_EXIT_BREAK_ON_BEFORE_HOTKEY,
63
- };
64
- const COMMON_EXIT_BREAK_ON_AFTER_RULE = {
65
- hotkey: COMMON_EXIT_BREAK_ON_AFTER_HOTKEY,
66
- before: true,
67
- };
68
- const COMMON_EXIT_BREAK_RULES = [COMMON_EXIT_BREAK_ON_AFTER_RULE, COMMON_EXIT_BREAK_ON_BEFORE_RULE];
69
- const COMMON_SOFT_BREAK_HOTKEY = 'shift+enter';
70
- const COMMON_SOFT_BREAK_RULE = {
71
- hotkey: COMMON_SOFT_BREAK_HOTKEY,
72
- };
73
- /**
74
- * Common behavior of exit.
75
- *
76
- * Using `shift+enter` for soft break and `mod+enter` for exit break.
77
- */
78
- const COMMON_ON_KEY_DOWN_BREAK = createOnKeyDownBreak({
79
- exitBreak: {
80
- rules: COMMON_EXIT_BREAK_RULES,
81
- },
82
- softBreak: {
83
- rules: [COMMON_SOFT_BREAK_RULE],
84
- },
52
+ const COMMON_EXIT_BREAK_ON_BEFORE_HOTKEY = 'mod+enter';
53
+ const COMMON_EXIT_BREAK_ON_AFTER_HOTKEY = 'mod+shift+enter';
54
+ const COMMON_EXIT_BREAK_ON_BEFORE_RULE = {
55
+ hotkey: COMMON_EXIT_BREAK_ON_BEFORE_HOTKEY,
56
+ };
57
+ const COMMON_EXIT_BREAK_ON_AFTER_RULE = {
58
+ hotkey: COMMON_EXIT_BREAK_ON_AFTER_HOTKEY,
59
+ before: true,
60
+ };
61
+ const COMMON_EXIT_BREAK_RULES = [COMMON_EXIT_BREAK_ON_AFTER_RULE, COMMON_EXIT_BREAK_ON_BEFORE_RULE];
62
+ const COMMON_SOFT_BREAK_HOTKEY = 'shift+enter';
63
+ const COMMON_SOFT_BREAK_RULE = {
64
+ hotkey: COMMON_SOFT_BREAK_HOTKEY,
65
+ };
66
+ /**
67
+ * Common behavior of exit.
68
+ *
69
+ * Using `shift+enter` for soft break and `mod+enter` for exit break.
70
+ */
71
+ const COMMON_ON_KEY_DOWN_BREAK = createOnKeyDownBreak({
72
+ exitBreak: {
73
+ rules: COMMON_EXIT_BREAK_RULES,
74
+ },
75
+ softBreak: {
76
+ rules: [COMMON_SOFT_BREAK_RULE],
77
+ },
85
78
  });
86
79
 
87
- const defaultRenderLineBreakElement = ({ attributes, children }) => (React__default.createElement("span", Object.assign({}, attributes, { className: "qdr-line-break" }), children));
80
+ const defaultRenderLineBreakElement = ({ attributes, children }) => (React.createElement("span", Object.assign({}, attributes, { className: "qdr-line-break" }), children));
88
81
 
89
- function createReactLineBreak(options = {}) {
90
- const core$1 = core.createLineBreak(options);
91
- const { type } = core$1;
92
- return Object.assign(Object.assign({}, core$1), { createHandlers: () => ({
93
- onKeyDown: COMMON_ON_KEY_DOWN_BREAK,
94
- }), createRenderElement: ({ render = defaultRenderLineBreakElement } = {}) => react.createRenderElement({ type, render }) });
82
+ function createReactLineBreak(options = {}) {
83
+ const core$1 = core.createLineBreak(options);
84
+ const { type } = core$1;
85
+ return Object.assign(Object.assign({}, core$1), { createHandlers: () => ({
86
+ onKeyDown: COMMON_ON_KEY_DOWN_BREAK,
87
+ }), createRenderElement: ({ render = defaultRenderLineBreakElement } = {}) => react.createRenderElement({ type, render }) });
95
88
  }
96
89
 
97
- const renderLineBreakElementWithSymbol = ({ attributes, children }) => (React__default.createElement("span", Object.assign({}, attributes, { className: "qdr-line-break qdr-line-break__with-symbol" }), children));
90
+ const renderLineBreakElementWithSymbol = ({ attributes, children }) => (React.createElement("span", Object.assign({}, attributes, { className: "qdr-line-break qdr-line-break__with-symbol" }), children));
98
91
 
99
92
  exports.COMMON_EXIT_BREAK_ON_AFTER_HOTKEY = COMMON_EXIT_BREAK_ON_AFTER_HOTKEY;
100
93
  exports.COMMON_EXIT_BREAK_ON_AFTER_RULE = COMMON_EXIT_BREAK_ON_AFTER_RULE;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { CreateJsxSerializeElementOptions } from '@quadrats/react/jsx-serializer';
3
3
  import { JsxSerializeLineBreakElementProps } from './typings';
4
- export declare type CreateJsxSerializeLineBreakOptions = Partial<CreateJsxSerializeElementOptions<JsxSerializeLineBreakElementProps>>;
5
- export declare function createJsxSerializeLineBreak(options?: CreateJsxSerializeLineBreakOptions): (props: import("@quadrats/react/jsx-serializer").JsxSerializeElementProps<import("@quadrats/core").QuadratsElement>) => JSX.Element | null | undefined;
4
+ export type CreateJsxSerializeLineBreakOptions = Partial<CreateJsxSerializeElementOptions<JsxSerializeLineBreakElementProps>>;
5
+ export declare function createJsxSerializeLineBreak(options?: CreateJsxSerializeLineBreakOptions): (props: import("@quadrats/react/jsx-serializer").JsxSerializeElementProps) => JSX.Element | null | undefined;
@@ -2,10 +2,10 @@ import { createJsxSerializeElement } from '@quadrats/react/jsx-serializer';
2
2
  import { defaultRenderLineBreakElement } from './defaultRenderLineBreakElement.js';
3
3
  import { LINE_BREAK_TYPE } from '@quadrats/core';
4
4
 
5
- /* eslint-disable max-len */
6
- function createJsxSerializeLineBreak(options = {}) {
7
- const { type = LINE_BREAK_TYPE, render = defaultRenderLineBreakElement } = options;
8
- return createJsxSerializeElement({ type, render });
5
+ /* eslint-disable max-len */
6
+ function createJsxSerializeLineBreak(options = {}) {
7
+ const { type = LINE_BREAK_TYPE, render = defaultRenderLineBreakElement } = options;
8
+ return createJsxSerializeElement({ type, render });
9
9
  }
10
10
 
11
11
  export { createJsxSerializeLineBreak };
@@ -1,2 +1,2 @@
1
- /// <reference types="react" />
2
- export declare const defaultRenderLineBreakElement: () => JSX.Element;
1
+ import React from 'react';
2
+ export declare const defaultRenderLineBreakElement: () => React.JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
 
3
- const defaultRenderLineBreakElement = () => (React.createElement("span", { style: { userSelect: 'none' }, contentEditable: false },
3
+ const defaultRenderLineBreakElement = () => (React.createElement("span", { style: { userSelect: 'none' }, contentEditable: false },
4
4
  React.createElement("br", null)));
5
5
 
6
6
  export { defaultRenderLineBreakElement };
@@ -1,22 +1,16 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
  var jsxSerializer = require('@quadrats/react/jsx-serializer');
7
5
  var core = require('@quadrats/core');
8
6
 
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
10
-
11
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
-
13
- const defaultRenderLineBreakElement = () => (React__default.createElement("span", { style: { userSelect: 'none' }, contentEditable: false },
14
- React__default.createElement("br", null)));
7
+ const defaultRenderLineBreakElement = () => (React.createElement("span", { style: { userSelect: 'none' }, contentEditable: false },
8
+ React.createElement("br", null)));
15
9
 
16
- /* eslint-disable max-len */
17
- function createJsxSerializeLineBreak(options = {}) {
18
- const { type = core.LINE_BREAK_TYPE, render = defaultRenderLineBreakElement } = options;
19
- return jsxSerializer.createJsxSerializeElement({ type, render });
10
+ /* eslint-disable max-len */
11
+ function createJsxSerializeLineBreak(options = {}) {
12
+ const { type = core.LINE_BREAK_TYPE, render = defaultRenderLineBreakElement } = options;
13
+ return jsxSerializer.createJsxSerializeElement({ type, render });
20
14
  }
21
15
 
22
16
  exports.createJsxSerializeLineBreak = createJsxSerializeLineBreak;
@@ -1,3 +1,3 @@
1
1
  import { LineBreakElement } from '@quadrats/core';
2
2
  import { JsxSerializeElementProps } from '@quadrats/react/jsx-serializer';
3
- export declare type JsxSerializeLineBreakElementProps = JsxSerializeElementProps<LineBreakElement>;
3
+ export type JsxSerializeLineBreakElementProps = JsxSerializeElementProps<LineBreakElement>;
@@ -1,3 +1,3 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { RenderLineBreakElementProps } from './typings';
3
- export declare const renderLineBreakElementWithSymbol: ({ attributes, children }: RenderLineBreakElementProps) => JSX.Element;
3
+ export declare const renderLineBreakElementWithSymbol: ({ attributes, children }: RenderLineBreakElementProps) => React.JSX.Element;
@@ -24,7 +24,7 @@ export interface SoftBreakRule {
24
24
  hotkey: string;
25
25
  match?: IsNodeMatchOptions;
26
26
  }
27
- export declare type RenderLineBreakElementProps = RenderElementProps<LineBreakElement>;
27
+ export type RenderLineBreakElementProps = RenderElementProps<LineBreakElement>;
28
28
  export interface ReactLineBreakCreateRenderElementOptions {
29
29
  render?: (props: RenderLineBreakElementProps) => JSX.Element | null | undefined;
30
30
  }
@@ -2,28 +2,28 @@ import { createLink } from '@quadrats/common/link';
2
2
  import { createRenderElement } from '@quadrats/react';
3
3
  import { defaultRenderLinkElement } from './defaultRenderLinkElement.js';
4
4
 
5
- function createReactLink(options = {}) {
6
- const { pastedUrlToLink = true } = options;
7
- const core = createLink(options);
8
- const { type, isUrl } = core;
9
- return Object.assign(Object.assign({}, core), { createRenderElement: ({ render = defaultRenderLinkElement } = {}) => createRenderElement({ type, render }), with(editor) {
10
- const { insertData, insertText } = editor;
11
- editor.insertData = (data) => {
12
- const text = data.getData('text/plain');
13
- if (text) {
14
- if (core.isSelectionInLink(editor)) {
15
- insertText(text);
16
- return;
17
- }
18
- if (pastedUrlToLink && isUrl(text)) {
19
- core.upsertLink(editor, text);
20
- return;
21
- }
22
- }
23
- insertData(data);
24
- };
25
- return core.with(editor);
26
- } });
5
+ function createReactLink(options = {}) {
6
+ const { pastedUrlToLink = true } = options;
7
+ const core = createLink(options);
8
+ const { type, isUrl } = core;
9
+ return Object.assign(Object.assign({}, core), { createRenderElement: ({ render = defaultRenderLinkElement } = {}) => createRenderElement({ type, render }), with(editor) {
10
+ const { insertData, insertText } = editor;
11
+ editor.insertData = (data) => {
12
+ const text = data.getData('text/plain');
13
+ if (text) {
14
+ if (core.isSelectionInLink(editor)) {
15
+ insertText(text);
16
+ return;
17
+ }
18
+ if (pastedUrlToLink && isUrl(text)) {
19
+ core.upsertLink(editor, text);
20
+ return;
21
+ }
22
+ }
23
+ insertData(data);
24
+ };
25
+ return core.with(editor);
26
+ } });
27
27
  }
28
28
 
29
29
  export { createReactLink };