@portabletext/editor 1.38.1 → 1.39.0

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 (47) hide show
  1. package/lib/_chunks-cjs/behavior.core.cjs +24 -16
  2. package/lib/_chunks-cjs/behavior.core.cjs.map +1 -1
  3. package/lib/_chunks-cjs/behavior.markdown.cjs +2 -2
  4. package/lib/_chunks-cjs/behavior.markdown.cjs.map +1 -1
  5. package/lib/_chunks-cjs/editor-provider.cjs +19 -24
  6. package/lib/_chunks-cjs/editor-provider.cjs.map +1 -1
  7. package/lib/_chunks-es/behavior.core.js +24 -16
  8. package/lib/_chunks-es/behavior.core.js.map +1 -1
  9. package/lib/_chunks-es/behavior.markdown.js +2 -2
  10. package/lib/_chunks-es/behavior.markdown.js.map +1 -1
  11. package/lib/_chunks-es/editor-provider.js +20 -25
  12. package/lib/_chunks-es/editor-provider.js.map +1 -1
  13. package/lib/behaviors/index.cjs +12 -12
  14. package/lib/behaviors/index.cjs.map +1 -1
  15. package/lib/behaviors/index.d.cts +1505 -2318
  16. package/lib/behaviors/index.d.ts +1505 -2318
  17. package/lib/behaviors/index.js +12 -12
  18. package/lib/behaviors/index.js.map +1 -1
  19. package/lib/index.cjs +41 -19
  20. package/lib/index.cjs.map +1 -1
  21. package/lib/index.d.cts +1084 -2011
  22. package/lib/index.d.ts +1084 -2011
  23. package/lib/index.js +41 -19
  24. package/lib/index.js.map +1 -1
  25. package/lib/plugins/index.d.cts +1084 -2011
  26. package/lib/plugins/index.d.ts +1084 -2011
  27. package/lib/selectors/index.d.cts +1084 -2011
  28. package/lib/selectors/index.d.ts +1084 -2011
  29. package/lib/utils/index.d.cts +1084 -2011
  30. package/lib/utils/index.d.ts +1084 -2011
  31. package/package.json +1 -1
  32. package/src/behavior-actions/behavior.action.serialization.success.ts +4 -1
  33. package/src/behaviors/behavior.code-editor.ts +4 -4
  34. package/src/behaviors/behavior.core.block-objects.ts +4 -4
  35. package/src/behaviors/behavior.core.decorators.ts +8 -8
  36. package/src/behaviors/behavior.core.lists.ts +4 -4
  37. package/src/behaviors/behavior.default.raise-soft-break.ts +3 -3
  38. package/src/behaviors/behavior.default.ts +10 -16
  39. package/src/behaviors/behavior.emoji-picker.ts +6 -6
  40. package/src/behaviors/behavior.links.ts +4 -4
  41. package/src/behaviors/behavior.markdown.ts +2 -2
  42. package/src/behaviors/behavior.types.ts +124 -77
  43. package/src/converters/converter.text-html.serialize.test.ts +4 -4
  44. package/src/converters/converter.text-plain.test.ts +6 -6
  45. package/src/converters/converter.types.ts +3 -3
  46. package/src/editor/Editable.tsx +41 -19
  47. package/src/editor/editor-machine.ts +26 -6
@@ -4884,8 +4884,11 @@ const selectActionImplementation = ({
4884
4884
  dataTransferSetActionImplementation({
4885
4885
  context,
4886
4886
  action: {
4887
- ...action,
4888
- type: "data transfer.set"
4887
+ type: "data transfer.set",
4888
+ data: action.data,
4889
+ dataTransfer: action.originEvent.originEvent.dataTransfer,
4890
+ mimeType: action.mimeType,
4891
+ editor: action.editor
4889
4892
  }
4890
4893
  });
4891
4894
  }, behaviorActionImplementations = {
@@ -6123,10 +6126,10 @@ function createSlateEditor(config) {
6123
6126
  const keyIs = {
6124
6127
  lineBreak: (event) => event.key === "Enter" && event.shiftKey
6125
6128
  }, raiseInsertSoftBreak = behavior_core.defineBehavior({
6126
- on: "key.down",
6129
+ on: "keyboard.keydown",
6127
6130
  guard: ({
6128
6131
  event
6129
- }) => keyIs.lineBreak(event.keyboardEvent),
6132
+ }) => keyIs.lineBreak(event.originEvent),
6130
6133
  actions: [() => [behavior_core.raise({
6131
6134
  type: "insert.soft break"
6132
6135
  })]]
@@ -6233,7 +6236,7 @@ const keyIs = {
6233
6236
  event
6234
6237
  }) => {
6235
6238
  const deserializeEvents = snapshot.context.converters.flatMap((converter) => {
6236
- const data = event.dataTransfer.getData(converter.mimeType);
6239
+ const data = event.originEvent.originEvent.dataTransfer.getData(converter.mimeType);
6237
6240
  return data ? [converter.deserialize({
6238
6241
  snapshot,
6239
6242
  event: {
@@ -6252,7 +6255,6 @@ const keyIs = {
6252
6255
  event
6253
6256
  }, deserializeEvent) => [behavior_core.raise({
6254
6257
  ...deserializeEvent,
6255
- dataTransfer: event.dataTransfer,
6256
6258
  originEvent: event.originEvent
6257
6259
  })]]
6258
6260
  }), raiseSerializationSuccessOrFailure = behavior_core.defineBehavior({
@@ -6276,11 +6278,10 @@ const keyIs = {
6276
6278
  event
6277
6279
  }, serializeEvents) => serializeEvents.map((serializeEvent) => behavior_core.raise({
6278
6280
  ...serializeEvent,
6279
- originEvent: event.originEvent,
6280
- dataTransfer: event.dataTransfer
6281
+ originEvent: event.originEvent
6281
6282
  }))]
6282
6283
  }), defaultBehaviors = [behavior_core.defineBehavior({
6283
- on: "copy",
6284
+ on: "clipboard.copy",
6284
6285
  guard: ({
6285
6286
  snapshot
6286
6287
  }) => {
@@ -6291,16 +6292,15 @@ const keyIs = {
6291
6292
  type: "noop"
6292
6293
  }]]
6293
6294
  }), behavior_core.defineBehavior({
6294
- on: "copy",
6295
+ on: "clipboard.copy",
6295
6296
  actions: [({
6296
6297
  event
6297
6298
  }) => [behavior_core.raise({
6298
6299
  type: "serialize",
6299
- dataTransfer: event.data,
6300
6300
  originEvent: event
6301
6301
  })]]
6302
6302
  }), behavior_core.defineBehavior({
6303
- on: "cut",
6303
+ on: "clipboard.cut",
6304
6304
  guard: ({
6305
6305
  snapshot
6306
6306
  }) => {
@@ -6311,7 +6311,7 @@ const keyIs = {
6311
6311
  type: "noop"
6312
6312
  }]]
6313
6313
  }), behavior_core.defineBehavior({
6314
- on: "cut",
6314
+ on: "clipboard.cut",
6315
6315
  guard: ({
6316
6316
  snapshot
6317
6317
  }) => snapshot.context.selection ? {
@@ -6323,7 +6323,6 @@ const keyIs = {
6323
6323
  selection
6324
6324
  }) => [behavior_core.raise({
6325
6325
  type: "serialize",
6326
- dataTransfer: event.dataTransfer,
6327
6326
  originEvent: event
6328
6327
  }), behavior_core.raise({
6329
6328
  type: "delete",
@@ -6335,7 +6334,6 @@ const keyIs = {
6335
6334
  event
6336
6335
  }) => [behavior_core.raise({
6337
6336
  type: "serialize",
6338
- dataTransfer: event.dataTransfer,
6339
6337
  originEvent: event
6340
6338
  })]]
6341
6339
  }), behavior_core.defineBehavior({
@@ -6345,7 +6343,7 @@ const keyIs = {
6345
6343
  }) => [behavior_core.raise({
6346
6344
  type: "data transfer.set",
6347
6345
  data: event.data,
6348
- dataTransfer: event.dataTransfer,
6346
+ dataTransfer: event.originEvent.originEvent.dataTransfer,
6349
6347
  mimeType: event.mimeType
6350
6348
  })]]
6351
6349
  }), behavior_core.defineBehavior({
@@ -6372,7 +6370,6 @@ const keyIs = {
6372
6370
  event
6373
6371
  }) => [behavior_core.raise({
6374
6372
  type: "deserialize",
6375
- dataTransfer: event.dataTransfer,
6376
6373
  originEvent: event
6377
6374
  })]]
6378
6375
  }), behavior_core.defineBehavior({
@@ -6435,7 +6432,7 @@ const keyIs = {
6435
6432
  placement: "auto"
6436
6433
  })]]
6437
6434
  }), behavior_core.defineBehavior({
6438
- on: "paste",
6435
+ on: "clipboard.paste",
6439
6436
  guard: ({
6440
6437
  snapshot
6441
6438
  }) => snapshot.context.selection && selector_isAtTheStartOfBlock.isSelectionExpanded(snapshot) ? {
@@ -6450,16 +6447,14 @@ const keyIs = {
6450
6447
  selection
6451
6448
  }), behavior_core.raise({
6452
6449
  type: "deserialize",
6453
- dataTransfer: event.data,
6454
6450
  originEvent: event
6455
6451
  })]]
6456
6452
  }), behavior_core.defineBehavior({
6457
- on: "paste",
6453
+ on: "clipboard.paste",
6458
6454
  actions: [({
6459
6455
  event
6460
6456
  }) => [behavior_core.raise({
6461
6457
  type: "deserialize",
6462
- dataTransfer: event.data,
6463
6458
  originEvent: event
6464
6459
  })]]
6465
6460
  }), toggleAnnotationOff, toggleAnnotationOn, toggleDecoratorOff, toggleDecoratorOn, toggleListItemOff, toggleListItemOn, toggleStyleOff, toggleStyleOn, raiseDeserializationSuccessOrFailure, raiseSerializationSuccessOrFailure, raiseInsertSoftBreak];
@@ -6570,10 +6565,10 @@ const editorMachine = xstate.setup({
6570
6565
  self
6571
6566
  }) => {
6572
6567
  xstate.assertEvent(event, ["behavior event", "custom behavior event"]);
6573
- const defaultAction = event.type === "custom behavior event" || behavior_core.isDragBehaviorEvent(event.behaviorEvent) || event.behaviorEvent.type === "copy" || event.behaviorEvent.type === "cut" || event.behaviorEvent.type === "deserialize" || event.behaviorEvent.type === "key.down" || event.behaviorEvent.type === "key.up" || behavior_core.isMouseBehaviorEvent(event.behaviorEvent) || event.behaviorEvent.type === "paste" || event.behaviorEvent.type === "serialize" ? void 0 : {
6568
+ const defaultAction = event.type === "custom behavior event" || behavior_core.isClipboardBehaviorEvent(event.behaviorEvent) || behavior_core.isDragBehaviorEvent(event.behaviorEvent) || behavior_core.isKeyboardBehaviorEvent(event.behaviorEvent) || event.behaviorEvent.type === "deserialize" || behavior_core.isMouseBehaviorEvent(event.behaviorEvent) || event.behaviorEvent.type === "serialize" ? void 0 : {
6574
6569
  ...event.behaviorEvent,
6575
6570
  editor: event.editor
6576
- }, defaultActionCallback = event.type === "behavior event" ? event.defaultActionCallback : void 0, eventBehaviors = [...context.behaviors.values(), ...defaultBehaviors].filter((behavior) => behavior.on === "*" ? !0 : behavior_core.isDragBehaviorEvent(event.behaviorEvent) && behavior.on === "drag.*" || behavior.on === event.behaviorEvent.type);
6571
+ }, defaultActionCallback = event.type === "behavior event" ? event.defaultActionCallback : void 0, eventBehaviors = [...context.behaviors.values(), ...defaultBehaviors].filter((behavior) => behavior.on === "*" ? !0 : behavior_core.isClipboardBehaviorEvent(event.behaviorEvent) ? behavior.on === "clipboard.*" || behavior.on === event.behaviorEvent.type : behavior_core.isDragBehaviorEvent(event.behaviorEvent) ? behavior.on === "drag.*" || behavior.on === event.behaviorEvent.type : behavior_core.isKeyboardBehaviorEvent(event.behaviorEvent) ? behavior.on === "keyboard.*" || behavior.on === event.behaviorEvent.type : behavior_core.isMouseBehaviorEvent(event.behaviorEvent) && behavior.on === "mouse.*" || behavior.on === event.behaviorEvent.type);
6577
6572
  if (eventBehaviors.length === 0) {
6578
6573
  if (defaultActionCallback) {
6579
6574
  withApplyingBehaviorActions(event.editor, () => {
@@ -6831,7 +6826,7 @@ const editorMachine = xstate.setup({
6831
6826
  actions: "handle behavior event",
6832
6827
  guard: ({
6833
6828
  event
6834
- }) => event.behaviorEvent.type === "copy" || event.behaviorEvent.type === "data transfer.set" || event.behaviorEvent.type === "serialize" || event.behaviorEvent.type === "serialization.failure" || event.behaviorEvent.type === "serialization.success" || event.behaviorEvent.type === "select"
6829
+ }) => event.behaviorEvent.type === "clipboard.copy" || event.behaviorEvent.type === "data transfer.set" || event.behaviorEvent.type === "serialize" || event.behaviorEvent.type === "serialization.failure" || event.behaviorEvent.type === "serialization.success" || event.behaviorEvent.type === "select"
6835
6830
  }
6836
6831
  },
6837
6832
  states: {