@quadrats/react 0.6.7 → 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.
- package/_internal/index.cjs.js +42 -44
- package/_internal/renderer/composeRenderElementsBase.js +10 -10
- package/_internal/renderer/composeRenderLeafsBase.js +8 -8
- package/_internal/renderer/createRenderElementBase.js +6 -6
- package/_internal/renderer/createRenderElementsBase.js +8 -8
- package/_internal/renderer/createRenderMarkBase.js +10 -10
- package/blockquote/constants.js +5 -5
- package/blockquote/createReactBlockquote.d.ts +1 -1
- package/blockquote/createReactBlockquote.js +58 -58
- package/blockquote/defaultRenderBlockquoteElement.d.ts +2 -2
- package/blockquote/index.cjs.js +64 -71
- package/blockquote/jsx-serializer/createJsxSerializeBlockquote.d.ts +2 -2
- package/blockquote/jsx-serializer/createJsxSerializeBlockquote.js +3 -3
- package/blockquote/jsx-serializer/index.cjs.js +3 -5
- package/blockquote/jsx-serializer/typings.d.ts +1 -1
- package/blockquote/toolbar/BlockquoteToolbarIcon.d.ts +2 -2
- package/blockquote/toolbar/BlockquoteToolbarIcon.js +4 -4
- package/blockquote/toolbar/index.cjs.js +10 -16
- package/blockquote/toolbar/useBlockquoteTool.js +6 -6
- package/blockquote/typings.d.ts +1 -1
- package/bold/constants.js +5 -5
- package/bold/createReactBold.d.ts +1 -1
- package/bold/createReactBold.js +3 -3
- package/bold/defaultRenderBold.d.ts +2 -2
- package/bold/defaultRenderBold.js +1 -1
- package/bold/index.cjs.js +9 -15
- package/bold/jsx-serializer/createJsxSerializeBold.js +3 -3
- package/bold/jsx-serializer/index.cjs.js +3 -5
- package/components/Icon/index.d.ts +1 -1
- package/components/Icon/index.js +15 -15
- package/components/Portal/index.d.ts +1 -0
- package/components/Portal/index.js +3 -3
- package/components/Progress/index.js +10 -10
- package/components/Tooltip/calculatePosition.js +66 -66
- package/components/Tooltip/index.d.ts +2 -2
- package/components/Tooltip/index.js +109 -109
- package/components/Tooltip/typings.d.ts +4 -4
- package/components/index.cjs.js +203 -211
- package/configs/ConfigsProvider.d.ts +2 -2
- package/configs/ConfigsProvider.js +7 -7
- package/configs/index.cjs.js +38 -44
- package/configs/locale.js +3 -3
- package/configs/theme.js +28 -28
- package/core/components/DefaultElement.d.ts +2 -2
- package/core/components/DefaultLeaf.d.ts +2 -2
- package/core/components/Editable.d.ts +3 -3
- package/core/components/Editable.js +41 -42
- package/core/components/Quadrats.d.ts +3 -3
- package/core/components/Quadrats.js +7 -7
- package/core/composeHandlers.js +30 -30
- package/core/composeRenderElements.d.ts +1 -1
- package/core/composeRenderElements.js +5 -5
- package/core/composeRenderLeafs.js +5 -5
- package/core/createReactEditor.js +2 -2
- package/core/createRenderElement.d.ts +1 -1
- package/core/createRenderElement.js +2 -2
- package/core/createRenderElements.d.ts +1 -1
- package/core/createRenderElements.js +2 -2
- package/core/createRenderMark.js +2 -2
- package/core/index.d.ts +6 -4
- package/core/index.js +11 -0
- package/core/typings/descendant.d.ts +1 -1
- package/core/typings/handler.d.ts +7 -7
- package/core/typings/renderer.d.ts +5 -5
- package/core/typings/with.d.ts +2 -2
- package/divider/createReactDivider.d.ts +1 -1
- package/divider/createReactDivider.js +4 -4
- package/divider/defaultRenderDividerElement.d.ts +2 -2
- package/divider/defaultRenderDividerElement.js +2 -2
- package/divider/index.cjs.js +6 -12
- package/divider/jsx-serializer/createJsxSerializeDivider.d.ts +2 -2
- package/divider/jsx-serializer/createJsxSerializeDivider.js +3 -3
- package/divider/jsx-serializer/defaultRenderDividerElement.d.ts +2 -2
- package/divider/jsx-serializer/index.cjs.js +4 -10
- package/divider/jsx-serializer/typings.d.ts +1 -1
- package/divider/toolbar/DividerToolbarIcon.d.ts +2 -2
- package/divider/toolbar/DividerToolbarIcon.js +4 -4
- package/divider/toolbar/index.cjs.js +9 -15
- package/divider/toolbar/useDividerTool.js +5 -5
- package/divider/typings.d.ts +1 -1
- package/embed/components/VideoIframe.d.ts +2 -2
- package/embed/components/VideoIframe.js +8 -8
- package/embed/createReactEmbed.d.ts +1 -1
- package/embed/createReactEmbed.js +7 -7
- package/embed/createRenderEmbedElementBase.js +9 -9
- package/embed/hooks/useVideoIframeSize.js +19 -19
- package/embed/index.cjs.js +43 -49
- package/embed/jsx-serializer/createJsxSerializeEmbed.d.ts +1 -1
- package/embed/jsx-serializer/createJsxSerializeEmbed.js +6 -6
- package/embed/jsx-serializer/facebook/index.cjs.js +2 -4
- package/embed/jsx-serializer/index.cjs.js +6 -8
- package/embed/jsx-serializer/instagram/index.cjs.js +2 -4
- package/embed/jsx-serializer/twitter/index.cjs.js +2 -4
- package/embed/jsx-serializer/vimeo/index.cjs.js +2 -4
- package/embed/jsx-serializer/youtube/index.cjs.js +2 -4
- package/embed/renderers/facebook/components/Facebook.d.ts +2 -2
- package/embed/renderers/facebook/components/Facebook.js +11 -11
- package/embed/renderers/facebook/defaultRenderFacebookEmbedElement.d.ts +2 -2
- package/embed/renderers/facebook/index.cjs.js +12 -18
- package/embed/renderers/instagram/components/Instagram.d.ts +2 -2
- package/embed/renderers/instagram/components/Instagram.js +18 -18
- package/embed/renderers/instagram/defaultRenderInstagramEmbedElement.d.ts +2 -2
- package/embed/renderers/instagram/hooks/useLoadInstagramEmbedApi.js +22 -22
- package/embed/renderers/instagram/index.cjs.js +41 -47
- package/embed/renderers/podcast-apple/components/PodcastApple.d.ts +2 -2
- package/embed/renderers/podcast-apple/components/PodcastApple.js +6 -6
- package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.d.ts +2 -2
- package/embed/renderers/podcast-apple/index.cjs.js +7 -13
- package/embed/renderers/spotify/components/Spotify.d.ts +2 -2
- package/embed/renderers/spotify/components/Spotify.js +10 -10
- package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.d.ts +2 -2
- package/embed/renderers/spotify/index.cjs.js +11 -17
- package/embed/renderers/twitter/components/Twitter.d.ts +2 -2
- package/embed/renderers/twitter/components/Twitter.js +5 -5
- package/embed/renderers/twitter/defaultRenderTwitterEmbedElement.d.ts +2 -2
- package/embed/renderers/twitter/hooks/useLoadTwitterEmbedApi.js +28 -28
- package/embed/renderers/twitter/index.cjs.js +34 -40
- package/embed/renderers/vimeo/defaultRenderVimeoEmbedElement.d.ts +2 -2
- package/embed/renderers/vimeo/index.cjs.js +1 -7
- package/embed/renderers/youtube/defaultRenderYoutubeEmbedElement.d.ts +2 -2
- package/embed/renderers/youtube/index.cjs.js +1 -7
- package/embed/toolbar/EmbedToolbarIcon.d.ts +2 -2
- package/embed/toolbar/EmbedToolbarIcon.js +4 -4
- package/embed/toolbar/index.cjs.js +16 -22
- package/embed/toolbar/useEmbedTool.js +12 -12
- package/embed/typings.d.ts +1 -1
- package/file-uploader/components/FileUploader.d.ts +2 -2
- package/file-uploader/components/FileUploader.js +7 -7
- package/file-uploader/createReactFileUploader.js +7 -7
- package/file-uploader/hooks/useFileUploader.js +7 -7
- package/file-uploader/index.cjs.js +22 -28
- package/file-uploader/toolbar/FileUploaderToolbarIcon.d.ts +2 -2
- package/file-uploader/toolbar/FileUploaderToolbarIcon.js +4 -4
- package/file-uploader/toolbar/index.cjs.js +9 -15
- package/file-uploader/toolbar/useFileUploaderTool.js +5 -5
- package/file-uploader/typings.d.ts +3 -3
- package/footnote/createReactFootnote.d.ts +1 -1
- package/footnote/createReactFootnote.js +6 -6
- package/footnote/defaultRenderFootnoteElement.d.ts +2 -2
- package/footnote/defaultRenderFootnoteElement.js +9 -9
- package/footnote/index.cjs.js +51 -57
- package/footnote/jsx-serializer/createJsxSerializeFootnote.d.ts +2 -2
- package/footnote/jsx-serializer/createJsxSerializeFootnote.js +4 -4
- package/footnote/jsx-serializer/defaultRenderFootnoteElement.d.ts +2 -2
- package/footnote/jsx-serializer/defaultRenderFootnoteElement.js +5 -5
- package/footnote/jsx-serializer/index.cjs.js +9 -15
- package/footnote/jsx-serializer/typings.d.ts +1 -1
- package/footnote/toolbar/FootnoteToolbarIcon.d.ts +2 -2
- package/footnote/toolbar/FootnoteToolbarIcon.js +4 -4
- package/footnote/toolbar/index.cjs.js +17 -23
- package/footnote/toolbar/useFootnoteTool.d.ts +1 -1
- package/footnote/toolbar/useFootnoteTool.js +13 -13
- package/footnote/typings.d.ts +1 -1
- package/footnote/useFootnotes.js +15 -15
- package/footnote/useFootnotesFromNodes.js +21 -21
- package/heading/constants.js +8 -8
- package/heading/createReactHeading.d.ts +1 -1
- package/heading/createReactHeading.js +37 -37
- package/heading/defaultRenderHeadingElement.d.ts +2 -2
- package/heading/defaultRenderHeadingElement.js +14 -14
- package/heading/index.cjs.js +59 -66
- package/heading/jsx-serializer/createJsxSerializeHeading.d.ts +2 -2
- package/heading/jsx-serializer/createJsxSerializeHeading.js +3 -3
- package/heading/jsx-serializer/index.cjs.js +3 -5
- package/heading/jsx-serializer/typings.d.ts +1 -1
- package/heading/toolbar/HeadingToolbarIcon.d.ts +2 -2
- package/heading/toolbar/HeadingToolbarIcon.js +4 -4
- package/heading/toolbar/index.cjs.js +10 -16
- package/heading/toolbar/useToggleHeadingTool.js +6 -6
- package/heading/typings.d.ts +1 -1
- package/highlight/constants.js +5 -5
- package/highlight/createReactHighlight.d.ts +1 -1
- package/highlight/createReactHighlight.js +3 -3
- package/highlight/defaultRenderHighlight.d.ts +2 -2
- package/highlight/defaultRenderHighlight.js +1 -1
- package/highlight/index.cjs.js +9 -15
- package/highlight/jsx-serializer/createJsxSerializeHighlight.js +3 -3
- package/highlight/jsx-serializer/index.cjs.js +3 -5
- package/image/components/Image.d.ts +2 -2
- package/image/components/Image.js +11 -11
- package/image/components/ImageCaption.d.ts +2 -2
- package/image/components/ImageCaption.js +13 -13
- package/image/components/ImageFigure.d.ts +2 -2
- package/image/components/ImageFigure.js +8 -8
- package/image/createReactImage.d.ts +1 -1
- package/image/createReactImage.js +94 -94
- package/image/defaultRenderImageElements.js +4 -4
- package/image/hooks/useImageResizer.js +89 -89
- package/image/image.css +1 -1
- package/image/index.cjs.js +219 -227
- package/image/jsx-serializer/createJsxSerializeImage.d.ts +2 -3
- package/image/jsx-serializer/createJsxSerializeImage.js +34 -34
- package/image/jsx-serializer/defaultRenderImageElements.js +4 -4
- package/image/jsx-serializer/index.cjs.js +38 -44
- package/image/jsx-serializer/typings.d.ts +1 -1
- package/image/typings.d.ts +3 -3
- package/index.cjs.js +103 -109
- package/index.js +3 -2
- package/input-block/components/InputBlock.d.ts +2 -2
- package/input-block/components/InputBlock.js +19 -19
- package/input-block/createReactInputBlock.d.ts +1 -1
- package/input-block/createReactInputBlock.js +10 -10
- package/input-block/hooks/useInputBlock.js +43 -43
- package/input-block/index.cjs.js +73 -79
- package/input-block/typings.d.ts +2 -2
- package/italic/constants.js +5 -5
- package/italic/createReactItalic.d.ts +1 -1
- package/italic/createReactItalic.js +3 -3
- package/italic/defaultRenderItalic.d.ts +2 -2
- package/italic/defaultRenderItalic.js +1 -1
- package/italic/index.cjs.js +9 -15
- package/italic/jsx-serializer/createJsxSerializeItalic.js +3 -3
- package/italic/jsx-serializer/index.cjs.js +3 -5
- package/jsx-serializer/createJsxSerializeElement.d.ts +1 -1
- package/jsx-serializer/createJsxSerializeElement.js +2 -2
- package/jsx-serializer/createJsxSerializeElements.d.ts +1 -1
- package/jsx-serializer/createJsxSerializeElements.js +2 -2
- package/jsx-serializer/createJsxSerializeMark.js +2 -2
- package/jsx-serializer/createJsxSerializer.js +42 -42
- package/jsx-serializer/index.cjs.js +48 -54
- package/jsx-serializer/typings.d.ts +5 -5
- package/line-break/commonBreak.js +26 -26
- package/line-break/createOnKeyDownBreak.js +41 -41
- package/line-break/createReactLineBreak.d.ts +1 -1
- package/line-break/createReactLineBreak.js +6 -6
- package/line-break/defaultRenderLineBreakElement.d.ts +2 -2
- package/line-break/index.cjs.js +75 -82
- package/line-break/jsx-serializer/createJsxSerializeLineBreak.d.ts +2 -2
- package/line-break/jsx-serializer/createJsxSerializeLineBreak.js +4 -4
- package/line-break/jsx-serializer/defaultRenderLineBreakElement.d.ts +2 -2
- package/line-break/jsx-serializer/defaultRenderLineBreakElement.js +1 -1
- package/line-break/jsx-serializer/index.cjs.js +6 -12
- package/line-break/jsx-serializer/typings.d.ts +1 -1
- package/line-break/renderLineBreakElementWithSymbol.d.ts +2 -2
- package/line-break/typings.d.ts +1 -1
- package/link/createReactLink.js +22 -22
- package/link/defaultRenderLinkElement.d.ts +2 -2
- package/link/defaultRenderLinkElement.js +7 -7
- package/link/index.cjs.js +29 -35
- package/link/jsx-serializer/createJsxSerializeLink.d.ts +2 -2
- package/link/jsx-serializer/createJsxSerializeLink.js +3 -3
- package/link/jsx-serializer/defaultRenderLinkElement.d.ts +2 -2
- package/link/jsx-serializer/index.cjs.js +4 -10
- package/link/jsx-serializer/typings.d.ts +1 -1
- package/link/toolbar/LinkToolbarIcon.d.ts +2 -2
- package/link/toolbar/LinkToolbarIcon.js +4 -4
- package/link/toolbar/UnlinkToolbarIcon.d.ts +2 -2
- package/link/toolbar/UnlinkToolbarIcon.js +4 -4
- package/link/toolbar/index.cjs.js +27 -33
- package/link/toolbar/useLinkTool.d.ts +1 -1
- package/link/toolbar/useLinkTool.js +14 -14
- package/link/toolbar/useUnlinkTool.js +5 -5
- package/link/typings.d.ts +1 -1
- package/list/createReactList.d.ts +1 -1
- package/list/createReactList.js +18 -18
- package/list/defaultRenderListElements.js +4 -4
- package/list/index.cjs.js +22 -28
- package/list/jsx-serializer/createJsxSerializeList.d.ts +2 -2
- package/list/jsx-serializer/createJsxSerializeList.js +8 -8
- package/list/jsx-serializer/index.cjs.js +8 -10
- package/list/jsx-serializer/typings.d.ts +1 -1
- package/list/toolbar/ListToolbarIcon.d.ts +2 -2
- package/list/toolbar/ListToolbarIcon.js +4 -4
- package/list/toolbar/index.cjs.js +10 -16
- package/list/toolbar/useListTool.js +6 -6
- package/list/typings.d.ts +2 -2
- package/package.json +10 -10
- package/paragraph/createRenderParagraphElement.d.ts +2 -2
- package/paragraph/createRenderParagraphElement.js +3 -3
- package/paragraph/defaultRenderParagraphElement.d.ts +2 -2
- package/paragraph/index.cjs.js +5 -11
- package/paragraph/jsx-serializer/createJsxSerializeParagraph.d.ts +2 -2
- package/paragraph/jsx-serializer/createJsxSerializeParagraph.js +3 -3
- package/paragraph/jsx-serializer/index.cjs.js +3 -5
- package/paragraph/jsx-serializer/typings.d.ts +1 -1
- package/paragraph/renderParagraphElementWithSymbol.d.ts +2 -2
- package/read-more/components/ReadMore.d.ts +2 -2
- package/read-more/components/ReadMore.js +6 -6
- package/read-more/createReactReadMore.d.ts +1 -1
- package/read-more/createReactReadMore.js +4 -4
- package/read-more/defaultRenderReadMoreElement.d.ts +2 -2
- package/read-more/index.cjs.js +11 -17
- package/read-more/jsx-serializer/createJsxSerializeReadMore.d.ts +2 -2
- package/read-more/jsx-serializer/createJsxSerializeReadMore.js +3 -3
- package/read-more/jsx-serializer/index.cjs.js +3 -5
- package/read-more/jsx-serializer/typings.d.ts +1 -1
- package/read-more/toolbar/ReadMoreToolbarIcon.d.ts +2 -2
- package/read-more/toolbar/ReadMoreToolbarIcon.js +4 -4
- package/read-more/toolbar/index.cjs.js +9 -15
- package/read-more/toolbar/useReadMoreTool.js +5 -5
- package/read-more/typings.d.ts +1 -1
- package/strikethrough/constants.js +5 -5
- package/strikethrough/createReactStrikethrough.d.ts +1 -1
- package/strikethrough/createReactStrikethrough.js +3 -3
- package/strikethrough/defaultRenderStrikethrough.d.ts +2 -2
- package/strikethrough/defaultRenderStrikethrough.js +1 -1
- package/strikethrough/index.cjs.js +9 -15
- package/strikethrough/jsx-serializer/createJsxSerializeStrikethrough.js +3 -3
- package/strikethrough/jsx-serializer/index.cjs.js +3 -5
- package/toggle-mark/createReactToggleMarkCreator.d.ts +2 -2
- package/toggle-mark/createReactToggleMarkCreator.js +14 -14
- package/toggle-mark/index.cjs.js +14 -20
- package/toggle-mark/jsx-serializer/createJsxSerializeToggleMarkCreator.d.ts +3 -3
- package/toggle-mark/jsx-serializer/createJsxSerializeToggleMarkCreator.js +2 -2
- package/toggle-mark/jsx-serializer/index.cjs.js +2 -4
- package/toggle-mark/jsx-serializer/typings.d.ts +1 -1
- package/toggle-mark/toolbar/ToggleMarkToolbarIcon.d.ts +2 -2
- package/toggle-mark/toolbar/ToggleMarkToolbarIcon.js +4 -4
- package/toggle-mark/toolbar/index.cjs.js +10 -16
- package/toggle-mark/toolbar/useToggleMarkTool.js +6 -6
- package/toggle-mark/typings.d.ts +2 -2
- package/toolbar/components/Toolbar.d.ts +1 -1
- package/toolbar/components/Toolbar.js +102 -102
- package/toolbar/components/ToolbarIcon.d.ts +2 -2
- package/toolbar/components/ToolbarIcon.js +6 -6
- package/toolbar/components/ToolbarInput.d.ts +2 -2
- package/toolbar/components/ToolbarInput.js +23 -23
- package/toolbar/constants.d.ts +2 -2
- package/toolbar/constants.js +3 -3
- package/toolbar/hooks/useStartToolInput.js +2 -2
- package/toolbar/index.cjs.js +137 -144
- package/toolbar/toolbar.css +1 -1
- package/toolbar/typings.d.ts +1 -1
- package/underline/constants.js +5 -5
- package/underline/createReactUnderline.d.ts +1 -1
- package/underline/createReactUnderline.js +3 -3
- package/underline/defaultRenderUnderline.d.ts +2 -2
- package/underline/defaultRenderUnderline.js +1 -1
- package/underline/index.cjs.js +9 -15
- package/underline/jsx-serializer/createJsxSerializeUnderline.js +3 -3
- package/underline/jsx-serializer/index.cjs.js +3 -5
- package/utils/composeRefs.js +29 -29
- 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
|
|
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 }) =>
|
|
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: (
|
|
51
|
-
.split('\n')
|
|
52
|
-
.map(t => t || ' ')
|
|
53
|
-
.join('\n'))),
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
result =
|
|
58
|
-
}
|
|
59
|
-
return addKey(result);
|
|
60
|
-
}
|
|
61
|
-
function serializeNodes(nodes, parent) {
|
|
62
|
-
return
|
|
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
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
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
|
|
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
|
-
|
|
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;
|
package/line-break/index.cjs.js
CHANGED
|
@@ -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
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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 }) => (
|
|
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 }) => (
|
|
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
|
|
5
|
-
export declare function createJsxSerializeLineBreak(options?: CreateJsxSerializeLineBreakOptions): (props: import("@quadrats/react/jsx-serializer").JsxSerializeElementProps
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
3
|
+
export type JsxSerializeLineBreakElementProps = JsxSerializeElementProps<LineBreakElement>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
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;
|
package/line-break/typings.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export interface SoftBreakRule {
|
|
|
24
24
|
hotkey: string;
|
|
25
25
|
match?: IsNodeMatchOptions;
|
|
26
26
|
}
|
|
27
|
-
export
|
|
27
|
+
export type RenderLineBreakElementProps = RenderElementProps<LineBreakElement>;
|
|
28
28
|
export interface ReactLineBreakCreateRenderElementOptions {
|
|
29
29
|
render?: (props: RenderLineBreakElementProps) => JSX.Element | null | undefined;
|
|
30
30
|
}
|
package/link/createReactLink.js
CHANGED
|
@@ -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 };
|