1
0
mirror of https://github.com/ianstormtaylor/slate.git synced 2025-08-13 02:34:05 +02:00

Version Packages (#5397)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2023-04-20 05:30:24 -07:00
committed by GitHub
parent 3243c7e34a
commit 33a1e9b923
10 changed files with 179 additions and 175 deletions

View File

@@ -1,5 +0,0 @@
---
'slate-react': patch
---
Interface methods JSDoc should now work on IDEs.

View File

@@ -1,156 +0,0 @@
---
'slate': minor
---
New Features:
- All **`Editor`** and **`Transforms`** methods now call **`editor`** methods. For example: **`Transforms.insertBreak`** now calls **`editor.insertBreak`**.
- **`editor.setNodes`** now calls **`setNodes`**, an exported function that implements the default editor behavior.
- You can now override **`editor.setNodes`** with your own implementation.
- You can use either **`Editor.setNodes`** or **`editor.setNodes`** in your code, and both will use your overridden behavior.
The **`editor`** object now has many more methods:
```tsx
export interface BaseEditor {
// Core state.
children: Descendant[]
selection: Selection
operations: Operation[]
marks: EditorMarks | null
// Overrideable core methods.
apply: (operation: Operation) => void
getDirtyPaths: (operation: Operation) => Path[]
getFragment: () => Descendant[]
isElementReadOnly: (element: Element) => boolean
isSelectable: (element: Element) => boolean
markableVoid: (element: Element) => boolean
normalizeNode: (entry: NodeEntry, options?: { operation?: Operation }) => void
onChange: (options?: { operation?: Operation }) => void
shouldNormalize: ({
iteration,
dirtyPaths,
operation,
}: {
iteration: number
initialDirtyPathsLength: number
dirtyPaths: Path[]
operation?: Operation
}) => boolean
// Overrideable core transforms.
addMark: OmitFirstArg<typeof Editor.addMark>
collapse: OmitFirstArg<typeof Transforms.collapse>
delete: OmitFirstArg<typeof Transforms.delete>
deleteBackward: (unit: TextUnit) => void
deleteForward: (unit: TextUnit) => void
deleteFragment: OmitFirstArg<typeof Editor.deleteFragment>
deselect: OmitFirstArg<typeof Transforms.deselect>
insertBreak: OmitFirstArg<typeof Editor.insertBreak>
insertFragment: OmitFirstArg<typeof Transforms.insertFragment>
insertNode: OmitFirstArg<typeof Editor.insertNode>
insertNodes: OmitFirstArg<typeof Transforms.insertNodes>
insertSoftBreak: OmitFirstArg<typeof Editor.insertSoftBreak>
insertText: OmitFirstArg<typeof Transforms.insertText>
liftNodes: OmitFirstArg<typeof Transforms.liftNodes>
mergeNodes: OmitFirstArg<typeof Transforms.mergeNodes>
move: OmitFirstArg<typeof Transforms.move>
moveNodes: OmitFirstArg<typeof Transforms.moveNodes>
normalize: OmitFirstArg<typeof Editor.normalize>
removeMark: OmitFirstArg<typeof Editor.removeMark>
removeNodes: OmitFirstArg<typeof Transforms.removeNodes>
select: OmitFirstArg<typeof Transforms.select>
setNodes: <T extends Node>(
props: Partial<T>,
options?: {
at?: Location
match?: NodeMatch<T>
mode?: MaximizeMode
hanging?: boolean
split?: boolean
voids?: boolean
compare?: PropsCompare
merge?: PropsMerge
}
) => void
setNormalizing: OmitFirstArg<typeof Editor.setNormalizing>
setPoint: OmitFirstArg<typeof Transforms.setPoint>
setSelection: OmitFirstArg<typeof Transforms.setSelection>
splitNodes: OmitFirstArg<typeof Transforms.splitNodes>
unsetNodes: OmitFirstArg<typeof Transforms.unsetNodes>
unwrapNodes: OmitFirstArg<typeof Transforms.unwrapNodes>
withoutNormalizing: OmitFirstArg<typeof Editor.withoutNormalizing>
wrapNodes: OmitFirstArg<typeof Transforms.wrapNodes>
// Overrideable core queries.
above: <T extends Ancestor>(
options?: EditorAboveOptions<T>
) => NodeEntry<T> | undefined
after: OmitFirstArg<typeof Editor.after>
before: OmitFirstArg<typeof Editor.before>
edges: OmitFirstArg<typeof Editor.edges>
elementReadOnly: OmitFirstArg<typeof Editor.elementReadOnly>
end: OmitFirstArg<typeof Editor.end>
first: OmitFirstArg<typeof Editor.first>
fragment: OmitFirstArg<typeof Editor.fragment>
getMarks: OmitFirstArg<typeof Editor.marks>
hasBlocks: OmitFirstArg<typeof Editor.hasBlocks>
hasInlines: OmitFirstArg<typeof Editor.hasInlines>
hasPath: OmitFirstArg<typeof Editor.hasPath>
hasTexts: OmitFirstArg<typeof Editor.hasTexts>
isBlock: OmitFirstArg<typeof Editor.isBlock>
isEdge: OmitFirstArg<typeof Editor.isEdge>
isEmpty: OmitFirstArg<typeof Editor.isEmpty>
isEnd: OmitFirstArg<typeof Editor.isEnd>
isInline: OmitFirstArg<typeof Editor.isInline>
isNormalizing: OmitFirstArg<typeof Editor.isNormalizing>
isStart: OmitFirstArg<typeof Editor.isStart>
isVoid: OmitFirstArg<typeof Editor.isVoid>
last: OmitFirstArg<typeof Editor.last>
leaf: OmitFirstArg<typeof Editor.leaf>
levels: <T extends Node>(
options?: EditorLevelsOptions<T>
) => Generator<NodeEntry<T>, void, undefined>
next: <T extends Descendant>(
options?: EditorNextOptions<T>
) => NodeEntry<T> | undefined
node: OmitFirstArg<typeof Editor.node>
nodes: <T extends Node>(
options?: EditorNodesOptions<T>
) => Generator<NodeEntry<T>, void, undefined>
parent: OmitFirstArg<typeof Editor.parent>
path: OmitFirstArg<typeof Editor.path>
pathRef: OmitFirstArg<typeof Editor.pathRef>
pathRefs: OmitFirstArg<typeof Editor.pathRefs>
point: OmitFirstArg<typeof Editor.point>
pointRef: OmitFirstArg<typeof Editor.pointRef>
pointRefs: OmitFirstArg<typeof Editor.pointRefs>
positions: OmitFirstArg<typeof Editor.positions>
previous: <T extends Node>(
options?: EditorPreviousOptions<T>
) => NodeEntry<T> | undefined
range: OmitFirstArg<typeof Editor.range>
rangeRef: OmitFirstArg<typeof Editor.rangeRef>
rangeRefs: OmitFirstArg<typeof Editor.rangeRefs>
start: OmitFirstArg<typeof Editor.start>
string: OmitFirstArg<typeof Editor.string>
unhangRange: OmitFirstArg<typeof Editor.unhangRange>
void: OmitFirstArg<typeof Editor.void>
}
```
Note:
- None of these method implementations have changed.
- **`getMarks`** is an exception, as there is already **`editor.marks`** that stores the current marks.
- **`Transforms.insertText`** has not been moved to **`editor`** yet: there is already an **`editor.insertText`** method with extended behavior. This may change in a future release, but this release is trying to avoid any breaking changes.
- **`editor.insertText`** has a new argument (third): **`options?: TextInsertTextOptions`** to match **`Transforms.insertText`**.
Bug Fixes:
- Moving JSDoc's to the interface type to allow IDEs access to the interface methods.

View File

@@ -1,5 +0,0 @@
---
'slate': patch
---
Correct core normalization that could cause wrong nodes to be removed

View File

@@ -19,7 +19,7 @@
"devDependencies": {
"@babel/runtime": "^7.7.4",
"lodash": "^4.17.21",
"slate": "^0.93.0",
"slate": "^0.94.0",
"slate-hyperscript": "^0.81.3",
"source-map-loader": "^4.0.0"
},

View File

@@ -18,7 +18,7 @@
},
"devDependencies": {
"@babel/runtime": "^7.7.4",
"slate": "^0.93.0",
"slate": "^0.94.0",
"source-map-loader": "^4.0.0"
},
"peerDependencies": {

View File

@@ -1,5 +1,11 @@
# slate-react
## 0.94.0
### Patch Changes
- [#5307](https://github.com/ianstormtaylor/slate/pull/5307) [`3243c7e3`](https://github.com/ianstormtaylor/slate/commit/3243c7e34ac2602618c67c88b1b7df07fde1c2ec) Thanks [@zbeyens](https://github.com/zbeyens)! - Interface methods JSDoc should now work on IDEs.
## 0.93.0
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "slate-react",
"description": "Tools for building completely customizable richtext editors with React.",
"version": "0.93.0",
"version": "0.94.0",
"license": "MIT",
"repository": "git://github.com/ianstormtaylor/slate.git",
"main": "dist/index.js",
@@ -35,7 +35,7 @@
"react": ">=16.8.0",
"react-dom": ">=16.8.0",
"react-test-renderer": ">=16.8.0",
"slate": "^0.93.0",
"slate": "^0.94.0",
"slate-hyperscript": "^0.81.3",
"source-map-loader": "^4.0.0"
},

View File

@@ -1,5 +1,169 @@
# slate
## 0.94.0
### Minor Changes
- [#5307](https://github.com/ianstormtaylor/slate/pull/5307) [`3243c7e3`](https://github.com/ianstormtaylor/slate/commit/3243c7e34ac2602618c67c88b1b7df07fde1c2ec) Thanks [@zbeyens](https://github.com/zbeyens)! - New Features:
- All **`Editor`** and **`Transforms`** methods now call **`editor`** methods. For example: **`Transforms.insertBreak`** now calls **`editor.insertBreak`**.
- **`editor.setNodes`** now calls **`setNodes`**, an exported function that implements the default editor behavior.
- You can now override **`editor.setNodes`** with your own implementation.
- You can use either **`Editor.setNodes`** or **`editor.setNodes`** in your code, and both will use your overridden behavior.
The **`editor`** object now has many more methods:
```tsx
export interface BaseEditor {
// Core state.
children: Descendant[]
selection: Selection
operations: Operation[]
marks: EditorMarks | null
// Overrideable core methods.
apply: (operation: Operation) => void
getDirtyPaths: (operation: Operation) => Path[]
getFragment: () => Descendant[]
isElementReadOnly: (element: Element) => boolean
isSelectable: (element: Element) => boolean
markableVoid: (element: Element) => boolean
normalizeNode: (
entry: NodeEntry,
options?: { operation?: Operation }
) => void
onChange: (options?: { operation?: Operation }) => void
shouldNormalize: ({
iteration,
dirtyPaths,
operation,
}: {
iteration: number
initialDirtyPathsLength: number
dirtyPaths: Path[]
operation?: Operation
}) => boolean
// Overrideable core transforms.
addMark: OmitFirstArg<typeof Editor.addMark>
collapse: OmitFirstArg<typeof Transforms.collapse>
delete: OmitFirstArg<typeof Transforms.delete>
deleteBackward: (unit: TextUnit) => void
deleteForward: (unit: TextUnit) => void
deleteFragment: OmitFirstArg<typeof Editor.deleteFragment>
deselect: OmitFirstArg<typeof Transforms.deselect>
insertBreak: OmitFirstArg<typeof Editor.insertBreak>
insertFragment: OmitFirstArg<typeof Transforms.insertFragment>
insertNode: OmitFirstArg<typeof Editor.insertNode>
insertNodes: OmitFirstArg<typeof Transforms.insertNodes>
insertSoftBreak: OmitFirstArg<typeof Editor.insertSoftBreak>
insertText: OmitFirstArg<typeof Transforms.insertText>
liftNodes: OmitFirstArg<typeof Transforms.liftNodes>
mergeNodes: OmitFirstArg<typeof Transforms.mergeNodes>
move: OmitFirstArg<typeof Transforms.move>
moveNodes: OmitFirstArg<typeof Transforms.moveNodes>
normalize: OmitFirstArg<typeof Editor.normalize>
removeMark: OmitFirstArg<typeof Editor.removeMark>
removeNodes: OmitFirstArg<typeof Transforms.removeNodes>
select: OmitFirstArg<typeof Transforms.select>
setNodes: <T extends Node>(
props: Partial<T>,
options?: {
at?: Location
match?: NodeMatch<T>
mode?: MaximizeMode
hanging?: boolean
split?: boolean
voids?: boolean
compare?: PropsCompare
merge?: PropsMerge
}
) => void
setNormalizing: OmitFirstArg<typeof Editor.setNormalizing>
setPoint: OmitFirstArg<typeof Transforms.setPoint>
setSelection: OmitFirstArg<typeof Transforms.setSelection>
splitNodes: OmitFirstArg<typeof Transforms.splitNodes>
unsetNodes: OmitFirstArg<typeof Transforms.unsetNodes>
unwrapNodes: OmitFirstArg<typeof Transforms.unwrapNodes>
withoutNormalizing: OmitFirstArg<typeof Editor.withoutNormalizing>
wrapNodes: OmitFirstArg<typeof Transforms.wrapNodes>
// Overrideable core queries.
above: <T extends Ancestor>(
options?: EditorAboveOptions<T>
) => NodeEntry<T> | undefined
after: OmitFirstArg<typeof Editor.after>
before: OmitFirstArg<typeof Editor.before>
edges: OmitFirstArg<typeof Editor.edges>
elementReadOnly: OmitFirstArg<typeof Editor.elementReadOnly>
end: OmitFirstArg<typeof Editor.end>
first: OmitFirstArg<typeof Editor.first>
fragment: OmitFirstArg<typeof Editor.fragment>
getMarks: OmitFirstArg<typeof Editor.marks>
hasBlocks: OmitFirstArg<typeof Editor.hasBlocks>
hasInlines: OmitFirstArg<typeof Editor.hasInlines>
hasPath: OmitFirstArg<typeof Editor.hasPath>
hasTexts: OmitFirstArg<typeof Editor.hasTexts>
isBlock: OmitFirstArg<typeof Editor.isBlock>
isEdge: OmitFirstArg<typeof Editor.isEdge>
isEmpty: OmitFirstArg<typeof Editor.isEmpty>
isEnd: OmitFirstArg<typeof Editor.isEnd>
isInline: OmitFirstArg<typeof Editor.isInline>
isNormalizing: OmitFirstArg<typeof Editor.isNormalizing>
isStart: OmitFirstArg<typeof Editor.isStart>
isVoid: OmitFirstArg<typeof Editor.isVoid>
last: OmitFirstArg<typeof Editor.last>
leaf: OmitFirstArg<typeof Editor.leaf>
levels: <T extends Node>(
options?: EditorLevelsOptions<T>
) => Generator<NodeEntry<T>, void, undefined>
next: <T extends Descendant>(
options?: EditorNextOptions<T>
) => NodeEntry<T> | undefined
node: OmitFirstArg<typeof Editor.node>
nodes: <T extends Node>(
options?: EditorNodesOptions<T>
) => Generator<NodeEntry<T>, void, undefined>
parent: OmitFirstArg<typeof Editor.parent>
path: OmitFirstArg<typeof Editor.path>
pathRef: OmitFirstArg<typeof Editor.pathRef>
pathRefs: OmitFirstArg<typeof Editor.pathRefs>
point: OmitFirstArg<typeof Editor.point>
pointRef: OmitFirstArg<typeof Editor.pointRef>
pointRefs: OmitFirstArg<typeof Editor.pointRefs>
positions: OmitFirstArg<typeof Editor.positions>
previous: <T extends Node>(
options?: EditorPreviousOptions<T>
) => NodeEntry<T> | undefined
range: OmitFirstArg<typeof Editor.range>
rangeRef: OmitFirstArg<typeof Editor.rangeRef>
rangeRefs: OmitFirstArg<typeof Editor.rangeRefs>
start: OmitFirstArg<typeof Editor.start>
string: OmitFirstArg<typeof Editor.string>
unhangRange: OmitFirstArg<typeof Editor.unhangRange>
void: OmitFirstArg<typeof Editor.void>
}
```
Note:
- None of these method implementations have changed.
- **`getMarks`** is an exception, as there is already **`editor.marks`** that stores the current marks.
- **`Transforms.insertText`** has not been moved to **`editor`** yet: there is already an **`editor.insertText`** method with extended behavior. This may change in a future release, but this release is trying to avoid any breaking changes.
- **`editor.insertText`** has a new argument (third): **`options?: TextInsertTextOptions`** to match **`Transforms.insertText`**.
Bug Fixes:
- Moving JSDoc's to the interface type to allow IDEs access to the interface methods.
### Patch Changes
- [#5396](https://github.com/ianstormtaylor/slate/pull/5396) [`bc945eb1`](https://github.com/ianstormtaylor/slate/commit/bc945eb12c612ef2688869d256416c8e37e32c07) Thanks [@Moerphy](https://github.com/Moerphy)! - Correct core normalization that could cause wrong nodes to be removed
## 0.93.0
### Minor Changes

View File

@@ -1,7 +1,7 @@
{
"name": "slate",
"description": "A completely customizable framework for building rich text editors.",
"version": "0.93.0",
"version": "0.94.0",
"license": "MIT",
"repository": "git://github.com/ianstormtaylor/slate.git",
"main": "dist/index.js",

View File

@@ -13820,7 +13820,7 @@ resolve@^2.0.0-next.3:
"@babel/runtime": ^7.7.4
is-plain-object: ^5.0.0
lodash: ^4.17.21
slate: ^0.93.0
slate: ^0.94.0
slate-hyperscript: ^0.81.3
source-map-loader: ^4.0.0
peerDependencies:
@@ -13834,7 +13834,7 @@ resolve@^2.0.0-next.3:
dependencies:
"@babel/runtime": ^7.7.4
is-plain-object: ^5.0.0
slate: ^0.93.0
slate: ^0.94.0
source-map-loader: ^4.0.0
peerDependencies:
slate: ">=0.65.3"
@@ -13946,7 +13946,7 @@ resolve@^2.0.0-next.3:
react-dom: ">=16.8.0"
react-test-renderer: ">=16.8.0"
scroll-into-view-if-needed: ^2.2.20
slate: ^0.93.0
slate: ^0.94.0
slate-hyperscript: ^0.81.3
source-map-loader: ^4.0.0
tiny-invariant: 1.0.6
@@ -13957,7 +13957,7 @@ resolve@^2.0.0-next.3:
languageName: unknown
linkType: soft
"slate@^0.93.0, slate@workspace:*, slate@workspace:packages/slate":
"slate@^0.94.0, slate@workspace:*, slate@workspace:packages/slate":
version: 0.0.0-use.local
resolution: "slate@workspace:packages/slate"
dependencies: