@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.92 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";
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),m=require("./hooks/useDraggable.js");function D(e){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(c,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return c.default=e,Object.freeze(c)}const n=D(f),u=n.forwardRef((e,c)=>{const t=n.useRef(null),r=n.useRef(null),a=n.useCallback(()=>t.current&&t.current.element?t.current.element:t.current,[t]);n.useImperativeHandle(r,()=>({element:a()||null})),n.useImperativeHandle(c,()=>r.current),n.useImperativeHandle(e.childRef,()=>t.current);const o=n.useCallback(l=>{e.onPress&&e.onPress({element:a(),target:r.current,event:l})},[a,e.onPress]),g=n.useCallback(l=>{e.onRelease&&e.onRelease({element:a(),target:r.current,event:l})},[a,e.onRelease]),i=n.useCallback(l=>{e.onDragStart&&e.onDragStart({element:a(),target:r.current,event:l})},[e,a]),s=n.useCallback(l=>{e.onDrag&&e.onDrag({element:a(),target:r.current,event:l})},[a,e.onDrag]),d=n.useCallback(l=>{e.onDragEnd&&e.onDragEnd({element:a(),target:r.current,event:l})},[a,e.onDragEnd]);return m.useDraggable(t,{onPress:o,onRelease:g,onDragStart:i,onDrag:s,onDragEnd:d},{mouseOnly:e.mouseOnly,autoScroll:e.autoScroll,hint:e.hint,scrollContainer:e.scrollContainer,context:e.context}),e.children?n.cloneElement(n.Children.only(e.children),{ref:t}):null});u.displayName="KendoReactDraggable";exports.Draggable=u;