@quadrats/react 0.1.0 → 0.4.5
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/blockquote/createReactBlockquote.js +3 -3
- package/blockquote/index.cjs.js +3 -3
- package/blockquote/jsx-serializer/createJsxSerializeBlockquote.js +1 -1
- package/blockquote/toolbar/BlockquoteToolbarIcon.js +2 -2
- package/blockquote/toolbar/index.cjs.js +1 -1
- package/bold/createReactBold.d.ts +1 -1
- package/bold/createReactBold.js +4 -4
- package/bold/defaultRenderBold.d.ts +1 -1
- package/bold/defaultRenderBold.js +3 -1
- package/bold/index.cjs.js +5 -4
- package/bold/jsx-serializer/createJsxSerializeBold.d.ts +1 -1
- package/bold/jsx-serializer/createJsxSerializeBold.js +1 -1
- package/bold/typings.d.ts +5 -0
- package/components/Icon/index.d.ts +1 -1
- package/components/Icon/index.js +1 -1
- package/components/Portal/index.js +1 -1
- package/components/Progress/index.js +1 -1
- package/components/Tooltip/index.js +3 -3
- package/components/index.cjs.js +1 -1
- package/configs/ConfigsProvider.js +1 -1
- package/configs/index.cjs.js +1 -1
- package/core/components/DefaultElement.js +1 -1
- package/core/components/DefaultLeaf.js +1 -1
- package/core/components/Editable.js +3 -3
- package/core/components/Quadrats.js +3 -3
- package/core/composeRenderElements.js +1 -1
- package/core/composeRenderLeafs.js +1 -1
- package/core/createRenderMark.d.ts +1 -1
- package/divider/createReactDivider.js +1 -1
- package/divider/index.cjs.js +1 -1
- package/divider/jsx-serializer/createJsxSerializeDivider.js +1 -1
- package/divider/jsx-serializer/index.cjs.js +1 -1
- package/divider/toolbar/DividerToolbarIcon.js +2 -2
- package/divider/toolbar/index.cjs.js +1 -1
- package/embed/components/VideoIframe.js +1 -1
- package/embed/createReactEmbed.js +1 -1
- package/embed/index.cjs.js +1 -1
- package/embed/index.js +1 -1
- package/embed/jsx-serializer/facebook/index.cjs.js +3 -3
- package/embed/jsx-serializer/instagram/index.cjs.js +3 -3
- package/embed/jsx-serializer/twitter/index.cjs.js +3 -3
- package/embed/jsx-serializer/vimeo/index.cjs.js +3 -3
- package/embed/jsx-serializer/youtube/index.cjs.js +3 -3
- package/embed/renderers/facebook/components/Facebook.js +1 -1
- package/embed/renderers/facebook/index.cjs.js +1 -1
- package/embed/renderers/instagram/components/Instagram.js +1 -1
- package/embed/renderers/instagram/index.cjs.js +1 -1
- package/embed/renderers/podcast-apple/components/PodcastApple.d.ts +11 -0
- package/embed/renderers/podcast-apple/components/PodcastApple.js +12 -0
- package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.d.ts +3 -0
- package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.js +6 -0
- package/embed/renderers/podcast-apple/index.cjs.js +23 -0
- package/embed/renderers/podcast-apple/index.d.ts +2 -0
- package/embed/renderers/podcast-apple/index.js +2 -0
- package/embed/renderers/podcast-apple/package.json +7 -0
- package/embed/renderers/spotify/components/Spotify.d.ts +11 -0
- package/embed/renderers/spotify/components/Spotify.js +16 -0
- package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.d.ts +3 -0
- package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.js +6 -0
- package/embed/renderers/spotify/index.cjs.js +27 -0
- package/embed/renderers/spotify/index.d.ts +2 -0
- package/embed/renderers/spotify/index.js +2 -0
- package/embed/renderers/spotify/package.json +7 -0
- package/embed/renderers/twitter/components/Twitter.js +2 -2
- package/embed/renderers/twitter/index.cjs.js +1 -1
- package/embed/renderers/vimeo/index.cjs.js +1 -1
- package/embed/renderers/youtube/index.cjs.js +1 -1
- package/embed/toolbar/EmbedToolbarIcon.js +3 -3
- package/embed/toolbar/index.cjs.js +1 -1
- package/file-uploader/components/FileUploader.js +2 -2
- package/file-uploader/createReactFileUploader.js +1 -1
- package/file-uploader/index.cjs.js +1 -1
- package/file-uploader/toolbar/FileUploaderToolbarIcon.js +2 -2
- package/file-uploader/toolbar/index.cjs.js +1 -1
- package/footnote/createReactFootnote.d.ts +4 -0
- package/footnote/createReactFootnote.js +13 -0
- package/footnote/defaultRenderFootnoteElement.d.ts +9 -0
- package/footnote/defaultRenderFootnoteElement.js +15 -0
- package/footnote/index.cjs.js +76 -0
- package/footnote/index.d.ts +5 -0
- package/footnote/index.js +4 -0
- package/footnote/jsx-serializer/createJsxSerializeFootnote.d.ts +5 -0
- package/footnote/jsx-serializer/createJsxSerializeFootnote.js +11 -0
- package/footnote/jsx-serializer/defaultRenderFootnoteElement.d.ts +3 -0
- package/footnote/jsx-serializer/defaultRenderFootnoteElement.js +10 -0
- package/footnote/jsx-serializer/index.cjs.js +27 -0
- package/footnote/jsx-serializer/index.d.ts +3 -0
- package/footnote/jsx-serializer/index.js +2 -0
- package/footnote/jsx-serializer/package.json +7 -0
- package/footnote/jsx-serializer/typings.d.ts +3 -0
- package/{break → footnote}/package.json +1 -1
- package/footnote/toolbar/FootnoteToolbarIcon.d.ts +10 -0
- package/footnote/toolbar/FootnoteToolbarIcon.js +12 -0
- package/footnote/toolbar/index.cjs.js +36 -0
- package/footnote/toolbar/index.d.ts +2 -0
- package/footnote/toolbar/index.js +2 -0
- package/footnote/toolbar/package.json +7 -0
- package/footnote/toolbar/useFootnoteTool.d.ts +7 -0
- package/footnote/toolbar/useFootnoteTool.js +19 -0
- package/footnote/typings.d.ts +9 -0
- package/footnote/useFootnotes.d.ts +4 -0
- package/footnote/useFootnotes.js +21 -0
- package/footnote/useFootnotesFromNodes.d.ts +4 -0
- package/footnote/useFootnotesFromNodes.js +26 -0
- package/heading/createReactHeading.js +3 -3
- package/heading/index.cjs.js +3 -3
- package/heading/jsx-serializer/createJsxSerializeHeading.js +1 -1
- package/heading/toolbar/HeadingToolbarIcon.js +2 -2
- package/heading/toolbar/index.cjs.js +1 -1
- package/highlight/createReactHighlight.d.ts +1 -1
- package/highlight/createReactHighlight.js +4 -4
- package/highlight/defaultRenderHighlight.d.ts +1 -1
- package/highlight/defaultRenderHighlight.js +3 -1
- package/highlight/index.cjs.js +5 -4
- package/highlight/jsx-serializer/createJsxSerializeHighlight.d.ts +1 -1
- package/highlight/jsx-serializer/createJsxSerializeHighlight.js +1 -1
- package/highlight/typings.d.ts +5 -0
- package/image/components/Image.js +2 -2
- package/image/components/ImageCaption.js +2 -2
- package/image/components/ImageFigure.js +1 -1
- package/image/createReactImage.js +3 -3
- package/image/index.cjs.js +1 -1
- package/image/index.js +2 -2
- package/image/jsx-serializer/createJsxSerializeImage.js +1 -1
- package/image/jsx-serializer/index.cjs.js +1 -1
- package/index.cjs.js +4 -4
- package/index.js +1 -1
- package/input-block/components/InputBlock.js +1 -1
- package/input-block/createReactInputBlock.js +1 -1
- package/input-block/hooks/useInputBlock.js +2 -1
- package/input-block/index.cjs.js +3 -2
- package/italic/createReactItalic.d.ts +1 -1
- package/italic/createReactItalic.js +4 -4
- package/italic/defaultRenderItalic.d.ts +1 -1
- package/italic/defaultRenderItalic.js +3 -1
- package/italic/index.cjs.js +5 -4
- package/italic/jsx-serializer/createJsxSerializeItalic.d.ts +1 -1
- package/italic/jsx-serializer/createJsxSerializeItalic.js +1 -1
- package/italic/typings.d.ts +5 -0
- package/jsx-serializer/createJsxSerializeMark.d.ts +1 -1
- package/jsx-serializer/createJsxSerializer.js +1 -1
- package/jsx-serializer/index.cjs.js +1 -1
- package/{break → line-break}/commonBreak.d.ts +0 -0
- package/{break → line-break}/commonBreak.js +0 -0
- package/{break → line-break}/createOnKeyDownBreak.d.ts +0 -0
- package/{break → line-break}/createOnKeyDownBreak.js +0 -0
- package/line-break/createReactLineBreak.d.ts +4 -0
- package/line-break/createReactLineBreak.js +14 -0
- package/line-break/defaultRenderLineBreakElement.d.ts +3 -0
- package/line-break/defaultRenderLineBreakElement.js +6 -0
- package/{break → line-break}/index.cjs.js +20 -1
- package/line-break/index.d.ts +5 -0
- package/{break → line-break}/index.js +2 -0
- package/line-break/line-break.css +1 -0
- package/line-break/line-break.scss +22 -0
- package/line-break/package.json +10 -0
- package/line-break/renderLineBreakElementWithSymbol.d.ts +3 -0
- package/line-break/renderLineBreakElementWithSymbol.js +6 -0
- package/line-break/typings.d.ts +32 -0
- package/link/createReactLink.js +1 -1
- package/link/defaultRenderLinkElement.d.ts +1 -1
- package/link/index.cjs.js +1 -1
- package/link/jsx-serializer/createJsxSerializeLink.js +1 -1
- package/link/jsx-serializer/index.cjs.js +1 -1
- package/link/toolbar/LinkToolbarIcon.js +3 -3
- package/link/toolbar/UnlinkToolbarIcon.js +3 -3
- package/link/toolbar/index.cjs.js +1 -1
- package/list/createReactList.js +1 -1
- package/list/index.cjs.js +1 -1
- package/list/jsx-serializer/createJsxSerializeList.js +1 -1
- package/list/toolbar/ListToolbarIcon.js +2 -2
- package/list/toolbar/index.cjs.js +1 -1
- package/package.json +7 -7
- package/paragraph/createRenderParagraphElement.js +1 -1
- package/paragraph/defaultRenderParagraphElement.js +1 -1
- package/paragraph/index.cjs.js +5 -2
- package/paragraph/index.d.ts +1 -0
- package/paragraph/index.js +1 -0
- package/paragraph/jsx-serializer/createJsxSerializeParagraph.js +1 -1
- package/paragraph/package.json +4 -1
- package/paragraph/paragraph.css +1 -0
- package/paragraph/paragraph.scss +24 -0
- package/paragraph/renderParagraphElementWithSymbol.d.ts +12 -0
- package/paragraph/renderParagraphElementWithSymbol.js +5 -0
- package/read-more/components/ReadMore.js +1 -1
- package/read-more/createReactReadMore.js +1 -1
- package/read-more/index.cjs.js +1 -1
- package/read-more/jsx-serializer/createJsxSerializeReadMore.js +1 -1
- package/read-more/toolbar/ReadMoreToolbarIcon.js +2 -2
- package/read-more/toolbar/index.cjs.js +1 -1
- package/strikethrough/createReactStrikethrough.d.ts +1 -1
- package/strikethrough/createReactStrikethrough.js +4 -4
- package/strikethrough/defaultRenderStrikethrough.d.ts +1 -1
- package/strikethrough/defaultRenderStrikethrough.js +3 -1
- package/strikethrough/index.cjs.js +5 -4
- package/strikethrough/jsx-serializer/createJsxSerializeStrikethrough.d.ts +1 -1
- package/strikethrough/jsx-serializer/createJsxSerializeStrikethrough.js +1 -1
- package/strikethrough/typings.d.ts +5 -0
- package/toggle-mark/index.cjs.js +1 -1
- package/toggle-mark/jsx-serializer/createJsxSerializeToggleMarkCreator.d.ts +1 -1
- package/toggle-mark/toolbar/ToggleMarkToolbarIcon.js +2 -2
- package/toggle-mark/toolbar/index.cjs.js +1 -1
- package/toolbar/components/Toolbar.js +1 -1
- package/toolbar/components/ToolbarIcon.js +2 -2
- package/toolbar/components/ToolbarInput.js +2 -2
- package/toolbar/index.cjs.js +2 -2
- package/underline/createReactUnderline.d.ts +1 -1
- package/underline/createReactUnderline.js +4 -4
- package/underline/defaultRenderUnderline.d.ts +1 -1
- package/underline/defaultRenderUnderline.js +3 -1
- package/underline/index.cjs.js +5 -4
- package/underline/jsx-serializer/createJsxSerializeUnderline.d.ts +1 -1
- package/underline/jsx-serializer/createJsxSerializeUnderline.js +1 -1
- package/underline/typings.d.ts +5 -0
- package/break/index.d.ts +0 -3
- package/break/typings.d.ts +0 -24
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var utils = require('@quadrats/react/utils');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
9
|
+
|
|
10
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
|
+
|
|
12
|
+
function PodcastApple({ attributes, children, data: src }) {
|
|
13
|
+
const containerRef = React.useRef(null);
|
|
14
|
+
const composedRef = utils.composeRefs([attributes === null || attributes === void 0 ? void 0 : attributes.ref, containerRef]);
|
|
15
|
+
return (React__default.createElement("div", Object.assign({}, attributes, { ref: composedRef, contentEditable: false }),
|
|
16
|
+
React__default.createElement("iframe", { title: src, src: src, frameBorder: "0", width: "100%", height: "450px" }),
|
|
17
|
+
attributes ? children : undefined));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const defaultRenderPodcastAppleEmbedElement = (props) => React__default.createElement(PodcastApple, Object.assign({}, props));
|
|
21
|
+
|
|
22
|
+
exports.PodcastApple = PodcastApple;
|
|
23
|
+
exports.defaultRenderPodcastAppleEmbedElement = defaultRenderPodcastAppleEmbedElement;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SpotifyEmbedElement } from '@quadrats/common/embed/strategies/spotify';
|
|
3
|
+
import { RenderElementProps } from '@quadrats/react';
|
|
4
|
+
export interface SpotifyProps {
|
|
5
|
+
attributes?: RenderElementProps['attributes'];
|
|
6
|
+
children?: any;
|
|
7
|
+
data: string;
|
|
8
|
+
element: SpotifyEmbedElement;
|
|
9
|
+
}
|
|
10
|
+
declare function Spotify({ attributes, children, data: src }: SpotifyProps): JSX.Element;
|
|
11
|
+
export default Spotify;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React, { useRef, useMemo } from 'react';
|
|
2
|
+
import { composeRefs } from '@quadrats/react/utils';
|
|
3
|
+
|
|
4
|
+
function Spotify({ attributes, children, data: src }) {
|
|
5
|
+
const containerRef = useRef(null);
|
|
6
|
+
const composedRef = composeRefs([attributes === null || attributes === void 0 ? void 0 : attributes.ref, containerRef]);
|
|
7
|
+
const higher = useMemo(() => (!!src.match(/\/playlist/)), [src]);
|
|
8
|
+
return (React.createElement("div", Object.assign({}, attributes, { ref: composedRef, contentEditable: false }),
|
|
9
|
+
React.createElement("iframe", { title: src, src: src, frameBorder: "0", width: "100%", allow: "autoplay", "clipboard-write": "true", "encrypted-media": "true", "picture-in-picture": "true", height: higher ? '400px' : '152px', style: {
|
|
10
|
+
maxHeight: '100%',
|
|
11
|
+
height: higher ? '400px' : '152px',
|
|
12
|
+
} }),
|
|
13
|
+
attributes ? children : undefined));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { Spotify as default };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var utils = require('@quadrats/react/utils');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
9
|
+
|
|
10
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
|
+
|
|
12
|
+
function Spotify({ attributes, children, data: src }) {
|
|
13
|
+
const containerRef = React.useRef(null);
|
|
14
|
+
const composedRef = utils.composeRefs([attributes === null || attributes === void 0 ? void 0 : attributes.ref, containerRef]);
|
|
15
|
+
const higher = React.useMemo(() => (!!src.match(/\/playlist/)), [src]);
|
|
16
|
+
return (React__default.createElement("div", Object.assign({}, attributes, { ref: composedRef, contentEditable: false }),
|
|
17
|
+
React__default.createElement("iframe", { title: src, src: src, frameBorder: "0", width: "100%", allow: "autoplay", "clipboard-write": "true", "encrypted-media": "true", "picture-in-picture": "true", height: higher ? '400px' : '152px', style: {
|
|
18
|
+
maxHeight: '100%',
|
|
19
|
+
height: higher ? '400px' : '152px',
|
|
20
|
+
} }),
|
|
21
|
+
attributes ? children : undefined));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const defaultRenderSpotifyEmbedElement = (props) => React__default.createElement(Spotify, Object.assign({}, props));
|
|
25
|
+
|
|
26
|
+
exports.Spotify = Spotify;
|
|
27
|
+
exports.defaultRenderSpotifyEmbedElement = defaultRenderSpotifyEmbedElement;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useRef } from 'react';
|
|
2
|
-
import { useLoadTwitterEmbedApi } from '../hooks/useLoadTwitterEmbedApi.js';
|
|
3
2
|
import { composeRefs } from '@quadrats/react/utils';
|
|
3
|
+
import { useLoadTwitterEmbedApi } from '../hooks/useLoadTwitterEmbedApi.js';
|
|
4
4
|
|
|
5
5
|
function Twitter({ attributes, children, data: tweetId }) {
|
|
6
6
|
const tweetContainerRef = useRef(null);
|
|
@@ -9,4 +9,4 @@ function Twitter({ attributes, children, data: tweetId }) {
|
|
|
9
9
|
return (React.createElement("div", Object.assign({}, attributes, { ref: composedRef, contentEditable: false }), attributes ? children : undefined));
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export default
|
|
12
|
+
export { Twitter as default };
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var utils = require('@quadrats/react/utils');
|
|
7
7
|
|
|
8
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e[
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
9
9
|
|
|
10
10
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var embed = require('@quadrats/react/embed');
|
|
7
7
|
|
|
8
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e[
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
9
9
|
|
|
10
10
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var embed = require('@quadrats/react/embed');
|
|
7
7
|
|
|
8
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e[
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
9
9
|
|
|
10
10
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
11
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ToolbarIcon } from '@quadrats/react/toolbar';
|
|
2
|
-
import { useEmbedTool } from './useEmbedTool.js';
|
|
3
1
|
import { __rest } from 'tslib';
|
|
4
2
|
import React from 'react';
|
|
3
|
+
import { ToolbarIcon } from '@quadrats/react/toolbar';
|
|
4
|
+
import { useEmbedTool } from './useEmbedTool.js';
|
|
5
5
|
|
|
6
6
|
function EmbedToolbarIcon(props) {
|
|
7
7
|
const { controller, providers, getPlaceholder, startToolInput } = props, rest = __rest(props, ["controller", "providers", "getPlaceholder", "startToolInput"]);
|
|
@@ -9,4 +9,4 @@ function EmbedToolbarIcon(props) {
|
|
|
9
9
|
return React.createElement(ToolbarIcon, Object.assign({}, rest, { onClick: onClick }));
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export default
|
|
12
|
+
export { EmbedToolbarIcon as default };
|
|
@@ -7,7 +7,7 @@ var toolbar = require('@quadrats/react/toolbar');
|
|
|
7
7
|
var tslib = require('tslib');
|
|
8
8
|
var React = require('react');
|
|
9
9
|
|
|
10
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e[
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
11
11
|
|
|
12
12
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { useFileUploader } from '../hooks/useFileUploader.js';
|
|
3
2
|
import { Progress } from '@quadrats/react/components';
|
|
3
|
+
import { useFileUploader } from '../hooks/useFileUploader.js';
|
|
4
4
|
|
|
5
5
|
function FileUploader(props) {
|
|
6
6
|
const { attributes, children, element } = props;
|
|
@@ -11,4 +11,4 @@ function FileUploader(props) {
|
|
|
11
11
|
children));
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export default
|
|
14
|
+
export { FileUploader as default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { createFileUploader } from '@quadrats/common/file-uploader';
|
|
1
2
|
import { createRenderElement } from '@quadrats/react';
|
|
2
3
|
import { defaultRenderFileUploaderElement } from './defaultRenderFileUploaderElement.js';
|
|
3
|
-
import { createFileUploader } from '@quadrats/common/file-uploader';
|
|
4
4
|
|
|
5
5
|
function createReactFileUploader(options = {}) {
|
|
6
6
|
const core = createFileUploader(options);
|
|
@@ -7,7 +7,7 @@ var react = require('@quadrats/react');
|
|
|
7
7
|
var components = require('@quadrats/react/components');
|
|
8
8
|
var fileUploader = require('@quadrats/common/file-uploader');
|
|
9
9
|
|
|
10
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e[
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
11
11
|
|
|
12
12
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
13
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { useFileUploaderTool } from './useFileUploaderTool.js';
|
|
2
1
|
import { __rest } from 'tslib';
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import { ToolbarIcon } from '@quadrats/react/toolbar';
|
|
4
|
+
import { useFileUploaderTool } from './useFileUploaderTool.js';
|
|
5
5
|
|
|
6
6
|
function FileUploaderToolbarIcon(props) {
|
|
7
7
|
const { controller, options } = props, rest = __rest(props, ["controller", "options"]);
|
|
@@ -9,4 +9,4 @@ function FileUploaderToolbarIcon(props) {
|
|
|
9
9
|
return React.createElement(ToolbarIcon, Object.assign({}, rest, { onClick: onClick }));
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export default
|
|
12
|
+
export { FileUploaderToolbarIcon as default };
|
|
@@ -7,7 +7,7 @@ var tslib = require('tslib');
|
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var toolbar = require('@quadrats/react/toolbar');
|
|
9
9
|
|
|
10
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e[
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
11
11
|
|
|
12
12
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
13
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createRenderElement } from '@quadrats/react';
|
|
2
|
+
import { createFootnote } from '@quadrats/common/footnote';
|
|
3
|
+
import { defaultRenderFootnoteElement } from './defaultRenderFootnoteElement.js';
|
|
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
|
+
} });
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { createReactFootnote };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { RenderFootnoteElementProps } from './typings';
|
|
3
|
+
/**
|
|
4
|
+
* Set placement of tooltip to `bottom` to avoid conflicting w/ toolbar.
|
|
5
|
+
*/
|
|
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
|
+
placement?: "top" | "bottom" | undefined;
|
|
8
|
+
target?: string | undefined;
|
|
9
|
+
}) => JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Tooltip } from '@quadrats/react/components';
|
|
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), children)),
|
|
12
|
+
React.createElement("sup", Object.assign({}, attributes, { style: { color: 'var(--qdr-sup)', userSelect: 'none' }, contentEditable: false }), `[${index !== null && index !== void 0 ? index : 1}]`)));
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export { defaultRenderFootnoteElement };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var components = require('@quadrats/react/components');
|
|
7
|
+
var react = require('@quadrats/react');
|
|
8
|
+
var footnote = require('@quadrats/common/footnote');
|
|
9
|
+
var core = require('@quadrats/core');
|
|
10
|
+
|
|
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), children)),
|
|
23
|
+
React__default.createElement("sup", Object.assign({}, attributes, { style: { color: 'var(--qdr-sup)', userSelect: 'none' }, contentEditable: false }), `[${index !== null && index !== void 0 ? index : 1}]`)));
|
|
24
|
+
};
|
|
25
|
+
|
|
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
|
+
} });
|
|
32
|
+
}
|
|
33
|
+
|
|
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;
|
|
41
|
+
const nodeData = node === null || node === void 0 ? void 0 : node[0];
|
|
42
|
+
return {
|
|
43
|
+
wrapperText: (_a = (nodeData === null || nodeData === void 0 ? void 0 : nodeData.children)) === null || _a === void 0 ? void 0 : _a.map((childNode) => childNode.text).join(''),
|
|
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;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function deepSearchFootnoteFromNodes(nodes) {
|
|
52
|
+
const result = nodes.flatMap((element) => {
|
|
53
|
+
var _a;
|
|
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) ? deepSearchFootnoteFromNodes(element === null || element === void 0 ? void 0 : element.children) : null;
|
|
57
|
+
return (_a = curNode !== null && curNode !== void 0 ? curNode : child) !== null && _a !== void 0 ? _a : [];
|
|
58
|
+
});
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
function useFootnotesFromNodes(nodes) {
|
|
62
|
+
const filter = deepSearchFootnoteFromNodes(nodes);
|
|
63
|
+
return filter.map((element) => {
|
|
64
|
+
var _a;
|
|
65
|
+
return ({
|
|
66
|
+
wrapperText: (_a = (element === null || element === void 0 ? void 0 : element.children)) === null || _a === void 0 ? void 0 : _a.map((childNode) => childNode.text).join(''),
|
|
67
|
+
footnote: element.footnote,
|
|
68
|
+
index: element.index,
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
exports.createReactFootnote = createReactFootnote;
|
|
74
|
+
exports.defaultRenderFootnoteElement = defaultRenderFootnoteElement;
|
|
75
|
+
exports.useFootnotes = useFootnotes;
|
|
76
|
+
exports.useFootnotesFromNodes = useFootnotesFromNodes;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './typings';
|
|
2
|
+
export { defaultRenderFootnoteElement } from './defaultRenderFootnoteElement';
|
|
3
|
+
export { CreateReactFootnoteOptions, createReactFootnote } from './createReactFootnote';
|
|
4
|
+
export { default as useFootnotes } from './useFootnotes';
|
|
5
|
+
export { default as useFootnotesFromNodes } from './useFootnotesFromNodes';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CreateJsxSerializeElementOptions } from '@quadrats/react/jsx-serializer';
|
|
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("slate").Element>) => JSX.Element | null | undefined;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createJsxSerializeElement } from '@quadrats/react/jsx-serializer';
|
|
2
|
+
import { FOOTNOTE_TYPE } from '@quadrats/common/footnote';
|
|
3
|
+
import { defaultRenderFootnoteElement } from './defaultRenderFootnoteElement.js';
|
|
4
|
+
|
|
5
|
+
/* eslint-disable max-len */
|
|
6
|
+
function createJsxSerializeFootnote(options = {}) {
|
|
7
|
+
const { type = FOOTNOTE_TYPE, render = defaultRenderFootnoteElement } = options;
|
|
8
|
+
return createJsxSerializeElement({ type, render });
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { createJsxSerializeFootnote };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
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}]`)));
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { defaultRenderFootnoteElement };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var jsxSerializer = require('@quadrats/react/jsx-serializer');
|
|
7
|
+
var footnote = require('@quadrats/common/footnote');
|
|
8
|
+
|
|
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}]`)));
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
/* eslint-disable max-len */
|
|
21
|
+
function createJsxSerializeFootnote(options = {}) {
|
|
22
|
+
const { type = footnote.FOOTNOTE_TYPE, render = defaultRenderFootnoteElement } = options;
|
|
23
|
+
return jsxSerializer.createJsxSerializeElement({ type, render });
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
exports.createJsxSerializeFootnote = createJsxSerializeFootnote;
|
|
27
|
+
exports.defaultRenderFootnoteElement = defaultRenderFootnoteElement;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ToolbarIconProps } from '@quadrats/react/toolbar';
|
|
3
|
+
import { ReactFootnote } from '@quadrats/react/footnote';
|
|
4
|
+
import { UseFootnoteToolOptions } from './useFootnoteTool';
|
|
5
|
+
export interface FootnoteToolbarIconProps extends Omit<ToolbarIconProps, 'active' | 'onClick'> {
|
|
6
|
+
controller: ReactFootnote;
|
|
7
|
+
options?: UseFootnoteToolOptions;
|
|
8
|
+
}
|
|
9
|
+
declare function FootnoteToolbarIcon(props: FootnoteToolbarIconProps): JSX.Element;
|
|
10
|
+
export default FootnoteToolbarIcon;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { ToolbarIcon } from '@quadrats/react/toolbar';
|
|
4
|
+
import { useFootnoteTool } from './useFootnoteTool.js';
|
|
5
|
+
|
|
6
|
+
function FootnoteToolbarIcon(props) {
|
|
7
|
+
const { controller, options = {} } = props, rest = __rest(props, ["controller", "options"]);
|
|
8
|
+
const { active, onClick } = useFootnoteTool(controller, options);
|
|
9
|
+
return React.createElement(ToolbarIcon, Object.assign({}, rest, { active: active, onClick: onClick }));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { FootnoteToolbarIcon as default };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var react = require('@quadrats/react');
|
|
6
|
+
var toolbar = require('@quadrats/react/toolbar');
|
|
7
|
+
var tslib = require('tslib');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
|
|
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 useFootnoteTool(controller, options = {}) {
|
|
15
|
+
const editor = react.useQuadrats();
|
|
16
|
+
const startToolInput = toolbar.useStartToolInput();
|
|
17
|
+
return {
|
|
18
|
+
active: controller.isSelectionInFootnote(editor),
|
|
19
|
+
onClick: () => startToolInput({
|
|
20
|
+
getPlaceholder: (locale) => locale.editor.footnote.inputPlaceholder,
|
|
21
|
+
confirm: (footnoteText) => {
|
|
22
|
+
controller.upsertFootnoteAndUpdateIndex(editor, footnoteText, options);
|
|
23
|
+
},
|
|
24
|
+
defaultValue: controller.getFootnoteText(editor),
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function FootnoteToolbarIcon(props) {
|
|
30
|
+
const { controller, options = {} } = props, rest = tslib.__rest(props, ["controller", "options"]);
|
|
31
|
+
const { active, onClick } = useFootnoteTool(controller, options);
|
|
32
|
+
return React__default.createElement(toolbar.ToolbarIcon, Object.assign({}, rest, { active: active, onClick: onClick }));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports.FootnoteToolbarIcon = FootnoteToolbarIcon;
|
|
36
|
+
exports.useFootnoteTool = useFootnoteTool;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FootnoteUpsertFootnoteOptions } from '@quadrats/common/footnote';
|
|
2
|
+
import { ReactFootnote } from '@quadrats/react/footnote';
|
|
3
|
+
export declare type UseFootnoteToolOptions = FootnoteUpsertFootnoteOptions;
|
|
4
|
+
export declare function useFootnoteTool(controller: ReactFootnote, options?: UseFootnoteToolOptions): {
|
|
5
|
+
active: boolean;
|
|
6
|
+
onClick: () => void;
|
|
7
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useQuadrats } from '@quadrats/react';
|
|
2
|
+
import { useStartToolInput } from '@quadrats/react/toolbar';
|
|
3
|
+
|
|
4
|
+
function useFootnoteTool(controller, options = {}) {
|
|
5
|
+
const editor = useQuadrats();
|
|
6
|
+
const startToolInput = useStartToolInput();
|
|
7
|
+
return {
|
|
8
|
+
active: controller.isSelectionInFootnote(editor),
|
|
9
|
+
onClick: () => startToolInput({
|
|
10
|
+
getPlaceholder: (locale) => locale.editor.footnote.inputPlaceholder,
|
|
11
|
+
confirm: (footnoteText) => {
|
|
12
|
+
controller.upsertFootnoteAndUpdateIndex(editor, footnoteText, options);
|
|
13
|
+
},
|
|
14
|
+
defaultValue: controller.getFootnoteText(editor),
|
|
15
|
+
}),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { useFootnoteTool };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Footnote, FootnoteElement } from '@quadrats/common/footnote';
|
|
3
|
+
import { RenderElementProps, ReactWithable, WithCreateRenderElement } from '@quadrats/react';
|
|
4
|
+
export declare type RenderFootnoteElementProps = RenderElementProps<FootnoteElement>;
|
|
5
|
+
export interface ReactFootnoteCreateRenderElementOptions {
|
|
6
|
+
render?: (props: RenderFootnoteElementProps) => JSX.Element | null | undefined;
|
|
7
|
+
}
|
|
8
|
+
export interface ReactFootnote extends Omit<Footnote, 'with'>, WithCreateRenderElement<[ReactFootnoteCreateRenderElementOptions?]>, ReactWithable {
|
|
9
|
+
}
|