feat(richtext-lexical): upgrade lexical from 0.27.1 to 0.27.2 (#11706)

This upgrades lexical from 0.27.1 to 0.27.2, and ports over some
relevant changes to the table feature from the lexical playground.
This commit is contained in:
Alessio Gravili
2025-03-17 13:17:40 -06:00
committed by GitHub
parent e0bf505836
commit adb42cbe19
6 changed files with 213 additions and 195 deletions

View File

@@ -351,16 +351,16 @@
]
},
"dependencies": {
"@lexical/headless": "0.27.1",
"@lexical/html": "0.27.1",
"@lexical/link": "0.27.1",
"@lexical/list": "0.27.1",
"@lexical/mark": "0.27.1",
"@lexical/react": "0.27.1",
"@lexical/rich-text": "0.27.1",
"@lexical/selection": "0.27.1",
"@lexical/table": "0.27.1",
"@lexical/utils": "0.27.1",
"@lexical/headless": "0.27.2",
"@lexical/html": "0.27.2",
"@lexical/link": "0.27.2",
"@lexical/list": "0.27.2",
"@lexical/mark": "0.27.2",
"@lexical/react": "0.27.2",
"@lexical/rich-text": "0.27.2",
"@lexical/selection": "0.27.2",
"@lexical/table": "0.27.2",
"@lexical/utils": "0.27.2",
"@payloadcms/translations": "workspace:*",
"@payloadcms/ui": "workspace:*",
"@types/uuid": "10.0.0",
@@ -369,7 +369,7 @@
"dequal": "2.0.3",
"escape-html": "1.0.3",
"jsox": "1.2.121",
"lexical": "0.27.1",
"lexical": "0.27.2",
"mdast-util-from-markdown": "2.0.2",
"mdast-util-mdx-jsx": "3.1.3",
"micromark-extension-mdx-jsx": "3.0.1",
@@ -384,7 +384,7 @@
"@babel/preset-env": "7.26.7",
"@babel/preset-react": "7.26.3",
"@babel/preset-typescript": "7.26.0",
"@lexical/eslint-plugin": "0.27.1",
"@lexical/eslint-plugin": "0.27.2",
"@payloadcms/eslint-config": "workspace:*",
"@types/escape-html": "1.0.4",
"@types/json-schema": "7.0.15",

View File

@@ -734,7 +734,7 @@ function TableCellActionMenuContainer({
useEffect(() => {
// We call the $moveMenu callback every time the selection changes,
// once up front, and once after each mouseUp
// once up front, and once after each pointerup
let timeoutId: ReturnType<typeof setTimeout> | undefined = undefined
const callback = () => {
timeoutId = undefined
@@ -751,10 +751,10 @@ function TableCellActionMenuContainer({
editor.registerCommand(SELECTION_CHANGE_COMMAND, delayedCallback, COMMAND_PRIORITY_CRITICAL),
editor.registerRootListener((rootElement, prevRootElement) => {
if (prevRootElement) {
prevRootElement.removeEventListener('mouseup', delayedCallback)
prevRootElement.removeEventListener('pointerup', delayedCallback)
}
if (rootElement) {
rootElement.addEventListener('mouseup', delayedCallback)
rootElement.addEventListener('pointerup', delayedCallback)
delayedCallback()
}
}),

View File

@@ -0,0 +1,11 @@
.TableCellResizer__resizer {
position: absolute;
touch-action: none;
}
@media (pointer: coarse) {
.TableCellResizer__resizer {
background-color: #adf;
mix-blend-mode: color;
}
}

View File

@@ -24,6 +24,7 @@ import { createPortal } from 'react-dom'
import type { PluginComponent } from '../../../../typesClient.js'
import './index.scss'
import { useEditorConfigContext } from '../../../../../lexical/config/client/EditorConfigProvider.js'
type MousePosition = {
@@ -190,11 +191,17 @@ function TableCellResizer({ editor }: { editor: LexicalEditor }): JSX.Element {
const tableNode = $getTableNodeFromLexicalNodeOrThrow(tableCellNode)
const tableRowIndex =
$getTableRowIndexFromTableCellNode(tableCellNode) + tableCellNode.getRowSpan() - 1
const baseRowIndex = $getTableRowIndexFromTableCellNode(tableCellNode)
const tableRows = tableNode.getChildren()
// Determine if this is a full row merge by checking colspan
const isFullRowMerge = tableCellNode.getColSpan() === tableNode.getColumnCount()
// For full row merges, apply to first row. For partial merges, apply to last row
const tableRowIndex = isFullRowMerge
? baseRowIndex
: baseRowIndex + tableCellNode.getRowSpan() - 1
if (tableRowIndex >= tableRows.length || tableRowIndex < 0) {
throw new Error('Expected table cell to be inside of table row.')
}

View File

@@ -26,7 +26,7 @@ import { richTextValidateHOC } from './validate/index.js'
let checkedDependencies = false
export const lexicalTargetVersion = '0.27.1'
export const lexicalTargetVersion = '0.27.2'
export function lexicalEditor(args?: LexicalEditorProps): LexicalRichTextAdapterProvider {
if (

352
pnpm-lock.yaml generated
View File

@@ -1242,35 +1242,35 @@ importers:
specifier: 2.0.0
version: 2.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
'@lexical/headless':
specifier: 0.27.1
version: 0.27.1
specifier: 0.27.2
version: 0.27.2
'@lexical/html':
specifier: 0.27.1
version: 0.27.1
specifier: 0.27.2
version: 0.27.2
'@lexical/link':
specifier: 0.27.1
version: 0.27.1
specifier: 0.27.2
version: 0.27.2
'@lexical/list':
specifier: 0.27.1
version: 0.27.1
specifier: 0.27.2
version: 0.27.2
'@lexical/mark':
specifier: 0.27.1
version: 0.27.1
specifier: 0.27.2
version: 0.27.2
'@lexical/react':
specifier: 0.27.1
version: 0.27.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.20)
specifier: 0.27.2
version: 0.27.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.20)
'@lexical/rich-text':
specifier: 0.27.1
version: 0.27.1
specifier: 0.27.2
version: 0.27.2
'@lexical/selection':
specifier: 0.27.1
version: 0.27.1
specifier: 0.27.2
version: 0.27.2
'@lexical/table':
specifier: 0.27.1
version: 0.27.1
specifier: 0.27.2
version: 0.27.2
'@lexical/utils':
specifier: 0.27.1
version: 0.27.1
specifier: 0.27.2
version: 0.27.2
'@payloadcms/next':
specifier: workspace:*
version: link:../next
@@ -1299,8 +1299,8 @@ importers:
specifier: 1.2.121
version: 1.2.121
lexical:
specifier: 0.27.1
version: 0.27.1
specifier: 0.27.2
version: 0.27.2
mdast-util-from-markdown:
specifier: 2.0.2
version: 2.0.2
@@ -1345,8 +1345,8 @@ importers:
specifier: 7.26.0
version: 7.26.0(@babel/core@7.26.7)
'@lexical/eslint-plugin':
specifier: 0.27.1
version: 0.27.1(eslint@9.22.0(jiti@1.21.6))
specifier: 0.27.2
version: 0.27.2(eslint@9.22.0(jiti@1.21.6))
'@payloadcms/eslint-config':
specifier: workspace:*
version: link:../eslint-config
@@ -3908,82 +3908,82 @@ packages:
'@juggle/resize-observer@3.4.0':
resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==}
'@lexical/clipboard@0.27.1':
resolution: {integrity: sha512-QmoX77lwDT2VxNljFkpMtQmGGof6Bv9TEv0i9c5403zE/avVm3g9Tk47bClo+Y0NruESwb79VODbdF29pbVKPQ==}
'@lexical/clipboard@0.27.2':
resolution: {integrity: sha512-rfnFYf8P0081IvPOJjE7fWJE+d/dz0Xdsw83uizY5X6HaLXFB/Qy1MrzEqWZnYnOpgi1snAuolZ5Rbg83SIlYA==}
'@lexical/code@0.27.1':
resolution: {integrity: sha512-Z+h9uNHWRg+EfLUMi+STo3hLKPNchr3FzG7amd51U3KqpQ+BDBTIbDe07yPiGfW3CVT++dHuKZPevDuLb0Ukdg==}
'@lexical/code@0.27.2':
resolution: {integrity: sha512-GoTy57CYoXvP1N+E9ptCJ47LQCAu67K/HQsjg0NmmtNbWlInk6Sa2V4pM1KePp6JAQapGpIlCoEyC3/KkrQ55g==}
'@lexical/devtools-core@0.27.1':
resolution: {integrity: sha512-0GbrNtkyxs7HcdC5i+V6kkNWNCbqyZU3xxDVIFnAi1I1ODTZvgw+qeiw5/nf301mE73+L1As/LNt58Fu+LS99A==}
'@lexical/devtools-core@0.27.2':
resolution: {integrity: sha512-LAI7j9roS2i/lV/6Z4AAx2+EVOEnMVzLZFB6aQfSjRbZ9lzA8S17743OJUHRXyTvBWc5520ihhBybO0EfjTagw==}
peerDependencies:
react: 19.0.0
react-dom: 19.0.0
'@lexical/dragon@0.27.1':
resolution: {integrity: sha512-drR3Pd/M0T4Z1rBn3eTQY1/xfw3V70ar0U/tXHpP62sL5y8UfcKEvzCixcN5vkkgtGK2iGvQGSCWVnBW0iyARg==}
'@lexical/dragon@0.27.2':
resolution: {integrity: sha512-0xI98esvgtJpVLJUADtvJ/yKk4kFFrn2h7GgzvihLXeVe+O149DONFSarB9yguDyvHUblKtfjB2BcJaeOIpouQ==}
'@lexical/eslint-plugin@0.27.1':
resolution: {integrity: sha512-d26roAqS/gKZLzk/hu6oMoOdNLo5l0AXm0uUpmKkFsitFHFW84cSNwQrM+OdIRoGm7vag+IH5qUVdVwm5rglYw==}
'@lexical/eslint-plugin@0.27.2':
resolution: {integrity: sha512-vZfn4keQxfPIBgqJIckpOyB/ax6W2ThomBC+LO/lQDHR76maQURV5AI7D9MRFdRniR5Rg4ESXnNx6kJQ1pIBMQ==}
peerDependencies:
eslint: '>=7.31.0 || ^8.0.0'
'@lexical/hashtag@0.27.1':
resolution: {integrity: sha512-ruHxO3Koa4puM5Dopuq4YremoBZyRWUVp0eBTUSZEqQ6dlxlnIhF4gPtnKwW8i3Uftk+xu2c3Vrp0RQvNpipFg==}
'@lexical/hashtag@0.27.2':
resolution: {integrity: sha512-BBwMT3rz/TlZZ6ZjkP5+Yj86ffufiktOBwry7kPDUqOMyTuTFEE58cmd4SXiYEs7yifrC6TenRmFZgBui7xpmQ==}
'@lexical/headless@0.27.1':
resolution: {integrity: sha512-7HXHLCfUFFQg8ZzA+iND5cjrcld7ML+T62yhC/76Ch3pCvpj2jFJr4lo3Io9pMhgJcITTZ3qkSKIaHI7T6hXjg==}
'@lexical/headless@0.27.2':
resolution: {integrity: sha512-eWkKPjQgzshwX/GXPQd6sMNd5AbkmQAfitolzT5gSSnE9kpgqlD2a/OTBI8SyRwMzePK9eVYjEGPmbDA45gozQ==}
'@lexical/history@0.27.1':
resolution: {integrity: sha512-FCjCAJXAfkXoHNjFryAjT381ISsisy646sCBj9n6puR5iDSMmgqqCg3fWuNeWmOUL8XV/pL8KWCKwHCfj4D7KA==}
'@lexical/history@0.27.2':
resolution: {integrity: sha512-5CihqjvlmXuiLZYpKZMfYISpVSSpUrs3jpC5XK0kAv0etUWyf2/JzY0BLfD2kb7x/tOrU7O+WptNNyl5WL3N5A==}
'@lexical/html@0.27.1':
resolution: {integrity: sha512-WmMPfRurd5BccSmpe+DGZA8N4CDLThek/2/rjaba+zotk9ZTbXktDO5Ie4982V4mZ2VKQfMFflKou6eY8NLcvA==}
'@lexical/html@0.27.2':
resolution: {integrity: sha512-6kPvrTxAE39jUhnbYMCenHVHXTlew9sBprniQu5iZSszMfcn/SDkqmHWi8//fhiLlcAa/p0vRDxaBYoQQf0r9A==}
'@lexical/link@0.27.1':
resolution: {integrity: sha512-VJ9SOBZSxcuLg5Hgtj3zhxykggzV/iS4aKx4Ggj2ZFGIgvyBVCHrs+jCCqS4GLxR5cEc7m5fkYfNQLXMojjpyg==}
'@lexical/link@0.27.2':
resolution: {integrity: sha512-t+tMr1aEwy67D4+GU6XX78Dxllyu3xebYAlB5ANpnv0oV8PSxT8h6aHHVwj0a55a89NnSPTzpBhqtX0QO374+A==}
'@lexical/list@0.27.1':
resolution: {integrity: sha512-sCKwRGyRbTyZjF63ENAJPPoVKV6612vcNxRjYmGYQr9R6m834kl9lsa+H5eCDBeYxtQB7eHbDHbYj90Sd1jYHQ==}
'@lexical/list@0.27.2':
resolution: {integrity: sha512-jE7e95ttO26Xtt322dnUwWSG7QgeAfBg3Ghyjd8ByGI5O5wmMgMgb3NCiSSRPBWOpt6PEeD5s5KjQKfMUCCuHQ==}
'@lexical/mark@0.27.1':
resolution: {integrity: sha512-P2/cgriI5yg9cieaGTtLk66oYYog+JoZ44vYnseH0G7UpGCLXQbapGAnTjQO6UGadZd/WZS4MwXVRoKvAbBOXg==}
'@lexical/mark@0.27.2':
resolution: {integrity: sha512-6rTwfVuuFeiTy6MU8yY3nyBOe2KtcB1lL0zg8ygIRjSYsV2+HAVAUesDFnaCUHJ1qimj9pJB8fW+GU2ur8uGvQ==}
'@lexical/markdown@0.27.1':
resolution: {integrity: sha512-gs7g5MDUMFNWFBVjn7jbbYBD28Xfgem8hLoSnT0aUGDbbLtz94XBGweymHUWA4FVdWVoOQ5bV4ogTQsX30gt6w==}
'@lexical/markdown@0.27.2':
resolution: {integrity: sha512-XbM/G0CPoH2BUAuKSRS5L2pAU1kreZDOH0Eh4DR2sLzosM48ZyRktgKAUwHItQPQ/in5hkH3Xd5D4RAtYWhKUA==}
'@lexical/offset@0.27.1':
resolution: {integrity: sha512-Qd4ZZKBk+ZAWNhKAdyX7LJNpl6itQvcjB1KtfL7Ad9Rfpn248p5M95rxXt+QrAe3KcW/bnDPQtxF+DzS2kanIQ==}
'@lexical/offset@0.27.2':
resolution: {integrity: sha512-li+NxLeU2IW7JKOr8pheS/7aGlU8sKThPEKDtM20d0drvMAo03ebu5X/wxmy1e4zWKbpH3dll/ocE+gGV9DcLA==}
'@lexical/overflow@0.27.1':
resolution: {integrity: sha512-ZKcM9M1NYEXKutmbbqAZYNvOSrQtcvZRMzRM/3a+LSuIuaTmJ489AZS/jkagjprpAxvHd3R+wlrMorM0SBU3Ug==}
'@lexical/overflow@0.27.2':
resolution: {integrity: sha512-vkKrZyes4/r73wH/t+X0HEsol4A9yxzALAnx8vyXCnw2s8zklQFi5ccf3fkwPG6cSKDl+zAO0elmSjhxOp5JfQ==}
'@lexical/plain-text@0.27.1':
resolution: {integrity: sha512-94IQmX1bVCC84K8eUVQARNFBBAB8YMRrhUsyhv5Gh0c7ZhEGu+ty5vmAixslDuABChbxGS4czths0DAaiSIHIQ==}
'@lexical/plain-text@0.27.2':
resolution: {integrity: sha512-/EygmUMFsH9WVkXl1/IwKJfJJAQy2pnxPx+bYz97hTXqh9CHkzn0N81gxjquRAPZkemoE7UoZsAbaw07BH+8hA==}
'@lexical/react@0.27.1':
resolution: {integrity: sha512-TSSM619fVWJtIg6e805a8TaI6s4OKXdIgW9J8EkBY78Y0dExJO+2LIE6bK2biSqSdOybCiHOJirmVLV0DadajA==}
'@lexical/react@0.27.2':
resolution: {integrity: sha512-azfF9kQ/LM47Gn0vV5xMkD2viEiAxmgRQQsDv8gOZcZY4CWtRth/uehW8nchmD4xIgK63LLjGRjYhShTufy0XA==}
peerDependencies:
react: 19.0.0
react-dom: 19.0.0
'@lexical/rich-text@0.27.1':
resolution: {integrity: sha512-RtjCHz0406gH2VYL3XW3cxN4xduOegX/wv1S3eVrYq0YAJ/p9ltEfFMSdTvEg2HZbfciRqzeld/EFyVrTuTw/w==}
'@lexical/rich-text@0.27.2':
resolution: {integrity: sha512-naWwPNbEJAue/R0pmZwqnTVkv3V2rzgzz+C6/J5tMOvN1Osth8OL3UD6K8NQX8rjdnXe4soVoH8XsNhU0Jv10w==}
'@lexical/selection@0.27.1':
resolution: {integrity: sha512-cSaZXE9SXvHMGMa0gbkrlFNXXMDJVu2D0ojwUKaw4HQC79FVXmFj4m1k8htuneu35hU+fiaE8D4fBIZ4/TlESg==}
'@lexical/selection@0.27.2':
resolution: {integrity: sha512-9AJOfw1zMQ3PqGpovEuy6NjfWck/9KzxNPzXoGRZlJRvPexgZirentPWRhLHF3DMtnOML1+GCpj+5LOAYN2XbQ==}
'@lexical/table@0.27.1':
resolution: {integrity: sha512-+g8MheTEVBCO2E/4ocjJEa4X6A30zYvHO2MPGXJQH30Rm2xeznbC/R84tkqA+uL59SrsJKeFgxrlislXzQZGtg==}
'@lexical/table@0.27.2':
resolution: {integrity: sha512-6G3jj7EyweviX3/AEZOr/XBTIQN5QCkJcg1Zw3I9Ga0F+CCDM5aeJWRv4hultP1nOz1xtYCDnezhaPV1Gef9dA==}
'@lexical/text@0.27.1':
resolution: {integrity: sha512-Ku9e2igZWVD7FtbYMBbM6TOYEYuEfqMbihSy+8sPUvnoCXZnsYTj8HiH+DiZA72QaGPGDyIFvFeTJHFEmDB++A==}
'@lexical/text@0.27.2':
resolution: {integrity: sha512-Rx61l/Cbz2GGwZvtp56PMGB35X+VnZYhRlLJdZhQ+XTYbRmCTAh50mBcS3FzZrziq8vn07yEN/9FVb8HGTyN1A==}
'@lexical/utils@0.27.1':
resolution: {integrity: sha512-llihlrcAFZWB7o22Wnl7/UsXtfMQHwKRnsYPSJuwj1egVG3c3fCRyv5sbD7Xys3rdvuNUHLpSQa812huN11/JQ==}
'@lexical/utils@0.27.2':
resolution: {integrity: sha512-tCEuKL5IXiJ12ZN/Ej37Q7PhcBntekLeQbGiYO4sgIAnR9qI6yYgVH7b1CC+Tf06UapUXjIDG0Uh5/u0W1+kOQ==}
'@lexical/yjs@0.27.1':
resolution: {integrity: sha512-sF/31k9rpwWRdt/Uz00E3R1eEW1k3Yck65wh8KigN/IZRlSre4Jq7vwHt+xuroIHwTP2A9XozW5CRjRindV81A==}
'@lexical/yjs@0.27.2':
resolution: {integrity: sha512-+twxPJNwN9VOe20dMKDbBfdZWCiTVM7RrezNZ984o8bJVx6dW80yM96zEyyQp1pmgi60lOYunKWD1B5/74Dq/w==}
peerDependencies:
yjs: '>=13.5.22'
@@ -7937,8 +7937,8 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
lexical@0.27.1:
resolution: {integrity: sha512-EXlRE/NQO9quKFuz4Z2pu5f48oF8LZOAw0YpN0RmGQx2CbqmEi7SIgO+d+NUKVx9Qs1vX0DL5S7GJpvpZBOE3w==}
lexical@0.27.2:
resolution: {integrity: sha512-R255V+4VBqZmSMWeuMrCNHJZd3L+qBkYYFrxkiO3FLg/36HatZLUdZLRYx+fOMWeSddo0DP9EVl0GTZzNb7v0w==}
lib0@0.2.98:
resolution: {integrity: sha512-XteTiNO0qEXqqweWx+b21p/fBnNHUA1NwAtJNJek1oPrewEZs2uiT4gWivHKr9GqCjDPAhchz0UQO8NwU3bBNA==}
@@ -8805,8 +8805,8 @@ packages:
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
prismjs@1.29.0:
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
prismjs@1.30.0:
resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
engines: {node: '>=6'}
process-nextick-args@2.0.1:
@@ -12813,159 +12813,159 @@ snapshots:
'@juggle/resize-observer@3.4.0': {}
'@lexical/clipboard@0.27.1':
'@lexical/clipboard@0.27.2':
dependencies:
'@lexical/html': 0.27.1
'@lexical/list': 0.27.1
'@lexical/selection': 0.27.1
'@lexical/utils': 0.27.1
lexical: 0.27.1
'@lexical/html': 0.27.2
'@lexical/list': 0.27.2
'@lexical/selection': 0.27.2
'@lexical/utils': 0.27.2
lexical: 0.27.2
'@lexical/code@0.27.1':
'@lexical/code@0.27.2':
dependencies:
'@lexical/utils': 0.27.1
lexical: 0.27.1
prismjs: 1.29.0
'@lexical/utils': 0.27.2
lexical: 0.27.2
prismjs: 1.30.0
'@lexical/devtools-core@0.27.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
'@lexical/devtools-core@0.27.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
dependencies:
'@lexical/html': 0.27.1
'@lexical/link': 0.27.1
'@lexical/mark': 0.27.1
'@lexical/table': 0.27.1
'@lexical/utils': 0.27.1
lexical: 0.27.1
'@lexical/html': 0.27.2
'@lexical/link': 0.27.2
'@lexical/mark': 0.27.2
'@lexical/table': 0.27.2
'@lexical/utils': 0.27.2
lexical: 0.27.2
react: 19.0.0
react-dom: 19.0.0(react@19.0.0)
'@lexical/dragon@0.27.1':
'@lexical/dragon@0.27.2':
dependencies:
lexical: 0.27.1
lexical: 0.27.2
'@lexical/eslint-plugin@0.27.1(eslint@9.22.0(jiti@1.21.6))':
'@lexical/eslint-plugin@0.27.2(eslint@9.22.0(jiti@1.21.6))':
dependencies:
eslint: 9.22.0(jiti@1.21.6)
'@lexical/hashtag@0.27.1':
'@lexical/hashtag@0.27.2':
dependencies:
'@lexical/utils': 0.27.1
lexical: 0.27.1
'@lexical/utils': 0.27.2
lexical: 0.27.2
'@lexical/headless@0.27.1':
'@lexical/headless@0.27.2':
dependencies:
lexical: 0.27.1
lexical: 0.27.2
'@lexical/history@0.27.1':
'@lexical/history@0.27.2':
dependencies:
'@lexical/utils': 0.27.1
lexical: 0.27.1
'@lexical/utils': 0.27.2
lexical: 0.27.2
'@lexical/html@0.27.1':
'@lexical/html@0.27.2':
dependencies:
'@lexical/selection': 0.27.1
'@lexical/utils': 0.27.1
lexical: 0.27.1
'@lexical/selection': 0.27.2
'@lexical/utils': 0.27.2
lexical: 0.27.2
'@lexical/link@0.27.1':
'@lexical/link@0.27.2':
dependencies:
'@lexical/utils': 0.27.1
lexical: 0.27.1
'@lexical/utils': 0.27.2
lexical: 0.27.2
'@lexical/list@0.27.1':
'@lexical/list@0.27.2':
dependencies:
'@lexical/utils': 0.27.1
lexical: 0.27.1
'@lexical/utils': 0.27.2
lexical: 0.27.2
'@lexical/mark@0.27.1':
'@lexical/mark@0.27.2':
dependencies:
'@lexical/utils': 0.27.1
lexical: 0.27.1
'@lexical/utils': 0.27.2
lexical: 0.27.2
'@lexical/markdown@0.27.1':
'@lexical/markdown@0.27.2':
dependencies:
'@lexical/code': 0.27.1
'@lexical/link': 0.27.1
'@lexical/list': 0.27.1
'@lexical/rich-text': 0.27.1
'@lexical/text': 0.27.1
'@lexical/utils': 0.27.1
lexical: 0.27.1
'@lexical/code': 0.27.2
'@lexical/link': 0.27.2
'@lexical/list': 0.27.2
'@lexical/rich-text': 0.27.2
'@lexical/text': 0.27.2
'@lexical/utils': 0.27.2
lexical: 0.27.2
'@lexical/offset@0.27.1':
'@lexical/offset@0.27.2':
dependencies:
lexical: 0.27.1
lexical: 0.27.2
'@lexical/overflow@0.27.1':
'@lexical/overflow@0.27.2':
dependencies:
lexical: 0.27.1
lexical: 0.27.2
'@lexical/plain-text@0.27.1':
'@lexical/plain-text@0.27.2':
dependencies:
'@lexical/clipboard': 0.27.1
'@lexical/selection': 0.27.1
'@lexical/utils': 0.27.1
lexical: 0.27.1
'@lexical/clipboard': 0.27.2
'@lexical/selection': 0.27.2
'@lexical/utils': 0.27.2
lexical: 0.27.2
'@lexical/react@0.27.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.20)':
'@lexical/react@0.27.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.20)':
dependencies:
'@lexical/clipboard': 0.27.1
'@lexical/code': 0.27.1
'@lexical/devtools-core': 0.27.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
'@lexical/dragon': 0.27.1
'@lexical/hashtag': 0.27.1
'@lexical/history': 0.27.1
'@lexical/link': 0.27.1
'@lexical/list': 0.27.1
'@lexical/mark': 0.27.1
'@lexical/markdown': 0.27.1
'@lexical/overflow': 0.27.1
'@lexical/plain-text': 0.27.1
'@lexical/rich-text': 0.27.1
'@lexical/selection': 0.27.1
'@lexical/table': 0.27.1
'@lexical/text': 0.27.1
'@lexical/utils': 0.27.1
'@lexical/yjs': 0.27.1(yjs@13.6.20)
lexical: 0.27.1
'@lexical/clipboard': 0.27.2
'@lexical/code': 0.27.2
'@lexical/devtools-core': 0.27.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
'@lexical/dragon': 0.27.2
'@lexical/hashtag': 0.27.2
'@lexical/history': 0.27.2
'@lexical/link': 0.27.2
'@lexical/list': 0.27.2
'@lexical/mark': 0.27.2
'@lexical/markdown': 0.27.2
'@lexical/overflow': 0.27.2
'@lexical/plain-text': 0.27.2
'@lexical/rich-text': 0.27.2
'@lexical/selection': 0.27.2
'@lexical/table': 0.27.2
'@lexical/text': 0.27.2
'@lexical/utils': 0.27.2
'@lexical/yjs': 0.27.2(yjs@13.6.20)
lexical: 0.27.2
react: 19.0.0
react-dom: 19.0.0(react@19.0.0)
react-error-boundary: 3.1.4(react@19.0.0)
transitivePeerDependencies:
- yjs
'@lexical/rich-text@0.27.1':
'@lexical/rich-text@0.27.2':
dependencies:
'@lexical/clipboard': 0.27.1
'@lexical/selection': 0.27.1
'@lexical/utils': 0.27.1
lexical: 0.27.1
'@lexical/clipboard': 0.27.2
'@lexical/selection': 0.27.2
'@lexical/utils': 0.27.2
lexical: 0.27.2
'@lexical/selection@0.27.1':
'@lexical/selection@0.27.2':
dependencies:
lexical: 0.27.1
lexical: 0.27.2
'@lexical/table@0.27.1':
'@lexical/table@0.27.2':
dependencies:
'@lexical/clipboard': 0.27.1
'@lexical/utils': 0.27.1
lexical: 0.27.1
'@lexical/clipboard': 0.27.2
'@lexical/utils': 0.27.2
lexical: 0.27.2
'@lexical/text@0.27.1':
'@lexical/text@0.27.2':
dependencies:
lexical: 0.27.1
lexical: 0.27.2
'@lexical/utils@0.27.1':
'@lexical/utils@0.27.2':
dependencies:
'@lexical/list': 0.27.1
'@lexical/selection': 0.27.1
'@lexical/table': 0.27.1
lexical: 0.27.1
'@lexical/list': 0.27.2
'@lexical/selection': 0.27.2
'@lexical/table': 0.27.2
lexical: 0.27.2
'@lexical/yjs@0.27.1(yjs@13.6.20)':
'@lexical/yjs@0.27.2(yjs@13.6.20)':
dependencies:
'@lexical/offset': 0.27.1
'@lexical/selection': 0.27.1
lexical: 0.27.1
'@lexical/offset': 0.27.2
'@lexical/selection': 0.27.2
lexical: 0.27.2
yjs: 13.6.20
'@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.5)':
@@ -17758,7 +17758,7 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
lexical@0.27.1: {}
lexical@0.27.2: {}
lib0@0.2.98:
dependencies:
@@ -18797,7 +18797,7 @@ snapshots:
ansi-styles: 5.2.0
react-is: 18.3.1
prismjs@1.29.0: {}
prismjs@1.30.0: {}
process-nextick-args@2.0.1: {}