@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
15 lines (14 loc) • 509 B
JavaScript
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
};