import React, { Children, MutableRefObject, ReactElement, ReactNode, } from 'react'; import { NestedTableGhostIndentationCell } from './NestedTableGhostIndentationCell'; import { FiltersMap } from '@wix/bex-core'; import { NestedTableDataItem } from '../../state/NestedTableState/NestedTableNodeState'; import { classes, st } from './NestedTableDragAndDropRow.st.css.js'; import { observer } from 'mobx-react-lite'; export interface NestedTableDragAndDropRowProps< C extends string, T, F extends FiltersMap, > { item: NestedTableDataItem; children: ReactElement<{ children: ReactNode; className?: string; }>; forwardedRef: | ((instance: HTMLTableRowElement | null) => void) | MutableRefObject | null; } function _NestedTableDragAndDropRow( props: NestedTableDragAndDropRowProps, ) { const { children, item, forwardedRef } = props; const { type: Tr, key, props: trProps } = children; const { nestedTable } = item.state; const nestedTableDragAndDrop = nestedTable.nestedTableDragAndDrop!; const { dragEventParentAndAfter } = nestedTableDragAndDrop; const node = dragEventParentAndAfter?.node; return ( {Children.toArray(trProps.children)} ); } export const NestedTableDragAndDropRow = observer(_NestedTableDragAndDropRow);