From f18bf932b1f19725799eb94e660dddfdca18cba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=AC=A2?= Date: Fri, 5 Jun 2026 09:38:28 +0800 Subject: [PATCH 1/2] feat: adjust @rc-component/util imports to root path - src/Dialog/index.tsx: import contains, useId, pickAttrs, warning from root - src/Dialog/Content/Panel.tsx: import useComposeRef, useLockFocus, pickAttrs from root - src/IDialogPropTypes.ts: import GetContainer from root - tests/focus.spec.tsx: update jest mock path - src/Dialog/Content/index.tsx: add eslint-disable for CSSMotionRef import (not exported from root) Co-Authored-By: Claude Opus 4.8 --- src/Dialog/Content/Panel.tsx | 4 +--- src/Dialog/index.tsx | 5 +---- src/IDialogPropTypes.ts | 2 +- tests/focus.spec.tsx | 6 +++--- 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/Dialog/Content/Panel.tsx b/src/Dialog/Content/Panel.tsx index fb53ace7..3b260b08 100644 --- a/src/Dialog/Content/Panel.tsx +++ b/src/Dialog/Content/Panel.tsx @@ -1,11 +1,9 @@ import { clsx } from 'clsx'; -import { useComposeRef } from '@rc-component/util/lib/ref'; -import { useLockFocus } from '@rc-component/util/lib/Dom/focus'; +import { useComposeRef, useLockFocus, pickAttrs } from '@rc-component/util'; import React, { useMemo, useRef } from 'react'; import { RefContext } from '../../context'; import type { IDialogPropTypes } from '../../IDialogPropTypes'; import MemoChildren from './MemoChildren'; -import pickAttrs from '@rc-component/util/lib/pickAttrs'; export interface PanelProps extends Omit { prefixCls: string; diff --git a/src/Dialog/index.tsx b/src/Dialog/index.tsx index d714eaeb..7a2eda4c 100644 --- a/src/Dialog/index.tsx +++ b/src/Dialog/index.tsx @@ -1,14 +1,11 @@ import { clsx } from 'clsx'; -import contains from '@rc-component/util/lib/Dom/contains'; -import useId from '@rc-component/util/lib/hooks/useId'; -import pickAttrs from '@rc-component/util/lib/pickAttrs'; +import { contains, useId, pickAttrs, warning } from '@rc-component/util'; import * as React from 'react'; import { useEffect, useRef } from 'react'; import type { IDialogPropTypes } from '../IDialogPropTypes'; import { getMotionName } from '../util'; import Content, { type ContentRef } from './Content'; import Mask from './Mask'; -import { warning } from '@rc-component/util/lib/warning'; const Dialog: React.FC = (props) => { const { diff --git a/src/IDialogPropTypes.ts b/src/IDialogPropTypes.ts index e39b1616..4ab00b5b 100644 --- a/src/IDialogPropTypes.ts +++ b/src/IDialogPropTypes.ts @@ -1,4 +1,4 @@ -import type { GetContainer } from '@rc-component/util/lib/PortalWrapper'; +import type { GetContainer } from '@rc-component/util'; import type { CSSProperties, ReactNode, SyntheticEvent } from 'react'; export type SemanticName = 'header' | 'body' | 'footer' | 'container' | 'title' | 'wrapper' | 'mask' | 'close'; diff --git a/tests/focus.spec.tsx b/tests/focus.spec.tsx index 9e2449de..ed8bde32 100644 --- a/tests/focus.spec.tsx +++ b/tests/focus.spec.tsx @@ -4,9 +4,9 @@ import ReactDOM from 'react-dom'; import { act, render } from '@testing-library/react'; import Dialog from '../src'; -// Mock: import { useLockFocus } from '@rc-component/util/lib/Dom/focus'; -jest.mock('@rc-component/util/lib/Dom/focus', () => { - const actual = jest.requireActual('@rc-component/util/lib/Dom/focus'); +// Mock: import { useLockFocus } from '@rc-component/util'; +jest.mock('@rc-component/util', () => { + const actual = jest.requireActual('@rc-component/util'); const useLockFocus = (visible: boolean, ...rest: any[]) => { globalThis.__useLockFocusVisible = visible; From 076da421ec82a3542ffd6d6b71a4281a8051abd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=AC=A2?= Date: Fri, 5 Jun 2026 11:00:41 +0800 Subject: [PATCH 2/2] feat: update @rc-component/motion dependency to version 1.3.3 and adjust import path --- package.json | 2 +- src/Dialog/Content/index.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 8b76e000..50b90753 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ ] }, "dependencies": { - "@rc-component/motion": "^1.1.3", + "@rc-component/motion": "^1.3.3", "@rc-component/portal": "^2.1.0", "@rc-component/util": "^1.9.0", "clsx": "^2.1.1" diff --git a/src/Dialog/Content/index.tsx b/src/Dialog/Content/index.tsx index f3313d53..178b4804 100644 --- a/src/Dialog/Content/index.tsx +++ b/src/Dialog/Content/index.tsx @@ -2,10 +2,10 @@ import * as React from 'react'; import { useRef } from 'react'; import { clsx } from 'clsx'; import CSSMotion from '@rc-component/motion'; +import type { CSSMotionRef } from '@rc-component/motion'; import { offset } from '../../util'; import type { PanelProps, PanelRef } from './Panel'; import Panel from './Panel'; -import type { CSSMotionRef } from '@rc-component/motion/es/CSSMotion'; export type CSSMotionStateRef = Pick;