@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.
Files changed (60) hide show
  1. package/lib/_chunks-cjs/behavior.core.cjs +3 -3
  2. package/lib/_chunks-cjs/behavior.core.cjs.map +1 -1
  3. package/lib/_chunks-cjs/editor-provider.cjs +315 -368
  4. package/lib/_chunks-cjs/editor-provider.cjs.map +1 -1
  5. package/lib/_chunks-es/behavior.core.js +3 -3
  6. package/lib/_chunks-es/behavior.core.js.map +1 -1
  7. package/lib/_chunks-es/editor-provider.js +317 -370
  8. package/lib/_chunks-es/editor-provider.js.map +1 -1
  9. package/lib/behaviors/index.cjs +2 -2
  10. package/lib/behaviors/index.cjs.map +1 -1
  11. package/lib/behaviors/index.d.cts +7951 -15846
  12. package/lib/behaviors/index.d.ts +7951 -15846
  13. package/lib/behaviors/index.js +4 -4
  14. package/lib/behaviors/index.js.map +1 -1
  15. package/lib/index.cjs +19 -7
  16. package/lib/index.cjs.map +1 -1
  17. package/lib/index.d.cts +1742 -15478
  18. package/lib/index.d.ts +1742 -15478
  19. package/lib/index.js +20 -8
  20. package/lib/index.js.map +1 -1
  21. package/lib/plugins/index.d.cts +1742 -15479
  22. package/lib/plugins/index.d.ts +1742 -15479
  23. package/lib/selectors/index.d.cts +1739 -15475
  24. package/lib/selectors/index.d.ts +1739 -15475
  25. package/lib/utils/index.d.cts +1739 -15475
  26. package/lib/utils/index.d.ts +1739 -15475
  27. package/package.json +9 -9
  28. package/src/behavior-actions/behavior.action.decorator.add.ts +7 -2
  29. package/src/behavior-actions/behavior.actions.ts +0 -18
  30. package/src/behaviors/{behavior.internal.annotation.ts → behavior.abstract.annotation.ts} +1 -1
  31. package/src/behaviors/{behavior.internal.decorator.ts → behavior.abstract.decorator.ts} +1 -1
  32. package/src/behaviors/{behavior.internal.insert.ts → behavior.abstract.insert.ts} +1 -1
  33. package/src/behaviors/{behavior.internal.list-item.ts → behavior.abstract.list-item.ts} +1 -1
  34. package/src/behaviors/behavior.abstract.move.ts +78 -0
  35. package/src/behaviors/{behavior.internal.select.ts → behavior.abstract.select.ts} +1 -1
  36. package/src/behaviors/{behavior.internal.style.ts → behavior.abstract.style.ts} +1 -1
  37. package/src/behaviors/behavior.code-editor.ts +13 -8
  38. package/src/behaviors/behavior.default.ts +14 -12
  39. package/src/behaviors/behavior.perform-event.ts +4 -4
  40. package/src/behaviors/behavior.types.action.ts +3 -3
  41. package/src/behaviors/behavior.types.behavior.ts +4 -3
  42. package/src/behaviors/behavior.types.event.ts +153 -153
  43. package/src/editor/Editable.tsx +17 -17
  44. package/src/editor/components/Leaf.tsx +2 -2
  45. package/src/editor/create-editor.ts +37 -11
  46. package/src/editor/editor-machine.ts +4 -76
  47. package/src/editor/editor-selector.ts +5 -2
  48. package/src/editor/editor-snapshot.ts +10 -9
  49. package/src/editor/plugins/create-with-event-listeners.ts +6 -75
  50. package/src/editor/plugins/createWithEditableAPI.ts +32 -44
  51. package/src/editor/plugins/createWithPortableTextSelections.ts +8 -13
  52. package/src/editor/plugins/with-plugins.ts +3 -8
  53. package/src/internal-utils/event-position.ts +10 -7
  54. package/src/internal-utils/paths.ts +1 -37
  55. package/src/internal-utils/ranges.ts +3 -37
  56. package/src/internal-utils/slate-children-to-blocks.ts +49 -0
  57. package/src/internal-utils/slate-utils.ts +108 -9
  58. package/src/type-utils.ts +2 -0
  59. package/src/behavior-actions/behavior.action.move.block-down.ts +0 -48
  60. 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, toPortableTextRange, fromSlateValue, toSlateRange, debugWithName, EditorActorContext, KEY_TO_VALUE_ELEMENT, usePortableTextEditor, PortableTextEditor, moveRangeByOperation, isEqualToEmptyEditor, getEditorSnapshot, useEditor } from "./_chunks-es/editor-provider.js";
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 ? toPortableTextRange(fromSlateValue(slateEditor.children, schema.block.name), range, schema) : null;
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("blur", () => {
603
+ const onBlur = editorActor.on("blurred", () => {
600
604
  setFocused(!1), setSelected(!1);
601
- }), onFocus = editorActor.on("focus", () => {
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 value = PortableTextEditor.getValue(portableTextEditor), newRangeSelection = toPortableTextRange(value, newRange, schemaTypes);
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
- }, [portableTextEditor, rangeDecorations, schemaTypes, slateEditor]);
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 value_0 = PortableTextEditor.getValue(portableTextEditor), path = toPortableTextRange(value_0, slateEditor.selection, schemaTypes)?.focus.path || [], onPasteResult = onPaste?.({
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: value_0,
934
+ value,
923
935
  path,
924
936
  schemaTypes
925
937
  });