Lexical is an extensible text editor framework that provides excellent reliability, accessibility and performance.
by facebook5 of 6 standards met
Summary Fixes #6936 Block math equations () created via the toolbar were incorrectly converted to inline equations () when toggling markdown mode via the . Root cause: The transformer's function always returned (inline syntax) regardless of whether the node was a block or inline equation. There was also no transformer to import/match patterns. Changes Added transformer that handles syntax (export and import) Updated transformer to only export when the node is inline () Placed before in so the pattern is matched before the single pattern Before / After Before: inserting a block equation and clicking the Markdown button converted โ (inline) After:** block equations are preserved as when toggling markdown mode
Description This PR aligns with the CommonMark Spec regarding backslash escapes. 1. Improved the text parsing regex to handle backslash escapes more accurately. 2. Added the logic that converted backslashes to hard line breaks. 3. Updated incorrect link test cases and refactored related logic. The following cases can not supported before update of the related functions: Related Issue #7824 Close the related issue after addressed the single line recursive list. Test plan Before https://github.com/user-attachments/assets/6ea83beb-eab1-4429-a331-6db25f2e552c After https://github.com/user-attachments/assets/675ea719-64ba-480f-ad53-df421d658fe9
Repository: facebook/lexical. Description: Lexical is an extensible text editor framework that provides excellent reliability, accessibility and performance. Stars: 23040, Forks: 2100. Primary language: TypeScript. Languages: TypeScript (72.5%), JavaScript (24.8%), CSS (1.8%), MDX (0.7%), HTML (0.1%). License: MIT. Homepage: https://lexical.dev Latest release: v0.41.0 (1w ago). Open PRs: 18, open issues: 532. Last activity: 3h ago. Community health: 87%. Top contributors: trueadm, zurfyx, acywatson, etrepum, fantactuka, thegreatercurve, ivailop7, tylerjbainbridge, potatowagon, Sahejkm and others.
TypeScript
Last 12 weeks ยท 89 commits
Description Continuation of #8187. Previously, clicking a nested table would result in each table firing its own pointerDown handler, and also register their own window.onPointerMove handlers, resulting in difficulty clicking on any cells in nested tables (see "Before"). This PR moves to register just a single pointerDown event for all tables (and associated onPointerMove/onPointerUp). Now these handlers only run against the deepest relevant table. This is not the final PR in this series**. Some additional handling is needed to correctly exit mode, as well as handle dragging between inner-table cells and the parent. Currently no new E2E tests because the previous behaviour is quite hard to test reliably. Test plan Before Observe that clicking and dragging on cells in nested tables often results in the parent table being selected as well (because its onPointerMove handler is firing as well) https://github.com/user-attachments/assets/75a38ae9-14ff-4e90-ab81-7fb264ba643d After https://github.com/user-attachments/assets/c889b47c-c130-471a-876f-107ef8ac2ddc
Description #8097 implemented nested table fitting when inserting tables. However, beyond the initial insertion, it didn't handle the nested table itself changing width (1), or the surrounding cell changing width (2). This PR changes the original implementation to a Node Transform, which handles (1). To handle (2), the simplest approach is to mark all child tables as dirty when a column resize event occurs, so that the transform fires. I tried to do this with a Transform as well, but had issues getting it to terminate. Open to alternative ideas. Test plan Before https://github.com/user-attachments/assets/5074869e-2ca1-471f-9660-13dc3d954919 After https://github.com/user-attachments/assets/4a3a591b-67e4-4a1a-b486-60fb35fad1bc