Skip to content

Commit 63a4168

Browse files
Merge branch 'main' into feat/useMap
2 parents e21554c + 7ce5cf7 commit 63a4168

3 files changed

Lines changed: 21 additions & 23 deletions

File tree

src/components/ImpressionArea/ImpressionArea.tsx

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ElementType, ReactNode, Ref } from 'react';
1+
import { ElementType, forwardRef, ReactNode, Ref } from 'react';
22

33
import { useImpressionRef, UseImpressionRefOptions } from '../../hooks/useImpressionRef/index.ts';
44
import { mergeRefs } from '../../utils/mergeRefs/mergeRefs.ts';
@@ -43,24 +43,22 @@ type Props<Tag extends ElementType> = React.ComponentPropsWithoutRef<Tag> &
4343
* );
4444
* }
4545
*/
46-
export function ImpressionArea<T extends ElementType = 'div'>({
47-
as,
48-
rootMargin,
49-
areaThreshold,
50-
timeThreshold,
51-
onImpressionStart,
52-
onImpressionEnd,
53-
ref,
54-
...props
55-
}: Props<T>) {
56-
const Component = as ?? 'div';
57-
const impressionRef = useImpressionRef<HTMLElement>({
58-
onImpressionStart,
59-
onImpressionEnd,
60-
areaThreshold,
61-
timeThreshold,
62-
rootMargin,
63-
});
46+
export const ImpressionArea = forwardRef(
47+
<T extends ElementType = 'div'>(
48+
{ as, rootMargin, areaThreshold, timeThreshold, onImpressionStart, onImpressionEnd, ...props }: Props<T>,
49+
ref: React.Ref<Element>
50+
) => {
51+
const Component = as ?? 'div';
52+
const impressionRef = useImpressionRef<HTMLElement>({
53+
onImpressionStart,
54+
onImpressionEnd,
55+
areaThreshold,
56+
timeThreshold,
57+
rootMargin,
58+
});
6459

65-
return <Component ref={mergeRefs(ref, impressionRef)} {...props} />;
66-
}
60+
return <Component ref={mergeRefs(ref, impressionRef)} {...props} />;
61+
}
62+
);
63+
64+
ImpressionArea.displayName = 'ImpressionArea';

src/utils/mergeProps/ko/mergeProps.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
```ts
88
function mergeProps<PropsList>(
9-
props: PropsList
9+
...props: PropsList
1010
): TupleToIntersection<PropsList>;
1111
```
1212

src/utils/mergeProps/mergeProps.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
```ts
88
function mergeProps<PropsList>(
9-
props: PropsList
9+
...props: PropsList
1010
): TupleToIntersection<PropsList>;
1111
```
1212

0 commit comments

Comments
 (0)