@fremtind/jkl-react-hooks
Version:
Jøkul react button components
30 lines (29 loc) • 801 B
JavaScript
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