'use client'; import React from 'react'; import type { TColumnElement } from '@udecode/plate-layout'; import { cn, withRef } from '@udecode/cn'; import { useElement, useRemoveNodeButton } from '@udecode/plate-common/react'; import { ColumnItemPlugin, useColumnState, useDebouncePopoverOpen, } from '@udecode/plate-layout/react'; import { type LucideProps, Trash2Icon } from 'lucide-react'; import { useReadOnly } from 'slate-react'; import { Button } from './button'; import { PlateElement } from './plate-element'; import { Popover, PopoverAnchor, PopoverContent } from './popover'; import { Separator } from './separator'; export const ColumnGroupElement = withRef( ({ children, className, ...props }, ref) => { return (
{children}
); } ); export function ColumnFloatingToolbar({ children }: React.PropsWithChildren) { const readOnly = useReadOnly(); const { setDoubleColumn, setDoubleSideDoubleColumn, setLeftSideDoubleColumn, setRightSideDoubleColumn, setThreeColumn, } = useColumnState(); const element = useElement(ColumnItemPlugin.key); const { props: buttonProps } = useRemoveNodeButton({ element }); const isOpen = useDebouncePopoverOpen(); if (readOnly) return <>{children}; return ( {children} e.preventDefault()} align="center" side="top" sideOffset={10} >
); } const DoubleColumnOutlined = (props: LucideProps) => ( ); const ThreeColumnOutlined = (props: LucideProps) => ( ); const RightSideDoubleColumnOutlined = (props: LucideProps) => ( ); const LeftSideDoubleColumnOutlined = (props: LucideProps) => ( ); const DoubleSideDoubleColumnOutlined = (props: LucideProps) => ( );