Buckets:
| ; | |
| 'use client'; | |
| var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| exports.default = useId; | |
| var React = _interopRequireWildcard(require("react")); | |
| let globalId = 0; | |
| // TODO React 17: Remove `useGlobalId` once React 17 support is removed | |
| function useGlobalId(idOverride) { | |
| const [defaultId, setDefaultId] = React.useState(idOverride); | |
| const id = idOverride || defaultId; | |
| React.useEffect(() => { | |
| if (defaultId == null) { | |
| // Fallback to this default id when possible. | |
| // Use the incrementing value for client-side rendering only. | |
| // We can't use it server-side. | |
| // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem | |
| globalId += 1; | |
| setDefaultId(`mui-${globalId}`); | |
| } | |
| }, [defaultId]); | |
| return id; | |
| } | |
| // See https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 for why | |
| const safeReact = { | |
| ...React | |
| }; | |
| const maybeReactUseId = safeReact.useId; | |
| /** | |
| * | |
| * @example <div id={useId()} /> | |
| * @param idOverride | |
| * @returns {string} | |
| */ | |
| function useId(idOverride) { | |
| // React.useId() is only available from React 17.0.0. | |
| if (maybeReactUseId !== undefined) { | |
| const reactId = maybeReactUseId(); | |
| return idOverride ?? reactId; | |
| } | |
| // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler | |
| // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime. | |
| return useGlobalId(idOverride); | |
| } |
Xet Storage Details
- Size:
- 1.65 kB
- Xet hash:
- c8cfdef90853f08941ee235bba380f077e1dad4beb11e2e9402b69b9212a0f95
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.