UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

15 lines (14 loc) 509 B
import * as React from "react"; import { useEnhancedEffect } from "./useEnhancedEffect.js"; const useReactId = React["useId".toString()] || (() => void 0); let count = 0; const useUniqueId = (deterministicId, idPrefix) => { const [id, setId] = React.useState(useReactId()); useEnhancedEffect(() => { if (!deterministicId) setId((reactId) => reactId ?? String(count++)); }, [deterministicId, idPrefix]); return deterministicId || (idPrefix ? idPrefix + id : id ?? ""); }; export { useUniqueId };