UNPKG

primereact

Version:

A rich set of premium UI Components for React.

4 lines (2 loc) 1.27 kB
'use client'; import{Component as u,withComponent as c}from"@primereact/core/component";import{mergeProps as f}from"@primeuix/utils";import*as t from"react";import{createOptionalContext as m}from"@primereact/core/utils";var[b,d]=m();var p={as:"div"};function T(r){if(!r)return-1;let e=r.closest("th");return e?.parentElement?Array.prototype.indexOf.call(e.parentElement.children,e):-1}var h=c({name:"DataTable.ColumnReorderTarget",defaultProps:p,setup({props:r}){let e=d(),a=e?.columnReorder?.registerDropTarget,n=t.useRef(null),[l,o]=t.useState(null);t.useEffect(()=>{if(!a)return;let s=typeof r.index=="number"?r.index:T(n.current);if(s!==-1)return a(s,o)},[a,r.index]);let i=t.useMemo(()=>({isOver:l!==null,side:l?.side??null}),[l]);return{datatable:e,rootRef:n,state:i}},render(r){let{props:e,ptmi:a,datatable:n,rootRef:l,state:o}=r,i=f({ref:l,"data-scope":"datatable","data-part":"column-reorder-target","data-drop-active":o.isOver?"":void 0,"data-drop-side":o.side??void 0,className:n?.cx("columnReorderTarget",{state:o})},n?.ptm("columnReorderTarget",{state:o}),a("root")),s=typeof e.children=="function"?e.children(o):e.children;return t.createElement(u,{instance:r,attrs:i},s)}});export{h as DataTableColumnReorderTarget,p as defaultColumnReorderTargetProps};