@progress/kendo-react-common 16.2.0-develop.15 → 16.2.0-develop.16
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.
- package/dist/cdn/js/kendo-react-common.js +1 -1
- package/drag-n-drop/context/index.d.ts +2 -0
- package/drag-n-drop/context/index.js +1 -1
- package/drag-n-drop/context/index.mjs +4 -2
- package/drag-n-drop/index.js +1 -1
- package/drag-n-drop/index.mjs +43 -39
- package/hooks/useDraggable.js +1 -1
- package/hooks/useDraggable.mjs +171 -155
- package/package.json +1 -1
|
@@ -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
|
|
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
|
|
9
|
+
import * as o from "react";
|
|
10
10
|
import { noop as r } from "../../noop.mjs";
|
|
11
|
-
const t =
|
|
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,
|
package/drag-n-drop/index.js
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
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;
|
package/drag-n-drop/index.mjs
CHANGED
|
@@ -6,56 +6,60 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
import * as
|
|
10
|
-
import { DragAndDropContext as
|
|
11
|
-
import { useControlledState as
|
|
12
|
-
import { useCollection as
|
|
13
|
-
const
|
|
14
|
-
const { context:
|
|
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
|
-
),
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
},
|
|
24
|
-
|
|
25
|
-
type:
|
|
26
|
-
item:
|
|
25
|
+
}, A = (t) => {
|
|
26
|
+
a({
|
|
27
|
+
type: e.remove,
|
|
28
|
+
item: t
|
|
27
29
|
});
|
|
28
|
-
},
|
|
29
|
-
|
|
30
|
-
type:
|
|
31
|
-
item:
|
|
30
|
+
}, h = (t) => {
|
|
31
|
+
d({
|
|
32
|
+
type: e.add,
|
|
33
|
+
item: t
|
|
32
34
|
});
|
|
33
|
-
},
|
|
34
|
-
|
|
35
|
-
type:
|
|
36
|
-
item:
|
|
35
|
+
}, N = (t) => {
|
|
36
|
+
d({
|
|
37
|
+
type: e.remove,
|
|
38
|
+
item: t
|
|
37
39
|
});
|
|
38
40
|
};
|
|
39
|
-
return /* @__PURE__ */
|
|
40
|
-
|
|
41
|
+
return /* @__PURE__ */ o.createElement(
|
|
42
|
+
g.Provider,
|
|
41
43
|
{
|
|
42
44
|
value: {
|
|
43
|
-
drag:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
59
|
+
s.children
|
|
56
60
|
);
|
|
57
61
|
};
|
|
58
|
-
|
|
62
|
+
S.displayName = "KendoReactDragAndDrop";
|
|
59
63
|
export {
|
|
60
|
-
|
|
64
|
+
S as DragAndDrop
|
|
61
65
|
};
|
package/hooks/useDraggable.js
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
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;
|