@portabletext/editor 1.44.1 → 1.44.3
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/lib/_chunks-cjs/behavior.core.cjs +3 -3
- package/lib/_chunks-cjs/behavior.core.cjs.map +1 -1
- package/lib/_chunks-cjs/editor-provider.cjs +315 -368
- package/lib/_chunks-cjs/editor-provider.cjs.map +1 -1
- package/lib/_chunks-es/behavior.core.js +3 -3
- package/lib/_chunks-es/behavior.core.js.map +1 -1
- package/lib/_chunks-es/editor-provider.js +317 -370
- package/lib/_chunks-es/editor-provider.js.map +1 -1
- package/lib/behaviors/index.cjs +2 -2
- package/lib/behaviors/index.cjs.map +1 -1
- package/lib/behaviors/index.d.cts +7951 -15846
- package/lib/behaviors/index.d.ts +7951 -15846
- package/lib/behaviors/index.js +4 -4
- package/lib/behaviors/index.js.map +1 -1
- package/lib/index.cjs +19 -7
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +1742 -15478
- package/lib/index.d.ts +1742 -15478
- package/lib/index.js +20 -8
- package/lib/index.js.map +1 -1
- package/lib/plugins/index.d.cts +1742 -15479
- package/lib/plugins/index.d.ts +1742 -15479
- package/lib/selectors/index.d.cts +1739 -15475
- package/lib/selectors/index.d.ts +1739 -15475
- package/lib/utils/index.d.cts +1739 -15475
- package/lib/utils/index.d.ts +1739 -15475
- package/package.json +9 -9
- package/src/behavior-actions/behavior.action.decorator.add.ts +7 -2
- package/src/behavior-actions/behavior.actions.ts +0 -18
- package/src/behaviors/{behavior.internal.annotation.ts → behavior.abstract.annotation.ts} +1 -1
- package/src/behaviors/{behavior.internal.decorator.ts → behavior.abstract.decorator.ts} +1 -1
- package/src/behaviors/{behavior.internal.insert.ts → behavior.abstract.insert.ts} +1 -1
- package/src/behaviors/{behavior.internal.list-item.ts → behavior.abstract.list-item.ts} +1 -1
- package/src/behaviors/behavior.abstract.move.ts +78 -0
- package/src/behaviors/{behavior.internal.select.ts → behavior.abstract.select.ts} +1 -1
- package/src/behaviors/{behavior.internal.style.ts → behavior.abstract.style.ts} +1 -1
- package/src/behaviors/behavior.code-editor.ts +13 -8
- package/src/behaviors/behavior.default.ts +14 -12
- package/src/behaviors/behavior.perform-event.ts +4 -4
- package/src/behaviors/behavior.types.action.ts +3 -3
- package/src/behaviors/behavior.types.behavior.ts +4 -3
- package/src/behaviors/behavior.types.event.ts +153 -153
- package/src/editor/Editable.tsx +17 -17
- package/src/editor/components/Leaf.tsx +2 -2
- package/src/editor/create-editor.ts +37 -11
- package/src/editor/editor-machine.ts +4 -76
- package/src/editor/editor-selector.ts +5 -2
- package/src/editor/editor-snapshot.ts +10 -9
- package/src/editor/plugins/create-with-event-listeners.ts +6 -75
- package/src/editor/plugins/createWithEditableAPI.ts +32 -44
- package/src/editor/plugins/createWithPortableTextSelections.ts +8 -13
- package/src/editor/plugins/with-plugins.ts +3 -8
- package/src/internal-utils/event-position.ts +10 -7
- package/src/internal-utils/paths.ts +1 -37
- package/src/internal-utils/ranges.ts +3 -37
- package/src/internal-utils/slate-children-to-blocks.ts +49 -0
- package/src/internal-utils/slate-utils.ts +108 -9
- package/src/type-utils.ts +2 -0
- package/src/behavior-actions/behavior.action.move.block-down.ts +0 -48
- package/src/behavior-actions/behavior.action.move.block-up.ts +0 -53
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getNodeBlock, getFirstBlock, getLastBlock,
|
|
1
|
+
import { getNodeBlock, getFirstBlock, getLastBlock, slateRangeToSelection, toSlateRange, debugWithName, EditorActorContext, fromSlateValue, KEY_TO_VALUE_ELEMENT, usePortableTextEditor, PortableTextEditor, moveRangeByOperation, isEqualToEmptyEditor, getEditorSnapshot, useEditor } from "./_chunks-es/editor-provider.js";
|
|
2
2
|
import { EditorProvider, defineSchema, defaultKeyGenerator, useEditorSelector, usePortableTextEditorSelection } from "./_chunks-es/editor-provider.js";
|
|
3
3
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
4
4
|
import { useSelector } from "@xstate/react";
|
|
@@ -191,7 +191,11 @@ function getEventSelection({
|
|
|
191
191
|
event
|
|
192
192
|
}) {
|
|
193
193
|
const range = getSlateRangeFromEvent(slateEditor, event);
|
|
194
|
-
return range ?
|
|
194
|
+
return range ? slateRangeToSelection({
|
|
195
|
+
schema,
|
|
196
|
+
editor: slateEditor,
|
|
197
|
+
range
|
|
198
|
+
}) : null;
|
|
195
199
|
}
|
|
196
200
|
function getSlateRangeFromEvent(editor, event) {
|
|
197
201
|
if (!event.target || !isDOMNode(event.target))
|
|
@@ -596,9 +600,9 @@ const debug$2 = debugWithName("components:Leaf"), EMPTY_MARKS = [], Leaf = (prop
|
|
|
596
600
|
useEffect(() => {
|
|
597
601
|
if (!shouldTrackSelectionAndFocus)
|
|
598
602
|
return;
|
|
599
|
-
const onBlur = editorActor.on("
|
|
603
|
+
const onBlur = editorActor.on("blurred", () => {
|
|
600
604
|
setFocused(!1), setSelected(!1);
|
|
601
|
-
}), onFocus = editorActor.on("
|
|
605
|
+
}), onFocus = editorActor.on("focused", () => {
|
|
602
606
|
const sel_0 = PortableTextEditor.getSelection(portableTextEditor);
|
|
603
607
|
sel_0 && isEqual(sel_0.focus.path, path) && PortableTextEditor.isCollapsedSelection(portableTextEditor) && setFocused(!0), setSelectedFromRange();
|
|
604
608
|
}), onSelection = editorActor.on("selection", (event) => {
|
|
@@ -821,7 +825,11 @@ const debug = debugWithName("component:Editable"), PLACEHOLDER_STYLE = {
|
|
|
821
825
|
}
|
|
822
826
|
let newRange;
|
|
823
827
|
if (operation && (newRange = moveRangeByOperation(slateRange_0, operation), newRange && newRange !== slateRange_0 || newRange === null && slateRange_0)) {
|
|
824
|
-
const
|
|
828
|
+
const newRangeSelection = newRange ? slateRangeToSelection({
|
|
829
|
+
schema: schemaTypes,
|
|
830
|
+
editor: slateEditor,
|
|
831
|
+
range: newRange
|
|
832
|
+
}) : null;
|
|
825
833
|
rangeDecorationItem.onMoved && rangeDecorationItem.onMoved({
|
|
826
834
|
newSelection: newRangeSelection,
|
|
827
835
|
rangeDecoration: rangeDecorationItem,
|
|
@@ -838,7 +846,7 @@ const debug = debugWithName("component:Editable"), PLACEHOLDER_STYLE = {
|
|
|
838
846
|
}
|
|
839
847
|
}
|
|
840
848
|
setRangeDecorationsState((rangeDecorationState_0) => rangeDecorationState_0.length > 0 ? [] : rangeDecorationState_0);
|
|
841
|
-
}, [
|
|
849
|
+
}, [rangeDecorations, schemaTypes, slateEditor]);
|
|
842
850
|
useEffect(() => {
|
|
843
851
|
const onReady = editorActor.on("ready", () => {
|
|
844
852
|
syncRangeDecorations(), restoreSelectionFromProps();
|
|
@@ -917,9 +925,13 @@ const debug = debugWithName("component:Editable"), PLACEHOLDER_STYLE = {
|
|
|
917
925
|
});
|
|
918
926
|
}
|
|
919
927
|
}, [onCut, editorActor, slateEditor]), handlePaste = useCallback((event_1) => {
|
|
920
|
-
const
|
|
928
|
+
const value = PortableTextEditor.getValue(portableTextEditor), path = (slateEditor.selection ? slateRangeToSelection({
|
|
929
|
+
schema: schemaTypes,
|
|
930
|
+
editor: slateEditor,
|
|
931
|
+
range: slateEditor.selection
|
|
932
|
+
}) : null)?.focus.path || [], onPasteResult = onPaste?.({
|
|
921
933
|
event: event_1,
|
|
922
|
-
value
|
|
934
|
+
value,
|
|
923
935
|
path,
|
|
924
936
|
schemaTypes
|
|
925
937
|
});
|