slate-react 0.82.1 → 0.82.2-202281032115
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/dist/components/editable.d.ts.map +1 -1
- package/dist/components/element.d.ts.map +1 -1
- package/dist/index.es.js +22 -17
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +21 -16
- package/dist/index.js.map +1 -1
- package/dist/slate-react.js +21 -16
- package/dist/slate-react.min.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1600,11 +1600,23 @@ var Element = function Element(props) {
|
|
|
1600
1600
|
renderPlaceholder = props.renderPlaceholder,
|
|
1601
1601
|
renderLeaf = props.renderLeaf,
|
|
1602
1602
|
selection = props.selection;
|
|
1603
|
-
var ref = React.useRef(null);
|
|
1604
1603
|
var editor = useSlateStatic();
|
|
1605
1604
|
var readOnly = useReadOnly();
|
|
1606
1605
|
var isInline = editor.isInline(element);
|
|
1607
1606
|
var key = ReactEditor.findKey(editor, element);
|
|
1607
|
+
var ref = React.useCallback(function (ref) {
|
|
1608
|
+
// Update element-related weak maps with the DOM element ref.
|
|
1609
|
+
var KEY_TO_ELEMENT = EDITOR_TO_KEY_TO_ELEMENT.get(editor);
|
|
1610
|
+
|
|
1611
|
+
if (ref) {
|
|
1612
|
+
KEY_TO_ELEMENT === null || KEY_TO_ELEMENT === void 0 ? void 0 : KEY_TO_ELEMENT.set(key, ref);
|
|
1613
|
+
NODE_TO_ELEMENT.set(element, ref);
|
|
1614
|
+
ELEMENT_TO_NODE.set(ref, element);
|
|
1615
|
+
} else {
|
|
1616
|
+
KEY_TO_ELEMENT === null || KEY_TO_ELEMENT === void 0 ? void 0 : KEY_TO_ELEMENT["delete"](key);
|
|
1617
|
+
NODE_TO_ELEMENT["delete"](element);
|
|
1618
|
+
}
|
|
1619
|
+
}, [editor, key, element]);
|
|
1608
1620
|
var children = useChildren({
|
|
1609
1621
|
decorations: decorations,
|
|
1610
1622
|
node: element,
|
|
@@ -1667,21 +1679,8 @@ var Element = function Element(props) {
|
|
|
1667
1679
|
}));
|
|
1668
1680
|
NODE_TO_INDEX.set(_text, 0);
|
|
1669
1681
|
NODE_TO_PARENT.set(_text, element);
|
|
1670
|
-
}
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
useIsomorphicLayoutEffect(function () {
|
|
1674
|
-
var KEY_TO_ELEMENT = EDITOR_TO_KEY_TO_ELEMENT.get(editor);
|
|
1682
|
+
}
|
|
1675
1683
|
|
|
1676
|
-
if (ref.current) {
|
|
1677
|
-
KEY_TO_ELEMENT === null || KEY_TO_ELEMENT === void 0 ? void 0 : KEY_TO_ELEMENT.set(key, ref.current);
|
|
1678
|
-
NODE_TO_ELEMENT.set(element, ref.current);
|
|
1679
|
-
ELEMENT_TO_NODE.set(ref.current, element);
|
|
1680
|
-
} else {
|
|
1681
|
-
KEY_TO_ELEMENT === null || KEY_TO_ELEMENT === void 0 ? void 0 : KEY_TO_ELEMENT["delete"](key);
|
|
1682
|
-
NODE_TO_ELEMENT["delete"](element);
|
|
1683
|
-
}
|
|
1684
|
-
});
|
|
1685
1684
|
return renderElement({
|
|
1686
1685
|
attributes: attributes,
|
|
1687
1686
|
children: children,
|
|
@@ -3597,6 +3596,11 @@ var Editable = function Editable(props) {
|
|
|
3597
3596
|
androidInputManager === null || androidInputManager === void 0 ? void 0 : androidInputManager.handleUserSelect(range);
|
|
3598
3597
|
}
|
|
3599
3598
|
}
|
|
3599
|
+
} // Deselect the editor if the dom selection is not selectable in readonly mode
|
|
3600
|
+
|
|
3601
|
+
|
|
3602
|
+
if (readOnly && (!anchorNodeSelectable || !focusNodeSelectable)) {
|
|
3603
|
+
slate.Transforms.deselect(editor);
|
|
3600
3604
|
}
|
|
3601
3605
|
}
|
|
3602
3606
|
}, 100), [readOnly]);
|
|
@@ -4127,7 +4131,8 @@ var Editable = function Editable(props) {
|
|
|
4127
4131
|
node: ref,
|
|
4128
4132
|
receivedUserInput: receivedUserInput
|
|
4129
4133
|
}, /*#__PURE__*/React__default['default'].createElement(Component, Object.assign({
|
|
4130
|
-
role: readOnly ? undefined : 'textbox'
|
|
4134
|
+
role: readOnly ? undefined : 'textbox',
|
|
4135
|
+
"aria-multiline": readOnly ? undefined : true
|
|
4131
4136
|
}, attributes, {
|
|
4132
4137
|
// COMPAT: Certain browsers don't support the `beforeinput` event, so we'd
|
|
4133
4138
|
// have to use hacks to make these replacement-based features work.
|