UNPKG

@fremtind/jkl-react-hooks

Version:
30 lines (29 loc) 801 B
import { nanoid } from "nanoid"; import React from "react"; const useReactId = React.useId; const defaultOptions = { generateSuffix: true }; const useLegacyId = (id, options = defaultOptions) => { const uid = nanoid(8); let elementId = id; if (id && options.generateSuffix) { elementId = "".concat(id, "-").concat(uid); } const [elId] = React.useState(elementId || uid); return elId; }; const useModernId = (id, options = defaultOptions) => { const uid = useReactId(); let elementId = id; if (id && options.generateSuffix) { elementId = "".concat(id, "-").concat(uid); } const [elId] = React.useState(elementId || uid); return elId; }; const useId = typeof useReactId !== "undefined" ? useModernId : useLegacyId; export { useId }; //# sourceMappingURL=useId.js.map