Python 51.6%
TypeScript 46.7%
CSS 1.7%
1"use client";23import { useEffect, useRef, useState } from "react";45/** Largeur rendue d'un conteneur (ResizeObserver). `fallback` sert au rendu serveur et au premier rendu client. */6export function useMeasure<T extends HTMLElement = HTMLDivElement>(fallback = 640) {7 const ref = useRef<T>(null);8 const [width, setWidth] = useState(fallback);9 useEffect(() => {10 const el = ref.current;11 if (!el) return;12 const ro = new ResizeObserver((entries) => {13 const w = Math.round(entries[0]?.contentRect.width ?? 0);14 if (w > 0) setWidth(w);15 });16 ro.observe(el);17 return () => ro.disconnect();18 }, []);19 return { ref, width };20}21