@os-design/drag-sort 1.0.0 → 1.0.4

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.
@@ -2,61 +2,74 @@ import { useCallback } from 'react';
2
2
  import getNodeRect from './getNodeRect';
3
3
 
4
4
  /* eslint-disable no-constant-condition */
5
- const useMoveNode = (position, draggedNode, getNodeStyle) => useCallback(props => {
5
+ const useMoveNode = props => {
6
6
  const {
7
- list,
8
- startNode,
9
- type,
10
- untilTheEnd = false,
11
- insideAnotherList = false
7
+ position,
8
+ draggedNode,
9
+ getNodeStyle
12
10
  } = props;
13
- if (!draggedNode || !position) return startNode;
14
- const [,,,, draggedNodeIndex] = draggedNode.node;
15
- const axis = list.horizontal ? 'x' : 'y';
16
- let node = startNode;
17
-
18
- if (type === 'up') {
19
- while (true) {
20
- const [prev,,, nodeSetStyle, nodeIndex] = node;
21
- if (!prev) return node;
22
- const [,, prevNodeRef, prevNodeSetStyle, prevNodeIndex] = prev;
23
-
24
- if (!untilTheEnd) {
25
- const prevNodeRect = getNodeRect(prevNodeRef);
26
- const rectProp = list.horizontal ? 'right' : 'bottom';
27
- if (prevNodeRect && position[axis] > prevNodeRect[rectProp]) return node;
28
- }
11
+ return useCallback(options => {
12
+ const {
13
+ list,
14
+ startNode,
15
+ direction,
16
+ destination,
17
+ isAnotherList = false
18
+ } = options;
19
+ if (!draggedNode || !position) return startNode;
20
+ const [,,,, draggedNodeIndex] = draggedNode.node;
21
+ const axis = list.horizontal ? 'x' : 'y';
22
+ const startRectProp = list.horizontal ? 'left' : 'top';
23
+ const endRectProp = list.horizontal ? 'right' : 'bottom';
24
+ let node = startNode;
29
25
 
30
- if (insideAnotherList || prevNodeIndex < draggedNodeIndex) {
31
- prevNodeSetStyle(getNodeStyle('down', list.horizontal));
32
- } else if (nodeIndex > draggedNodeIndex) {
33
- nodeSetStyle(getNodeStyle('init', list.horizontal));
34
- }
26
+ if (direction === 'up') {
27
+ while (true) {
28
+ const [prev,,, nodeSetStyle, nodeIndex] = node;
29
+ if (!prev) return node;
30
+ const [,, prevNodeRef, prevNodeSetStyle, prevNodeIndex] = prev;
35
31
 
36
- node = prev;
37
- }
38
- } else {
39
- while (true) {
40
- const [, next,, nodeSetStyle, nodeIndex] = node;
41
- if (!next) return node;
42
- const [,, nextNodeRef, nextNodeSetStyle, nextNodeIndex] = next;
43
-
44
- if (!untilTheEnd) {
45
- const nextNodeRect = getNodeRect(nextNodeRef);
46
- const rectProp = list.horizontal ? 'left' : 'top';
47
- if (nextNodeRect && position[axis] < nextNodeRect[rectProp]) return node;
48
- }
32
+ if (destination === 'cursor') {
33
+ const prevNodeRect = getNodeRect(prevNodeRef);
34
+
35
+ if (prevNodeRect && position[axis] > prevNodeRect[endRectProp]) {
36
+ return node;
37
+ }
38
+ }
49
39
 
50
- if (insideAnotherList || nodeIndex < draggedNodeIndex) {
51
- nodeSetStyle(getNodeStyle('init', list.horizontal));
52
- } else if (nextNodeIndex > draggedNodeIndex) {
53
- nextNodeSetStyle(getNodeStyle('up', list.horizontal));
40
+ if (isAnotherList || prevNodeIndex < draggedNodeIndex) {
41
+ prevNodeSetStyle(getNodeStyle('down', list.horizontal));
42
+ } else if (nodeIndex > draggedNodeIndex) {
43
+ nodeSetStyle(getNodeStyle('init', list.horizontal));
44
+ }
45
+
46
+ node = prev;
54
47
  }
48
+ } else {
49
+ while (true) {
50
+ const [, next,, nodeSetStyle, nodeIndex] = node;
51
+ if (!next) return node;
52
+ const [,, nextNodeRef, nextNodeSetStyle, nextNodeIndex] = next;
53
+
54
+ if (destination === 'cursor') {
55
+ const nextNodeRect = getNodeRect(nextNodeRef);
56
+
57
+ if (nextNodeRect && position[axis] < nextNodeRect[startRectProp]) {
58
+ return node;
59
+ }
60
+ }
55
61
 
56
- node = next;
62
+ if (isAnotherList || nodeIndex < draggedNodeIndex) {
63
+ nodeSetStyle(getNodeStyle('init', list.horizontal));
64
+ } else if (nextNodeIndex > draggedNodeIndex) {
65
+ nextNodeSetStyle(getNodeStyle('up', list.horizontal));
66
+ }
67
+
68
+ node = next;
69
+ }
57
70
  }
58
- }
59
- }, [draggedNode, getNodeStyle, position]);
71
+ }, [draggedNode, getNodeStyle, position]);
72
+ };
60
73
 
61
74
  export default useMoveNode;
62
75
  //# sourceMappingURL=useMoveNode.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/useMoveNode.ts"],"names":["useCallback","getNodeRect","useMoveNode","position","draggedNode","getNodeStyle","props","list","startNode","type","untilTheEnd","insideAnotherList","draggedNodeIndex","node","axis","horizontal","prev","nodeSetStyle","nodeIndex","prevNodeRef","prevNodeSetStyle","prevNodeIndex","prevNodeRect","rectProp","next","nextNodeRef","nextNodeSetStyle","nextNodeIndex","nextNodeRect"],"mappings":"AAAA,SAASA,WAAT,QAA4B,OAA5B;AAKA,OAAOC,WAAP,MAAwB,eAAxB;;AAWA;AAEA,MAAMC,WAAW,GAAG,CAClBC,QADkB,EAElBC,WAFkB,EAGlBC,YAHkB,KAKlBL,WAAW,CACRM,KAAD,IAAsB;AACpB,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,SAFI;AAGJC,IAAAA,IAHI;AAIJC,IAAAA,WAAW,GAAG,KAJV;AAKJC,IAAAA,iBAAiB,GAAG;AALhB,MAMFL,KANJ;AAQA,MAAI,CAACF,WAAD,IAAgB,CAACD,QAArB,EAA+B,OAAOK,SAAP;AAC/B,QAAM,MAASI,gBAAT,IAA6BR,WAAW,CAACS,IAA/C;AACA,QAAMC,IAAI,GAAGP,IAAI,CAACQ,UAAL,GAAkB,GAAlB,GAAwB,GAArC;AACA,MAAIF,IAAI,GAAGL,SAAX;;AAEA,MAAIC,IAAI,KAAK,IAAb,EAAmB;AACjB,WAAO,IAAP,EAAa;AACX,YAAM,CAACO,IAAD,IAAWC,YAAX,EAAyBC,SAAzB,IAAsCL,IAA5C;AACA,UAAI,CAACG,IAAL,EAAW,OAAOH,IAAP;AACX,YAAM,IAAKM,WAAL,EAAkBC,gBAAlB,EAAoCC,aAApC,IAAqDL,IAA3D;;AACA,UAAI,CAACN,WAAL,EAAkB;AAChB,cAAMY,YAAY,GAAGrB,WAAW,CAACkB,WAAD,CAAhC;AACA,cAAMI,QAAQ,GAAGhB,IAAI,CAACQ,UAAL,GAAkB,OAAlB,GAA4B,QAA7C;AACA,YAAIO,YAAY,IAAInB,QAAQ,CAACW,IAAD,CAAR,GAAiBQ,YAAY,CAACC,QAAD,CAAjD,EACE,OAAOV,IAAP;AACH;;AACD,UAAIF,iBAAiB,IAAIU,aAAa,GAAGT,gBAAzC,EAA2D;AACzDQ,QAAAA,gBAAgB,CAACf,YAAY,CAAC,MAAD,EAASE,IAAI,CAACQ,UAAd,CAAb,CAAhB;AACD,OAFD,MAEO,IAAIG,SAAS,GAAGN,gBAAhB,EAAkC;AACvCK,QAAAA,YAAY,CAACZ,YAAY,CAAC,MAAD,EAASE,IAAI,CAACQ,UAAd,CAAb,CAAZ;AACD;;AACDF,MAAAA,IAAI,GAAGG,IAAP;AACD;AACF,GAlBD,MAkBO;AACL,WAAO,IAAP,EAAa;AACX,YAAM,GAAGQ,IAAH,GAAWP,YAAX,EAAyBC,SAAzB,IAAsCL,IAA5C;AACA,UAAI,CAACW,IAAL,EAAW,OAAOX,IAAP;AACX,YAAM,IAAKY,WAAL,EAAkBC,gBAAlB,EAAoCC,aAApC,IAAqDH,IAA3D;;AACA,UAAI,CAACd,WAAL,EAAkB;AAChB,cAAMkB,YAAY,GAAG3B,WAAW,CAACwB,WAAD,CAAhC;AACA,cAAMF,QAAQ,GAAGhB,IAAI,CAACQ,UAAL,GAAkB,MAAlB,GAA2B,KAA5C;AACA,YAAIa,YAAY,IAAIzB,QAAQ,CAACW,IAAD,CAAR,GAAiBc,YAAY,CAACL,QAAD,CAAjD,EACE,OAAOV,IAAP;AACH;;AACD,UAAIF,iBAAiB,IAAIO,SAAS,GAAGN,gBAArC,EAAuD;AACrDK,QAAAA,YAAY,CAACZ,YAAY,CAAC,MAAD,EAASE,IAAI,CAACQ,UAAd,CAAb,CAAZ;AACD,OAFD,MAEO,IAAIY,aAAa,GAAGf,gBAApB,EAAsC;AAC3Cc,QAAAA,gBAAgB,CAACrB,YAAY,CAAC,IAAD,EAAOE,IAAI,CAACQ,UAAZ,CAAb,CAAhB;AACD;;AACDF,MAAAA,IAAI,GAAGW,IAAP;AACD;AACF;AACF,CApDQ,EAqDT,CAACpB,WAAD,EAAcC,YAAd,EAA4BF,QAA5B,CArDS,CALb;;AA6DA,eAAeD,WAAf","sourcesContent":["import { useCallback } from 'react';\nimport { Position } from '@os-design/use-drag';\nimport NodeList, { ExistingNode } from './NodeList';\n// eslint-disable-next-line import/no-cycle\nimport { DraggedNode } from './useDragEffect';\nimport getNodeRect from './getNodeRect';\nimport { NodeStyleGetter } from './useGetNodeStyle';\n\ninterface MoveProps {\n list: NodeList;\n startNode: ExistingNode;\n type: 'up' | 'down';\n untilTheEnd?: boolean;\n insideAnotherList?: boolean;\n}\n\n/* eslint-disable no-constant-condition */\n\nconst useMoveNode = (\n position: Position | null,\n draggedNode: DraggedNode | null,\n getNodeStyle: NodeStyleGetter\n) =>\n useCallback(\n (props: MoveProps) => {\n const {\n list,\n startNode,\n type,\n untilTheEnd = false,\n insideAnotherList = false,\n } = props;\n\n if (!draggedNode || !position) return startNode;\n const [, , , , draggedNodeIndex] = draggedNode.node;\n const axis = list.horizontal ? 'x' : 'y';\n let node = startNode;\n\n if (type === 'up') {\n while (true) {\n const [prev, , , nodeSetStyle, nodeIndex] = node;\n if (!prev) return node;\n const [, , prevNodeRef, prevNodeSetStyle, prevNodeIndex] = prev;\n if (!untilTheEnd) {\n const prevNodeRect = getNodeRect(prevNodeRef);\n const rectProp = list.horizontal ? 'right' : 'bottom';\n if (prevNodeRect && position[axis] > prevNodeRect[rectProp])\n return node;\n }\n if (insideAnotherList || prevNodeIndex < draggedNodeIndex) {\n prevNodeSetStyle(getNodeStyle('down', list.horizontal));\n } else if (nodeIndex > draggedNodeIndex) {\n nodeSetStyle(getNodeStyle('init', list.horizontal));\n }\n node = prev;\n }\n } else {\n while (true) {\n const [, next, , nodeSetStyle, nodeIndex] = node;\n if (!next) return node;\n const [, , nextNodeRef, nextNodeSetStyle, nextNodeIndex] = next;\n if (!untilTheEnd) {\n const nextNodeRect = getNodeRect(nextNodeRef);\n const rectProp = list.horizontal ? 'left' : 'top';\n if (nextNodeRect && position[axis] < nextNodeRect[rectProp])\n return node;\n }\n if (insideAnotherList || nodeIndex < draggedNodeIndex) {\n nodeSetStyle(getNodeStyle('init', list.horizontal));\n } else if (nextNodeIndex > draggedNodeIndex) {\n nextNodeSetStyle(getNodeStyle('up', list.horizontal));\n }\n node = next;\n }\n }\n },\n [draggedNode, getNodeStyle, position]\n );\n\nexport default useMoveNode;\n"],"file":"useMoveNode.js"}
1
+ {"version":3,"sources":["../../../src/utils/useMoveNode.ts"],"names":["useCallback","getNodeRect","useMoveNode","props","position","draggedNode","getNodeStyle","options","list","startNode","direction","destination","isAnotherList","draggedNodeIndex","node","axis","horizontal","startRectProp","endRectProp","prev","nodeSetStyle","nodeIndex","prevNodeRef","prevNodeSetStyle","prevNodeIndex","prevNodeRect","next","nextNodeRef","nextNodeSetStyle","nextNodeIndex","nextNodeRect"],"mappings":"AAAA,SAASA,WAAT,QAA4B,OAA5B;AAGA,OAAOC,WAAP,MAAwB,eAAxB;;AAqBA;AAEA,MAAMC,WAAW,GAAIC,KAAD,IAA6B;AAC/C,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,WAAZ;AAAyBC,IAAAA;AAAzB,MAA0CH,KAAhD;AAEA,SAAOH,WAAW,CACfO,OAAD,IAAwB;AACtB,UAAM;AACJC,MAAAA,IADI;AAEJC,MAAAA,SAFI;AAGJC,MAAAA,SAHI;AAIJC,MAAAA,WAJI;AAKJC,MAAAA,aAAa,GAAG;AALZ,QAMFL,OANJ;AAQA,QAAI,CAACF,WAAD,IAAgB,CAACD,QAArB,EAA+B,OAAOK,SAAP;AAC/B,UAAM,MAASI,gBAAT,IAA6BR,WAAW,CAACS,IAA/C;AACA,UAAMC,IAAI,GAAGP,IAAI,CAACQ,UAAL,GAAkB,GAAlB,GAAwB,GAArC;AACA,UAAMC,aAAa,GAAGT,IAAI,CAACQ,UAAL,GAAkB,MAAlB,GAA2B,KAAjD;AACA,UAAME,WAAW,GAAGV,IAAI,CAACQ,UAAL,GAAkB,OAAlB,GAA4B,QAAhD;AACA,QAAIF,IAAI,GAAGL,SAAX;;AAEA,QAAIC,SAAS,KAAK,IAAlB,EAAwB;AACtB,aAAO,IAAP,EAAa;AACX,cAAM,CAACS,IAAD,IAAWC,YAAX,EAAyBC,SAAzB,IAAsCP,IAA5C;AACA,YAAI,CAACK,IAAL,EAAW,OAAOL,IAAP;AAEX,cAAM,IAAKQ,WAAL,EAAkBC,gBAAlB,EAAoCC,aAApC,IAAqDL,IAA3D;;AAEA,YAAIR,WAAW,KAAK,QAApB,EAA8B;AAC5B,gBAAMc,YAAY,GAAGxB,WAAW,CAACqB,WAAD,CAAhC;;AACA,cAAIG,YAAY,IAAIrB,QAAQ,CAACW,IAAD,CAAR,GAAiBU,YAAY,CAACP,WAAD,CAAjD,EAAgE;AAC9D,mBAAOJ,IAAP;AACD;AACF;;AAED,YAAIF,aAAa,IAAIY,aAAa,GAAGX,gBAArC,EAAuD;AACrDU,UAAAA,gBAAgB,CAACjB,YAAY,CAAC,MAAD,EAASE,IAAI,CAACQ,UAAd,CAAb,CAAhB;AACD,SAFD,MAEO,IAAIK,SAAS,GAAGR,gBAAhB,EAAkC;AACvCO,UAAAA,YAAY,CAACd,YAAY,CAAC,MAAD,EAASE,IAAI,CAACQ,UAAd,CAAb,CAAZ;AACD;;AAEDF,QAAAA,IAAI,GAAGK,IAAP;AACD;AACF,KAtBD,MAsBO;AACL,aAAO,IAAP,EAAa;AACX,cAAM,GAAGO,IAAH,GAAWN,YAAX,EAAyBC,SAAzB,IAAsCP,IAA5C;AACA,YAAI,CAACY,IAAL,EAAW,OAAOZ,IAAP;AAEX,cAAM,IAAKa,WAAL,EAAkBC,gBAAlB,EAAoCC,aAApC,IAAqDH,IAA3D;;AAEA,YAAIf,WAAW,KAAK,QAApB,EAA8B;AAC5B,gBAAMmB,YAAY,GAAG7B,WAAW,CAAC0B,WAAD,CAAhC;;AACA,cAAIG,YAAY,IAAI1B,QAAQ,CAACW,IAAD,CAAR,GAAiBe,YAAY,CAACb,aAAD,CAAjD,EAAkE;AAChE,mBAAOH,IAAP;AACD;AACF;;AAED,YAAIF,aAAa,IAAIS,SAAS,GAAGR,gBAAjC,EAAmD;AACjDO,UAAAA,YAAY,CAACd,YAAY,CAAC,MAAD,EAASE,IAAI,CAACQ,UAAd,CAAb,CAAZ;AACD,SAFD,MAEO,IAAIa,aAAa,GAAGhB,gBAApB,EAAsC;AAC3Ce,UAAAA,gBAAgB,CAACtB,YAAY,CAAC,IAAD,EAAOE,IAAI,CAACQ,UAAZ,CAAb,CAAhB;AACD;;AAEDF,QAAAA,IAAI,GAAGY,IAAP;AACD;AACF;AACF,GA9De,EA+DhB,CAACrB,WAAD,EAAcC,YAAd,EAA4BF,QAA5B,CA/DgB,CAAlB;AAiED,CApED;;AAsEA,eAAeF,WAAf","sourcesContent":["import { useCallback } from 'react';\nimport { Position } from '@os-design/use-drag';\nimport NodeList, { ExistingNode } from './NodeList';\nimport getNodeRect from './getNodeRect';\nimport { NodeStyleGetter } from './useGetNodeStyle';\n\ninterface DraggedNode {\n node: ExistingNode;\n}\n\ninterface UseMoveNodeProps {\n position: Position | null;\n draggedNode: DraggedNode | null;\n getNodeStyle: NodeStyleGetter;\n}\n\ninterface MoveProps {\n list: NodeList;\n startNode: ExistingNode;\n direction: 'up' | 'down';\n destination: 'cursor' | 'end';\n isAnotherList?: boolean;\n}\n\n/* eslint-disable no-constant-condition */\n\nconst useMoveNode = (props: UseMoveNodeProps) => {\n const { position, draggedNode, getNodeStyle } = props;\n\n return useCallback(\n (options: MoveProps) => {\n const {\n list,\n startNode,\n direction,\n destination,\n isAnotherList = false,\n } = options;\n\n if (!draggedNode || !position) return startNode;\n const [, , , , draggedNodeIndex] = draggedNode.node;\n const axis = list.horizontal ? 'x' : 'y';\n const startRectProp = list.horizontal ? 'left' : 'top';\n const endRectProp = list.horizontal ? 'right' : 'bottom';\n let node = startNode;\n\n if (direction === 'up') {\n while (true) {\n const [prev, , , nodeSetStyle, nodeIndex] = node;\n if (!prev) return node;\n\n const [, , prevNodeRef, prevNodeSetStyle, prevNodeIndex] = prev;\n\n if (destination === 'cursor') {\n const prevNodeRect = getNodeRect(prevNodeRef);\n if (prevNodeRect && position[axis] > prevNodeRect[endRectProp]) {\n return node;\n }\n }\n\n if (isAnotherList || prevNodeIndex < draggedNodeIndex) {\n prevNodeSetStyle(getNodeStyle('down', list.horizontal));\n } else if (nodeIndex > draggedNodeIndex) {\n nodeSetStyle(getNodeStyle('init', list.horizontal));\n }\n\n node = prev;\n }\n } else {\n while (true) {\n const [, next, , nodeSetStyle, nodeIndex] = node;\n if (!next) return node;\n\n const [, , nextNodeRef, nextNodeSetStyle, nextNodeIndex] = next;\n\n if (destination === 'cursor') {\n const nextNodeRect = getNodeRect(nextNodeRef);\n if (nextNodeRect && position[axis] < nextNodeRect[startRectProp]) {\n return node;\n }\n }\n\n if (isAnotherList || nodeIndex < draggedNodeIndex) {\n nodeSetStyle(getNodeStyle('init', list.horizontal));\n } else if (nextNodeIndex > draggedNodeIndex) {\n nextNodeSetStyle(getNodeStyle('up', list.horizontal));\n }\n\n node = next;\n }\n }\n },\n [draggedNode, getNodeStyle, position]\n );\n};\n\nexport default useMoveNode;\n"],"file":"useMoveNode.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"DragAndDrop.d.ts","sourceRoot":"","sources":["../../src/DragAndDrop.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AASf,OAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKxD,OAAsB,EACpB,cAAc,EAEf,MAAM,uBAAuB,CAAC;AAI/B,MAAM,WAAW,gBAAgB;IAK/B,oBAAoB,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAKhD,cAAc,CAAC,EAAE,MAAM,CAAC;IAKxB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAK/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAK9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAK3B,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAUD,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA6I3C,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"DragAndDrop.d.ts","sourceRoot":"","sources":["../../src/DragAndDrop.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AASf,OAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKxD,OAAsB,EACpB,cAAc,EAEf,MAAM,uBAAuB,CAAC;AAK/B,MAAM,WAAW,gBAAgB;IAK/B,oBAAoB,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAKhD,cAAc,CAAC,EAAE,MAAM,CAAC;IAKxB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAK/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAK9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAK3B,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAUD,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAkJ3C,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAe,WAAW,CAAC"}
@@ -4,7 +4,7 @@ export interface DraggableHandlers {
4
4
  onTouchStart: (e: TouchEvent) => void;
5
5
  }
6
6
  export interface DraggableChildrenProps {
7
- ref: RefObject<HTMLDivElement>;
7
+ ref: RefObject<any>;
8
8
  style: CSSProperties;
9
9
  handlers: DraggableHandlers;
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Draggable.d.ts","sourceRoot":"","sources":["../../src/Draggable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,aAAa,EACb,SAAS,EAKT,UAAU,EACV,UAAU,EACX,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,iBAAiB;IAIhC,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAIrC,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IAIrC,GAAG,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAI/B,KAAK,EAAE,aAAa,CAAC;IAIrB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAI7B,KAAK,EAAE,MAAM,CAAC;IAId,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAC;CAC9D;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA+CvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Draggable.d.ts","sourceRoot":"","sources":["../../src/Draggable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,aAAa,EACb,SAAS,EAKT,UAAU,EACV,UAAU,EACX,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,iBAAiB;IAIhC,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAIrC,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IAIrC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAIpB,KAAK,EAAE,aAAa,CAAC;IAIrB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAI7B,KAAK,EAAE,MAAM,CAAC;IAId,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAC;CAC9D;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA+CvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import NodeList from './NodeList';
2
- import { DraggedNode } from './useDragEffect';
3
2
  interface InitSize {
4
3
  initWidth: number;
5
4
  initHeight: number;
6
5
  }
6
+ interface DraggedNode {
7
+ list: NodeList;
8
+ }
7
9
  interface UseBlankNodeProps {
8
10
  draggedNode: DraggedNode | null;
9
11
  targetList: NodeList | null;
@@ -1 +1 @@
1
- {"version":3,"file":"useBlankNode.d.ts","sourceRoot":"","sources":["../../../src/utils/useBlankNode.ts"],"names":[],"mappings":"AACA,OAAO,QAA0B,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,UAAU,QAAQ;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC5B,mBAAmB,EAAE,QAAQ,GAAG,IAAI,CAAC;CACtC;AAWD,QAAA,MAAM,YAAY,UAAW,iBAAiB,eAyE7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"useBlankNode.d.ts","sourceRoot":"","sources":["../../../src/utils/useBlankNode.ts"],"names":[],"mappings":"AACA,OAAO,QAA0B,MAAM,YAAY,CAAC;AAEpD,UAAU,QAAQ;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC5B,mBAAmB,EAAE,QAAQ,GAAG,IAAI,CAAC;CACtC;AAWD,QAAA,MAAM,YAAY,UAAW,iBAAiB,eAyE7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDragEffect.d.ts","sourceRoot":"","sources":["../../../src/utils/useDragEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAGf,OAAO,QAAQ,EAAE,EAAE,YAAY,EAAmB,MAAM,YAAY,CAAC;AACrE,OAAO,SAAS,MAAM,aAAa,CAAC;AAYpC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAOD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,cAAc,GAAG,CAC3B,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,YAAY,KACjB,IAAI,CAAC;AAEV,UAAU,kBAAkB;IAC1B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,QAAQ,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,SAAS,EAAE,cAAc,CAAC;CAC3B;AAiBD,QAAA,MAAM,aAAa,UAAW,kBAAkB,SAqY/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"useDragEffect.d.ts","sourceRoot":"","sources":["../../../src/utils/useDragEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAGf,OAAO,QAAQ,EAAE,EAAE,YAAY,EAAmB,MAAM,YAAY,CAAC;AACrE,OAAO,SAAS,MAAM,aAAa,CAAC;AAUpC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAOD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,cAAc,GAAG,CAC3B,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,YAAY,KACjB,IAAI,CAAC;AAEV,UAAU,kBAAkB;IAC1B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,QAAQ,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,SAAS,EAAE,cAAc,CAAC;CAC3B;AAiBD,QAAA,MAAM,aAAa,UAAW,kBAAkB,SA6Z/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useInitRect.d.ts","sourceRoot":"","sources":["../../../src/utils/useInitRect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAE3C,QAAA,MAAM,WAAW;;;;;QAUN,CAAC;AAEZ,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"useInitRect.d.ts","sourceRoot":"","sources":["../../../src/utils/useInitRect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAE3C,QAAA,MAAM,WAAW;;;;;QAYN,CAAC;AAEZ,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useInitScrollOffset.d.ts","sourceRoot":"","sources":["../../../src/utils/useInitScrollOffset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAG3C,QAAA,MAAM,mBAAmB;;;QAQd,CAAC;AAEZ,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"useInitScrollOffset.d.ts","sourceRoot":"","sources":["../../../src/utils/useInitScrollOffset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAG3C,QAAA,MAAM,mBAAmB;;;QAUd,CAAC;AAEZ,eAAe,mBAAmB,CAAC"}
@@ -1,15 +1,22 @@
1
1
  /// <reference types="react" />
2
2
  import { Position } from '@os-design/use-drag';
3
3
  import NodeList, { ExistingNode } from './NodeList';
4
- import { DraggedNode } from './useDragEffect';
5
4
  import { NodeStyleGetter } from './useGetNodeStyle';
5
+ interface DraggedNode {
6
+ node: ExistingNode;
7
+ }
8
+ interface UseMoveNodeProps {
9
+ position: Position | null;
10
+ draggedNode: DraggedNode | null;
11
+ getNodeStyle: NodeStyleGetter;
12
+ }
6
13
  interface MoveProps {
7
14
  list: NodeList;
8
15
  startNode: ExistingNode;
9
- type: 'up' | 'down';
10
- untilTheEnd?: boolean;
11
- insideAnotherList?: boolean;
16
+ direction: 'up' | 'down';
17
+ destination: 'cursor' | 'end';
18
+ isAnotherList?: boolean;
12
19
  }
13
- declare const useMoveNode: (position: Position | null, draggedNode: DraggedNode | null, getNodeStyle: NodeStyleGetter) => (props: MoveProps) => [import("./NodeList").Node, import("./NodeList").Node, import("react").RefObject<any>, (style: import("react").CSSProperties) => void, number];
20
+ declare const useMoveNode: (props: UseMoveNodeProps) => (options: MoveProps) => [import("./NodeList").Node, import("./NodeList").Node, import("react").RefObject<any>, (style: import("react").CSSProperties) => void, number];
14
21
  export default useMoveNode;
15
22
  //# sourceMappingURL=useMoveNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMoveNode.d.ts","sourceRoot":"","sources":["../../../src/utils/useMoveNode.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,UAAU,SAAS;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,YAAY,CAAC;IACxB,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAID,QAAA,MAAM,WAAW,aACL,QAAQ,GAAG,IAAI,eACZ,WAAW,GAAG,IAAI,gBACjB,eAAe,aAGnB,SAAS,mJAqDlB,CAAC;AAEJ,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"useMoveNode.d.ts","sourceRoot":"","sources":["../../../src/utils/useMoveNode.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,UAAU,WAAW;IACnB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,YAAY,CAAC;IACxB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,WAAW,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,QAAA,MAAM,WAAW,UAAW,gBAAgB,eAI9B,SAAS,mJAgEtB,CAAC;AAEF,eAAe,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@os-design/drag-sort",
3
- "version": "1.0.0",
3
+ "version": "1.0.4",
4
4
  "license": "UNLICENSED",
5
5
  "repository": "git@gitlab.com:os-team/libs/os-design.git",
6
6
  "main": "dist/cjs/index.js",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@os-design/portal": "^1.0.0",
32
- "@os-design/use-auto-scroll": "^1.0.0",
32
+ "@os-design/use-auto-scroll": "^1.0.1",
33
33
  "@os-design/use-drag": "^1.0.0",
34
34
  "@os-design/use-event": "^1.0.5",
35
35
  "@os-design/use-memo-object": "^1.0.0",
@@ -45,5 +45,5 @@
45
45
  "react": ">=17",
46
46
  "react-dom": ">=17"
47
47
  },
48
- "gitHead": "4f41a962d4c0afb57d65e8c3e104215794d3c6a7"
48
+ "gitHead": "b1ea7d447a394d8ea1ea077d6e91a7c151b8af50"
49
49
  }