Files
outline/app/components/MeasuredContainer.tsx
Tom Moor 6d13347806 fix: Cannot resize embed on collection overview (#10498)
fix: Toolbar too small on embed link editor
2025-10-28 21:12:55 -04:00

29 lines
549 B
TypeScript

import * as React from "react";
import useMeasure from "react-use-measure";
export const MeasuredContainer = <T extends React.ElementType>({
as: As = "div",
name,
children,
...rest
}: {
as: T;
name: string;
children?: React.ReactNode;
} & React.ComponentProps<T>) => {
const [measureRef, rect] = useMeasure();
return (
<As
{...rest}
ref={measureRef}
style={{
[`--${name}-width`]: `${rect.width}px`,
[`--${name}-height`]: `${rect.height}px`,
}}
>
{children}
</As>
);
};