"use client"; import { useId } from "react"; //#region src/utils/use-safe-id.ts const UNSAFE_CHARS = /[^a-zA-Z0-9_-]/g; /** * Generate a CSS-safe identifier from React's `useId()`. * * `useId()` returns values like `:r0:` which contain colons — invalid * in CSS `` tokens (used by `anchor-name` / `position-anchor`). * This hook strips non-alphanumeric/underscore/hyphen characters and * optionally prepends a prefix. */ function useSafeId(prefix) { const raw = useId().replace(UNSAFE_CHARS, ""); return prefix ? `${prefix}-${raw}` : raw; } //#endregion export { useSafeId }; //# sourceMappingURL=use-safe-id.js.map