Skip to content

Commit 1a87a0a

Browse files
committed
fix: remove unintended trigger changes
1 parent 0cbe659 commit 1a87a0a

2 files changed

Lines changed: 38 additions & 40 deletions

File tree

src/index.tsx

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import {
77
getNodeRef,
88
getShadowRoot,
99
isDOM,
10-
supportRef,
1110
useComposeRef,
1211
useControlledState,
1312
useEvent,
@@ -798,17 +797,13 @@ export function generateTrigger(
798797
useResizeObserver(mergedOpen, targetEle, onTargetResize);
799798

800799
// Compose refs
801-
const childSupportRef = supportRef(child);
802-
const mergedRef = useComposeRef(
803-
setTargetRef,
804-
childSupportRef ? getNodeRef(child) : null,
805-
);
800+
const mergedRef = useComposeRef(setTargetRef, getNodeRef(child));
806801

807802
// Child Node
808803
const triggerNode = React.cloneElement(child, {
809804
...mergedChildrenProps,
810805
...passedProps,
811-
ref: childSupportRef ? mergedRef : undefined,
806+
ref: mergedRef,
812807
});
813808

814809
// Render
@@ -880,36 +875,4 @@ export function generateTrigger(
880875
return Trigger;
881876
}
882877

883-
interface MockPortalProps {
884-
open?: boolean;
885-
autoDestroy?: boolean;
886-
children: React.ReactElement<any>;
887-
getContainer?: () => HTMLElement;
888-
}
889-
890-
const MockPortal: React.FC<MockPortalProps> = ({
891-
open,
892-
autoDestroy,
893-
children,
894-
getContainer,
895-
}) => {
896-
const [visible, setVisible] = React.useState(open);
897-
898-
React.useEffect(() => {
899-
getContainer?.();
900-
});
901-
902-
React.useEffect(() => {
903-
if (open) {
904-
setVisible(true);
905-
} else if (autoDestroy) {
906-
setVisible(false);
907-
}
908-
}, [open, autoDestroy]);
909-
910-
return visible ? children : null;
911-
};
912-
913-
export const MockTrigger = generateTrigger(MockPortal);
914-
915878
export default generateTrigger(Portal);

src/mock.tsx

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,36 @@
1-
export { MockTrigger as default, UniqueProvider } from './index';
1+
import * as React from 'react';
2+
import { generateTrigger, UniqueProvider } from './index';
3+
4+
interface MockPortalProps {
5+
open?: boolean;
6+
autoDestroy?: boolean;
7+
children: React.ReactElement<any>;
8+
getContainer?: () => HTMLElement;
9+
}
10+
11+
const MockPortal: React.FC<MockPortalProps> = ({
12+
open,
13+
autoDestroy,
14+
children,
15+
getContainer,
16+
}) => {
17+
const [visible, setVisible] = React.useState(open);
18+
19+
React.useEffect(() => {
20+
getContainer?.();
21+
});
22+
23+
React.useEffect(() => {
24+
if (open) {
25+
setVisible(true);
26+
} else if (autoDestroy) {
27+
setVisible(false);
28+
}
29+
}, [open, autoDestroy]);
30+
31+
return visible ? children : null;
32+
};
33+
34+
export default generateTrigger(MockPortal);
35+
36+
export { UniqueProvider };

0 commit comments

Comments
 (0)