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:
committed by
GitHub
parent
3243c7e34a
commit
33a1e9b923
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'slate-react': patch
|
||||
---
|
||||
|
||||
Interface methods JSDoc should now work on IDEs.
|
@@ -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.
|
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'slate': patch
|
||||
---
|
||||
|
||||
Correct core normalization that could cause wrong nodes to be removed
|
@@ -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"
|
||||
},
|
||||
|
@@ -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": {
|
||||
|
@@ -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
|
||||
|
@@ -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"
|
||||
},
|
||||
|
@@ -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
|
||||
|
@@ -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",
|
||||
|
@@ -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:
|
||||
|
Reference in New Issue
Block a user