npm @lexical/react 0.18.0
v0.18.0

latest release: 0.18.1-nightly.20240927.0
13 hours ago

Highlights

Highlights since 0.17.1

Core editor:

  • 🆕 Iterable $dfs
    #6664

  • 🆕 exportDOM function supports document fragment exports
    #6641

  • ✅ Fix issue where cmd/ctrl + left arrow after a tab character would cause exception
    #6588

Markdown:

  • 🆕 shouldMergeAdjacentLines option in $convertFromMarkdownString. If true, merges adjacent lines as per commonmark spec (line1\nline2 -> line1line2). If false (default and current behavior, adjacent lines remain separated by newline, as per GFM (line1\nline2 -> line1\nline2)
    #6608
    #6660
  • 🆕 multiline markdown transformers / mdx support
    #6530
  • 🆕 More flexible TextMatchTransformer api, more fields made optional
    #6651

Link:

  • ✅ Fix removing a link from nodes with children, eg. Mark Node for comments
    #6656

Table:

  • ✅ Fix merged cell related edge cases
    #6607
  • ✅ Fix Table formatting and styling not persisting for empty cells
    #6626
  • ✅ Fix crash in $deleteCellHandler
    #6650
  • ✅ Fix incorrect addition of empty cells on table paste
    #6578
  • ✅ Fix issue where selecting a cell then dragging outside of table would not select entire table
    #6579
  • ✅ Fix Table Cut Event Handling
    #6596
  • 🆕 optional colWidths property to TableNode
    #6625
  • 🆕 Table row striping feature, increases tables visual accessiblity.
    #6547

Selection:

  • 🆕 Expose getStyleObjectFromCss in @lexical/selection
    #6612

Misc:

  • ✅ Check undeclared dependencies in build, declare missing dependencies
    #6574
  • ✅ Fix window is undefined error appears when creating a code node in a headless editor in a nodejs environment
    #6562

What's Changed

  • v0.17.1 by @ivailop7 in #6559
  • [lexical-table] Bug Fix: Add @lexical/clipboard as a direct dependency of @lexical/table by @etrepum in #6571
  • [lexical-react] menu positioning: Unrevert PR6510 but with gating by @potatowagon in #6566
  • [*] Feature: Check undeclared dependencies in build by @etrepum in #6574
  • [lexical-table] feat: Add row striping by @ivailop7 in #6547
  • [lexical-react]: Fix incorrect addition of empty cells on table paste by @Shubhankerism in #6578
  • [lexical-list][lexical-react] Refactor: Create registerList Function Separate from React Shared Utils by @jkjk822 in #6560
  • Fix test results CI path on Windows by @moughxyz in #6585
  • [lexical][lexical-overflow] Refactor: simplified removeText and insertText rewrite (part 1) by @GermanJablo in #6456
  • [lexical-table] Fix Table Cut Event Handling by @ivailop7 in #6596
  • [lexical-markdown][breaking change] Feature: multiline markdown transformers / mdx support by @AlessioGr in #6530
  • Address svelte vulnerability by @potatowagon in #6603
  • Fix issue where cmd/ctrl + left arrow after a tab character would cause exception by @moughxyz in #6588
  • [lexical-table][lexical-playground] Bug Fix: Fix merged cell related edge cases by @etrepum in #6607
  • [lexical-code][breaking change] Bug Fix: explicitly import instead of window. to support code nodes in nodejs by @nadine-nguyen in #6562
  • Multiple update tags by @zurfyx in #6507
  • [lexical-playground] Fix: Poll Option not clickable at some place after checked state by @iamvinayvk in #6609
  • [lexical-markdown] update markdown flow api by @potatowagon in #6615
  • Expose getStyleObjectFromCss in @lexical/selection by @mofoshow in #6612
  • [lexical-markdown] Fix: normalize markdown in $convertFromMarkdownString to comply with CommonMark spec by @GermanJablo in #6608
  • [lexical] Chore: Add more helpful invariants to $applyNodeReplacement by @etrepum in #6567
  • [lexical-markdown] Breaking Change: rename 'multilineElement' to 'multiline-element' by @potatowagon in #6617
  • Bug Fix: Fix issue where selecting a cell then dragging outside of table would not select entire table by @moughxyz in #6579
  • address micromatch vulnerability by @potatowagon in #6616
  • CI: tag flaky test by @potatowagon in #6620
  • [lexical-react] Refactor: Ensure disconnect is called after connection is established in useYjsCollaboration by @smworld01 in #6619
  • Revert "[lexical-markdown] Fix: normalize markdown in $convertFromMarkdownString to comply with CommonMark spec (#6608)" by @potatowagon in #6627
  • [lexical-playground] Bug Fix: Fix table row/column index when resizing merged cells by @patrick-atticus in #6630
  • [lexical-markdown] Fix: normalize markdown in $convertFromMarkdownString to comply with CommonMark spec (2nd try) by @GermanJablo in #6629
  • [lexical-table] Bug: Table formatting and styling not persisting for empty cells by @KatsiarynaDzibrova in #6626
  • [lexical-playground][ExcalidrawNode] Bug Fix: Preserve Excalidraw image dimensions after resizing by @neysanfoo in #6634
  • [lexical-table][lexical-playground] Feature: Add column widths to TableNode by @patrick-atticus in #6625
  • Grammar Issue - Repeated Word by @DocAdam in #6643
  • Allow exporting a document fragment from the exportDOM function by @skopz356 in #6641
  • [lexical-react][lexical-playground] Bug Fix: Workaround for yjs disconnect race in React StrictMode by @etrepum in #6644
  • [lexical-code] Bug Fix: Annotate @lexical/code as having side-effects for Prism by @etrepum in #6652
  • [lexical-markdown] shouldMergeAdjacentLines as an option by @potatowagon in #6642
  • [lexical-playground] Bug Fix: empty code block not focused by @potatowagon in #6649
  • [lexical-table] Bug Fix: Fix crash in $deleteCellHandler by @etrepum in #6650
  • [lexical-markdown]: Refactor: allows omitting certain properties from TextMatchTransformers, adds jsdocs by @AlessioGr in #6651
  • [lexical-playground] Bug Fix: Correct ExcalidrawNode DOM handling for proper resizing by @neysanfoo in #6657
  • [lexical-link] Bug Fix: Removing a link from descendants by @levensta in #6656
  • [lexical-markdown] set shouldMergeAdjacentLines default to be false by @potatowagon in #6660
  • Iterable $dfs by @zurfyx in #6664

New Contributors

Full Changelog: v0.17.1...v0.18.0

Don't miss a new react release

NewReleases is sending notifications on new releases.