@portabletext/editor 1.7.1 → 1.9.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.
- package/lib/index.d.mts +97 -23
- package/lib/index.d.ts +97 -23
- package/lib/index.esm.js +244 -73
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +244 -73
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +244 -73
- package/lib/index.mjs.map +1 -1
- package/package.json +10 -10
- package/src/editor/Editable.tsx +46 -31
- package/src/editor/behavior/behavior.action.insert-span.ts +48 -0
- package/src/editor/behavior/behavior.actions.ts +29 -1
- package/src/editor/behavior/behavior.links.ts +91 -0
- package/src/editor/behavior/behavior.markdown.ts +78 -11
- package/src/editor/behavior/behavior.types.ts +18 -0
- package/src/editor/plugins/createWithEditableAPI.ts +91 -71
- package/src/editor/plugins/createWithPortableTextMarkModel.ts +6 -2
- package/src/editor/plugins/with-plugins.ts +7 -2
- package/src/index.ts +5 -1
- package/src/types/options.ts +0 -9
- package/src/utils/__tests__/operationToPatches.test.ts +1 -1
- package/src/utils/__tests__/patchToOperations.test.ts +1 -1
package/lib/index.d.mts
CHANGED
|
@@ -124,6 +124,24 @@ export declare type Behavior<
|
|
|
124
124
|
*/
|
|
125
125
|
export declare type BehaviorActionIntend =
|
|
126
126
|
| BehaviorEvent
|
|
127
|
+
| {
|
|
128
|
+
type: 'insert block object'
|
|
129
|
+
name: string
|
|
130
|
+
value?: {
|
|
131
|
+
[prop: string]: unknown
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
| {
|
|
135
|
+
type: 'insert span'
|
|
136
|
+
text: string
|
|
137
|
+
annotations?: Array<{
|
|
138
|
+
name: string
|
|
139
|
+
value: {
|
|
140
|
+
[prop: string]: unknown
|
|
141
|
+
}
|
|
142
|
+
}>
|
|
143
|
+
decorators?: Array<string>
|
|
144
|
+
}
|
|
127
145
|
| {
|
|
128
146
|
type: 'insert text block'
|
|
129
147
|
decorators: Array<string>
|
|
@@ -244,6 +262,10 @@ export declare type BehaviorEvent =
|
|
|
244
262
|
text: string
|
|
245
263
|
options?: TextInsertTextOptions
|
|
246
264
|
}
|
|
265
|
+
| {
|
|
266
|
+
type: 'paste'
|
|
267
|
+
clipboardData: NonNullable<ClipboardEvent['clipboardData']>
|
|
268
|
+
}
|
|
247
269
|
|
|
248
270
|
/**
|
|
249
271
|
* @alpha
|
|
@@ -374,7 +396,8 @@ export declare const coreBehavior: {
|
|
|
374
396
|
| 'delete forward'
|
|
375
397
|
| 'insert soft break'
|
|
376
398
|
| 'insert break'
|
|
377
|
-
| 'insert text'
|
|
399
|
+
| 'insert text'
|
|
400
|
+
| 'paste',
|
|
378
401
|
true
|
|
379
402
|
>
|
|
380
403
|
decorators: {
|
|
@@ -390,7 +413,8 @@ export declare const coreBehavior: {
|
|
|
390
413
|
| 'delete forward'
|
|
391
414
|
| 'insert soft break'
|
|
392
415
|
| 'insert break'
|
|
393
|
-
| 'insert text'
|
|
416
|
+
| 'insert text'
|
|
417
|
+
| 'paste',
|
|
394
418
|
true
|
|
395
419
|
>
|
|
396
420
|
decoratorRemove: Behavior<
|
|
@@ -405,7 +429,8 @@ export declare const coreBehavior: {
|
|
|
405
429
|
| 'delete forward'
|
|
406
430
|
| 'insert soft break'
|
|
407
431
|
| 'insert break'
|
|
408
|
-
| 'insert text'
|
|
432
|
+
| 'insert text'
|
|
433
|
+
| 'paste',
|
|
409
434
|
true
|
|
410
435
|
>
|
|
411
436
|
decoratorToggle: Behavior<
|
|
@@ -420,7 +445,8 @@ export declare const coreBehavior: {
|
|
|
420
445
|
| 'delete forward'
|
|
421
446
|
| 'insert soft break'
|
|
422
447
|
| 'insert break'
|
|
423
|
-
| 'insert text'
|
|
448
|
+
| 'insert text'
|
|
449
|
+
| 'paste',
|
|
424
450
|
true
|
|
425
451
|
>
|
|
426
452
|
}
|
|
@@ -437,7 +463,8 @@ export declare const coreBehavior: {
|
|
|
437
463
|
| 'delete forward'
|
|
438
464
|
| 'insert soft break'
|
|
439
465
|
| 'insert break'
|
|
440
|
-
| 'insert text'
|
|
466
|
+
| 'insert text'
|
|
467
|
+
| 'paste',
|
|
441
468
|
true
|
|
442
469
|
>
|
|
443
470
|
deletingEmptyTextBlockAfterBlockObject: Behavior<
|
|
@@ -452,7 +479,8 @@ export declare const coreBehavior: {
|
|
|
452
479
|
| 'delete forward'
|
|
453
480
|
| 'insert soft break'
|
|
454
481
|
| 'insert break'
|
|
455
|
-
| 'insert text'
|
|
482
|
+
| 'insert text'
|
|
483
|
+
| 'paste',
|
|
456
484
|
true
|
|
457
485
|
>
|
|
458
486
|
deletingEmptyTextBlockBeforeBlockObject: Behavior<
|
|
@@ -467,7 +495,8 @@ export declare const coreBehavior: {
|
|
|
467
495
|
| 'delete forward'
|
|
468
496
|
| 'insert soft break'
|
|
469
497
|
| 'insert break'
|
|
470
|
-
| 'insert text'
|
|
498
|
+
| 'insert text'
|
|
499
|
+
| 'paste',
|
|
471
500
|
true
|
|
472
501
|
>
|
|
473
502
|
}
|
|
@@ -484,7 +513,8 @@ export declare const coreBehavior: {
|
|
|
484
513
|
| 'delete forward'
|
|
485
514
|
| 'insert soft break'
|
|
486
515
|
| 'insert break'
|
|
487
|
-
| 'insert text'
|
|
516
|
+
| 'insert text'
|
|
517
|
+
| 'paste',
|
|
488
518
|
true
|
|
489
519
|
>
|
|
490
520
|
unindentListOnBackspace: Behavior<
|
|
@@ -499,7 +529,8 @@ export declare const coreBehavior: {
|
|
|
499
529
|
| 'delete forward'
|
|
500
530
|
| 'insert soft break'
|
|
501
531
|
| 'insert break'
|
|
502
|
-
| 'insert text'
|
|
532
|
+
| 'insert text'
|
|
533
|
+
| 'paste',
|
|
503
534
|
true
|
|
504
535
|
>
|
|
505
536
|
}
|
|
@@ -520,17 +551,32 @@ export declare const coreBehaviors: Behavior<
|
|
|
520
551
|
| 'delete forward'
|
|
521
552
|
| 'insert soft break'
|
|
522
553
|
| 'insert break'
|
|
523
|
-
| 'insert text'
|
|
554
|
+
| 'insert text'
|
|
555
|
+
| 'paste',
|
|
524
556
|
true
|
|
525
557
|
>[]
|
|
526
558
|
|
|
527
559
|
/**
|
|
528
|
-
* @
|
|
560
|
+
* @alpha
|
|
529
561
|
*/
|
|
530
|
-
export declare
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
562
|
+
export declare function createLinkBehaviors(
|
|
563
|
+
config: LinkBehaviorsConfig,
|
|
564
|
+
): Behavior<
|
|
565
|
+
| 'focus'
|
|
566
|
+
| 'annotation.add'
|
|
567
|
+
| 'annotation.remove'
|
|
568
|
+
| 'annotation.toggle'
|
|
569
|
+
| 'decorator.add'
|
|
570
|
+
| 'decorator.remove'
|
|
571
|
+
| 'decorator.toggle'
|
|
572
|
+
| 'delete backward'
|
|
573
|
+
| 'delete forward'
|
|
574
|
+
| 'insert soft break'
|
|
575
|
+
| 'insert break'
|
|
576
|
+
| 'insert text'
|
|
577
|
+
| 'paste',
|
|
578
|
+
true
|
|
579
|
+
>[]
|
|
534
580
|
|
|
535
581
|
/**
|
|
536
582
|
* @alpha
|
|
@@ -549,7 +595,8 @@ export declare function createMarkdownBehaviors(
|
|
|
549
595
|
| 'delete forward'
|
|
550
596
|
| 'insert soft break'
|
|
551
597
|
| 'insert break'
|
|
552
|
-
| 'insert text'
|
|
598
|
+
| 'insert text'
|
|
599
|
+
| 'paste',
|
|
553
600
|
true
|
|
554
601
|
>[]
|
|
555
602
|
|
|
@@ -5774,6 +5821,23 @@ export declare type InvalidValueResolution = {
|
|
|
5774
5821
|
*/
|
|
5775
5822
|
export declare const keyGenerator: () => string
|
|
5776
5823
|
|
|
5824
|
+
/**
|
|
5825
|
+
* @alpha
|
|
5826
|
+
*/
|
|
5827
|
+
export declare type LinkBehaviorsConfig = {
|
|
5828
|
+
mapLinkAnnotation?: (config: {
|
|
5829
|
+
schema: PortableTextMemberSchemaTypes
|
|
5830
|
+
url: string
|
|
5831
|
+
}) =>
|
|
5832
|
+
| {
|
|
5833
|
+
name: string
|
|
5834
|
+
value: {
|
|
5835
|
+
[prop: string]: unknown
|
|
5836
|
+
}
|
|
5837
|
+
}
|
|
5838
|
+
| undefined
|
|
5839
|
+
}
|
|
5840
|
+
|
|
5777
5841
|
/**
|
|
5778
5842
|
* The editor is currently loading something
|
|
5779
5843
|
* Could be used to show a spinner etc.
|
|
@@ -5787,18 +5851,28 @@ export declare type LoadingChange = {
|
|
|
5787
5851
|
* @alpha
|
|
5788
5852
|
*/
|
|
5789
5853
|
export declare type MarkdownBehaviorsConfig = {
|
|
5790
|
-
|
|
5791
|
-
|
|
5854
|
+
mapBreakObject?: (schema: PortableTextMemberSchemaTypes) =>
|
|
5855
|
+
| {
|
|
5856
|
+
name: string
|
|
5857
|
+
value?: {
|
|
5858
|
+
[prop: string]: unknown
|
|
5859
|
+
}
|
|
5860
|
+
}
|
|
5861
|
+
| undefined
|
|
5862
|
+
mapDefaultStyle?: (
|
|
5863
|
+
schema: PortableTextMemberSchemaTypes,
|
|
5864
|
+
) => string | undefined
|
|
5865
|
+
mapHeadingStyle?: (
|
|
5792
5866
|
schema: PortableTextMemberSchemaTypes,
|
|
5793
5867
|
level: number,
|
|
5794
5868
|
) => string | undefined
|
|
5795
|
-
mapBlockquoteStyle
|
|
5869
|
+
mapBlockquoteStyle?: (
|
|
5796
5870
|
schema: PortableTextMemberSchemaTypes,
|
|
5797
5871
|
) => string | undefined
|
|
5798
|
-
mapUnorderedListStyle
|
|
5872
|
+
mapUnorderedListStyle?: (
|
|
5799
5873
|
schema: PortableTextMemberSchemaTypes,
|
|
5800
5874
|
) => string | undefined
|
|
5801
|
-
mapOrderedListStyle
|
|
5875
|
+
mapOrderedListStyle?: (
|
|
5802
5876
|
schema: PortableTextMemberSchemaTypes,
|
|
5803
5877
|
) => string | undefined
|
|
5804
5878
|
}
|
|
@@ -6000,9 +6074,9 @@ export declare class PortableTextEditor extends Component<
|
|
|
6000
6074
|
| []
|
|
6001
6075
|
| [
|
|
6002
6076
|
(
|
|
6003
|
-
| PortableTextSpan
|
|
6077
|
+
| PortableTextTextBlock<PortableTextObject | PortableTextSpan>
|
|
6004
6078
|
| PortableTextObject
|
|
6005
|
-
|
|
|
6079
|
+
| PortableTextSpan
|
|
6006
6080
|
| undefined
|
|
6007
6081
|
),
|
|
6008
6082
|
Path | undefined,
|
package/lib/index.d.ts
CHANGED
|
@@ -124,6 +124,24 @@ export declare type Behavior<
|
|
|
124
124
|
*/
|
|
125
125
|
export declare type BehaviorActionIntend =
|
|
126
126
|
| BehaviorEvent
|
|
127
|
+
| {
|
|
128
|
+
type: 'insert block object'
|
|
129
|
+
name: string
|
|
130
|
+
value?: {
|
|
131
|
+
[prop: string]: unknown
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
| {
|
|
135
|
+
type: 'insert span'
|
|
136
|
+
text: string
|
|
137
|
+
annotations?: Array<{
|
|
138
|
+
name: string
|
|
139
|
+
value: {
|
|
140
|
+
[prop: string]: unknown
|
|
141
|
+
}
|
|
142
|
+
}>
|
|
143
|
+
decorators?: Array<string>
|
|
144
|
+
}
|
|
127
145
|
| {
|
|
128
146
|
type: 'insert text block'
|
|
129
147
|
decorators: Array<string>
|
|
@@ -244,6 +262,10 @@ export declare type BehaviorEvent =
|
|
|
244
262
|
text: string
|
|
245
263
|
options?: TextInsertTextOptions
|
|
246
264
|
}
|
|
265
|
+
| {
|
|
266
|
+
type: 'paste'
|
|
267
|
+
clipboardData: NonNullable<ClipboardEvent['clipboardData']>
|
|
268
|
+
}
|
|
247
269
|
|
|
248
270
|
/**
|
|
249
271
|
* @alpha
|
|
@@ -374,7 +396,8 @@ export declare const coreBehavior: {
|
|
|
374
396
|
| 'delete forward'
|
|
375
397
|
| 'insert soft break'
|
|
376
398
|
| 'insert break'
|
|
377
|
-
| 'insert text'
|
|
399
|
+
| 'insert text'
|
|
400
|
+
| 'paste',
|
|
378
401
|
true
|
|
379
402
|
>
|
|
380
403
|
decorators: {
|
|
@@ -390,7 +413,8 @@ export declare const coreBehavior: {
|
|
|
390
413
|
| 'delete forward'
|
|
391
414
|
| 'insert soft break'
|
|
392
415
|
| 'insert break'
|
|
393
|
-
| 'insert text'
|
|
416
|
+
| 'insert text'
|
|
417
|
+
| 'paste',
|
|
394
418
|
true
|
|
395
419
|
>
|
|
396
420
|
decoratorRemove: Behavior<
|
|
@@ -405,7 +429,8 @@ export declare const coreBehavior: {
|
|
|
405
429
|
| 'delete forward'
|
|
406
430
|
| 'insert soft break'
|
|
407
431
|
| 'insert break'
|
|
408
|
-
| 'insert text'
|
|
432
|
+
| 'insert text'
|
|
433
|
+
| 'paste',
|
|
409
434
|
true
|
|
410
435
|
>
|
|
411
436
|
decoratorToggle: Behavior<
|
|
@@ -420,7 +445,8 @@ export declare const coreBehavior: {
|
|
|
420
445
|
| 'delete forward'
|
|
421
446
|
| 'insert soft break'
|
|
422
447
|
| 'insert break'
|
|
423
|
-
| 'insert text'
|
|
448
|
+
| 'insert text'
|
|
449
|
+
| 'paste',
|
|
424
450
|
true
|
|
425
451
|
>
|
|
426
452
|
}
|
|
@@ -437,7 +463,8 @@ export declare const coreBehavior: {
|
|
|
437
463
|
| 'delete forward'
|
|
438
464
|
| 'insert soft break'
|
|
439
465
|
| 'insert break'
|
|
440
|
-
| 'insert text'
|
|
466
|
+
| 'insert text'
|
|
467
|
+
| 'paste',
|
|
441
468
|
true
|
|
442
469
|
>
|
|
443
470
|
deletingEmptyTextBlockAfterBlockObject: Behavior<
|
|
@@ -452,7 +479,8 @@ export declare const coreBehavior: {
|
|
|
452
479
|
| 'delete forward'
|
|
453
480
|
| 'insert soft break'
|
|
454
481
|
| 'insert break'
|
|
455
|
-
| 'insert text'
|
|
482
|
+
| 'insert text'
|
|
483
|
+
| 'paste',
|
|
456
484
|
true
|
|
457
485
|
>
|
|
458
486
|
deletingEmptyTextBlockBeforeBlockObject: Behavior<
|
|
@@ -467,7 +495,8 @@ export declare const coreBehavior: {
|
|
|
467
495
|
| 'delete forward'
|
|
468
496
|
| 'insert soft break'
|
|
469
497
|
| 'insert break'
|
|
470
|
-
| 'insert text'
|
|
498
|
+
| 'insert text'
|
|
499
|
+
| 'paste',
|
|
471
500
|
true
|
|
472
501
|
>
|
|
473
502
|
}
|
|
@@ -484,7 +513,8 @@ export declare const coreBehavior: {
|
|
|
484
513
|
| 'delete forward'
|
|
485
514
|
| 'insert soft break'
|
|
486
515
|
| 'insert break'
|
|
487
|
-
| 'insert text'
|
|
516
|
+
| 'insert text'
|
|
517
|
+
| 'paste',
|
|
488
518
|
true
|
|
489
519
|
>
|
|
490
520
|
unindentListOnBackspace: Behavior<
|
|
@@ -499,7 +529,8 @@ export declare const coreBehavior: {
|
|
|
499
529
|
| 'delete forward'
|
|
500
530
|
| 'insert soft break'
|
|
501
531
|
| 'insert break'
|
|
502
|
-
| 'insert text'
|
|
532
|
+
| 'insert text'
|
|
533
|
+
| 'paste',
|
|
503
534
|
true
|
|
504
535
|
>
|
|
505
536
|
}
|
|
@@ -520,17 +551,32 @@ export declare const coreBehaviors: Behavior<
|
|
|
520
551
|
| 'delete forward'
|
|
521
552
|
| 'insert soft break'
|
|
522
553
|
| 'insert break'
|
|
523
|
-
| 'insert text'
|
|
554
|
+
| 'insert text'
|
|
555
|
+
| 'paste',
|
|
524
556
|
true
|
|
525
557
|
>[]
|
|
526
558
|
|
|
527
559
|
/**
|
|
528
|
-
* @
|
|
560
|
+
* @alpha
|
|
529
561
|
*/
|
|
530
|
-
export declare
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
562
|
+
export declare function createLinkBehaviors(
|
|
563
|
+
config: LinkBehaviorsConfig,
|
|
564
|
+
): Behavior<
|
|
565
|
+
| 'focus'
|
|
566
|
+
| 'annotation.add'
|
|
567
|
+
| 'annotation.remove'
|
|
568
|
+
| 'annotation.toggle'
|
|
569
|
+
| 'decorator.add'
|
|
570
|
+
| 'decorator.remove'
|
|
571
|
+
| 'decorator.toggle'
|
|
572
|
+
| 'delete backward'
|
|
573
|
+
| 'delete forward'
|
|
574
|
+
| 'insert soft break'
|
|
575
|
+
| 'insert break'
|
|
576
|
+
| 'insert text'
|
|
577
|
+
| 'paste',
|
|
578
|
+
true
|
|
579
|
+
>[]
|
|
534
580
|
|
|
535
581
|
/**
|
|
536
582
|
* @alpha
|
|
@@ -549,7 +595,8 @@ export declare function createMarkdownBehaviors(
|
|
|
549
595
|
| 'delete forward'
|
|
550
596
|
| 'insert soft break'
|
|
551
597
|
| 'insert break'
|
|
552
|
-
| 'insert text'
|
|
598
|
+
| 'insert text'
|
|
599
|
+
| 'paste',
|
|
553
600
|
true
|
|
554
601
|
>[]
|
|
555
602
|
|
|
@@ -5774,6 +5821,23 @@ export declare type InvalidValueResolution = {
|
|
|
5774
5821
|
*/
|
|
5775
5822
|
export declare const keyGenerator: () => string
|
|
5776
5823
|
|
|
5824
|
+
/**
|
|
5825
|
+
* @alpha
|
|
5826
|
+
*/
|
|
5827
|
+
export declare type LinkBehaviorsConfig = {
|
|
5828
|
+
mapLinkAnnotation?: (config: {
|
|
5829
|
+
schema: PortableTextMemberSchemaTypes
|
|
5830
|
+
url: string
|
|
5831
|
+
}) =>
|
|
5832
|
+
| {
|
|
5833
|
+
name: string
|
|
5834
|
+
value: {
|
|
5835
|
+
[prop: string]: unknown
|
|
5836
|
+
}
|
|
5837
|
+
}
|
|
5838
|
+
| undefined
|
|
5839
|
+
}
|
|
5840
|
+
|
|
5777
5841
|
/**
|
|
5778
5842
|
* The editor is currently loading something
|
|
5779
5843
|
* Could be used to show a spinner etc.
|
|
@@ -5787,18 +5851,28 @@ export declare type LoadingChange = {
|
|
|
5787
5851
|
* @alpha
|
|
5788
5852
|
*/
|
|
5789
5853
|
export declare type MarkdownBehaviorsConfig = {
|
|
5790
|
-
|
|
5791
|
-
|
|
5854
|
+
mapBreakObject?: (schema: PortableTextMemberSchemaTypes) =>
|
|
5855
|
+
| {
|
|
5856
|
+
name: string
|
|
5857
|
+
value?: {
|
|
5858
|
+
[prop: string]: unknown
|
|
5859
|
+
}
|
|
5860
|
+
}
|
|
5861
|
+
| undefined
|
|
5862
|
+
mapDefaultStyle?: (
|
|
5863
|
+
schema: PortableTextMemberSchemaTypes,
|
|
5864
|
+
) => string | undefined
|
|
5865
|
+
mapHeadingStyle?: (
|
|
5792
5866
|
schema: PortableTextMemberSchemaTypes,
|
|
5793
5867
|
level: number,
|
|
5794
5868
|
) => string | undefined
|
|
5795
|
-
mapBlockquoteStyle
|
|
5869
|
+
mapBlockquoteStyle?: (
|
|
5796
5870
|
schema: PortableTextMemberSchemaTypes,
|
|
5797
5871
|
) => string | undefined
|
|
5798
|
-
mapUnorderedListStyle
|
|
5872
|
+
mapUnorderedListStyle?: (
|
|
5799
5873
|
schema: PortableTextMemberSchemaTypes,
|
|
5800
5874
|
) => string | undefined
|
|
5801
|
-
mapOrderedListStyle
|
|
5875
|
+
mapOrderedListStyle?: (
|
|
5802
5876
|
schema: PortableTextMemberSchemaTypes,
|
|
5803
5877
|
) => string | undefined
|
|
5804
5878
|
}
|
|
@@ -6000,9 +6074,9 @@ export declare class PortableTextEditor extends Component<
|
|
|
6000
6074
|
| []
|
|
6001
6075
|
| [
|
|
6002
6076
|
(
|
|
6003
|
-
| PortableTextSpan
|
|
6077
|
+
| PortableTextTextBlock<PortableTextObject | PortableTextSpan>
|
|
6004
6078
|
| PortableTextObject
|
|
6005
|
-
|
|
|
6079
|
+
| PortableTextSpan
|
|
6006
6080
|
| undefined
|
|
6007
6081
|
),
|
|
6008
6082
|
Path | undefined,
|