@lexical/react
Version:
This package provides Lexical components and hooks for React applications.
10 lines (8 loc) • 963 B
JavaScript
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
import{useLexicalComposerContext as r}from"@lexical/react/LexicalComposerContext";import{$isScrollableTablesActive as o,setScrollableTablesActive as e,TableNode as l,registerTablePlugin as t,registerTableSelectionObserver as a,registerTableCellUnmergeTransform as n,TableCellNode as i}from"@lexical/table";import{useEffect as c}from"react";function s({hasCellMerge:s=!0,hasCellBackgroundColor:u=!0,hasTabHandler:m=!0,hasHorizontalScroll:f=!1}){const[g]=r();return c((()=>{o(g)!==f&&(e(g,f),g.registerNodeTransform(l,(()=>{}))())}),[g,f]),c((()=>t(g)),[g]),c((()=>a(g,m)),[g,m]),c((()=>{if(!s)return n(g)}),[g,s]),c((()=>{if(!u)return g.registerNodeTransform(i,(r=>{null!==r.getBackgroundColor()&&r.setBackgroundColor(null)}))}),[g,u,s]),null}export{s as TablePlugin};