@os-design/drag-sort 1.0.46 → 1.0.48

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Droppable.d.ts","sourceRoot":"","sources":["../src/Droppable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAEZ,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AACf,OAAiB,EAGf,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAK7B,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,GAAG,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACtC;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IACrC;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAC;CAC9D;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA8EvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Droppable.d.ts","sourceRoot":"","sources":["../src/Droppable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAEZ,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AACf,OAAiB,EAGf,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAK7B,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,GAAG,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACtC;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IACrC;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAC;CAC9D;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwFvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
package/dist/Droppable.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import useMemoObject from '@os-design/use-memo-object';
2
- import React, { useEffect, useMemo, useRef } from 'react';
2
+ import React, { useCallback, useEffect, useMemo, useRef } from 'react';
3
3
  import NodeList from './utils/NodeList.js';
4
4
  import useDragAndDrop from './utils/useDragAndDrop.js';
5
5
  import { DroppableContext } from './utils/useDroppable.js';
@@ -55,18 +55,20 @@ const Droppable = ({
55
55
  const listId = listRef.current.id;
56
56
  return () => deregisterList(listId);
57
57
  }, [deregisterList, registerList]);
58
- const registerNode = props => listRef.current.add(props);
59
- const deregisterNode = node => {
58
+
59
+ /* eslint-disable react-hooks/preserve-manual-memoization */
60
+ const registerNode = useCallback(props => listRef.current.add(props), []);
61
+ const deregisterNode = useCallback(node => {
60
62
  listRef.current.remove(node);
61
- };
63
+ }, []);
62
64
 
63
65
  // Handlers that determine whether a user clicks on the node
64
- const mouseDownHandler = (e, node) => {
66
+ const mouseDownHandler = useCallback((e, node) => {
65
67
  onMouseDown(e, listRef.current, node);
66
- };
67
- const touchStartHandler = (e, node) => {
68
+ }, [onMouseDown]);
69
+ const touchStartHandler = useCallback((e, node) => {
68
70
  onTouchStart(e, listRef.current, node);
69
- };
71
+ }, [onTouchStart]);
70
72
  const droppableContext = useMemoObject({
71
73
  registerNode,
72
74
  deregisterNode,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@os-design/drag-sort",
3
- "version": "1.0.46",
3
+ "version": "1.0.48",
4
4
  "license": "UNLICENSED",
5
5
  "repository": "git@gitlab.com:os-team/libs/os-design.git",
6
6
  "type": "module",
@@ -19,7 +19,7 @@
19
19
  ],
20
20
  "sideEffects": false,
21
21
  "scripts": {
22
- "clean": "rimraf dist",
22
+ "clean": "rm -r dist",
23
23
  "build:esm": "cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx --out-dir dist",
24
24
  "build:types": "tsc -p tsconfig.build.json --emitDeclarationOnly --declaration --declarationDir dist",
25
25
  "build": "yarn clean && npm-run-all 'build:*'",
@@ -29,22 +29,22 @@
29
29
  "access": "public"
30
30
  },
31
31
  "dependencies": {
32
- "@os-design/portal": "^1.0.28",
33
- "@os-design/use-auto-scroll": "^1.0.32",
34
- "@os-design/use-drag": "^1.0.31",
35
- "@os-design/use-event": "^1.0.33",
36
- "@os-design/use-memo-object": "^1.0.29",
37
- "@os-design/use-prevent-default-event": "^1.0.30",
38
- "@os-design/use-throttle": "^1.0.32"
32
+ "@os-design/portal": "^1.0.29",
33
+ "@os-design/use-auto-scroll": "^1.0.33",
34
+ "@os-design/use-drag": "^1.0.32",
35
+ "@os-design/use-event": "^1.0.34",
36
+ "@os-design/use-memo-object": "^1.0.30",
37
+ "@os-design/use-prevent-default-event": "^1.0.31",
38
+ "@os-design/use-throttle": "^1.0.33"
39
39
  },
40
40
  "devDependencies": {
41
- "@os-design/omit-emotion-props": "^1.0.31",
42
- "@os-design/use-size": "^1.0.34",
41
+ "@os-design/omit-emotion-props": "^1.0.32",
42
+ "@os-design/use-size": "^1.0.35",
43
43
  "react-window": "^1.8.11"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "react": "19",
47
47
  "react-dom": "19"
48
48
  },
49
- "gitHead": "f333f60e39273574d2227cf0ee70b0c8897b2dde"
49
+ "gitHead": "4a7b019591e2ff76adb0452f2a850a35ee785d38"
50
50
  }
package/src/Droppable.tsx CHANGED
@@ -3,6 +3,7 @@ import React, {
3
3
  type MouseEvent,
4
4
  type RefObject,
5
5
  type TouchEvent,
6
+ useCallback,
6
7
  useEffect,
7
8
  useMemo,
8
9
  useRef,
@@ -101,18 +102,28 @@ const Droppable: React.FC<DroppableProps> = ({
101
102
  return () => deregisterList(listId);
102
103
  }, [deregisterList, registerList]);
103
104
 
104
- const registerNode = (props: NodeProps) => listRef.current.add(props);
105
- const deregisterNode = (node: ExistingNode) => {
105
+ /* eslint-disable react-hooks/preserve-manual-memoization */
106
+ const registerNode = useCallback(
107
+ (props: NodeProps) => listRef.current.add(props),
108
+ []
109
+ );
110
+ const deregisterNode = useCallback((node: ExistingNode) => {
106
111
  listRef.current.remove(node);
107
- };
112
+ }, []);
108
113
 
109
114
  // Handlers that determine whether a user clicks on the node
110
- const mouseDownHandler = (e: MouseEvent, node: ExistingNode) => {
111
- onMouseDown(e, listRef.current, node);
112
- };
113
- const touchStartHandler = (e: TouchEvent, node: ExistingNode) => {
114
- onTouchStart(e, listRef.current, node);
115
- };
115
+ const mouseDownHandler = useCallback(
116
+ (e: MouseEvent, node: ExistingNode) => {
117
+ onMouseDown(e, listRef.current, node);
118
+ },
119
+ [onMouseDown]
120
+ );
121
+ const touchStartHandler = useCallback(
122
+ (e: TouchEvent, node: ExistingNode) => {
123
+ onTouchStart(e, listRef.current, node);
124
+ },
125
+ [onTouchStart]
126
+ );
116
127
 
117
128
  const droppableContext = useMemoObject({
118
129
  registerNode,