@portabletext/editor 1.40.2 → 1.40.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 (58) hide show
  1. package/lib/_chunks-cjs/behavior.core.cjs +37 -16
  2. package/lib/_chunks-cjs/behavior.core.cjs.map +1 -1
  3. package/lib/_chunks-cjs/behavior.markdown.cjs +22 -10
  4. package/lib/_chunks-cjs/behavior.markdown.cjs.map +1 -1
  5. package/lib/_chunks-cjs/editor-provider.cjs +27 -67
  6. package/lib/_chunks-cjs/editor-provider.cjs.map +1 -1
  7. package/lib/_chunks-cjs/util.merge-text-blocks.cjs +26 -0
  8. package/lib/_chunks-cjs/util.merge-text-blocks.cjs.map +1 -0
  9. package/lib/_chunks-cjs/util.selection-point-to-block-offset.cjs +1 -0
  10. package/lib/_chunks-cjs/util.selection-point-to-block-offset.cjs.map +1 -1
  11. package/lib/_chunks-es/behavior.core.js +37 -16
  12. package/lib/_chunks-es/behavior.core.js.map +1 -1
  13. package/lib/_chunks-es/behavior.markdown.js +22 -10
  14. package/lib/_chunks-es/behavior.markdown.js.map +1 -1
  15. package/lib/_chunks-es/editor-provider.js +27 -67
  16. package/lib/_chunks-es/editor-provider.js.map +1 -1
  17. package/lib/_chunks-es/util.merge-text-blocks.js +27 -0
  18. package/lib/_chunks-es/util.merge-text-blocks.js.map +1 -0
  19. package/lib/_chunks-es/util.selection-point-to-block-offset.js +1 -0
  20. package/lib/behaviors/index.d.cts +3881 -5053
  21. package/lib/behaviors/index.d.ts +3881 -5053
  22. package/lib/index.d.cts +3402 -4440
  23. package/lib/index.d.ts +3402 -4440
  24. package/lib/plugins/index.cjs +9 -127
  25. package/lib/plugins/index.cjs.map +1 -1
  26. package/lib/plugins/index.d.cts +3404 -4441
  27. package/lib/plugins/index.d.ts +3404 -4441
  28. package/lib/plugins/index.js +11 -129
  29. package/lib/plugins/index.js.map +1 -1
  30. package/lib/selectors/index.d.cts +3401 -4440
  31. package/lib/selectors/index.d.ts +3401 -4440
  32. package/lib/utils/index.cjs +45 -4
  33. package/lib/utils/index.cjs.map +1 -1
  34. package/lib/utils/index.d.cts +3402 -4441
  35. package/lib/utils/index.d.ts +3402 -4441
  36. package/lib/utils/index.js +45 -3
  37. package/lib/utils/index.js.map +1 -1
  38. package/package.json +7 -7
  39. package/src/behavior-actions/behavior.action.delete.block.ts +2 -2
  40. package/src/behavior-actions/behavior.actions.ts +0 -18
  41. package/src/behaviors/behavior.core.block-objects.ts +57 -7
  42. package/src/behaviors/behavior.core.insert-break.ts +0 -4
  43. package/src/behaviors/behavior.default.ts +1 -1
  44. package/src/behaviors/behavior.markdown.ts +22 -10
  45. package/src/behaviors/behavior.types.ts +171 -138
  46. package/src/editor/create-editor.ts +2 -0
  47. package/src/editor/editor-machine.ts +28 -28
  48. package/src/editor/plugins/create-with-event-listeners.ts +15 -0
  49. package/src/editor/plugins/createWithEditableAPI.ts +4 -4
  50. package/src/plugins/plugin.one-line.tsx +10 -128
  51. package/src/types/block-with-optional-key.ts +13 -0
  52. package/src/utils/util.is-text-block.ts +4 -3
  53. package/lib/_chunks-cjs/util.split-text-block.cjs +0 -68
  54. package/lib/_chunks-cjs/util.split-text-block.cjs.map +0 -1
  55. package/lib/_chunks-es/util.split-text-block.js +0 -70
  56. package/lib/_chunks-es/util.split-text-block.js.map +0 -1
  57. package/src/behavior-actions/behavior.action.insert.block-object.ts +0 -20
  58. package/src/behavior-actions/behavior.action.insert.text-block.ts +0 -33
@@ -0,0 +1,27 @@
1
+ import { isTypedObject, parseBlock } from "./util.selection-point-to-block-offset.js";
2
+ function isTextBlock(context, block) {
3
+ return isTypedObject(block) && block._type === context.schema.block.name;
4
+ }
5
+ function mergeTextBlocks({
6
+ context,
7
+ targetBlock,
8
+ incomingBlock
9
+ }) {
10
+ const parsedIncomingBlock = parseBlock({
11
+ context,
12
+ block: incomingBlock,
13
+ options: {
14
+ refreshKeys: !0
15
+ }
16
+ });
17
+ return !parsedIncomingBlock || !isTextBlock(context, parsedIncomingBlock) ? targetBlock : {
18
+ ...targetBlock,
19
+ children: [...targetBlock.children, ...parsedIncomingBlock.children],
20
+ markDefs: [...targetBlock.markDefs ?? [], ...parsedIncomingBlock.markDefs ?? []]
21
+ };
22
+ }
23
+ export {
24
+ isTextBlock,
25
+ mergeTextBlocks
26
+ };
27
+ //# sourceMappingURL=util.merge-text-blocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.merge-text-blocks.js","sources":["../../src/utils/util.is-text-block.ts","../../src/utils/util.merge-text-blocks.ts"],"sourcesContent":["import type {PortableTextTextBlock} from '@sanity/types'\nimport type {EditorContext} from '..'\nimport {isTypedObject} from '../internal-utils/asserters'\n\n/**\n * @public\n */\nexport function isTextBlock(\n context: Pick<EditorContext, 'schema'>,\n block: unknown,\n): block is PortableTextTextBlock {\n return isTypedObject(block) && block._type === context.schema.block.name\n}\n","import type {PortableTextTextBlock} from '@sanity/types'\nimport type {EditorContext} from '..'\nimport {parseBlock} from '../internal-utils/parse-blocks'\nimport {isTextBlock} from './util.is-text-block'\n\n/**\n * @beta\n */\nexport function mergeTextBlocks({\n context,\n targetBlock,\n incomingBlock,\n}: {\n context: Pick<EditorContext, 'keyGenerator' | 'schema'>\n targetBlock: PortableTextTextBlock\n incomingBlock: PortableTextTextBlock\n}) {\n const parsedIncomingBlock = parseBlock({\n context,\n block: incomingBlock,\n options: {refreshKeys: true},\n })\n\n if (!parsedIncomingBlock || !isTextBlock(context, parsedIncomingBlock)) {\n return targetBlock\n }\n\n return {\n ...targetBlock,\n children: [...targetBlock.children, ...parsedIncomingBlock.children],\n markDefs: [\n ...(targetBlock.markDefs ?? []),\n ...(parsedIncomingBlock.markDefs ?? []),\n ],\n }\n}\n"],"names":["isTextBlock","context","block","isTypedObject","_type","schema","name","mergeTextBlocks","targetBlock","incomingBlock","parsedIncomingBlock","parseBlock","options","refreshKeys","children","markDefs"],"mappings":";AAOgBA,SAAAA,YACdC,SACAC,OACgC;AAChC,SAAOC,cAAcD,KAAK,KAAKA,MAAME,UAAUH,QAAQI,OAAOH,MAAMI;AACtE;ACJO,SAASC,gBAAgB;AAAA,EAC9BN;AAAAA,EACAO;AAAAA,EACAC;AAKF,GAAG;AACD,QAAMC,sBAAsBC,WAAW;AAAA,IACrCV;AAAAA,IACAC,OAAOO;AAAAA,IACPG,SAAS;AAAA,MAACC,aAAa;AAAA,IAAA;AAAA,EAAI,CAC5B;AAED,SAAI,CAACH,uBAAuB,CAACV,YAAYC,SAASS,mBAAmB,IAC5DF,cAGF;AAAA,IACL,GAAGA;AAAAA,IACHM,UAAU,CAAC,GAAGN,YAAYM,UAAU,GAAGJ,oBAAoBI,QAAQ;AAAA,IACnEC,UAAU,CACR,GAAIP,YAAYO,YAAY,CAAA,GAC5B,GAAIL,oBAAoBK,YAAY,CAAG,CAAA;AAAA,EAE3C;AACF;"}
@@ -237,6 +237,7 @@ export {
237
237
  blockOffsetsToSelection,
238
238
  childSelectionPointToBlockOffset,
239
239
  isTextBlock,
240
+ isTypedObject,
240
241
  parseBlock,
241
242
  parseBlocks,
242
243
  selectionPointToBlockOffset