@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,34 +1,28 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var react = require('@quadrats/react');
6
4
  var toolbar = require('@quadrats/react/toolbar');
7
5
  var tslib = require('tslib');
8
6
  var React = require('react');
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
- function useEmbedTool(controller, providers, getPlaceholder, startToolInput) {
15
- const editor = react.useSlateStatic();
16
- const defaultStartToolInput = toolbar.useStartToolInput();
17
- const start = startToolInput
18
- ? inputConfig => startToolInput(editor, inputConfig)
19
- : defaultStartToolInput;
20
- return {
21
- onClick: () => start({
22
- getPlaceholder,
23
- confirm: embedCode => controller.insertEmbed(editor, providers, embedCode),
24
- }),
25
- };
8
+ function useEmbedTool(controller, providers, getPlaceholder, startToolInput) {
9
+ const editor = react.useSlateStatic();
10
+ const defaultStartToolInput = toolbar.useStartToolInput();
11
+ const start = startToolInput
12
+ ? inputConfig => startToolInput(editor, inputConfig)
13
+ : defaultStartToolInput;
14
+ return {
15
+ onClick: () => start({
16
+ getPlaceholder,
17
+ confirm: embedCode => controller.insertEmbed(editor, providers, embedCode),
18
+ }),
19
+ };
26
20
  }
27
21
 
28
- function EmbedToolbarIcon(props) {
29
- const { controller, providers, getPlaceholder, startToolInput } = props, rest = tslib.__rest(props, ["controller", "providers", "getPlaceholder", "startToolInput"]);
30
- const { onClick } = useEmbedTool(controller, providers, getPlaceholder, startToolInput);
31
- return React__default.createElement(toolbar.ToolbarIcon, Object.assign({}, rest, { onClick: onClick }));
22
+ function EmbedToolbarIcon(props) {
23
+ const { controller, providers, getPlaceholder, startToolInput } = props, rest = tslib.__rest(props, ["controller", "providers", "getPlaceholder", "startToolInput"]);
24
+ const { onClick } = useEmbedTool(controller, providers, getPlaceholder, startToolInput);
25
+ return React.createElement(toolbar.ToolbarIcon, Object.assign({}, rest, { onClick: onClick }));
32
26
  }
33
27
 
34
28
  exports.EmbedToolbarIcon = EmbedToolbarIcon;
@@ -1,18 +1,18 @@
1
1
  import { useSlateStatic } from '@quadrats/react';
2
2
  import { useStartToolInput } from '@quadrats/react/toolbar';
3
3
 
4
- function useEmbedTool(controller, providers, getPlaceholder, startToolInput) {
5
- const editor = useSlateStatic();
6
- const defaultStartToolInput = useStartToolInput();
7
- const start = startToolInput
8
- ? inputConfig => startToolInput(editor, inputConfig)
9
- : defaultStartToolInput;
10
- return {
11
- onClick: () => start({
12
- getPlaceholder,
13
- confirm: embedCode => controller.insertEmbed(editor, providers, embedCode),
14
- }),
15
- };
4
+ function useEmbedTool(controller, providers, getPlaceholder, startToolInput) {
5
+ const editor = useSlateStatic();
6
+ const defaultStartToolInput = useStartToolInput();
7
+ const start = startToolInput
8
+ ? inputConfig => startToolInput(editor, inputConfig)
9
+ : defaultStartToolInput;
10
+ return {
11
+ onClick: () => start({
12
+ getPlaceholder,
13
+ confirm: embedCode => controller.insertEmbed(editor, providers, embedCode),
14
+ }),
15
+ };
16
16
  }
17
17
 
18
18
  export { useEmbedTool };
@@ -9,6 +9,6 @@ export interface WithEmbedRenderData<RenderData> {
9
9
  }
10
10
  export interface RenderEmbedElementProps<EmbedData extends Record<string, unknown>, RenderData> extends RenderElementProps<EmbedElement & EmbedData>, WithEmbedRenderData<RenderData> {
11
11
  }
12
- export declare type ReactEmbedCreateRenderElementOptions<Provider extends string> = Record<Provider, (props: RenderEmbedElementProps<any, any>) => JSX.Element | null | undefined>;
12
+ export type ReactEmbedCreateRenderElementOptions<Provider extends string> = Record<Provider, (props: RenderEmbedElementProps<any, any>) => JSX.Element | null | undefined>;
13
13
  export interface ReactEmbed<Provider extends string> extends Embed<Provider, Editor>, WithCreateRenderElement<[ReactEmbedCreateRenderElementOptions<Provider>]> {
14
14
  }
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { RenderFileUploaderElementProps } from '../typings';
3
- declare function FileUploader(props: RenderFileUploaderElementProps): JSX.Element;
3
+ declare function FileUploader(props: RenderFileUploaderElementProps): React.JSX.Element;
4
4
  export default FileUploader;
@@ -2,13 +2,13 @@ import React from 'react';
2
2
  import { Progress } from '@quadrats/react/components';
3
3
  import { useFileUploader } from '../hooks/useFileUploader.js';
4
4
 
5
- function FileUploader(props) {
6
- const { attributes, children, element } = props;
7
- const { percentage } = useFileUploader(element);
8
- return (React.createElement("div", Object.assign({}, attributes, { className: "qdr-file-uploader", contentEditable: false }),
9
- React.createElement("div", { className: "qdr-file-uploader__backdrop" },
10
- React.createElement(Progress, { className: "qdr-file-uploader__progress", percentage: percentage })),
11
- children));
5
+ function FileUploader(props) {
6
+ const { attributes, children, element } = props;
7
+ const { percentage } = useFileUploader(element);
8
+ return (React.createElement("div", Object.assign({}, attributes, { className: "qdr-file-uploader", contentEditable: false }),
9
+ React.createElement("div", { className: "qdr-file-uploader__backdrop" },
10
+ React.createElement(Progress, { className: "qdr-file-uploader__progress", percentage: percentage })),
11
+ children));
12
12
  }
13
13
 
14
14
  export { FileUploader as default };
@@ -2,13 +2,13 @@ import { createFileUploader } from '@quadrats/common/file-uploader';
2
2
  import { createRenderElement } from '@quadrats/react';
3
3
  import { defaultRenderFileUploaderElement } from './defaultRenderFileUploaderElement.js';
4
4
 
5
- function createReactFileUploader(options = {}) {
6
- const core = createFileUploader(options);
7
- const { type } = core;
8
- return Object.assign(Object.assign({}, core), { createRenderElement: ({ render = defaultRenderFileUploaderElement } = {}) => createRenderElement({
9
- type,
10
- render,
11
- }) });
5
+ function createReactFileUploader(options = {}) {
6
+ const core = createFileUploader(options);
7
+ const { type } = core;
8
+ return Object.assign(Object.assign({}, core), { createRenderElement: ({ render = defaultRenderFileUploaderElement } = {}) => createRenderElement({
9
+ type,
10
+ render,
11
+ }) });
12
12
  }
13
13
 
14
14
  export { createReactFileUploader };
@@ -1,13 +1,13 @@
1
1
  import { useState, useLayoutEffect } from 'react';
2
2
  import { useSlateStatic, ReactEditor } from '@quadrats/react';
3
3
 
4
- function useFileUploader(element) {
5
- const [percentage, setPercentage] = useState(0);
6
- const editor = useSlateStatic();
7
- useLayoutEffect(() => element.register(() => ReactEditor.findPath(editor, element), setPercentage), [element]);
8
- return {
9
- percentage,
10
- };
4
+ function useFileUploader(element) {
5
+ const [percentage, setPercentage] = useState(0);
6
+ const editor = useSlateStatic();
7
+ useLayoutEffect(() => element.register(() => ReactEditor.findPath(editor, element), setPercentage), [element]);
8
+ return {
9
+ percentage,
10
+ };
11
11
  }
12
12
 
13
13
  export { useFileUploader };
@@ -1,43 +1,37 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
  var react = require('@quadrats/react');
7
5
  var components = require('@quadrats/react/components');
8
6
  var fileUploader = require('@quadrats/common/file-uploader');
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
- function useFileUploader(element) {
15
- const [percentage, setPercentage] = React.useState(0);
16
- const editor = react.useSlateStatic();
17
- React.useLayoutEffect(() => element.register(() => react.ReactEditor.findPath(editor, element), setPercentage), [element]);
18
- return {
19
- percentage,
20
- };
8
+ function useFileUploader(element) {
9
+ const [percentage, setPercentage] = React.useState(0);
10
+ const editor = react.useSlateStatic();
11
+ React.useLayoutEffect(() => element.register(() => react.ReactEditor.findPath(editor, element), setPercentage), [element]);
12
+ return {
13
+ percentage,
14
+ };
21
15
  }
22
16
 
23
- function FileUploader(props) {
24
- const { attributes, children, element } = props;
25
- const { percentage } = useFileUploader(element);
26
- return (React__default.createElement("div", Object.assign({}, attributes, { className: "qdr-file-uploader", contentEditable: false }),
27
- React__default.createElement("div", { className: "qdr-file-uploader__backdrop" },
28
- React__default.createElement(components.Progress, { className: "qdr-file-uploader__progress", percentage: percentage })),
29
- children));
17
+ function FileUploader(props) {
18
+ const { attributes, children, element } = props;
19
+ const { percentage } = useFileUploader(element);
20
+ return (React.createElement("div", Object.assign({}, attributes, { className: "qdr-file-uploader", contentEditable: false }),
21
+ React.createElement("div", { className: "qdr-file-uploader__backdrop" },
22
+ React.createElement(components.Progress, { className: "qdr-file-uploader__progress", percentage: percentage })),
23
+ children));
30
24
  }
31
25
 
32
- const defaultRenderFileUploaderElement = (props) => React__default.createElement(FileUploader, Object.assign({}, props));
26
+ const defaultRenderFileUploaderElement = (props) => React.createElement(FileUploader, Object.assign({}, props));
33
27
 
34
- function createReactFileUploader(options = {}) {
35
- const core = fileUploader.createFileUploader(options);
36
- const { type } = core;
37
- return Object.assign(Object.assign({}, core), { createRenderElement: ({ render = defaultRenderFileUploaderElement } = {}) => react.createRenderElement({
38
- type,
39
- render,
40
- }) });
28
+ function createReactFileUploader(options = {}) {
29
+ const core = fileUploader.createFileUploader(options);
30
+ const { type } = core;
31
+ return Object.assign(Object.assign({}, core), { createRenderElement: ({ render = defaultRenderFileUploaderElement } = {}) => react.createRenderElement({
32
+ type,
33
+ render,
34
+ }) });
41
35
  }
42
36
 
43
37
  exports.FileUploader = FileUploader;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { FileUploaderUploadOptions } from '@quadrats/common/file-uploader';
3
3
  import { ReactFileUploader } from '@quadrats/react/file-uploader';
4
4
  import { ToolbarIconProps } from '@quadrats/react/toolbar';
@@ -6,5 +6,5 @@ export interface FileUploaderToolbarIconProps extends Omit<ToolbarIconProps, 'ac
6
6
  controller: ReactFileUploader;
7
7
  options: FileUploaderUploadOptions;
8
8
  }
9
- declare function FileUploaderToolbarIcon(props: FileUploaderToolbarIconProps): JSX.Element;
9
+ declare function FileUploaderToolbarIcon(props: FileUploaderToolbarIconProps): React.JSX.Element;
10
10
  export default FileUploaderToolbarIcon;
@@ -3,10 +3,10 @@ import React from 'react';
3
3
  import { ToolbarIcon } from '@quadrats/react/toolbar';
4
4
  import { useFileUploaderTool } from './useFileUploaderTool.js';
5
5
 
6
- function FileUploaderToolbarIcon(props) {
7
- const { controller, options } = props, rest = __rest(props, ["controller", "options"]);
8
- const { onClick } = useFileUploaderTool(controller, options);
9
- return React.createElement(ToolbarIcon, Object.assign({}, rest, { onClick: onClick }));
6
+ function FileUploaderToolbarIcon(props) {
7
+ const { controller, options } = props, rest = __rest(props, ["controller", "options"]);
8
+ const { onClick } = useFileUploaderTool(controller, options);
9
+ return React.createElement(ToolbarIcon, Object.assign({}, rest, { onClick: onClick }));
10
10
  }
11
11
 
12
12
  export { FileUploaderToolbarIcon as default };
@@ -1,27 +1,21 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var react = require('@quadrats/react');
6
4
  var tslib = require('tslib');
7
5
  var React = require('react');
8
6
  var toolbar = require('@quadrats/react/toolbar');
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
- function useFileUploaderTool(controller, options) {
15
- const editor = react.useSlateStatic();
16
- return {
17
- onClick: () => controller.upload(editor, options),
18
- };
8
+ function useFileUploaderTool(controller, options) {
9
+ const editor = react.useSlateStatic();
10
+ return {
11
+ onClick: () => controller.upload(editor, options),
12
+ };
19
13
  }
20
14
 
21
- function FileUploaderToolbarIcon(props) {
22
- const { controller, options } = props, rest = tslib.__rest(props, ["controller", "options"]);
23
- const { onClick } = useFileUploaderTool(controller, options);
24
- return React__default.createElement(toolbar.ToolbarIcon, Object.assign({}, rest, { onClick: onClick }));
15
+ function FileUploaderToolbarIcon(props) {
16
+ const { controller, options } = props, rest = tslib.__rest(props, ["controller", "options"]);
17
+ const { onClick } = useFileUploaderTool(controller, options);
18
+ return React.createElement(toolbar.ToolbarIcon, Object.assign({}, rest, { onClick: onClick }));
25
19
  }
26
20
 
27
21
  exports.FileUploaderToolbarIcon = FileUploaderToolbarIcon;
@@ -1,10 +1,10 @@
1
1
  import { useSlateStatic } from '@quadrats/react';
2
2
 
3
- function useFileUploaderTool(controller, options) {
4
- const editor = useSlateStatic();
5
- return {
6
- onClick: () => controller.upload(editor, options),
7
- };
3
+ function useFileUploaderTool(controller, options) {
4
+ const editor = useSlateStatic();
5
+ return {
6
+ onClick: () => controller.upload(editor, options),
7
+ };
8
8
  }
9
9
 
10
10
  export { useFileUploaderTool };
@@ -1,9 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { FileUploader, FileUploaderElement } from '@quadrats/common/file-uploader';
3
3
  import { Editor, RenderElementProps, WithCreateRenderElement } from '@quadrats/react';
4
- export declare type RenderFileUploaderElementProps = RenderElementProps<FileUploaderElement>;
5
- export declare type RenderFileUploaderElement = (props: RenderFileUploaderElementProps) => JSX.Element | null | undefined;
4
+ export type RenderFileUploaderElementProps = RenderElementProps<FileUploaderElement>;
5
+ export type RenderFileUploaderElement = (props: RenderFileUploaderElementProps) => JSX.Element | null | undefined;
6
6
  export interface FileUploaderCreateRenderElementOptions {
7
7
  render?: RenderFileUploaderElement;
8
8
  }
9
- export declare type ReactFileUploader = FileUploader<Editor> & WithCreateRenderElement<[FileUploaderCreateRenderElementOptions?]>;
9
+ export type ReactFileUploader = FileUploader<Editor> & WithCreateRenderElement<[FileUploaderCreateRenderElementOptions?]>;
@@ -1,4 +1,4 @@
1
1
  import { WithElementType } from '@quadrats/core';
2
2
  import { ReactFootnote } from './typings';
3
- export declare type CreateReactFootnoteOptions = Partial<WithElementType>;
3
+ export type CreateReactFootnoteOptions = Partial<WithElementType>;
4
4
  export declare function createReactFootnote(options?: CreateReactFootnoteOptions): ReactFootnote;
@@ -2,12 +2,12 @@ import { createRenderElement } from '@quadrats/react';
2
2
  import { createFootnote } from '@quadrats/common/footnote';
3
3
  import { defaultRenderFootnoteElement } from './defaultRenderFootnoteElement.js';
4
4
 
5
- function createReactFootnote(options = {}) {
6
- const core = createFootnote(options);
7
- const { type } = core;
8
- return Object.assign(Object.assign({}, core), { createRenderElement: ({ render = defaultRenderFootnoteElement } = {}) => createRenderElement({ type, render }), with(editor) {
9
- return core.with(editor);
10
- } });
5
+ function createReactFootnote(options = {}) {
6
+ const core = createFootnote(options);
7
+ const { type } = core;
8
+ return Object.assign(Object.assign({}, core), { createRenderElement: ({ render = defaultRenderFootnoteElement } = {}) => createRenderElement({ type, render }), with(editor) {
9
+ return core.with(editor);
10
+ } });
11
11
  }
12
12
 
13
13
  export { createReactFootnote };
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { RenderFootnoteElementProps } from './typings';
3
3
  /**
4
4
  * Set placement of tooltip to `bottom` to avoid conflicting w/ toolbar.
@@ -6,4 +6,4 @@ import { RenderFootnoteElementProps } from './typings';
6
6
  export declare const defaultRenderFootnoteElement: ({ attributes, children, element, placement, }: import("@quadrats/react/_internal").RenderElementPropsBase<import("@quadrats/common/footnote").FootnoteElement> & Pick<import("slate-react").RenderElementProps, "attributes"> & {
7
7
  placement?: "top" | "bottom" | undefined;
8
8
  target?: string | undefined;
9
- }) => JSX.Element;
9
+ }) => React.JSX.Element;
@@ -1,15 +1,15 @@
1
1
  import React from 'react';
2
2
  import { Tooltip } from '@quadrats/react/components';
3
3
 
4
- /**
5
- * Set placement of tooltip to `bottom` to avoid conflicting w/ toolbar.
6
- */
7
- const defaultRenderFootnoteElement = ({ attributes, children, element, placement = 'bottom', }) => {
8
- const { footnote, index } = element;
9
- return (React.createElement(React.Fragment, null,
10
- React.createElement(Tooltip, { placement: placement, popup: footnote },
11
- React.createElement("span", Object.assign({ style: { textDecoration: 'underline' } }, attributes, { className: "qdr-footnote-text" }), children)),
12
- React.createElement("sup", Object.assign({}, attributes, { className: "qdr-footnote-sup", style: { color: 'var(--qdr-sup)', userSelect: 'none' }, contentEditable: false }), `[${index !== null && index !== void 0 ? index : 1}]`)));
4
+ /**
5
+ * Set placement of tooltip to `bottom` to avoid conflicting w/ toolbar.
6
+ */
7
+ const defaultRenderFootnoteElement = ({ attributes, children, element, placement = 'bottom', }) => {
8
+ const { footnote, index } = element;
9
+ return (React.createElement(React.Fragment, null,
10
+ React.createElement(Tooltip, { placement: placement, popup: footnote },
11
+ React.createElement("span", Object.assign({ style: { textDecoration: 'underline' } }, attributes, { className: "qdr-footnote-text" }), children)),
12
+ React.createElement("sup", Object.assign({}, attributes, { className: "qdr-footnote-sup", style: { color: 'var(--qdr-sup)', userSelect: 'none' }, contentEditable: false }), `[${index !== null && index !== void 0 ? index : 1}]`)));
13
13
  };
14
14
 
15
15
  export { defaultRenderFootnoteElement };
@@ -1,74 +1,68 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
  var components = require('@quadrats/react/components');
7
5
  var react = require('@quadrats/react');
8
6
  var footnote = require('@quadrats/common/footnote');
9
7
  var core = require('@quadrats/core');
10
8
 
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
12
-
13
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
-
15
- /**
16
- * Set placement of tooltip to `bottom` to avoid conflicting w/ toolbar.
17
- */
18
- const defaultRenderFootnoteElement = ({ attributes, children, element, placement = 'bottom', }) => {
19
- const { footnote, index } = element;
20
- return (React__default.createElement(React__default.Fragment, null,
21
- React__default.createElement(components.Tooltip, { placement: placement, popup: footnote },
22
- React__default.createElement("span", Object.assign({ style: { textDecoration: 'underline' } }, attributes, { className: "qdr-footnote-text" }), children)),
23
- React__default.createElement("sup", Object.assign({}, attributes, { className: "qdr-footnote-sup", style: { color: 'var(--qdr-sup)', userSelect: 'none' }, contentEditable: false }), `[${index !== null && index !== void 0 ? index : 1}]`)));
9
+ /**
10
+ * Set placement of tooltip to `bottom` to avoid conflicting w/ toolbar.
11
+ */
12
+ const defaultRenderFootnoteElement = ({ attributes, children, element, placement = 'bottom', }) => {
13
+ const { footnote, index } = element;
14
+ return (React.createElement(React.Fragment, null,
15
+ React.createElement(components.Tooltip, { placement: placement, popup: footnote },
16
+ React.createElement("span", Object.assign({ style: { textDecoration: 'underline' } }, attributes, { className: "qdr-footnote-text" }), children)),
17
+ React.createElement("sup", Object.assign({}, attributes, { className: "qdr-footnote-sup", style: { color: 'var(--qdr-sup)', userSelect: 'none' }, contentEditable: false }), `[${index !== null && index !== void 0 ? index : 1}]`)));
24
18
  };
25
19
 
26
- function createReactFootnote(options = {}) {
27
- const core = footnote.createFootnote(options);
28
- const { type } = core;
29
- return Object.assign(Object.assign({}, core), { createRenderElement: ({ render = defaultRenderFootnoteElement } = {}) => react.createRenderElement({ type, render }), with(editor) {
30
- return core.with(editor);
31
- } });
20
+ function createReactFootnote(options = {}) {
21
+ const core = footnote.createFootnote(options);
22
+ const { type } = core;
23
+ return Object.assign(Object.assign({}, core), { createRenderElement: ({ render = defaultRenderFootnoteElement } = {}) => react.createRenderElement({ type, render }), with(editor) {
24
+ return core.with(editor);
25
+ } });
32
26
  }
33
27
 
34
- function useFootnotes(editor) {
35
- const footnoteNodes = Array.from(core.getNodes(editor, {
36
- at: [],
37
- match: node => node.type === footnote.FOOTNOTE_TYPE,
38
- }));
39
- const footnotes = footnoteNodes.map((node) => {
40
- var _a, _b;
41
- const nodeData = node === null || node === void 0 ? void 0 : node[0];
42
- return {
43
- wrapperText: (_b = (_a = (nodeData === null || nodeData === void 0 ? void 0 : nodeData.children)) === null || _a === void 0 ? void 0 : _a.map(childNode => childNode.text).join('')) !== null && _b !== void 0 ? _b : '',
44
- footnote: nodeData === null || nodeData === void 0 ? void 0 : nodeData.footnote,
45
- index: nodeData === null || nodeData === void 0 ? void 0 : nodeData.index,
46
- };
47
- });
48
- return footnotes;
28
+ function useFootnotes(editor) {
29
+ const footnoteNodes = Array.from(core.getNodes(editor, {
30
+ at: [],
31
+ match: node => node.type === footnote.FOOTNOTE_TYPE,
32
+ }));
33
+ const footnotes = footnoteNodes.map((node) => {
34
+ var _a, _b;
35
+ const nodeData = node === null || node === void 0 ? void 0 : node[0];
36
+ return {
37
+ wrapperText: (_b = (_a = (nodeData === null || nodeData === void 0 ? void 0 : nodeData.children)) === null || _a === void 0 ? void 0 : _a.map(childNode => childNode.text).join('')) !== null && _b !== void 0 ? _b : '',
38
+ footnote: nodeData === null || nodeData === void 0 ? void 0 : nodeData.footnote,
39
+ index: nodeData === null || nodeData === void 0 ? void 0 : nodeData.index,
40
+ };
41
+ });
42
+ return footnotes;
49
43
  }
50
44
 
51
- function deepSearchFootnoteFromNodes(nodes) {
52
- const result = nodes.flatMap((element) => {
53
- var _a, _b;
54
- const curNode = core.Node.isNode(element)
55
- && element.type === footnote.FOOTNOTE_TYPE ? element : null;
56
- const child = core.Node.isNodeList(element === null || element === void 0 ? void 0 : element.children)
57
- ? deepSearchFootnoteFromNodes((_a = element === null || element === void 0 ? void 0 : element.children) !== null && _a !== void 0 ? _a : []) : null;
58
- return (_b = curNode !== null && curNode !== void 0 ? curNode : child) !== null && _b !== void 0 ? _b : [];
59
- });
60
- return result;
61
- }
62
- function useFootnotesFromNodes(nodes) {
63
- const filter = deepSearchFootnoteFromNodes(nodes);
64
- return filter.map(element => {
65
- var _a;
66
- return ({
67
- wrapperText: (_a = (element === null || element === void 0 ? void 0 : element.children)) === null || _a === void 0 ? void 0 : _a.map(childNode => childNode.text).join(''),
68
- footnote: element.footnote,
69
- index: element.index,
70
- });
71
- });
45
+ function deepSearchFootnoteFromNodes(nodes) {
46
+ const result = nodes.flatMap((element) => {
47
+ var _a, _b;
48
+ const curNode = core.Node.isNode(element)
49
+ && element.type === footnote.FOOTNOTE_TYPE ? element : null;
50
+ const child = core.Node.isNodeList(element === null || element === void 0 ? void 0 : element.children)
51
+ ? deepSearchFootnoteFromNodes((_a = element === null || element === void 0 ? void 0 : element.children) !== null && _a !== void 0 ? _a : []) : null;
52
+ return (_b = curNode !== null && curNode !== void 0 ? curNode : child) !== null && _b !== void 0 ? _b : [];
53
+ });
54
+ return result;
55
+ }
56
+ function useFootnotesFromNodes(nodes) {
57
+ const filter = deepSearchFootnoteFromNodes(nodes);
58
+ return filter.map(element => {
59
+ var _a;
60
+ return ({
61
+ wrapperText: (_a = (element === null || element === void 0 ? void 0 : element.children)) === null || _a === void 0 ? void 0 : _a.map(childNode => childNode.text).join(''),
62
+ footnote: element.footnote,
63
+ index: element.index,
64
+ });
65
+ });
72
66
  }
73
67
 
74
68
  exports.createReactFootnote = createReactFootnote;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { CreateJsxSerializeElementOptions } from '@quadrats/react/jsx-serializer';
3
3
  import { JsxSerializeFootnoteElementProps } from './typings';
4
- export declare type CreateJsxSerializeFootnoteOptions = Partial<CreateJsxSerializeElementOptions<JsxSerializeFootnoteElementProps>>;
5
- export declare function createJsxSerializeFootnote(options?: CreateJsxSerializeFootnoteOptions): (props: import("@quadrats/react/jsx-serializer").JsxSerializeElementProps<import("@quadrats/core").QuadratsElement>) => JSX.Element | null | undefined;
4
+ export type CreateJsxSerializeFootnoteOptions = Partial<CreateJsxSerializeElementOptions<JsxSerializeFootnoteElementProps>>;
5
+ export declare function createJsxSerializeFootnote(options?: CreateJsxSerializeFootnoteOptions): (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 { FOOTNOTE_TYPE } from '@quadrats/common/footnote';
3
3
  import { defaultRenderFootnoteElement } from './defaultRenderFootnoteElement.js';
4
4
 
5
- /* eslint-disable max-len */
6
- function createJsxSerializeFootnote(options = {}) {
7
- const { type = FOOTNOTE_TYPE, render = defaultRenderFootnoteElement } = options;
8
- return createJsxSerializeElement({ type, render });
5
+ /* eslint-disable max-len */
6
+ function createJsxSerializeFootnote(options = {}) {
7
+ const { type = FOOTNOTE_TYPE, render = defaultRenderFootnoteElement } = options;
8
+ return createJsxSerializeElement({ type, render });
9
9
  }
10
10
 
11
11
  export { createJsxSerializeFootnote };
@@ -1,3 +1,3 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { JsxSerializeFootnoteElementProps } from './typings';
3
- export declare const defaultRenderFootnoteElement: ({ children, element }: JsxSerializeFootnoteElementProps) => JSX.Element;
3
+ export declare const defaultRenderFootnoteElement: ({ children, element }: JsxSerializeFootnoteElementProps) => React.JSX.Element;
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
 
3
- const defaultRenderFootnoteElement = ({ children, element }) => {
4
- var _a;
5
- return (React.createElement(React.Fragment, null,
6
- React.createElement("span", { style: { textDecoration: 'underline' } }, children),
7
- React.createElement("sup", { style: { color: 'var(--qdr-sup)' } }, `[${(_a = element.index) !== null && _a !== void 0 ? _a : 1}]`)));
3
+ const defaultRenderFootnoteElement = ({ children, element }) => {
4
+ var _a;
5
+ return (React.createElement(React.Fragment, null,
6
+ React.createElement("span", { style: { textDecoration: 'underline' } }, children),
7
+ React.createElement("sup", { style: { color: 'var(--qdr-sup)' } }, `[${(_a = element.index) !== null && _a !== void 0 ? _a : 1}]`)));
8
8
  };
9
9
 
10
10
  export { defaultRenderFootnoteElement };
@@ -1,26 +1,20 @@
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 footnote = require('@quadrats/common/footnote');
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 defaultRenderFootnoteElement = ({ children, element }) => {
14
- var _a;
15
- return (React__default.createElement(React__default.Fragment, null,
16
- React__default.createElement("span", { style: { textDecoration: 'underline' } }, children),
17
- React__default.createElement("sup", { style: { color: 'var(--qdr-sup)' } }, `[${(_a = element.index) !== null && _a !== void 0 ? _a : 1}]`)));
7
+ const defaultRenderFootnoteElement = ({ children, element }) => {
8
+ var _a;
9
+ return (React.createElement(React.Fragment, null,
10
+ React.createElement("span", { style: { textDecoration: 'underline' } }, children),
11
+ React.createElement("sup", { style: { color: 'var(--qdr-sup)' } }, `[${(_a = element.index) !== null && _a !== void 0 ? _a : 1}]`)));
18
12
  };
19
13
 
20
- /* eslint-disable max-len */
21
- function createJsxSerializeFootnote(options = {}) {
22
- const { type = footnote.FOOTNOTE_TYPE, render = defaultRenderFootnoteElement } = options;
23
- return jsxSerializer.createJsxSerializeElement({ type, render });
14
+ /* eslint-disable max-len */
15
+ function createJsxSerializeFootnote(options = {}) {
16
+ const { type = footnote.FOOTNOTE_TYPE, render = defaultRenderFootnoteElement } = options;
17
+ return jsxSerializer.createJsxSerializeElement({ type, render });
24
18
  }
25
19
 
26
20
  exports.createJsxSerializeFootnote = createJsxSerializeFootnote;
@@ -1,3 +1,3 @@
1
1
  import { FootnoteElement } from '@quadrats/common/footnote';
2
2
  import { JsxSerializeElementProps } from '@quadrats/react/jsx-serializer';
3
- export declare type JsxSerializeFootnoteElementProps = JsxSerializeElementProps<FootnoteElement>;
3
+ export type JsxSerializeFootnoteElementProps = JsxSerializeElementProps<FootnoteElement>;