'use client'; import React from 'react'; import type { DropdownMenuProps } from '@radix-ui/react-dropdown-menu'; import { useAlignDropdownMenu, useAlignDropdownMenuState, } from '@udecode/plate-alignment/react'; import { AlignCenterIcon, AlignJustifyIcon, AlignLeftIcon, AlignRightIcon, } from 'lucide-react'; import { DropdownMenu, DropdownMenuContent, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuTrigger, useOpenState, } from './dropdown-menu'; import { ToolbarButton } from './toolbar'; const items = [ { icon: AlignLeftIcon, value: 'left', }, { icon: AlignCenterIcon, value: 'center', }, { icon: AlignRightIcon, value: 'right', }, { icon: AlignJustifyIcon, value: 'justify', }, ]; export function AlignDropdownMenu({ children, ...props }: DropdownMenuProps) { const state = useAlignDropdownMenuState(); const { radioGroupProps } = useAlignDropdownMenu(state); const openState = useOpenState(); const IconValue = items.find((item) => item.value === radioGroupProps.value)?.icon ?? AlignLeftIcon; return ( {items.map(({ icon: Icon, value: itemValue }) => ( ))} ); }