UNPKG

@react-querybuilder/dnd

Version:

Drag-and-drop-enabled version of react-querybuilder (DnD-library-agnostic)

2 lines 1.03 kB
import{createContext as e}from"react";import{getParentPath as t,group as n,move as r}from"react-querybuilder";const i=()=>{},a=e({dragPreviewState:null,updatePreviewPosition:i,commitDrag:i,cancelDrag:i}),o=(e,n,r)=>{if(n===`ruleGroup`)return[...e,0];let i=t(e),a=e.at(-1);return r===`upper`?[...i,a]:[...i,a+1]},s=(e,n)=>{if(e.length!==n.length)return!1;let r=t(e),i=t(n);if(r.length!==i.length)return!1;for(let e=0;e<r.length;e++)if(r[e]!==i[e])return!1;let a=e.at(-1),o=n.at(-1);return o===a||o===a+1},c=({originalQuery:e,draggedPath:i,targetPath:a,targetType:c,quadrant:l,dropEffect:u,groupItems:d})=>{let f=o(a,c,l),p=u===`copy`;if(d)try{return{shadowQuery:n(e,i,a,{clone:p}),previewPath:a}}catch{return null}if(!p&&s(i,f))return null;try{let n=r(e,i,f,{clone:p}),a=f;if(!p){let e=t(i),n=t(f);if(e.length===n.length&&e.every((e,t)=>e===n[t])){let e=i.at(-1),t=f.at(-1);e<t&&(a=[...n,t-1])}}return{shadowQuery:n,previewPath:a}}catch{return null}};export{c as n,a as r,o as t}; //# sourceMappingURL=shadowQuery-Z2qhxCGM.mjs.map