From c8ef8ebeb66b146bb728e4cc43e905f5720bfce6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Jul 2026 12:51:20 +0000 Subject: [PATCH 1/4] chore(deps-dev): bump the npm-dependencies group with 4 updates Bumps the npm-dependencies group with 4 updates: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js), [eslint](https://github.com/eslint/eslint), [react-dnd](https://github.com/react-dnd/react-dnd) and [react-dnd-html5-backend](https://github.com/react-dnd/react-dnd). Updates `@eslint/js` from 9.39.4 to 10.0.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/commits/v10.0.1/packages/js) Updates `eslint` from 9.39.4 to 10.6.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v9.39.4...v10.6.0) Updates `react-dnd` from 10.0.2 to 16.0.1 - [Release notes](https://github.com/react-dnd/react-dnd/releases) - [Changelog](https://github.com/react-dnd/react-dnd/blob/main/CHANGELOG.md) - [Commits](https://github.com/react-dnd/react-dnd/commits) Updates `react-dnd-html5-backend` from 10.0.2 to 16.0.1 - [Release notes](https://github.com/react-dnd/react-dnd/releases) - [Changelog](https://github.com/react-dnd/react-dnd/blob/main/CHANGELOG.md) - [Commits](https://github.com/react-dnd/react-dnd/commits) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-version: 10.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: npm-dependencies - dependency-name: eslint dependency-version: 10.6.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: npm-dependencies - dependency-name: react-dnd dependency-version: 16.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: npm-dependencies - dependency-name: react-dnd-html5-backend dependency-version: 16.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: npm-dependencies ... Signed-off-by: dependabot[bot] --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 0dfd81c0..9a783ed5 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "clsx": "^2.1.1" }, "devDependencies": { - "@eslint/js": "^9.39.4", + "@eslint/js": "^10.0.1", "@rc-component/father-plugin": "^2.2.0", "@rc-component/np": "^1.0.4", "@testing-library/dom": "^10.4.1", @@ -63,7 +63,7 @@ "@types/react-dom": "^19.2.3", "cross-env": "^10.1.0", "dumi": "^2.4.38", - "eslint": "^9.39.4", + "eslint": "^10.6.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-jest": "^29.15.4", "eslint-plugin-react": "^7.37.5", @@ -77,8 +77,8 @@ "prettier": "^3.9.4", "rc-test": "^7.1.3", "react": "^19.2.7", - "react-dnd": "^10.0.0", - "react-dnd-html5-backend": "^10.0.0", + "react-dnd": "^16.0.1", + "react-dnd-html5-backend": "^16.0.1", "react-dom": "^19.2.7", "react-sticky": "^6.0.3", "typescript": "^6.0.3", From bafeac617125c29c50c513150fca39bae05d9bc2 Mon Sep 17 00:00:00 2001 From: afc163 Date: Mon, 6 Jul 2026 09:23:15 +0800 Subject: [PATCH 2/4] fix: support eslint 10 dependency update --- .github/workflows/surge-preview.yml | 2 +- eslint.config.mjs | 5 +++-- package.json | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/surge-preview.yml b/.github/workflows/surge-preview.yml index 4c2f17ed..d8b2f581 100644 --- a/.github/workflows/surge-preview.yml +++ b/.github/workflows/surge-preview.yml @@ -37,7 +37,7 @@ jobs: - name: Build preview if: ${{ steps.surge-token.outputs.enabled == 'true' }} run: | - npm install + npm install --legacy-peer-deps npm run build - uses: afc163/surge-preview@bf90a5a86111f6311ca42f0a5a0f80fb0fb03cec if: ${{ steps.surge-token.outputs.enabled == 'true' }} diff --git a/eslint.config.mjs b/eslint.config.mjs index 40f08ec9..a298e8e0 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,4 +1,5 @@ import js from '@eslint/js'; +import { fixupConfigRules } from '@eslint/compat'; import { defineConfig } from 'eslint/config'; import { dirname } from 'node:path'; import { fileURLToPath } from 'node:url'; @@ -40,8 +41,8 @@ export default defineConfig([ files: ['**/*.{js,jsx,ts,tsx}'], extends: [ js.configs.recommended, - react.configs.flat.recommended, - react.configs.flat['jsx-runtime'], + ...fixupConfigRules(react.configs.flat.recommended), + ...fixupConfigRules(react.configs.flat['jsx-runtime']), prettier, ], plugins: { diff --git a/package.json b/package.json index 9a783ed5..6dfb36b9 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ }, "devDependencies": { "@eslint/js": "^10.0.1", + "@eslint/compat": "^2.1.0", "@rc-component/father-plugin": "^2.2.0", "@rc-component/np": "^1.0.4", "@testing-library/dom": "^10.4.1", From bbf00191c1732f4a3f5f24903a6a28cd118911f7 Mon Sep 17 00:00:00 2001 From: afc163 Date: Mon, 6 Jul 2026 09:33:53 +0800 Subject: [PATCH 3/4] fix: resolve eslint 10 lint errors --- src/hooks/useTouchMove.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/useTouchMove.ts b/src/hooks/useTouchMove.ts index 41e79c6c..4cae958e 100644 --- a/src/hooks/useTouchMove.ts +++ b/src/hooks/useTouchMove.ts @@ -82,7 +82,7 @@ export default function useTouchMove( const { deltaX, deltaY } = e; // Convert both to x & y since wheel only happened on PC - let mixed: number = 0; + let mixed: number; const absX = Math.abs(deltaX); const absY = Math.abs(deltaY); if (absX === absY) { From 35914eabc3ae671b4fec21612f66ca04745b9b2d Mon Sep 17 00:00:00 2001 From: afc163 Date: Mon, 6 Jul 2026 09:47:30 +0800 Subject: [PATCH 4/4] fix: support react dnd 16 demo --- docs/examples/renderTabBar-dragable.tsx | 60 +++++++++---------------- 1 file changed, 21 insertions(+), 39 deletions(-) diff --git a/docs/examples/renderTabBar-dragable.tsx b/docs/examples/renderTabBar-dragable.tsx index 5f526b8b..2e008aba 100644 --- a/docs/examples/renderTabBar-dragable.tsx +++ b/docs/examples/renderTabBar-dragable.tsx @@ -1,51 +1,34 @@ import React from 'react'; -import { DndProvider, DragSource, DropTarget } from 'react-dnd'; -import HTML5Backend from 'react-dnd-html5-backend'; +import { DndProvider, useDrag, useDrop } from 'react-dnd'; +import { HTML5Backend } from 'react-dnd-html5-backend'; import Tabs from '@rc-component/tabs'; import type { TabsProps } from '@rc-component/tabs'; import '../../assets/index.less'; // Drag & Drop node -class TabNode extends React.Component { - render() { - const { connectDragSource, connectDropTarget, children } = this.props; - - return connectDragSource(connectDropTarget(children)); - } -} - -const cardTarget = { - drop(props, monitor) { - const dragKey = monitor.getItem().index; - const hoverKey = props.index; - - if (dragKey === hoverKey) { - return; - } +const WrapTabNode: React.FC = ({ children, index, moveTabNode }) => { + const [, drop] = useDrop({ + accept: 'DND_NODE', + drop(item: { index: React.Key }) { + const dragKey = item.index; + const hoverKey = index; + + if (dragKey === hoverKey) { + return; + } - props.moveTabNode(dragKey, hoverKey); - monitor.getItem().index = hoverKey; - }, -}; + moveTabNode(dragKey, hoverKey); + item.index = hoverKey; + }, + }); + const [, drag] = useDrag({ + type: 'DND_NODE', + item: { index }, + }); -const cardSource = { - beginDrag(props) { - return { - id: props.id, - index: props.index, - }; - }, + return drag(drop(children)); }; -const WrapTabNode = DropTarget('DND_NODE', cardTarget, connect => ({ - connectDropTarget: connect.dropTarget(), -}))( - DragSource('DND_NODE', cardSource, (connect, monitor) => ({ - connectDragSource: connect.dragSource(), - isDragging: monitor.isDragging(), - }))(TabNode), -); - class DraggableTabs extends React.Component { state = { order: [], @@ -111,7 +94,6 @@ class DraggableTabs extends React.Component { }); return ( - // @ts-ignore https://github.com/react-dnd/react-dnd/issues/3636 需要升级 15.0.0 类型支持 children 但是写法需要重新调整验证