UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

33 lines (32 loc) 1.16 kB
"use strict"; 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;