@quadrats/react 0.5.5 → 0.5.9
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/core/components/Editable.d.ts +5 -1
- package/line-break/defaultRenderLineBreakElement.d.ts +1 -1
- package/line-break/defaultRenderLineBreakElement.js +1 -2
- package/line-break/index.cjs.js +2 -4
- package/line-break/jsx-serializer/createJsxSerializeLineBreak.d.ts +5 -0
- package/line-break/jsx-serializer/createJsxSerializeLineBreak.js +11 -0
- package/line-break/jsx-serializer/defaultRenderLineBreakElement.d.ts +2 -0
- package/line-break/jsx-serializer/defaultRenderLineBreakElement.js +6 -0
- package/line-break/jsx-serializer/index.cjs.js +23 -0
- package/line-break/jsx-serializer/index.d.ts +3 -0
- package/line-break/jsx-serializer/index.js +2 -0
- package/line-break/jsx-serializer/package.json +7 -0
- package/line-break/jsx-serializer/typings.d.ts +3 -0
- package/line-break/renderLineBreakElementWithSymbol.d.ts +1 -1
- package/line-break/renderLineBreakElementWithSymbol.js +1 -2
- package/package.json +3 -3
- package/toolbar/components/Toolbar.d.ts +5 -1
- package/toolbar/components/Toolbar.js +8 -1
- package/toolbar/index.cjs.js +8 -1
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { EditableProps as SlateEditableProps } from 'slate-react/dist/components/editable';
|
|
3
|
-
|
|
3
|
+
import { RenderElementProps, RenderLeafProps } from '../typings/renderer';
|
|
4
|
+
export declare type EditableProps = Omit<SlateEditableProps, 'renderLeaf' | 'renderElement'> & {
|
|
5
|
+
renderLeaf?: (props: RenderLeafProps) => JSX.Element;
|
|
6
|
+
renderElement?: (props: RenderElementProps) => JSX.Element;
|
|
7
|
+
};
|
|
4
8
|
declare function Editable(props: EditableProps): JSX.Element;
|
|
5
9
|
export default Editable;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { RenderLineBreakElementProps } from './typings';
|
|
3
|
-
export declare const defaultRenderLineBreakElement: ({ attributes }: RenderLineBreakElementProps) => JSX.Element;
|
|
3
|
+
export declare const defaultRenderLineBreakElement: ({ attributes, children }: RenderLineBreakElementProps) => JSX.Element;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
|
-
const defaultRenderLineBreakElement = ({ attributes }) => (React.createElement("span", Object.assign({}, attributes, {
|
|
4
|
-
React.createElement("br", null)));
|
|
3
|
+
const defaultRenderLineBreakElement = ({ attributes, children }) => (React.createElement("span", Object.assign({}, attributes, { className: "qdr-line-break" }), children));
|
|
5
4
|
|
|
6
5
|
export { defaultRenderLineBreakElement };
|
package/line-break/index.cjs.js
CHANGED
|
@@ -84,8 +84,7 @@ const COMMON_ON_KEY_DOWN_BREAK = createOnKeyDownBreak({
|
|
|
84
84
|
},
|
|
85
85
|
});
|
|
86
86
|
|
|
87
|
-
const defaultRenderLineBreakElement = ({ attributes }) => (React__default.createElement("span", Object.assign({}, attributes, {
|
|
88
|
-
React__default.createElement("br", null)));
|
|
87
|
+
const defaultRenderLineBreakElement = ({ attributes, children }) => (React__default.createElement("span", Object.assign({}, attributes, { className: "qdr-line-break" }), children));
|
|
89
88
|
|
|
90
89
|
function createReactLineBreak(options = {}) {
|
|
91
90
|
const core$1 = core.createLineBreak(options);
|
|
@@ -95,8 +94,7 @@ function createReactLineBreak(options = {}) {
|
|
|
95
94
|
}), createRenderElement: ({ render = defaultRenderLineBreakElement } = {}) => react.createRenderElement({ type, render }) });
|
|
96
95
|
}
|
|
97
96
|
|
|
98
|
-
const renderLineBreakElementWithSymbol = ({ attributes }) => (React__default.createElement("span", Object.assign({}, attributes, {
|
|
99
|
-
React__default.createElement("br", null)));
|
|
97
|
+
const renderLineBreakElementWithSymbol = ({ attributes, children }) => (React__default.createElement("span", Object.assign({}, attributes, { className: "qdr-line-break qdr-line-break__with-symbol" }), children));
|
|
100
98
|
|
|
101
99
|
exports.COMMON_EXIT_BREAK_ON_AFTER_HOTKEY = COMMON_EXIT_BREAK_ON_AFTER_HOTKEY;
|
|
102
100
|
exports.COMMON_EXIT_BREAK_ON_AFTER_RULE = COMMON_EXIT_BREAK_ON_AFTER_RULE;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CreateJsxSerializeElementOptions } from '@quadrats/react/jsx-serializer';
|
|
3
|
+
import { JsxSerializeLineBreakElementProps } from './typings';
|
|
4
|
+
export declare type CreateJsxSerializeLineBreakOptions = Partial<CreateJsxSerializeElementOptions<JsxSerializeLineBreakElementProps>>;
|
|
5
|
+
export declare function createJsxSerializeLineBreak(options?: CreateJsxSerializeLineBreakOptions): (props: import("@quadrats/react/jsx-serializer").JsxSerializeElementProps<import("@quadrats/core").QuadratsElement>) => JSX.Element | null | undefined;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createJsxSerializeElement } from '@quadrats/react/jsx-serializer';
|
|
2
|
+
import { defaultRenderLineBreakElement } from './defaultRenderLineBreakElement.js';
|
|
3
|
+
import { LINE_BREAK_TYPE } from '@quadrats/core';
|
|
4
|
+
|
|
5
|
+
/* eslint-disable max-len */
|
|
6
|
+
function createJsxSerializeLineBreak(options = {}) {
|
|
7
|
+
const { type = LINE_BREAK_TYPE, render = defaultRenderLineBreakElement } = options;
|
|
8
|
+
return createJsxSerializeElement({ type, render });
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { createJsxSerializeLineBreak };
|
|
@@ -0,0 +1,23 @@
|
|
|
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 core = require('@quadrats/core');
|
|
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 defaultRenderLineBreakElement = () => (React__default.createElement("span", { style: { userSelect: 'none' }, contentEditable: false },
|
|
14
|
+
React__default.createElement("br", null)));
|
|
15
|
+
|
|
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 });
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
exports.createJsxSerializeLineBreak = createJsxSerializeLineBreak;
|
|
23
|
+
exports.defaultRenderLineBreakElement = defaultRenderLineBreakElement;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { RenderLineBreakElementProps } from './typings';
|
|
3
|
-
export declare const renderLineBreakElementWithSymbol: ({ attributes }: RenderLineBreakElementProps) => JSX.Element;
|
|
3
|
+
export declare const renderLineBreakElementWithSymbol: ({ attributes, children }: RenderLineBreakElementProps) => JSX.Element;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
|
-
const renderLineBreakElementWithSymbol = ({ attributes }) => (React.createElement("span", Object.assign({}, attributes, {
|
|
4
|
-
React.createElement("br", null)));
|
|
3
|
+
const renderLineBreakElementWithSymbol = ({ attributes, children }) => (React.createElement("span", Object.assign({}, attributes, { className: "qdr-line-break qdr-line-break__with-symbol" }), children));
|
|
5
4
|
|
|
6
5
|
export { renderLineBreakElementWithSymbol };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quadrats/react",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.9",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Rytass",
|
|
6
6
|
"homepage": "https://github.com/Quadrats/quadrats#readme",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"url": "https://github.com/Quadrats/quadrats/issues"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@quadrats/common": "^0.5.
|
|
24
|
-
"@quadrats/core": "^0.5.
|
|
23
|
+
"@quadrats/common": "^0.5.9",
|
|
24
|
+
"@quadrats/core": "^0.5.9",
|
|
25
25
|
"@quadrats/icons": "^0.5.0",
|
|
26
26
|
"@quadrats/locales": "^0.5.0",
|
|
27
27
|
"@quadrats/theme": "^0.5.0",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
export interface ToolbarProps {
|
|
3
3
|
/**
|
|
4
4
|
* If there are any nodes which type match it, toolbar will hide.
|
|
@@ -8,6 +8,10 @@ export interface ToolbarProps {
|
|
|
8
8
|
* A render props which provide a flag `expanded` which useful for rendering different things between collapsed and expanded.
|
|
9
9
|
*/
|
|
10
10
|
children: (expanded: boolean) => JSX.Element | null | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Toolbar container
|
|
13
|
+
*/
|
|
14
|
+
containerRef?: React.MutableRefObject<HTMLElement | undefined>;
|
|
11
15
|
}
|
|
12
16
|
declare function Toolbar(props: ToolbarProps): JSX.Element | null;
|
|
13
17
|
export default Toolbar;
|
|
@@ -80,6 +80,13 @@ function Toolbar(props) {
|
|
|
80
80
|
}
|
|
81
81
|
});
|
|
82
82
|
});
|
|
83
|
+
const getPortalContainer = useCallback(() => {
|
|
84
|
+
var _a;
|
|
85
|
+
if ((_a = props.containerRef) === null || _a === void 0 ? void 0 : _a.current) {
|
|
86
|
+
return props.containerRef.current;
|
|
87
|
+
}
|
|
88
|
+
return document.body;
|
|
89
|
+
}, [props.containerRef]);
|
|
83
90
|
if (!shouldRender || (disabledElementTypes && isNodesTypeIn(editor, disabledElementTypes, { mode: 'all' }))) {
|
|
84
91
|
return null;
|
|
85
92
|
}
|
|
@@ -88,7 +95,7 @@ function Toolbar(props) {
|
|
|
88
95
|
if (!tools) {
|
|
89
96
|
return null;
|
|
90
97
|
}
|
|
91
|
-
return (React.createElement(Portal,
|
|
98
|
+
return (React.createElement(Portal, { getContainer: getPortalContainer },
|
|
92
99
|
React.createElement("div", { ref: toolbarRef, className: clsx('qdr-toolbar__wrapper', { 'qdr-toolbar__wrapper--inputting': toolInput }, themeProps.className), style: themeProps.style },
|
|
93
100
|
React.createElement("div", { className: "qdr-toolbar__arrow" }),
|
|
94
101
|
React.createElement("div", { className: "qdr-toolbar" },
|
package/toolbar/index.cjs.js
CHANGED
|
@@ -120,6 +120,13 @@ function Toolbar(props) {
|
|
|
120
120
|
}
|
|
121
121
|
});
|
|
122
122
|
});
|
|
123
|
+
const getPortalContainer = React.useCallback(() => {
|
|
124
|
+
var _a;
|
|
125
|
+
if ((_a = props.containerRef) === null || _a === void 0 ? void 0 : _a.current) {
|
|
126
|
+
return props.containerRef.current;
|
|
127
|
+
}
|
|
128
|
+
return document.body;
|
|
129
|
+
}, [props.containerRef]);
|
|
123
130
|
if (!shouldRender || (disabledElementTypes && core.isNodesTypeIn(editor, disabledElementTypes, { mode: 'all' }))) {
|
|
124
131
|
return null;
|
|
125
132
|
}
|
|
@@ -128,7 +135,7 @@ function Toolbar(props) {
|
|
|
128
135
|
if (!tools) {
|
|
129
136
|
return null;
|
|
130
137
|
}
|
|
131
|
-
return (React__default.createElement(components.Portal,
|
|
138
|
+
return (React__default.createElement(components.Portal, { getContainer: getPortalContainer },
|
|
132
139
|
React__default.createElement("div", { ref: toolbarRef, className: clsx__default('qdr-toolbar__wrapper', { 'qdr-toolbar__wrapper--inputting': toolInput }, themeProps.className), style: themeProps.style },
|
|
133
140
|
React__default.createElement("div", { className: "qdr-toolbar__arrow" }),
|
|
134
141
|
React__default.createElement("div", { className: "qdr-toolbar" },
|