@progress/kendo-react-common 16.2.0-develop.15 → 16.2.0-develop.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,8 +12,10 @@ import * as React from 'react';
12
12
  */
13
13
  export declare const DragAndDropContext: React.Context<{
14
14
  drag?: React.RefObject<DragTarget | null> | null | undefined;
15
+ dragRef?: React.RefObject<React.RefObject<DragTarget | null> | null> | undefined;
15
16
  setDrag?: ((value: React.RefObject<DragTarget> | null) => void) | undefined;
16
17
  drop?: React.RefObject<DropTarget | null> | null | undefined;
18
+ dropRef?: React.RefObject<React.RefObject<DropTarget | null> | null> | undefined;
17
19
  setDrop?: ((value: React.RefObject<DropTarget> | null) => void) | undefined;
18
20
  drags?: React.RefObject<DragTarget | null>[] | undefined;
19
21
  registerDrag?: ((item: React.RefObject<DragTarget | null>) => void) | undefined;
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),e=require("../../noop.js");function c(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(r,o,n.get?n:{enumerable:!0,get:()=>t[o]})}}return r.default=t,Object.freeze(r)}const p=c(a),s=p.createContext({drag:void 0,setDrag:e.noop,drop:void 0,setDrop:e.noop,drags:[],registerDrag:e.noop,deregisterDrag:e.noop,drops:[],registerDrop:e.noop,deregisterDrop:e.noop});exports.DragAndDropContext=s;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),e=require("../../noop.js");function p(o){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const r in o)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(o,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>o[r]})}}return t.default=o,Object.freeze(t)}const c=p(a),d=c.createContext({drag:void 0,dragRef:void 0,setDrag:e.noop,drop:void 0,dropRef:void 0,setDrop:e.noop,drags:[],registerDrag:e.noop,deregisterDrag:e.noop,drops:[],registerDrop:e.noop,deregisterDrop:e.noop});exports.DragAndDropContext=d;
@@ -6,12 +6,14 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as e from "react";
9
+ import * as o from "react";
10
10
  import { noop as r } from "../../noop.mjs";
11
- const t = e.createContext({
11
+ const t = o.createContext({
12
12
  drag: void 0,
13
+ dragRef: void 0,
13
14
  setDrag: r,
14
15
  drop: void 0,
16
+ dropRef: void 0,
15
17
  setDrop: r,
16
18
  drags: [],
17
19
  registerDrag: r,
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react"),N=require("./context/index.js"),l=require("../hooks/useControlledState.js"),o=require("../hooks/useCollection.js");function T(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const m=T(y),d=e=>{const{context:n=N.DragAndDropContext}=e,[r,s]=l.useControlledState(null),[i,u]=l.useControlledState(null),[p,c]=o.useCollection([]),[g,a]=o.useCollection([]),C=t=>{c({type:o.COLLECTION_ACTION.add,item:t})},D=t=>{c({type:o.COLLECTION_ACTION.remove,item:t})},O=t=>{a({type:o.COLLECTION_ACTION.add,item:t})},f=t=>{a({type:o.COLLECTION_ACTION.remove,item:t})};return m.createElement(n.Provider,{value:{drag:r,setDrag:s,drop:i,setDrop:u,drags:p,registerDrag:C,deregisterDrag:D,drops:g,registerDrop:O,deregisterDrop:f}},e.children)};d.displayName="KendoReactDragAndDrop";exports.DragAndDrop=d;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("react"),I=require("./context/index.js"),p=require("../hooks/useControlledState.js"),o=require("../hooks/useCollection.js");function L(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:()=>t[r]})}}return n.default=t,Object.freeze(n)}const a=L(A),g=t=>{const{context:n=I.DragAndDropContext}=t,[r,s]=p.useControlledState(null),l=a.useRef(null),C=(e,c)=>{l.current=e,s(e,c)},[D,O]=p.useControlledState(null),d=a.useRef(null),f=(e,c)=>{d.current=e,O(e,c)},[y,u]=o.useCollection([]),[N,i]=o.useCollection([]),T=e=>{u({type:o.COLLECTION_ACTION.add,item:e})},m=e=>{u({type:o.COLLECTION_ACTION.remove,item:e})},S=e=>{i({type:o.COLLECTION_ACTION.add,item:e})},b=e=>{i({type:o.COLLECTION_ACTION.remove,item:e})};return a.createElement(n.Provider,{value:{drag:r,dragRef:l,setDrag:C,drop:D,dropRef:d,setDrop:f,drags:y,registerDrag:T,deregisterDrag:m,drops:N,registerDrop:S,deregisterDrop:b}},t.children)};g.displayName="KendoReactDragAndDrop";exports.DragAndDrop=g;
@@ -6,56 +6,60 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as f from "react";
10
- import { DragAndDropContext as v } from "./context/index.mjs";
11
- import { useControlledState as n } from "../hooks/useControlledState.mjs";
12
- import { useCollection as a, COLLECTION_ACTION as t } from "../hooks/useCollection.mjs";
13
- const x = (e) => {
14
- const { context: d = v } = e, [p, c] = n(
9
+ import * as o from "react";
10
+ import { DragAndDropContext as O } from "./context/index.mjs";
11
+ import { useControlledState as p } from "../hooks/useControlledState.mjs";
12
+ import { useCollection as D, COLLECTION_ACTION as e } from "../hooks/useCollection.mjs";
13
+ const S = (s) => {
14
+ const { context: g = O } = s, [i, l] = p(
15
15
  null
16
- ), [i, D] = n(
17
- null
18
- ), [g, o] = a([]), [l, s] = a([]), m = (r) => {
19
- o({
20
- type: t.add,
21
- item: r
16
+ ), n = o.useRef(null), m = (t, r) => {
17
+ n.current = t, l(t, r);
18
+ }, [u, f] = p(null), c = o.useRef(null), C = (t, r) => {
19
+ c.current = t, f(t, r);
20
+ }, [R, a] = D([]), [y, d] = D([]), x = (t) => {
21
+ a({
22
+ type: e.add,
23
+ item: t
22
24
  });
23
- }, C = (r) => {
24
- o({
25
- type: t.remove,
26
- item: r
25
+ }, A = (t) => {
26
+ a({
27
+ type: e.remove,
28
+ item: t
27
29
  });
28
- }, u = (r) => {
29
- s({
30
- type: t.add,
31
- item: r
30
+ }, h = (t) => {
31
+ d({
32
+ type: e.add,
33
+ item: t
32
34
  });
33
- }, y = (r) => {
34
- s({
35
- type: t.remove,
36
- item: r
35
+ }, N = (t) => {
36
+ d({
37
+ type: e.remove,
38
+ item: t
37
39
  });
38
40
  };
39
- return /* @__PURE__ */ f.createElement(
40
- d.Provider,
41
+ return /* @__PURE__ */ o.createElement(
42
+ g.Provider,
41
43
  {
42
44
  value: {
43
- drag: p,
44
- setDrag: c,
45
- drop: i,
46
- setDrop: D,
47
- drags: g,
48
- registerDrag: m,
49
- deregisterDrag: C,
50
- drops: l,
51
- registerDrop: u,
52
- deregisterDrop: y
45
+ drag: i,
46
+ dragRef: n,
47
+ setDrag: m,
48
+ drop: u,
49
+ dropRef: c,
50
+ setDrop: C,
51
+ drags: R,
52
+ registerDrag: x,
53
+ deregisterDrag: A,
54
+ drops: y,
55
+ registerDrop: h,
56
+ deregisterDrop: N
53
57
  }
54
58
  },
55
- e.children
59
+ s.children
56
60
  );
57
61
  };
58
- x.displayName = "KendoReactDragAndDrop";
62
+ S.displayName = "KendoReactDragAndDrop";
59
63
  export {
60
- x as DragAndDrop
64
+ S as DragAndDrop
61
65
  };
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Fe=require("react"),Y=require("@progress/kendo-draggable-common"),p=require("../noop.js"),Re=require("./useInheritedState.js"),We=require("../drag-n-drop/context/index.js"),Ge=require("./use-isomorphic-layout-effect.js");function Je(c){const S=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const g in c)if(g!=="default"){const D=Object.getOwnPropertyDescriptor(c,g);Object.defineProperty(S,g,D.get?D:{enumerable:!0,get:()=>c[g]})}}return S.default=c,Object.freeze(S)}const t=Je(Fe),Ke=2e3,Qe=16;function Ze(c,S,g={}){const{onPress:D=p.noop,onRelease:ue=p.noop,onDragStart:ae=p.noop,onDrag:ie=p.noop,onDragEnd:de=p.noop}=S,{hint:d=null,mouseOnly:j=!1,autoTouchAction:A=!0,pressHoldDelay:_=0,autoScroll:s=!0,scrollContainer:f=null,context:Te=We.DragAndDropContext}=g,[m,Ie]=t.useState(!1),[L,Me]=t.useState(!1),{drop:He,setDrop:Xe,drag:Ye,setDrag:je,drops:w,drags:R,registerDrag:T,deregisterDrag:I}=t.useContext(Te),[q]=Re.useInheritedState([He,Xe]),[N,M]=Re.useInheritedState([Ye,je]),O=t.useRef({x:0,y:0}),U=t.useRef(void 0),H=t.useRef(!1),fe=t.useRef(void 0),h=t.useRef(void 0),P=t.useRef(!1),C=t.useRef(null),i=t.useRef(void 0),b=t.useRef(!1),l=t.useRef(null),u=t.useRef(null),B=t.useRef(!1),V=t.useRef({x:0,y:0}),z=t.useRef({x:0,y:0}),x=t.useRef({x:0,y:0}),F=t.useRef({x:0,y:0}),W=t.useRef({x:0,y:0}),G=t.useRef({x:0,y:0}),Ae=!!(typeof window!="undefined"&&window.PointerEvent),he=!j&&Ae,v=!A&&_>0,a=t.useCallback(()=>c.current&&c.current.element?c.current.element:c.current,[c]),_e=t.useCallback(()=>d&&d.current&&d.current.element?d.current.element:d?d.current:null,[d]),pe=t.useCallback(()=>f&&f.current&&f.current.element?f.current.element:f?f.current:null,[f]),ge=t.useCallback(()=>{if(typeof s=="object"&&s.boundaryElementRef&&s.boundaryElementRef.current){const e=s.boundaryElementRef.current;return typeof e=="object"&&"element"in e?e.element:e}return u.current},[s]),E=t.useRef(null);t.useImperativeHandle(E,()=>({get element(){return a()},get hint(){return _e()},onPress:qe,onDragStart:Ue,onDrag:Be,onDragEnd:Ve,onRelease:Ne,data:c.current}));const X=t.useCallback(()=>{const e=a();return e&&e.ownerDocument||document},[a]),y=t.useCallback(()=>{const e=X();return e&&e.defaultView||window},[X]),me=t.useCallback(()=>({get drag(){return N?N.current:null},get drop(){return q?q.current:null},get drags(){return(R!=null?R:[]).map(e=>e.current)},get drops(){return(w!=null?w:[]).map(e=>e.current)},pressed:!!m,ignoreMouse:H.current,scrollOffset:W.current,offset:V.current,pageOffset:z.current,initialScrollOffset:G.current,clientOffset:x.current,initialClientOffset:F.current,velocity:O.current,autoScroll:!!(typeof s=="object"?s.enabled!==!1:s),scrollableParent:ge(),autoScrollDirection:typeof s=="object"?s.direction:{horizontal:!0,vertical:!0},isScrolling:L}),[N,q,R,w,m,H,W,V,z,G,x,F,O,s,L,ge]),Ce=t.useCallback(e=>{Ie(e)},[]),be=t.useCallback(e=>{Me(e)},[]),ve=t.useCallback(e=>{O.current=e},[]),Ee=t.useCallback(e=>{V.current=e},[]),ye=t.useCallback(e=>{x.current=e},[]),ke=t.useCallback(e=>{z.current=e},[]),Se=t.useCallback(e=>{F.current=e},[]),De=t.useCallback(e=>{W.current=e},[]),Oe=t.useCallback(e=>{G.current=e},[]),qe=t.useCallback(e=>{D(e)},[D]),Ne=t.useCallback(e=>{ue(e)},[ue]),Ue=t.useCallback(e=>{M(E,{target:c.current,event:e}),ae(e)},[M,c,ae]),Be=t.useCallback(e=>{ie(e)},[ie]),Ve=t.useCallback(e=>{B.current||(M(null,{target:c.current,event:e}),de(e))},[de,M,c]),r=t.useCallback(e=>{E.current&&Y.dispatchDragAndDrop(me(),{event:e,payload:E.current},{onVelocityChange:ve,onOffsetChange:Ee,onClientOffsetChange:ye,onPageOffsetChange:ke,onInitialClientOffsetChange:Se,onScrollOffsetChange:De,onInitialScrollOffsetChange:Oe,onIsPressedChange:Ce,onIsScrollingChange:be})},[me,ve,Ee,ke,ye,Se,Oe,Ce,De,be]),k=t.useCallback(()=>{h.current&&(window.clearTimeout(h.current),h.current=void 0),P.current=!1,C.current=null,i.current=void 0,b.current=!1,l.current=null},[]),Pe=t.useCallback(e=>v&&e.pointerType==="touch"&&e.pointerId===i.current,[v]),J=t.useCallback((e,n)=>{u.current&&(u.current.scrollTop+=e.y-n.y,u.current.scrollLeft+=e.x-n.x)},[]),xe=t.useCallback(e=>{i.current=e.pointerId,C.current={x:e.clientX,y:e.clientY},l.current={x:e.clientX,y:e.clientY};const n=a();h.current=window.setTimeout(()=>{P.current=!0,b.current=!1;try{n&&i.current!==void 0&&n.setPointerCapture(i.current)}catch{}},_)},[a,_]),K=t.useCallback(e=>{if(!e.isPrimary){r(e);return}k(),v&&e.pointerType==="touch"?xe(e):P.current=!0,r(e)},[r,v,k,xe]),Q=t.useCallback(e=>{if(Pe(e)){if(!P.current&&C.current){if(b.current){l.current&&J(l.current,{x:e.clientX,y:e.clientY}),l.current={x:e.clientX,y:e.clientY};return}const n=Math.abs(e.clientX-C.current.x),o=Math.abs(e.clientY-C.current.y);if(Math.hypot(n,o)>Qe){b.current=!0,J(C.current,{x:e.clientX,y:e.clientY}),l.current={x:e.clientX,y:e.clientY};return}return}if(P.current){if(l.current&&Math.round(e.clientX)===Math.round(l.current.x)&&Math.round(e.clientY)===Math.round(l.current.y))return;l.current={x:e.clientX,y:e.clientY}}}r(e)},[r,Pe,J]),Z=t.useCallback(e=>{(i.current===void 0||e.pointerId===i.current)&&k(),r(e)},[r,k]),$=t.useCallback(e=>{if(i.current!==void 0&&e.pointerId!==i.current){r(e);return}const n=b.current;if(k(),n){const o=new PointerEvent("pointercancel",e);r(o);return}r(e)},[r,k]),ee=t.useCallback(e=>{r(e)},[r]),te=t.useCallback(e=>{r(e)},[r]),ne=t.useCallback(e=>{r(e)},[r]),re=t.useCallback(e=>{e.preventDefault(),r(e)},[r]),oe=t.useCallback(e=>{e.preventDefault(),r(e)},[r]),ce=t.useCallback(e=>{e.preventDefault(),r(e)},[r]),se=t.useCallback(e=>{if(e.touches.length===0&&e.changedTouches.length===1){const n=y();H.current=!0,fe.current=n.setTimeout(()=>{H.current=!1},Ke)}r(e)},[r,y]),le=t.useCallback(e=>{b.current||r(e)},[r]),Le=t.useCallback(()=>{const e=a();if(e&&(A||v)){const n=e.style.touchAction;return e.style.touchAction="none",()=>{e.style.touchAction=n}}},[a,A,v]),we=t.useCallback(()=>(T==null||T(E),()=>{I==null||I(E)}),[I,T]),ze=()=>{const e=y(),n=a(),o=X();return he?(n&&(u.current=Y.getScrollableParent(n),u.current&&u.current.addEventListener("scroll",le,{passive:!0}),n.addEventListener("pointerdown",K,{passive:!0})),m&&(o.addEventListener("pointermove",Q),o.addEventListener("pointerup",$,!0),o.addEventListener("contextmenu",re),o.addEventListener("pointercancel",Z,{passive:!0}))):(e.addEventListener("touchmove",p.noop,{capture:!1,passive:!1}),n&&(n.addEventListener("mousedown",ee,{passive:!0}),j||(n.addEventListener("touchstart",oe,{passive:!0}),m&&(n.addEventListener("touchmove",ce,{passive:!0}),n.addEventListener("touchend",se,{passive:!0})))),m&&(o.addEventListener("mousemove",te,{passive:!0}),o.addEventListener("mouseup",ne,{passive:!0}))),()=>{u.current&&u.current.removeEventListener("scroll",le),n&&(n.removeEventListener("pointerdown",K),n.removeEventListener("mousedown",ee),n.removeEventListener("touchstart",oe),n.removeEventListener("touchmove",ce),n.removeEventListener("touchend",se)),o.removeEventListener("pointermove",Q),o.removeEventListener("pointerup",$,!0),o.removeEventListener("contextmenu",re),o.removeEventListener("pointercancel",Z),o.removeEventListener("mousemove",te),o.removeEventListener("mouseup",ne),e.removeEventListener("touchmove",p.noop),e.clearTimeout(fe.current)}};t.useEffect(()=>{const e=y();if(L){const n=pe()||u.current||Y.getScrollableParent(document.elementFromPoint(x.current.x,x.current.y));e.clearInterval(U.current),U.current=e.setInterval(()=>{Y.autoScroll(n,{x:O.current.x,y:O.current.y})},50)}return()=>{e.clearInterval(U.current)}},[a,pe,y,L]),t.useEffect(Le,[Le]),t.useEffect(ze,[m,y,a,X,j,he,re,ee,te,ne,Z,K,Q,$,se,ce,oe,le]),t.useEffect(()=>(B.current=!1,()=>{B.current=!0,h.current&&(window.clearTimeout(h.current),h.current=void 0)}),[]),Ge.useIsomorphicLayoutEffect(we,[we])}exports.useDraggable=Ze;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Qe=require("react"),j=require("@progress/kendo-draggable-common"),g=require("../noop.js"),Xe=require("./useInheritedState.js"),Ze=require("../drag-n-drop/context/index.js"),$e=require("./use-isomorphic-layout-effect.js");function et(c){const D=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const m in c)if(m!=="default"){const R=Object.getOwnPropertyDescriptor(c,m);Object.defineProperty(D,m,R.get?R:{enumerable:!0,get:()=>c[m]})}}return D.default=c,Object.freeze(D)}const t=et(Qe),tt=2e3,nt=16;function rt(c,D,m={}){const{onPress:R=g.noop,onRelease:ue=g.noop,onDragStart:le=g.noop,onDrag:ae=g.noop,onDragEnd:ie=g.noop}=D,{hint:d=null,mouseOnly:A=!1,autoTouchAction:U=!0,pressHoldDelay:_=0,autoScroll:s=!0,scrollContainer:p=null,context:Ye=Ze.DragAndDropContext}=m,[f,je]=t.useState(!1),[L,Ae]=t.useState(!1),{drop:Ue,dropRef:q,setDrop:_e,drag:qe,dragRef:N,setDrag:Ne,drops:w,drags:T,registerDrag:I,deregisterDrag:M}=t.useContext(Ye),[fe]=Xe.useInheritedState([Ue,_e]),[de,H]=Xe.useInheritedState([qe,Ne]),O=t.useRef({x:0,y:0}),B=t.useRef(void 0),X=t.useRef(!1),pe=t.useRef(void 0),h=t.useRef(void 0),P=t.useRef(!1),C=t.useRef(null),i=t.useRef(void 0),b=t.useRef(!1),u=t.useRef(null),l=t.useRef(null),V=t.useRef(!1),z=t.useRef({x:0,y:0}),F=t.useRef({x:0,y:0}),x=t.useRef({x:0,y:0}),W=t.useRef({x:0,y:0}),G=t.useRef({x:0,y:0}),J=t.useRef({x:0,y:0}),Be=!!(typeof window!="undefined"&&window.PointerEvent),Y=!A&&Be,v=!U&&_>0,a=t.useCallback(()=>c.current&&c.current.element?c.current.element:c.current,[c]),Ve=t.useCallback(()=>d&&d.current&&d.current.element?d.current.element:d?d.current:null,[d]),he=t.useCallback(()=>p&&p.current&&p.current.element?p.current.element:p?p.current:null,[p]),ge=t.useCallback(()=>{if(typeof s=="object"&&s.boundaryElementRef&&s.boundaryElementRef.current){const e=s.boundaryElementRef.current;return typeof e=="object"&&"element"in e?e.element:e}return l.current},[s]),E=t.useRef(null);t.useImperativeHandle(E,()=>({get element(){return a()},get hint(){return Ve()},onPress:ze,onDragStart:We,onDrag:Ge,onDragEnd:Je,onRelease:Fe,data:c.current}));const y=t.useCallback(()=>{const e=a();return e&&e.ownerDocument||document},[a]),k=t.useCallback(()=>{const e=y();return e&&e.defaultView||window},[y]),me=t.useCallback(()=>({get drag(){const e=N?N.current:de;return e?e.current:null},get drop(){const e=q?q.current:fe;return e?e.current:null},get drags(){return(T!=null?T:[]).map(e=>e.current)},get drops(){return(w!=null?w:[]).map(e=>e.current)},pressed:!!f,ignoreMouse:X.current,scrollOffset:G.current,offset:z.current,pageOffset:F.current,initialScrollOffset:J.current,clientOffset:x.current,initialClientOffset:W.current,velocity:O.current,autoScroll:!!(typeof s=="object"?s.enabled!==!1:s),scrollableParent:ge(),autoScrollDirection:typeof s=="object"?s.direction:{horizontal:!0,vertical:!0},isScrolling:L}),[de,N,fe,q,T,w,f,X,G,z,F,J,x,W,O,s,L,ge]),Ce=t.useCallback(e=>{je(e)},[]),be=t.useCallback(e=>{Ae(e)},[]),ve=t.useCallback(e=>{O.current=e},[]),Ee=t.useCallback(e=>{z.current=e},[]),ye=t.useCallback(e=>{x.current=e},[]),ke=t.useCallback(e=>{F.current=e},[]),Se=t.useCallback(e=>{W.current=e},[]),De=t.useCallback(e=>{G.current=e},[]),Re=t.useCallback(e=>{J.current=e},[]),ze=t.useCallback(e=>{R(e)},[R]),Fe=t.useCallback(e=>{ue(e)},[ue]),We=t.useCallback(e=>{H(E,{target:c.current,event:e}),le(e)},[H,c,le]),Ge=t.useCallback(e=>{ae(e)},[ae]),Je=t.useCallback(e=>{V.current||(H(null,{target:c.current,event:e}),ie(e))},[ie,H,c]),r=t.useCallback(e=>{E.current&&j.dispatchDragAndDrop(me(),{event:e,payload:E.current},{onVelocityChange:ve,onOffsetChange:Ee,onClientOffsetChange:ye,onPageOffsetChange:ke,onInitialClientOffsetChange:Se,onScrollOffsetChange:De,onInitialScrollOffsetChange:Re,onIsPressedChange:Ce,onIsScrollingChange:be})},[me,ve,Ee,ke,ye,Se,Re,Ce,De,be]),S=t.useCallback(()=>{h.current&&(window.clearTimeout(h.current),h.current=void 0),P.current=!1,C.current=null,i.current=void 0,b.current=!1,u.current=null},[]),Oe=t.useCallback(e=>v&&e.pointerType==="touch"&&e.pointerId===i.current,[v]),K=t.useCallback((e,n)=>{l.current&&(l.current.scrollTop+=e.y-n.y,l.current.scrollLeft+=e.x-n.x)},[]),Pe=t.useCallback(e=>{i.current=e.pointerId,C.current={x:e.clientX,y:e.clientY},u.current={x:e.clientX,y:e.clientY};const n=a();h.current=window.setTimeout(()=>{P.current=!0,b.current=!1;try{n&&i.current!==void 0&&n.setPointerCapture(i.current)}catch{}},_)},[a,_]),Q=t.useCallback(e=>{if(!e.isPrimary){r(e);return}S(),v&&e.pointerType==="touch"?Pe(e):P.current=!0,r(e)},[r,v,S,Pe]),Z=t.useCallback(e=>{if(Oe(e)){if(!P.current&&C.current){if(b.current){u.current&&K(u.current,{x:e.clientX,y:e.clientY}),u.current={x:e.clientX,y:e.clientY};return}const n=Math.abs(e.clientX-C.current.x),o=Math.abs(e.clientY-C.current.y);if(Math.hypot(n,o)>nt){b.current=!0,K(C.current,{x:e.clientX,y:e.clientY}),u.current={x:e.clientX,y:e.clientY};return}return}if(P.current){if(u.current&&Math.round(e.clientX)===Math.round(u.current.x)&&Math.round(e.clientY)===Math.round(u.current.y))return;u.current={x:e.clientX,y:e.clientY}}}r(e)},[r,Oe,K]),$=t.useCallback(e=>{(i.current===void 0||e.pointerId===i.current)&&S(),r(e)},[r,S]),xe=t.useCallback(e=>{if(i.current!==void 0&&e.pointerId!==i.current){r(e);return}const n=b.current;if(S(),n){const o=new PointerEvent("pointercancel",e);r(o);return}r(e)},[r,S]),ee=t.useCallback(e=>{r(e)},[r]),te=t.useCallback(e=>{r(e)},[r]),Le=t.useCallback(e=>{r(e)},[r]),we=t.useRef(xe),Te=t.useRef(Le);we.current=xe,Te.current=Le;const ne=t.useCallback(e=>{e.preventDefault(),r(e)},[r]),re=t.useCallback(e=>{e.preventDefault(),r(e)},[r]),oe=t.useCallback(e=>{e.preventDefault(),r(e)},[r]),ce=t.useCallback(e=>{if(e.touches.length===0&&e.changedTouches.length===1){const n=k();X.current=!0,pe.current=n.setTimeout(()=>{X.current=!1},tt)}r(e)},[r,k]),se=t.useCallback(e=>{b.current||r(e)},[r]),Ie=t.useCallback(()=>{const e=a();if(e&&(U||v)){const n=e.style.touchAction;return e.style.touchAction="none",()=>{e.style.touchAction=n}}},[a,U,v]),Me=t.useCallback(()=>(I==null||I(E),()=>{M==null||M(E)}),[M,I]),Ke=()=>{const e=k(),n=a(),o=y();return Y?(n&&(l.current=j.getScrollableParent(n),l.current&&l.current.addEventListener("scroll",se,{passive:!0}),n.addEventListener("pointerdown",Q,{passive:!0})),f&&(o.addEventListener("pointermove",Z),o.addEventListener("contextmenu",ne),o.addEventListener("pointercancel",$,{passive:!0}))):(e.addEventListener("touchmove",g.noop,{capture:!1,passive:!1}),n&&(n.addEventListener("mousedown",ee,{passive:!0}),A||(n.addEventListener("touchstart",re,{passive:!0}),f&&(n.addEventListener("touchmove",oe,{passive:!0}),n.addEventListener("touchend",ce,{passive:!0})))),f&&o.addEventListener("mousemove",te,{passive:!0})),()=>{l.current&&l.current.removeEventListener("scroll",se),n&&(n.removeEventListener("pointerdown",Q),n.removeEventListener("mousedown",ee),n.removeEventListener("touchstart",re),n.removeEventListener("touchmove",oe),n.removeEventListener("touchend",ce)),o.removeEventListener("pointermove",Z),o.removeEventListener("contextmenu",ne),o.removeEventListener("pointercancel",$),o.removeEventListener("mousemove",te),e.removeEventListener("touchmove",g.noop),e.clearTimeout(pe.current)}};t.useEffect(()=>{const e=k();if(L){const n=he()||l.current||j.getScrollableParent(document.elementFromPoint(x.current.x,x.current.y));e.clearInterval(B.current),B.current=e.setInterval(()=>{j.autoScroll(n,{x:O.current.x,y:O.current.y})},50)}return()=>{e.clearInterval(B.current)}},[a,he,k,L]),t.useEffect(Ie,[Ie]),t.useEffect(()=>{if(!f)return;const e=y();if(Y){const o=He=>we.current(He);return e.addEventListener("pointerup",o,!0),()=>e.removeEventListener("pointerup",o,!0)}const n=o=>Te.current(o);return e.addEventListener("mouseup",n,{passive:!0}),()=>e.removeEventListener("mouseup",n)},[y,Y,f]),t.useEffect(Ke,[f,k,a,y,A,Y,ne,ee,te,$,Q,Z,ce,oe,re,se]),t.useEffect(()=>(V.current=!1,()=>{V.current=!0,h.current&&(window.clearTimeout(h.current),h.current=void 0)}),[]),$e.useIsomorphicLayoutEffect(Me,[Me])}exports.useDraggable=rt;