@portabletext/editor 1.47.0 → 1.47.1
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/_chunks-cjs/behavior.core.cjs +7 -7
- package/lib/_chunks-cjs/behavior.core.cjs.map +1 -1
- package/lib/_chunks-cjs/behavior.markdown.cjs.map +1 -1
- package/lib/_chunks-cjs/editor-provider.cjs +379 -326
- package/lib/_chunks-cjs/editor-provider.cjs.map +1 -1
- package/lib/_chunks-cjs/parse-blocks.cjs +4 -4
- package/lib/_chunks-cjs/parse-blocks.cjs.map +1 -1
- package/lib/_chunks-cjs/selector.is-overlapping-selection.cjs.map +1 -1
- package/lib/_chunks-es/behavior.core.js +7 -7
- package/lib/_chunks-es/behavior.core.js.map +1 -1
- package/lib/_chunks-es/behavior.markdown.js.map +1 -1
- package/lib/_chunks-es/editor-provider.js +380 -327
- package/lib/_chunks-es/editor-provider.js.map +1 -1
- package/lib/_chunks-es/parse-blocks.js +4 -4
- package/lib/_chunks-es/parse-blocks.js.map +1 -1
- package/lib/_chunks-es/selector.is-overlapping-selection.js.map +1 -1
- package/lib/behaviors/index.cjs.map +1 -1
- package/lib/behaviors/index.d.cts +70 -28
- package/lib/behaviors/index.d.ts +70 -28
- package/lib/behaviors/index.js.map +1 -1
- package/lib/index.cjs +4 -4
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +61 -3
- package/lib/index.d.ts +61 -3
- package/lib/index.js +4 -4
- package/lib/index.js.map +1 -1
- package/lib/plugins/index.cjs.map +1 -1
- package/lib/plugins/index.d.cts +68 -23
- package/lib/plugins/index.d.ts +68 -23
- package/lib/plugins/index.js.map +1 -1
- package/lib/selectors/index.d.cts +69 -27
- package/lib/selectors/index.d.ts +69 -27
- package/lib/utils/index.d.cts +74 -29
- package/lib/utils/index.d.ts +74 -29
- package/package.json +7 -7
- package/src/behavior-actions/behavior.action.insert.block.ts +1 -1
- package/src/behavior-actions/behavior.action.split.block.ts +1 -1
- package/src/behavior-actions/behavior.guards.ts +1 -1
- package/src/behaviors/behavior.core.decorators.ts +4 -4
- package/src/behaviors/behavior.core.insert-break.ts +4 -4
- package/src/behaviors/behavior.decorator-pair.ts +1 -1
- package/src/behaviors/behavior.links.ts +1 -1
- package/src/behaviors/behavior.markdown.ts +1 -1
- package/src/behaviors/behavior.perform-event.ts +1 -1
- package/src/converters/converter.portable-text.deserialize.test.ts +2 -3
- package/src/converters/converter.text-html.deserialize.test.ts +62 -5
- package/src/converters/converter.text-html.serialize.test.ts +9 -5
- package/src/converters/converter.text-html.ts +66 -64
- package/src/converters/converter.text-plain.test.ts +9 -4
- package/src/converters/converter.text-plain.ts +91 -87
- package/src/converters/converters.core.ts +13 -8
- package/src/editor/Editable.tsx +10 -5
- package/src/editor/PortableTextEditor.tsx +5 -5
- package/src/editor/__tests__/PortableTextEditorTester.tsx +4 -3
- package/src/editor/__tests__/insert-block.test.tsx +10 -10
- package/src/editor/__tests__/self-solving.test.tsx +2 -2
- package/src/editor/components/Synchronizer.tsx +1 -1
- package/src/editor/create-editor.ts +51 -18
- package/src/editor/editor-machine.ts +1 -1
- package/src/editor/{define-schema.ts → editor-schema.ts} +114 -5
- package/src/editor/editor-snapshot.ts +1 -1
- package/src/editor/get-active-decorators.ts +2 -2
- package/src/editor/{create-editor-schema.ts → legacy-schema.ts} +3 -3
- package/src/editor/mutation-machine.ts +1 -1
- package/src/editor/plugins/createWithObjectKeys.ts +6 -9
- package/src/editor/plugins/createWithPatches.ts +12 -11
- package/src/editor/plugins/createWithPortableTextBlockStyle.ts +2 -6
- package/src/editor/plugins/createWithPortableTextMarkModel.ts +15 -12
- package/src/editor/plugins/createWithSchemaTypes.ts +24 -16
- package/src/editor/plugins/createWithUndoRedo.ts +3 -4
- package/src/editor/plugins/createWithUtils.ts +12 -10
- package/src/editor/plugins/with-plugins.ts +5 -15
- package/src/editor/range-decorations-machine.ts +1 -1
- package/src/editor/sync-machine.ts +1 -1
- package/src/index.ts +2 -2
- package/src/internal-utils/__tests__/operationToPatches.test.ts +12 -10
- package/src/internal-utils/__tests__/patchToOperations.test.ts +3 -2
- package/src/internal-utils/__tests__/values.test.ts +3 -2
- package/src/internal-utils/applyPatch.ts +7 -9
- package/src/internal-utils/create-test-snapshot.ts +1 -1
- package/src/internal-utils/drag-selection.test.ts +1 -1
- package/src/internal-utils/operationToPatches.ts +4 -6
- package/src/internal-utils/parse-blocks.test.ts +1 -1
- package/src/internal-utils/parse-blocks.ts +8 -7
- package/src/internal-utils/slate-children-to-blocks.ts +1 -1
- package/src/internal-utils/slate-utils.ts +1 -1
- package/src/internal-utils/validateValue.ts +4 -6
- package/src/internal-utils/values.ts +5 -5
- package/src/plugins/plugin.decorator-shortcut.ts +1 -1
- package/src/plugins/plugin.markdown.test.tsx +1 -1
- package/src/plugins/plugin.markdown.tsx +1 -1
- package/src/selectors/selector.get-selection-text.test.ts +1 -1
- package/src/selectors/selector.get-trimmed-selection.test.ts +1 -1
package/lib/index.d.cts
CHANGED
|
@@ -64,7 +64,6 @@ import {
|
|
|
64
64
|
Values,
|
|
65
65
|
} from 'xstate'
|
|
66
66
|
import {GuardArgs} from 'xstate/guards'
|
|
67
|
-
import {PortableTextMemberSchemaTypes as PortableTextMemberSchemaTypes_2} from '..'
|
|
68
67
|
|
|
69
68
|
declare type AbstractBehaviorEvent =
|
|
70
69
|
| {
|
|
@@ -1455,7 +1454,7 @@ declare const editorMachine: StateMachine<
|
|
|
1455
1454
|
converters: Set<Converter>
|
|
1456
1455
|
keyGenerator: () => string
|
|
1457
1456
|
pendingEvents: never[]
|
|
1458
|
-
schema:
|
|
1457
|
+
schema: EditorSchema
|
|
1459
1458
|
selection: null
|
|
1460
1459
|
initialReadOnly: boolean
|
|
1461
1460
|
maxBlocks: number | undefined
|
|
@@ -4965,7 +4964,65 @@ export declare type EditorProviderProps = {
|
|
|
4965
4964
|
/**
|
|
4966
4965
|
* @public
|
|
4967
4966
|
*/
|
|
4968
|
-
export declare type EditorSchema =
|
|
4967
|
+
export declare type EditorSchema = {
|
|
4968
|
+
annotations: ReadonlyArray<
|
|
4969
|
+
BaseDefinition & {
|
|
4970
|
+
fields: ReadonlyArray<{
|
|
4971
|
+
name: string
|
|
4972
|
+
type: string
|
|
4973
|
+
}>
|
|
4974
|
+
}
|
|
4975
|
+
>
|
|
4976
|
+
block: {
|
|
4977
|
+
name: string
|
|
4978
|
+
}
|
|
4979
|
+
blockObjects: ReadonlyArray<
|
|
4980
|
+
BaseDefinition & {
|
|
4981
|
+
fields: ReadonlyArray<{
|
|
4982
|
+
name: string
|
|
4983
|
+
type: string
|
|
4984
|
+
}>
|
|
4985
|
+
}
|
|
4986
|
+
>
|
|
4987
|
+
decorators: ReadonlyArray<
|
|
4988
|
+
BaseDefinition & {
|
|
4989
|
+
/**
|
|
4990
|
+
* @deprecated
|
|
4991
|
+
* Use `name` instead
|
|
4992
|
+
*/
|
|
4993
|
+
value: string
|
|
4994
|
+
}
|
|
4995
|
+
>
|
|
4996
|
+
inlineObjects: ReadonlyArray<
|
|
4997
|
+
BaseDefinition & {
|
|
4998
|
+
fields: ReadonlyArray<{
|
|
4999
|
+
name: string
|
|
5000
|
+
type: string
|
|
5001
|
+
}>
|
|
5002
|
+
}
|
|
5003
|
+
>
|
|
5004
|
+
span: {
|
|
5005
|
+
name: string
|
|
5006
|
+
}
|
|
5007
|
+
styles: ReadonlyArray<
|
|
5008
|
+
BaseDefinition & {
|
|
5009
|
+
/**
|
|
5010
|
+
* @deprecated
|
|
5011
|
+
* Use `name` instead
|
|
5012
|
+
*/
|
|
5013
|
+
value: string
|
|
5014
|
+
}
|
|
5015
|
+
>
|
|
5016
|
+
lists: ReadonlyArray<
|
|
5017
|
+
BaseDefinition & {
|
|
5018
|
+
/**
|
|
5019
|
+
* @deprecated
|
|
5020
|
+
* Use `name` instead
|
|
5021
|
+
*/
|
|
5022
|
+
value: string
|
|
5023
|
+
}
|
|
5024
|
+
>
|
|
5025
|
+
}
|
|
4969
5026
|
|
|
4970
5027
|
/** @public */
|
|
4971
5028
|
export declare type EditorSelection = {
|
|
@@ -5153,6 +5210,7 @@ declare type InternalEditor = Editor & {
|
|
|
5153
5210
|
editable: EditableAPI
|
|
5154
5211
|
editorActor: EditorActor
|
|
5155
5212
|
slateEditor: SlateEditor
|
|
5213
|
+
legacySchema: PortableTextMemberSchemaTypes
|
|
5156
5214
|
}
|
|
5157
5215
|
}
|
|
5158
5216
|
|
package/lib/index.d.ts
CHANGED
|
@@ -64,7 +64,6 @@ import {
|
|
|
64
64
|
Values,
|
|
65
65
|
} from 'xstate'
|
|
66
66
|
import {GuardArgs} from 'xstate/guards'
|
|
67
|
-
import {PortableTextMemberSchemaTypes as PortableTextMemberSchemaTypes_2} from '..'
|
|
68
67
|
|
|
69
68
|
declare type AbstractBehaviorEvent =
|
|
70
69
|
| {
|
|
@@ -1455,7 +1454,7 @@ declare const editorMachine: StateMachine<
|
|
|
1455
1454
|
converters: Set<Converter>
|
|
1456
1455
|
keyGenerator: () => string
|
|
1457
1456
|
pendingEvents: never[]
|
|
1458
|
-
schema:
|
|
1457
|
+
schema: EditorSchema
|
|
1459
1458
|
selection: null
|
|
1460
1459
|
initialReadOnly: boolean
|
|
1461
1460
|
maxBlocks: number | undefined
|
|
@@ -4965,7 +4964,65 @@ export declare type EditorProviderProps = {
|
|
|
4965
4964
|
/**
|
|
4966
4965
|
* @public
|
|
4967
4966
|
*/
|
|
4968
|
-
export declare type EditorSchema =
|
|
4967
|
+
export declare type EditorSchema = {
|
|
4968
|
+
annotations: ReadonlyArray<
|
|
4969
|
+
BaseDefinition & {
|
|
4970
|
+
fields: ReadonlyArray<{
|
|
4971
|
+
name: string
|
|
4972
|
+
type: string
|
|
4973
|
+
}>
|
|
4974
|
+
}
|
|
4975
|
+
>
|
|
4976
|
+
block: {
|
|
4977
|
+
name: string
|
|
4978
|
+
}
|
|
4979
|
+
blockObjects: ReadonlyArray<
|
|
4980
|
+
BaseDefinition & {
|
|
4981
|
+
fields: ReadonlyArray<{
|
|
4982
|
+
name: string
|
|
4983
|
+
type: string
|
|
4984
|
+
}>
|
|
4985
|
+
}
|
|
4986
|
+
>
|
|
4987
|
+
decorators: ReadonlyArray<
|
|
4988
|
+
BaseDefinition & {
|
|
4989
|
+
/**
|
|
4990
|
+
* @deprecated
|
|
4991
|
+
* Use `name` instead
|
|
4992
|
+
*/
|
|
4993
|
+
value: string
|
|
4994
|
+
}
|
|
4995
|
+
>
|
|
4996
|
+
inlineObjects: ReadonlyArray<
|
|
4997
|
+
BaseDefinition & {
|
|
4998
|
+
fields: ReadonlyArray<{
|
|
4999
|
+
name: string
|
|
5000
|
+
type: string
|
|
5001
|
+
}>
|
|
5002
|
+
}
|
|
5003
|
+
>
|
|
5004
|
+
span: {
|
|
5005
|
+
name: string
|
|
5006
|
+
}
|
|
5007
|
+
styles: ReadonlyArray<
|
|
5008
|
+
BaseDefinition & {
|
|
5009
|
+
/**
|
|
5010
|
+
* @deprecated
|
|
5011
|
+
* Use `name` instead
|
|
5012
|
+
*/
|
|
5013
|
+
value: string
|
|
5014
|
+
}
|
|
5015
|
+
>
|
|
5016
|
+
lists: ReadonlyArray<
|
|
5017
|
+
BaseDefinition & {
|
|
5018
|
+
/**
|
|
5019
|
+
* @deprecated
|
|
5020
|
+
* Use `name` instead
|
|
5021
|
+
*/
|
|
5022
|
+
value: string
|
|
5023
|
+
}
|
|
5024
|
+
>
|
|
5025
|
+
}
|
|
4969
5026
|
|
|
4970
5027
|
/** @public */
|
|
4971
5028
|
export declare type EditorSelection = {
|
|
@@ -5153,6 +5210,7 @@ declare type InternalEditor = Editor & {
|
|
|
5153
5210
|
editable: EditableAPI
|
|
5154
5211
|
editorActor: EditorActor
|
|
5155
5212
|
slateEditor: SlateEditor
|
|
5213
|
+
legacySchema: PortableTextMemberSchemaTypes
|
|
5156
5214
|
}
|
|
5157
5215
|
}
|
|
5158
5216
|
|
package/lib/index.js
CHANGED
|
@@ -1081,9 +1081,9 @@ const debug = debugWithName("component:Editable"), PLACEHOLDER_STYLE = {
|
|
|
1081
1081
|
const withHotKeys = createWithHotkeys(editorActor, portableTextEditor, hotkeys);
|
|
1082
1082
|
return debug("Editable is in edit mode"), withHotKeys(slateEditor);
|
|
1083
1083
|
}, [editorActor, hotkeys, portableTextEditor, readOnly, slateEditor]);
|
|
1084
|
-
const renderElement = useCallback((eProps) => /* @__PURE__ */ jsx(Element$1, { ...eProps, readOnly, renderBlock, renderChild, renderListItem, renderStyle, schemaTypes, spellCheck }), [
|
|
1084
|
+
const renderElement = useCallback((eProps) => /* @__PURE__ */ jsx(Element$1, { ...eProps, readOnly, renderBlock, renderChild, renderListItem, renderStyle, schemaTypes: portableTextEditor.schemaTypes, spellCheck }), [portableTextEditor, spellCheck, readOnly, renderBlock, renderChild, renderListItem, renderStyle]), renderLeaf = useCallback((lProps) => {
|
|
1085
1085
|
if (lProps.leaf._type === "span") {
|
|
1086
|
-
let rendered = /* @__PURE__ */ jsx(Leaf, { ...lProps, editorActor, schemaTypes, renderAnnotation, renderChild, renderDecorator, readOnly });
|
|
1086
|
+
let rendered = /* @__PURE__ */ jsx(Leaf, { ...lProps, editorActor, schemaTypes: portableTextEditor.schemaTypes, renderAnnotation, renderChild, renderDecorator, readOnly });
|
|
1087
1087
|
if (renderPlaceholder && lProps.leaf.placeholder && lProps.text.text === "")
|
|
1088
1088
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1089
1089
|
/* @__PURE__ */ jsx("span", { style: PLACEHOLDER_STYLE, contentEditable: !1, children: renderPlaceholder() }),
|
|
@@ -1095,7 +1095,7 @@ const debug = debugWithName("component:Editable"), PLACEHOLDER_STYLE = {
|
|
|
1095
1095
|
})), rendered;
|
|
1096
1096
|
}
|
|
1097
1097
|
return lProps.children;
|
|
1098
|
-
}, [editorActor, readOnly, renderAnnotation, renderChild, renderDecorator, renderPlaceholder
|
|
1098
|
+
}, [editorActor, portableTextEditor.schemaTypes, readOnly, renderAnnotation, renderChild, renderDecorator, renderPlaceholder]), restoreSelectionFromProps = useCallback(() => {
|
|
1099
1099
|
if (propsSelection) {
|
|
1100
1100
|
debug(`Selection from props ${JSON.stringify(propsSelection)}`);
|
|
1101
1101
|
const normalizedSelection = normalizeSelection(propsSelection, fromSlateValue(slateEditor.children, blockTypeName));
|
|
@@ -1188,7 +1188,7 @@ const debug = debugWithName("component:Editable"), PLACEHOLDER_STYLE = {
|
|
|
1188
1188
|
event: event_1,
|
|
1189
1189
|
value,
|
|
1190
1190
|
path,
|
|
1191
|
-
schemaTypes
|
|
1191
|
+
schemaTypes: portableTextEditor.schemaTypes
|
|
1192
1192
|
});
|
|
1193
1193
|
if (onPasteResult || !slateEditor.selection)
|
|
1194
1194
|
event_1.preventDefault(), editorActor.send({
|