@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,11 +1,11 @@
1
1
  import { useQuadrats } from '@quadrats/react';
2
2
 
3
- function useToggleHeadingTool(controller, level) {
4
- const editor = useQuadrats();
5
- return {
6
- active: controller.isSelectionInHeading(editor, level),
7
- onClick: () => controller.toggleHeadingNodes(editor, level),
8
- };
3
+ function useToggleHeadingTool(controller, level) {
4
+ const editor = useQuadrats();
5
+ return {
6
+ active: controller.isSelectionInHeading(editor, level),
7
+ onClick: () => controller.toggleHeadingNodes(editor, level),
8
+ };
9
9
  }
10
10
 
11
11
  export { useToggleHeadingTool };
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { Heading, HeadingElement, HeadingLevel } from '@quadrats/common/heading';
3
3
  import { WithCreateHandlers, WithCreateRenderElement, RenderElementProps, Editor } from '@quadrats/react';
4
- export declare type RenderHeadingElementProps = RenderElementProps<HeadingElement>;
4
+ export type RenderHeadingElementProps = RenderElementProps<HeadingElement>;
5
5
  export interface ReactHeadingCreateHandlersOptions {
6
6
  /**
7
7
  * The hotkey to toggle heading w/ specific level.
@@ -1,8 +1,8 @@
1
- /**
2
- * Default hotkey for toggling highlight.
3
- *
4
- * @see [is-hotkey]{@link https://www.npmjs.com/package/is-hotkey}
5
- */
1
+ /**
2
+ * Default hotkey for toggling highlight.
3
+ *
4
+ * @see [is-hotkey]{@link https://www.npmjs.com/package/is-hotkey}
5
+ */
6
6
  const HIGHLIGHT_HOTKEY = 'mod+h';
7
7
 
8
8
  export { HIGHLIGHT_HOTKEY };
@@ -1 +1 @@
1
- export declare const createReactHighlight: (variant?: string | undefined) => import("@quadrats/react/toggle-mark").ReactToggleMark;
1
+ export declare const createReactHighlight: (variant?: string) => import("@quadrats/react/toggle-mark").ReactToggleMark;
@@ -3,9 +3,9 @@ import { createReactToggleMarkCreator } from '@quadrats/react/toggle-mark';
3
3
  import { defaultRenderHighlight } from './defaultRenderHighlight.js';
4
4
  import { HIGHLIGHT_HOTKEY } from './constants.js';
5
5
 
6
- const createReactHighlight = (variant) => createReactToggleMarkCreator(createHighlight(variant), {
7
- hotkey: HIGHLIGHT_HOTKEY,
8
- render: defaultRenderHighlight,
6
+ const createReactHighlight = (variant) => createReactToggleMarkCreator(createHighlight(variant), {
7
+ hotkey: HIGHLIGHT_HOTKEY,
8
+ render: defaultRenderHighlight(variant),
9
9
  })();
10
10
 
11
11
  export { createReactHighlight };
@@ -1,3 +1,3 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { RenderMarkPropsBase } from '@quadrats/react/_internal';
3
- export declare const defaultRenderHighlight: ({ children, leaf }: RenderMarkPropsBase<boolean>) => JSX.Element;
3
+ export declare const defaultRenderHighlight: (variant?: string) => ({ children, leaf }: RenderMarkPropsBase<boolean>) => React.JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { HIGHLIGHT_TYPE } from '@quadrats/common/highlight';
3
3
 
4
- const defaultRenderHighlight = ({ children, leaf }) => (React.createElement("mark", { className: leaf.highlightVariant
4
+ const defaultRenderHighlight = (variant) => ({ children, leaf }) => (React.createElement("mark", { "data-type": variant !== null && variant !== void 0 ? variant : undefined, className: leaf.highlightVariant
5
5
  ? `${HIGHLIGHT_TYPE}.${leaf.highlightVariant}` : `${HIGHLIGHT_TYPE}` }, children));
6
6
 
7
7
  export { defaultRenderHighlight };
@@ -1,28 +1,22 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
  var highlight = require('@quadrats/common/highlight');
7
5
  var toggleMark = require('@quadrats/react/toggle-mark');
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
- /**
14
- * Default hotkey for toggling highlight.
15
- *
16
- * @see [is-hotkey]{@link https://www.npmjs.com/package/is-hotkey}
17
- */
7
+ /**
8
+ * Default hotkey for toggling highlight.
9
+ *
10
+ * @see [is-hotkey]{@link https://www.npmjs.com/package/is-hotkey}
11
+ */
18
12
  const HIGHLIGHT_HOTKEY = 'mod+h';
19
13
 
20
- const defaultRenderHighlight = ({ children, leaf }) => (React__default.createElement("mark", { className: leaf.highlightVariant
14
+ const defaultRenderHighlight = (variant) => ({ children, leaf }) => (React.createElement("mark", { "data-type": variant !== null && variant !== void 0 ? variant : undefined, className: leaf.highlightVariant
21
15
  ? `${highlight.HIGHLIGHT_TYPE}.${leaf.highlightVariant}` : `${highlight.HIGHLIGHT_TYPE}` }, children));
22
16
 
23
- const createReactHighlight = (variant) => toggleMark.createReactToggleMarkCreator(highlight.createHighlight(variant), {
24
- hotkey: HIGHLIGHT_HOTKEY,
25
- render: defaultRenderHighlight,
17
+ const createReactHighlight = (variant) => toggleMark.createReactToggleMarkCreator(highlight.createHighlight(variant), {
18
+ hotkey: HIGHLIGHT_HOTKEY,
19
+ render: defaultRenderHighlight(variant),
26
20
  })();
27
21
 
28
22
  exports.HIGHLIGHT_HOTKEY = HIGHLIGHT_HOTKEY;
@@ -1,2 +1,2 @@
1
1
  /// <reference types="react" />
2
- export declare const createJsxSerializeHighlight: (options?: Partial<import("@quadrats/react/toggle-mark/jsx-serializer").CreateJsxSerializeToggleMarkCreatorOptions> | undefined) => (props: Omit<import("@quadrats/react/jsx-serializer").JsxSerializeMarkProps<boolean>, "mark">) => JSX.Element;
2
+ export declare const createJsxSerializeHighlight: (variant?: string) => (props: Omit<import("@quadrats/react/jsx-serializer").JsxSerializeMarkProps<boolean>, "mark">) => JSX.Element;
@@ -2,9 +2,9 @@ import { HIGHLIGHT_TYPE } from '@quadrats/common/highlight';
2
2
  import { createJsxSerializeToggleMarkCreator } from '@quadrats/react/toggle-mark/jsx-serializer';
3
3
  import { defaultRenderHighlight } from '@quadrats/react/highlight';
4
4
 
5
- const createJsxSerializeHighlight = createJsxSerializeToggleMarkCreator({
6
- type: HIGHLIGHT_TYPE,
7
- render: defaultRenderHighlight,
8
- });
5
+ const createJsxSerializeHighlight = (variant) => createJsxSerializeToggleMarkCreator({
6
+ type: HIGHLIGHT_TYPE,
7
+ render: defaultRenderHighlight(variant),
8
+ })();
9
9
 
10
10
  export { createJsxSerializeHighlight };
@@ -1,15 +1,13 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var highlight = require('@quadrats/react/highlight');
6
4
  var highlight$1 = require('@quadrats/common/highlight');
7
5
  var jsxSerializer = require('@quadrats/react/toggle-mark/jsx-serializer');
8
6
 
9
- const createJsxSerializeHighlight = jsxSerializer.createJsxSerializeToggleMarkCreator({
10
- type: highlight$1.HIGHLIGHT_TYPE,
11
- render: highlight.defaultRenderHighlight,
12
- });
7
+ const createJsxSerializeHighlight = (variant) => jsxSerializer.createJsxSerializeToggleMarkCreator({
8
+ type: highlight$1.HIGHLIGHT_TYPE,
9
+ render: highlight.defaultRenderHighlight(variant),
10
+ })();
13
11
 
14
12
  exports.defaultRenderHighlight = highlight.defaultRenderHighlight;
15
13
  exports.createJsxSerializeHighlight = createJsxSerializeHighlight;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { RenderImageElementProps } from '../typings';
3
- declare function Image(props: RenderImageElementProps): JSX.Element;
3
+ declare function Image(props: RenderImageElementProps): React.JSX.Element;
4
4
  export default Image;
@@ -3,17 +3,17 @@ import { Transforms } from '@quadrats/core';
3
3
  import { useSlateStatic, ReactEditor } from '@quadrats/react';
4
4
  import { useImageResizer } from '../hooks/useImageResizer.js';
5
5
 
6
- function Image(props) {
7
- const { attributes, children, element, resizeImage, src, } = props;
8
- const editor = useSlateStatic();
9
- const { focusedAndSelected, imageRef, onResizeStart } = useImageResizer(element, resizeImage);
10
- return (React.createElement("div", Object.assign({}, attributes, { className: "qdr-image", onClick: () => Transforms.select(editor, ReactEditor.findPath(editor, element)), onMouseDown: event => event.preventDefault(), role: "img" }),
11
- React.createElement("div", { className: "qdr-image__spacer" }, children),
12
- React.createElement("div", { contentEditable: false },
13
- focusedAndSelected && (React.createElement(React.Fragment, null,
14
- React.createElement("span", { className: "qdr-image__boundary" }),
15
- React.createElement("span", { "aria-label": "resize image", className: "qdr-image__resizer", onMouseDown: onResizeStart, onTouchStart: onResizeStart, role: "button", tabIndex: -1 }))),
16
- React.createElement("img", { ref: imageRef, src: src, alt: src }))));
6
+ function Image(props) {
7
+ const { attributes, children, element, resizeImage, src, } = props;
8
+ const editor = useSlateStatic();
9
+ const { focusedAndSelected, imageRef, onResizeStart } = useImageResizer(element, resizeImage);
10
+ return (React.createElement("div", Object.assign({}, attributes, { className: "qdr-image", onClick: () => Transforms.select(editor, ReactEditor.findPath(editor, element)), onMouseDown: event => event.preventDefault(), role: "img" }),
11
+ React.createElement("div", { className: "qdr-image__spacer" }, children),
12
+ React.createElement("div", { contentEditable: false },
13
+ focusedAndSelected && (React.createElement(React.Fragment, null,
14
+ React.createElement("span", { className: "qdr-image__boundary" }),
15
+ React.createElement("span", { "aria-label": "resize image", className: "qdr-image__resizer", onMouseDown: onResizeStart, onTouchStart: onResizeStart, role: "button", tabIndex: -1 }))),
16
+ React.createElement("img", { ref: imageRef, src: src, alt: src }))));
17
17
  }
18
18
 
19
19
  export { Image as default };
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { RenderImageCaptionElementProps } from '../typings';
3
- declare function ImageCaption(props: RenderImageCaptionElementProps): JSX.Element;
3
+ declare function ImageCaption(props: RenderImageCaptionElementProps): React.JSX.Element;
4
4
  export default ImageCaption;
@@ -3,19 +3,19 @@ import clsx from 'clsx';
3
3
  import { Editor } from '@quadrats/core';
4
4
  import { useSlateStatic, ReactEditor, useLocale } from '@quadrats/react';
5
5
 
6
- function ImageCaption(props) {
7
- const { attributes, children, element } = props;
8
- const editor = useSlateStatic();
9
- const path = ReactEditor.findPath(editor, element);
10
- const text = Editor.string(editor, path);
11
- const isEmpty = !text;
12
- const locale = useLocale();
13
- const placeholder = locale.editor.image.captionInputPlaceholder;
14
- return (React.createElement("figcaption", Object.assign({}, attributes, { className: clsx('qdr-image__caption', {
15
- 'qdr-image__caption--empty': isEmpty,
16
- }) }),
17
- isEmpty && (React.createElement("span", { className: "qdr-image__caption-placeholder", contentEditable: false }, placeholder)),
18
- children));
6
+ function ImageCaption(props) {
7
+ const { attributes, children, element } = props;
8
+ const editor = useSlateStatic();
9
+ const path = ReactEditor.findPath(editor, element);
10
+ const text = Editor.string(editor, path);
11
+ const isEmpty = !text;
12
+ const locale = useLocale();
13
+ const placeholder = locale.editor.image.captionInputPlaceholder;
14
+ return (React.createElement("figcaption", Object.assign({}, attributes, { className: clsx('qdr-image__caption', {
15
+ 'qdr-image__caption--empty': isEmpty,
16
+ }) }),
17
+ isEmpty && (React.createElement("span", { className: "qdr-image__caption-placeholder", contentEditable: false }, placeholder)),
18
+ children));
19
19
  }
20
20
 
21
21
  export { ImageCaption as default };
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { RenderImageFigureElementProps } from '../typings';
3
- declare function ImageFigure(props: RenderImageFigureElementProps): JSX.Element;
3
+ declare function ImageFigure(props: RenderImageFigureElementProps): React.JSX.Element;
4
4
  export default ImageFigure;
@@ -2,14 +2,14 @@ import React from 'react';
2
2
  import clsx from 'clsx';
3
3
  import { useFocused, useSelected } from '@quadrats/react';
4
4
 
5
- function ImageFigure(props) {
6
- const { attributes, children, style } = props;
7
- const focused = useFocused();
8
- const selected = useSelected();
9
- const blurred = !focused || !selected;
10
- return (React.createElement("figure", Object.assign({}, attributes, { className: clsx('qdr-image__figure', {
11
- 'qdr-image__figure--blurred': blurred,
12
- }), style: style }), children));
5
+ function ImageFigure(props) {
6
+ const { attributes, children, style } = props;
7
+ const focused = useFocused();
8
+ const selected = useSelected();
9
+ const blurred = !focused || !selected;
10
+ return (React.createElement("figure", Object.assign({}, attributes, { className: clsx('qdr-image__figure', {
11
+ 'qdr-image__figure--blurred': blurred,
12
+ }), style: style }), children));
13
13
  }
14
14
 
15
15
  export { ImageFigure as default };
@@ -1,4 +1,4 @@
1
1
  import { CreateImageOptions } from '@quadrats/common/image';
2
2
  import { ReactImage } from './typings';
3
- export declare type CreateReactImageOptions<Hosting extends string> = CreateImageOptions<Hosting>;
3
+ export type CreateReactImageOptions<Hosting extends string> = CreateImageOptions<Hosting>;
4
4
  export declare function createReactImage<Hosting extends string>(options?: CreateReactImageOptions<Hosting>): ReactImage<Hosting>;
@@ -6,100 +6,100 @@ import { createImage, getImageFigureElementCommonProps, getImageElementCommonPro
6
6
  import { createRenderElements } from '@quadrats/react';
7
7
  import { defaultRenderImageElements } from './defaultRenderImageElements.js';
8
8
 
9
- function createReactImage(options = {}) {
10
- const core = createImage(options);
11
- const { types } = core;
12
- return Object.assign(Object.assign({}, core), { createHandlers: () => ({
13
- onKeyDown(event, editor, next) {
14
- if ((event.key === 'Backspace' || event.key === 'Delete') && core.isCollapsedOnImage(editor)) {
15
- const [, figurePath] = core.getAboveImageFigure(editor) || [];
16
- if (figurePath) {
17
- Transforms.removeNodes(editor, { at: figurePath });
18
- return;
19
- }
20
- }
21
- const [, captionPath] = core.getAboveImageCaption(editor) || [];
22
- if (captionPath) {
23
- /**
24
- * Override original behavior of select all.
25
- * Only select the text in image caption if current selection is in image caption.
26
- */
27
- if (isHotkey('mod+a', event)) {
28
- event.preventDefault();
29
- Transforms.select(editor, captionPath);
30
- return;
31
- }
32
- }
33
- next();
34
- },
35
- }), createRenderElement: (options = {}) => {
36
- const renderFigure = options.figure || defaultRenderImageElements.figure;
37
- const renderImage = options.image || defaultRenderImageElements.image;
38
- const renderCaption = options.caption || defaultRenderImageElements.caption;
39
- return createRenderElements([
40
- {
41
- type: types.figure,
42
- render: (props) => {
43
- const { attributes, children, element } = props;
44
- return renderFigure(Object.assign(Object.assign({}, getImageFigureElementCommonProps(element)), { attributes,
45
- element,
46
- children }));
47
- },
48
- },
49
- {
50
- type: types.image,
51
- render: (props) => {
52
- const { attributes, children, element } = props;
53
- return renderImage(Object.assign(Object.assign({}, getImageElementCommonProps(element, core.hostingResolvers)), { attributes,
54
- element,
55
- children, resizeImage: core.resizeImage }));
56
- },
57
- },
58
- {
59
- type: types.caption,
60
- render: renderCaption,
61
- },
62
- ]);
63
- }, with(editor) {
64
- const { insertData } = editor;
65
- editor.insertData = (data) => {
66
- const text = data.getData('text');
67
- const { files } = data;
68
- /**
69
- * Insert image if inserted text is image url.
70
- */
71
- if (text) {
72
- if (core.isImageUrl(text)) {
73
- core.insertImage(editor, text);
74
- return;
75
- }
76
- }
77
- /**
78
- * Insert each image which is image.
79
- */
80
- if (files.length) {
81
- [...files]
82
- .filter((file) => {
83
- const [mime] = file.type.split('/');
84
- return mime === 'image';
85
- })
86
- .reduce((prev, imageFile) => __awaiter(this, void 0, void 0, function* () {
87
- yield prev;
88
- return readFileAsDataURL(imageFile).then(dataURL => core.insertImage(editor, dataURL));
89
- }), Promise.resolve());
90
- return;
91
- }
92
- const inCaption = core.isSelectionInImageCaption(editor);
93
- if (inCaption) {
94
- const inlineData = new DataTransfer();
95
- inlineData.setData('text', data.getData('text').replace(/\r?\n/g, ''));
96
- insertData(inlineData);
97
- return;
98
- }
99
- insertData(data);
100
- };
101
- return core.with(editor);
102
- } });
9
+ function createReactImage(options = {}) {
10
+ const core = createImage(options);
11
+ const { types } = core;
12
+ return Object.assign(Object.assign({}, core), { createHandlers: () => ({
13
+ onKeyDown(event, editor, next) {
14
+ if ((event.key === 'Backspace' || event.key === 'Delete') && core.isCollapsedOnImage(editor)) {
15
+ const [, figurePath] = core.getAboveImageFigure(editor) || [];
16
+ if (figurePath) {
17
+ Transforms.removeNodes(editor, { at: figurePath });
18
+ return;
19
+ }
20
+ }
21
+ const [, captionPath] = core.getAboveImageCaption(editor) || [];
22
+ if (captionPath) {
23
+ /**
24
+ * Override original behavior of select all.
25
+ * Only select the text in image caption if current selection is in image caption.
26
+ */
27
+ if (isHotkey('mod+a', event)) {
28
+ event.preventDefault();
29
+ Transforms.select(editor, captionPath);
30
+ return;
31
+ }
32
+ }
33
+ next();
34
+ },
35
+ }), createRenderElement: (options = {}) => {
36
+ const renderFigure = options.figure || defaultRenderImageElements.figure;
37
+ const renderImage = options.image || defaultRenderImageElements.image;
38
+ const renderCaption = options.caption || defaultRenderImageElements.caption;
39
+ return createRenderElements([
40
+ {
41
+ type: types.figure,
42
+ render: (props) => {
43
+ const { attributes, children, element } = props;
44
+ return renderFigure(Object.assign(Object.assign({}, getImageFigureElementCommonProps(element)), { attributes,
45
+ element,
46
+ children }));
47
+ },
48
+ },
49
+ {
50
+ type: types.image,
51
+ render: (props) => {
52
+ const { attributes, children, element } = props;
53
+ return renderImage(Object.assign(Object.assign({}, getImageElementCommonProps(element, core.hostingResolvers)), { attributes,
54
+ element,
55
+ children, resizeImage: core.resizeImage }));
56
+ },
57
+ },
58
+ {
59
+ type: types.caption,
60
+ render: renderCaption,
61
+ },
62
+ ]);
63
+ }, with(editor) {
64
+ const { insertData } = editor;
65
+ editor.insertData = (data) => {
66
+ const text = data.getData('text');
67
+ const { files } = data;
68
+ /**
69
+ * Insert image if inserted text is image url.
70
+ */
71
+ if (text) {
72
+ if (core.isImageUrl(text)) {
73
+ core.insertImage(editor, text);
74
+ return;
75
+ }
76
+ }
77
+ /**
78
+ * Insert each image which is image.
79
+ */
80
+ if (files.length) {
81
+ [...files]
82
+ .filter((file) => {
83
+ const [mime] = file.type.split('/');
84
+ return mime === 'image';
85
+ })
86
+ .reduce((prev, imageFile) => __awaiter(this, void 0, void 0, function* () {
87
+ yield prev;
88
+ return readFileAsDataURL(imageFile).then(dataURL => core.insertImage(editor, dataURL));
89
+ }), Promise.resolve());
90
+ return;
91
+ }
92
+ const inCaption = core.isSelectionInImageCaption(editor);
93
+ if (inCaption) {
94
+ const inlineData = new DataTransfer();
95
+ inlineData.setData('text', data.getData('text').replace(/\r?\n/g, ''));
96
+ insertData(inlineData);
97
+ return;
98
+ }
99
+ insertData(data);
100
+ };
101
+ return core.with(editor);
102
+ } });
103
103
  }
104
104
 
105
105
  export { createReactImage };
@@ -3,10 +3,10 @@ import ImageFigure from './components/ImageFigure.js';
3
3
  import Image from './components/Image.js';
4
4
  import ImageCaption from './components/ImageCaption.js';
5
5
 
6
- const defaultRenderImageElements = {
7
- figure: props => React.createElement(ImageFigure, Object.assign({}, props)),
8
- image: props => React.createElement(Image, Object.assign({}, props)),
9
- caption: props => React.createElement(ImageCaption, Object.assign({}, props)),
6
+ const defaultRenderImageElements = {
7
+ figure: props => React.createElement(ImageFigure, Object.assign({}, props)),
8
+ image: props => React.createElement(Image, Object.assign({}, props)),
9
+ caption: props => React.createElement(ImageCaption, Object.assign({}, props)),
10
10
  };
11
11
 
12
12
  export { defaultRenderImageElements };