import { useState, useMemo, } from '@wordpress/element'; import {useSortable} from '@dnd-kit/sortable'; import {CSS} from '@dnd-kit/utilities'; import { Flex, FlexBlock, FlexItem, Tooltip, } from '@wordpress/components'; import SubControls from './SubControls'; import { __ } from '@wordpress/i18n'; type Props = { id: string; label: string; value?: any; sortLabel: string; isActive: boolean; disabled?: boolean; subControls?: string[]; onActive: () => void; } export default function SortableItem(props: Props) { const { attributes, listeners, isDragging, setNodeRef, setActivatorNodeRef, transform, transition, } = useSortable({id: props.id, disabled: props.disabled || false }); const style = { transform: CSS.Transform.toString(transform), transition, }; // console.log(props); const [isOpen, setIsOpen] = useState(false); const toggleAccordion = () => { setIsOpen(!isOpen); }; const subControlIds = useMemo(() => props.subControls ?? [], [props.subControls]); const wrapClasses = `apura-sortable-item${props.isActive ? '' : ' is-hidden'}`; return (
{props.disabled ? ( ) : ( )} {props.label} {subControlIds.length > 0 && } { subControlIds.length > 0 && props.isActive && }
); }