@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
33 lines (32 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const React = require("react");
const useEnhancedEffect = require("./useEnhancedEffect.cjs");
function _interopNamespace(e) {
if (e && e.__esModule) return e;
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
if (e) {
for (const k in e) {
if (k !== "default") {
const d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: () => e[k]
});
}
}
}
n.default = e;
return Object.freeze(n);
}
const React__namespace = /* @__PURE__ */ _interopNamespace(React);
const useReactId = React__namespace["useId".toString()] || (() => void 0);
let count = 0;
const useUniqueId = (deterministicId, idPrefix) => {
const [id, setId] = React__namespace.useState(useReactId());
useEnhancedEffect.useEnhancedEffect(() => {
if (!deterministicId) setId((reactId) => reactId ?? String(count++));
}, [deterministicId, idPrefix]);
return deterministicId || (idPrefix ? idPrefix + id : id ?? "");
};
exports.useUniqueId = useUniqueId;