@progress/kendo-react-common
Version:
React Common package delivers common utilities that can be used with the KendoReact UI components. KendoReact Common Utilities package
10 lines (9 loc) • 1.81 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
"use client";
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react"),o=require("../noop.js"),E=require("./useInheritedState.js"),L=require("../drag-n-drop/context/index.js"),S=require("./use-isomorphic-layout-effect.js");function f(e){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const u=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(c,r,u.get?u:{enumerable:!0,get:()=>e[r]})}}return c.default=e,Object.freeze(c)}const n=f(y);function j(e,c={onDragEnter:o.noop,onDragOver:o.noop,onDragLeave:o.noop,onDrop:o.noop},r={}){const{onDragEnter:u=o.noop,onDragOver:g=o.noop,onDragLeave:D=o.noop,onDrop:i=o.noop}=c,{context:d=L.DragAndDropContext}=r,{setDrop:m,registerDrop:s,deregisterDrop:l}=n.useContext(d),[,a]=E.useInheritedState([null,m]),O=n.useCallback(()=>e.current&&e.current.element?e.current.element:e.current,[e]),p=n.useRef(null);n.useImperativeHandle(p,()=>({element:O(),onDragEnter:C,onDragOver:h,onDragLeave:v,onDrop:k,data:e.current}));const C=n.useCallback(t=>{a(p,{target:e.current,event:t}),u(t)},[a,e,u]),h=n.useCallback(t=>{g(t)},[g]),v=n.useCallback(t=>{a(null,{target:e.current,event:t}),D(t)},[a,e,D]),k=n.useCallback(t=>{a(null,{target:e.current,event:t}),i(t)},[a,e,i]),b=n.useCallback(()=>(s==null||s(p),()=>{l==null||l(p)}),[l,s]);S.useIsomorphicLayoutEffect(b,[b])}exports.useDroppable=j;