1
0
mirror of https://github.com/ianstormtaylor/slate.git synced 2025-01-18 05:59:13 +01:00

273 Commits

Author SHA1 Message Date
github-actions[bot]
a24ddd12cd
Version Packages (#5198)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-11-17 10:59:49 -07:00
Brian Bucknam
e416d00b6c
Fix reporting of marks on a markableVoid (#5186)
Add a few unit tests for Editor.marks(), including one for markable void
that fails
2022-11-17 10:19:46 -07:00
Brian Bucknam
fbc9838fd7
Add hanging option to unsetNodes (#5189)
Since this really just calls setNodes, it seems like it should offer the same options.
Without this change, doing something like applying a mark to the contents of a selected block with `hanging` works one way, while trying to do the reverse (remove the mark) cannot include the "hang".
2022-11-17 10:19:01 -07:00
Brian Bucknam
6909a8f7da
Fix overly-aggressive unhangRange (#5193)
`Editor.unhangRange()` could decide to proceed with an adjustment in cases where the range was not hanging.
Because the algorithm it uses *always* skips over the first node it encounters, this meant the selection was adjusted in non-hanging cases.
This change reduces the chances of an incorrect decision to adjust.
Transforms now pass the `voids` flag to `unhangRange()` as it seems logical that the adjusted range should reflect the intention of the operation.
This fixes a unit test I added for markable voids that had to be skipped because of the `unhangRange()` error, and fixes a couple other long-skipped tests.
2022-11-17 10:18:11 -07:00
Jacob Carpenter
70b64dc8f1
Update isHistory to match new interface. (#5197)
* Update `isHistory` to match new interface.

This change merely preserves the original functionality and does not add verification of Batch's new `selectionBefore` property.

* Add changeset.
2022-11-17 09:21:37 -07:00
Laufey Rut Guðmundsdóttir
06942c6d7e
Fix Copy/pasting void elements is not working (#5121)
* Create new function hasSelectableTarget and use it instead of hasEditableTarget. Fixes Copy/pasting void elements is not working https://github.com/ianstormtaylor/slate/issues/4808

* Add changeset

* Revert a change that made editable void not editable and add cypress test for editing editable void

* Extract methoods into easily overridable with help from @alex-vladut
2022-11-17 09:17:10 -07:00
github-actions[bot]
6efe3d9a22
Version Packages (#5162)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-11-08 10:36:36 -07:00
Brian Bucknam
346f6572fc
Allow void elements to receive marks (#5135)
Some void elements are effectively stand-ins for text, such as with the mentions example,
where the mention element renders the character's name. Users might want to format Void
elements like this with bold, or set their font and size, so `editor.markableVoid` tells
Slate whether or not to apply Marks to the text children of void elements.

- Adds `markableVoid()` as a schema-specific overrideable test.
- Changes `addMark` and `removeMark` so marks can apply to voids. Also changes behavior
of collapsed selection so that if a markable Void is selected, the mark will be applied /
removed.
- Shows how `markableVoid()` can work in the mentions example
2022-11-08 05:38:15 -07:00
Steven.zhong
3c49ff28b3
fix: error getting parentEntry in selection range (#5168)
Co-authored-by: Steven Zhong <stevenzhong@StevendeMacBook-Pro-2.local>
2022-11-08 05:37:53 -07:00
Bryan Haakman
d73026eed2
Change how slate-history handles selection undo (#4717)
* Change how slate-history handles selection undo

* fix test

* fix lint

* cleanup and simplify

* Fix redo by applying undo beforeSelection before applying the redo

* remove unused shouldClear function

* fix lint

* add changeset
2022-10-23 14:02:05 -07:00
github-actions[bot]
2adda79e65
Version Packages (#5159)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-10-19 21:36:54 -07:00
mainhanu
a2184d8657
transform.delete and transform.insertFragment performance optimize (#5137)
* feat: transform.delete and transform.insertFragment performance optimize

* feat: add changeset

* feat: optimize code

Co-authored-by: mainhanu <chijun89@gmail.com>
2022-10-19 05:38:34 -07:00
github-actions[bot]
68c5bda101
Version Packages (#5155)
* Version Packages

* Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Dylan Schiemann <dylan@dojotoolkit.org>
2022-10-15 17:27:57 -07:00
Kevin Simons
a2b6786d19
Ensure the min-height for placeholders is set on the correct editor (#5148)
* Ensure the min-height for placeholders is set on the correct editor

* Add changeset

* Run prettier on changeset

Co-authored-by: Dylan Schiemann <dylan@dojotoolkit.org>
2022-10-12 08:55:48 -07:00
github-actions[bot]
d39943741f
Version Packages (#5145)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-10-03 13:49:59 -07:00
Eric Meier
347865cafc
fix scrollIntoView when selection is collapsed inside mark placeholder (#5143) 2022-10-03 08:00:20 -07:00
github-actions[bot]
e8614d1eec
Version Packages (#5128)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-09-20 14:48:57 -07:00
Laufey Rut Guðmundsdóttir
0eb37e7915
Make it possible to delete block elements with backspace on Chrome and Safari (#5123)
* Make it possible to delete block elements with backspace in chrome and safari

* Add changeset
2022-09-20 14:22:24 -07:00
Eric Meier
341041f0b7
Cleanup and fix insertion placeholder mark compare (#5127) 2022-09-19 05:07:33 -07:00
github-actions[bot]
b64af40cd5
Version Packages (#5114)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-09-10 06:17:16 -07:00
Sihong
9815bdabdd
fix: selection out of sync in readonly mode (#5120) 2022-09-09 20:14:54 -07:00
Kitty Giraudel
8eb1972b5b
Add aria-multiline attribute to textbox editor (#5100)
* Add `aria-multiline` attribute to textbox editor

* Add a changeset
2022-09-05 21:16:10 -07:00
Simon Chan
55b9574097
Use callback-style ref in Element component (#5105)
* Use callback-style ref in Element component

* Add changeset
2022-09-05 21:15:47 -07:00
github-actions[bot]
98afb5abf8
Version Packages (#5086)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-08-22 17:27:28 -07:00
Ivan Voskoboinyk
e18879e728
Fix - withReact type signature (#5091)
* Fix signature of `withReact` function

Fixes #4144

* Fix code to pass type checks

* Add a changeset entry
2022-08-22 16:48:27 -07:00
Eric Meier
50de780b1c
Fix selection handling with slow flush in mark placeholders on android, fix auto-capitalize after placeholder (#5084)
* Fix selection handling with slow flush in mark placeholders on android, fix auto-capitalize after placeholder

* Add changeset

* Correct typos
2022-08-18 05:18:39 -07:00
krenzke
46d113fe1e
Customize get dirty paths (#5069)
* Move getDirtyPaths to the Editor object to allow for customization

* Add changeset for getDirtyPaths customization

Co-authored-by: Tom Krenzke <tom@daybreakhealth.com>
2022-08-17 23:54:21 -07:00
github-actions[bot]
1d5984cccd
Version Packages (#5058)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-07-29 04:08:20 -07:00
Eric Meier
fbab6331a5
Android input handing rewrite (#4988)
* wip

* wip

* wip - fully working without hard marks

* fix editor crashes when inserting/deleting at the edges of marks

* fix various restore dom related crashes

* fix delete with pending changes, zero widths on android, mutation tracking

* track placeholder delete in detached strings, zero-widths

* wip mark placeholders

* get rid of mutation detection in favor of beforeinput

* fix various selection race conditions

* fix various crashes when deleting at the beginning of nodes

* wip diff transforms, selection handling fixes

* cleanup restoreDOM and fix noop restore edge-case

* fix mark placeholders

* fix toSlatePoint edge-case

* properly flush user select with pending changes

* Prevent editor crash when deleting before a non-contenteditable element

* wip markdown shortcut example

* transform pending changes and selection by remote changes, simplify pending actions, handle all input types

* improve change transform, mark(-placeholder) handling

* manually handle gboard bug, fix restoredom nested editor

* fix parent mutation condition

* cleanup, mark placeholder fixes

* mark placeholder fixes

* fix mark placeholder condition

* hide placeholder if we have pending diffs

* cleanup

* yarn install

* add workaround for swiftkey placeholder issue

* cleanup

* add changeset

* feat(slate-react): fix edge-case crash, add androidPendingDiffs, rename scheduleFlushPendingChanges

* flush pending selection on same line without pending changes/action

* keep formatting of pending diffs when adding/removing selection marks

* unref selection ref on unmatching dom state

* improve markdown shortcut example flush trigger to show how a more generic solution would work

* fix markdown shortcut example trigger logic

* fix isInsertAfterMarkPlaceholder logic
2022-07-29 04:04:33 -07:00
github-actions[bot]
f55026f0ba
Version Packages (#5049)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-07-22 16:37:11 -07:00
Bryan Haakman
9bc0b6132a
Change how Slate context updates and introduce useSlateSelection hook (#5041)
* Fix DOM selection sync when there are unexpected rerenders

* Create a useSlateSelection hook and expose it

* update docs

* add changeset

* Undo the useEffect change and add a useSlateValue method

* Use a version counter instead for SlateContext

* comment out layout effect prevention for now

* Undo useV comparison for now

* Change the changeset

* Fix lint

* Remove the useSlateValue hook

* remove some unused imports

* Add useSlateWithV to the docs

* fix changeset lint

* Change changeset to minor instead
2022-07-22 16:27:26 -07:00
Eric Meier
1cc0797f53
Fix toSlatePoint in void nodes with nested editors if children are rendered as the last child (#5054) 2022-07-22 16:27:10 -07:00
Ulion
f13cd6b918
support insertFragment with text/inline + block mixed fragments. (#5018) 2022-07-15 15:22:37 -07:00
github-actions[bot]
22951adf93
Version Packages (#5040)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-07-15 06:18:53 -07:00
Bryan Haakman
11a93e65de
Upgrade next.js to 12 and related packages (#5042)
* Upgrade next.js and source-map-loader

* Add changeset

* Upgrade eslint and typescript

* improve reliability of iframe test

* fix lint
2022-07-15 06:14:18 -07:00
Eric Meier
f96b659755
fix macos accent menu when using arrow keys (#5046) 2022-07-15 06:12:48 -07:00
Eric Meier
0b2e6c79c0
Don't native insert in elements with white-space="pre" containing tab chars (#5045)
* don't native insert in elements with white-space="pre" containing tab chars

* apply suggestions from code review
2022-07-15 06:11:52 -07:00
Taro Shono
736662f808
fix: Path.previous() dose not working when path is null (#5029)
* fix: `Path.previous()` dose not working when path is `null`

* feat: changeset add
2022-07-04 03:05:25 -07:00
github-actions[bot]
0a90e6420c
Version Packages (#5021)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-06-18 07:57:51 -07:00
Thanayut T
9ae372875d
Fix deleteBackward behavior for Thai script (#5015) 2022-06-07 21:34:04 -07:00
github-actions[bot]
1c5639fdd6
Version Packages (#5009)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-06-03 04:16:55 -07:00
Alexander Campbell
fe13a8f9e7
implement scrubber for end user data in exceptions (#4999) 2022-05-26 14:44:22 -07:00
github-actions[bot]
25be3b7031
Version Packages (#4985)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-05-25 17:00:21 -07:00
Steve Marquis
e9ea281595
Go back to previous positions behavior (#5008)
Revert "Fix positions iteration when starting in an inline void node (#4952)"

This reverts commit 9ce0a08c2a8b2b72df14141a06ca08825a66d472.
2022-05-25 16:00:24 -07:00
jasonphillips
92c5730a96
Fix: revert to prior decorations behavior (#5007)
* Revert "Fix child element decorations (#4910)"

This reverts commit 2a8d86f1a40bcc806422e6fe3658ddd810ce73a5.

* Revert "Fix stale decorations (#4876)"

This reverts commit 1b205c087bef2f2360679c46801804d6d30a8139.

* chore: add changeset
2022-05-25 14:01:14 -07:00
V_Lute
d2fc25c3c3
update insertText logic when selection is not collapsed (#4892)
Co-authored-by: zhangpengcheng15 <zhangpengcheng15@jd.com>
2022-05-07 06:14:01 -07:00
github-actions[bot]
1555ac8402
Version Packages (#4982)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-05-04 16:27:40 -07:00
Eric Meier
cb8a551508
Add ReactEditor.isComposing(editor) (#4981)
* Add ReactEditor.isComposing(editor)

* Upate changeset from patch to minor
2022-05-02 12:09:42 -07:00
github-actions[bot]
de325801cf
Version Packages (#4980)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-04-29 19:40:45 -07:00
Eric Meier
6afa9f6a71
Unset isComposing on keydown with isCompsing false (#4979) 2022-04-29 19:15:49 -07:00