UNPKG

@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.75 kB
/** * @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"; "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),f=require("./hooks/useDroppable.js");function b(e){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(c,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return c.default=e,Object.freeze(c)}const t=b(d),o=t.forwardRef((e,c)=>{const n=t.useRef(null),r=t.useRef(null),a=t.useCallback(()=>n.current&&n.current.element?n.current.element:n.current,[n]);t.useImperativeHandle(r,()=>({element:a()||void 0})),t.useImperativeHandle(c,()=>r.current),t.useImperativeHandle(e.childRef,()=>n.current);const u=t.useCallback(l=>{e.onDragEnter&&e.onDragEnter({element:a(),target:r.current,event:l})},[e.onDragEnter,a]),g=t.useCallback(l=>{e.onDragOver&&e.onDragOver({element:a(),target:r.current,event:l})},[a,e.onDragOver]),i=t.useCallback(l=>{e.onDragLeave&&e.onDragLeave({element:a(),target:r.current,event:l})},[e.onDragLeave,a]),D=t.useCallback(l=>{e.onDrop&&e.onDrop({element:a(),target:r.current,event:l})},[e.onDrop,a]);return f.useDroppable(n,{onDragEnter:u,onDragOver:g,onDragLeave:i,onDrop:D},{context:e.context}),e.children?t.cloneElement(t.Children.only(e.children),{ref:n}):null});o.displayName="KendoReactDroppable";exports.Droppable=o;