diff --git a/packages/richtext-lexical/package.json b/packages/richtext-lexical/package.json index 061cd7a1e9..b80a25747a 100644 --- a/packages/richtext-lexical/package.json +++ b/packages/richtext-lexical/package.json @@ -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", diff --git a/packages/richtext-lexical/src/features/experimental_table/client/plugins/TableActionMenuPlugin/index.tsx b/packages/richtext-lexical/src/features/experimental_table/client/plugins/TableActionMenuPlugin/index.tsx index abd094628a..cdace3af81 100644 --- a/packages/richtext-lexical/src/features/experimental_table/client/plugins/TableActionMenuPlugin/index.tsx +++ b/packages/richtext-lexical/src/features/experimental_table/client/plugins/TableActionMenuPlugin/index.tsx @@ -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 | 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() } }), diff --git a/packages/richtext-lexical/src/features/experimental_table/client/plugins/TableCellResizerPlugin/index.scss b/packages/richtext-lexical/src/features/experimental_table/client/plugins/TableCellResizerPlugin/index.scss new file mode 100644 index 0000000000..e572695650 --- /dev/null +++ b/packages/richtext-lexical/src/features/experimental_table/client/plugins/TableCellResizerPlugin/index.scss @@ -0,0 +1,11 @@ +.TableCellResizer__resizer { + position: absolute; + touch-action: none; +} + +@media (pointer: coarse) { + .TableCellResizer__resizer { + background-color: #adf; + mix-blend-mode: color; + } +} diff --git a/packages/richtext-lexical/src/features/experimental_table/client/plugins/TableCellResizerPlugin/index.tsx b/packages/richtext-lexical/src/features/experimental_table/client/plugins/TableCellResizerPlugin/index.tsx index 922307cc9e..a761ccc44e 100644 --- a/packages/richtext-lexical/src/features/experimental_table/client/plugins/TableCellResizerPlugin/index.tsx +++ b/packages/richtext-lexical/src/features/experimental_table/client/plugins/TableCellResizerPlugin/index.tsx @@ -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.') } diff --git a/packages/richtext-lexical/src/index.ts b/packages/richtext-lexical/src/index.ts index 3acea71da1..bb4330285d 100644 --- a/packages/richtext-lexical/src/index.ts +++ b/packages/richtext-lexical/src/index.ts @@ -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 ( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7140481870..c55341f977 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -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: {}