@portabletext/editor 1.50.3 → 1.50.5

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 (50) hide show
  1. package/lib/_chunks-cjs/selector.is-selecting-entire-blocks.cjs +4 -14
  2. package/lib/_chunks-cjs/selector.is-selecting-entire-blocks.cjs.map +1 -1
  3. package/lib/_chunks-es/selector.is-selecting-entire-blocks.js +4 -14
  4. package/lib/_chunks-es/selector.is-selecting-entire-blocks.js.map +1 -1
  5. package/lib/behaviors/index.d.cts +10 -1
  6. package/lib/behaviors/index.d.ts +10 -1
  7. package/lib/index.cjs +582 -253
  8. package/lib/index.cjs.map +1 -1
  9. package/lib/index.d.cts +11 -1
  10. package/lib/index.d.ts +11 -1
  11. package/lib/index.js +592 -262
  12. package/lib/index.js.map +1 -1
  13. package/lib/plugins/index.d.cts +10 -1
  14. package/lib/plugins/index.d.ts +10 -1
  15. package/lib/selectors/index.d.cts +10 -1
  16. package/lib/selectors/index.d.ts +10 -1
  17. package/lib/utils/index.d.cts +10 -1
  18. package/lib/utils/index.d.ts +10 -1
  19. package/package.json +4 -3
  20. package/src/behaviors/behavior.abstract.delete.ts +6 -2
  21. package/src/behaviors/behavior.abstract.ts +1 -1
  22. package/src/editor/PortableTextEditor.tsx +22 -22
  23. package/src/editor/create-slate-editor.tsx +11 -1
  24. package/src/editor/editor-selector.ts +11 -9
  25. package/src/editor/editor-snapshot.ts +13 -8
  26. package/src/editor/get-active-annotations.ts +15 -0
  27. package/src/editor/get-active-decorators.ts +23 -9
  28. package/src/editor/plugins/create-with-event-listeners.ts +9 -3
  29. package/src/editor/plugins/createWithEditableAPI.ts +16 -14
  30. package/src/editor/plugins/createWithPortableTextMarkModel.ts +26 -190
  31. package/src/editor/plugins/slate-plugin.update-mark-state.ts +21 -0
  32. package/src/editor/plugins/slate-plugin.update-value.ts +27 -0
  33. package/src/editor/plugins/with-plugins.ts +15 -1
  34. package/src/internal-utils/apply-operation-to-portable-text.test.ts +175 -0
  35. package/src/internal-utils/apply-operation-to-portable-text.ts +435 -0
  36. package/src/internal-utils/create-placeholder-block.ts +20 -0
  37. package/src/internal-utils/create-test-snapshot.ts +2 -1
  38. package/src/internal-utils/mark-state.ts +172 -0
  39. package/src/internal-utils/portable-text-node.ts +209 -0
  40. package/src/internal-utils/slate-utils.ts +44 -0
  41. package/src/operations/behavior.operation.decorator.add.ts +7 -11
  42. package/src/operations/behavior.operation.insert.text.ts +48 -8
  43. package/src/selectors/selector.get-active-annotations.ts +2 -1
  44. package/src/selectors/selector.is-active-annotation.ts +7 -39
  45. package/src/selectors/selector.is-active-decorator.ts +1 -1
  46. package/src/types/editor.ts +4 -0
  47. package/src/editor/get-value.ts +0 -18
  48. package/src/internal-utils/__tests__/patchToOperations.test.ts +0 -312
  49. package/src/internal-utils/slate-children-to-blocks.ts +0 -49
  50. package/src/selectors/selector.get-active-annotations.test.ts +0 -141
package/lib/index.d.cts CHANGED
@@ -806,7 +806,6 @@ export declare type EditorConfig = {
806
806
  * @public
807
807
  */
808
808
  export declare type EditorContext = {
809
- activeDecorators: Array<string>
810
809
  converters: Array<Converter>
811
810
  keyGenerator: () => string
812
811
  readOnly: boolean
@@ -2770,6 +2769,8 @@ export declare type EditorSnapshot = {
2770
2769
  * Do not rely on this externally
2771
2770
  */
2772
2771
  beta: {
2772
+ activeAnnotations: Array<string>
2773
+ activeDecorators: Array<string>
2773
2774
  hasTag: HasTag
2774
2775
  internalDrag:
2775
2776
  | {
@@ -2991,6 +2992,11 @@ export declare type LoadingChange = {
2991
2992
  isLoading: boolean
2992
2993
  }
2993
2994
 
2995
+ declare type MarkState = {
2996
+ state: 'changed' | 'unchanged'
2997
+ marks: Array<string>
2998
+ }
2999
+
2994
3000
  declare type MIMEType = `${string}/${string}`
2995
3001
 
2996
3002
  declare type MouseBehaviorEvent = {
@@ -3233,6 +3239,7 @@ export declare class PortableTextEditor extends Component<
3233
3239
  private editor
3234
3240
  private editable
3235
3241
  private actors?
3242
+ private subscriptions
3236
3243
  private unsubscribers
3237
3244
  constructor(props: PortableTextEditorProps)
3238
3245
  componentDidMount(): void
@@ -3741,6 +3748,9 @@ declare interface PortableTextSlateEditor extends ReactEditor {
3741
3748
  isTextBlock: (value: unknown) => value is PortableTextTextBlock
3742
3749
  isTextSpan: (value: unknown) => value is PortableTextSpan
3743
3750
  isListBlock: (value: unknown) => value is PortableTextListBlock
3751
+ value: Array<PortableTextBlock>
3752
+ decoratorState: Record<string, boolean | undefined>
3753
+ markState: MarkState | undefined
3744
3754
  /**
3745
3755
  * Use hotkeys
3746
3756
  */
package/lib/index.d.ts CHANGED
@@ -806,7 +806,6 @@ export declare type EditorConfig = {
806
806
  * @public
807
807
  */
808
808
  export declare type EditorContext = {
809
- activeDecorators: Array<string>
810
809
  converters: Array<Converter>
811
810
  keyGenerator: () => string
812
811
  readOnly: boolean
@@ -2770,6 +2769,8 @@ export declare type EditorSnapshot = {
2770
2769
  * Do not rely on this externally
2771
2770
  */
2772
2771
  beta: {
2772
+ activeAnnotations: Array<string>
2773
+ activeDecorators: Array<string>
2773
2774
  hasTag: HasTag
2774
2775
  internalDrag:
2775
2776
  | {
@@ -2991,6 +2992,11 @@ export declare type LoadingChange = {
2991
2992
  isLoading: boolean
2992
2993
  }
2993
2994
 
2995
+ declare type MarkState = {
2996
+ state: 'changed' | 'unchanged'
2997
+ marks: Array<string>
2998
+ }
2999
+
2994
3000
  declare type MIMEType = `${string}/${string}`
2995
3001
 
2996
3002
  declare type MouseBehaviorEvent = {
@@ -3233,6 +3239,7 @@ export declare class PortableTextEditor extends Component<
3233
3239
  private editor
3234
3240
  private editable
3235
3241
  private actors?
3242
+ private subscriptions
3236
3243
  private unsubscribers
3237
3244
  constructor(props: PortableTextEditorProps)
3238
3245
  componentDidMount(): void
@@ -3741,6 +3748,9 @@ declare interface PortableTextSlateEditor extends ReactEditor {
3741
3748
  isTextBlock: (value: unknown) => value is PortableTextTextBlock
3742
3749
  isTextSpan: (value: unknown) => value is PortableTextSpan
3743
3750
  isListBlock: (value: unknown) => value is PortableTextListBlock
3751
+ value: Array<PortableTextBlock>
3752
+ decoratorState: Record<string, boolean | undefined>
3753
+ markState: MarkState | undefined
3744
3754
  /**
3745
3755
  * Use hotkeys
3746
3756
  */