UNPKG

@mantine/hooks

Version:

A collection of 50+ hooks for state and UI management

1 lines 1.11 kB
{"version":3,"file":"use-id.cjs","names":["randomId"],"sources":["../../src/use-id/use-id.ts"],"sourcesContent":["import { useId as useReactId, useRef, useState } from 'react';\nimport { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect';\nimport { randomId } from '../utils';\n\nexport function useId(staticId?: string) {\n const reactId = useReactId();\n const [uuid, setUuid] = useState(`mantine-${reactId.replace(/:/g, '')}`);\n const hasInitializedRef = useRef(false);\n\n useIsomorphicEffect(() => {\n if (hasInitializedRef.current) {\n return;\n }\n hasInitializedRef.current = true;\n setUuid(randomId());\n }, []);\n\n if (typeof staticId === 'string') {\n return staticId;\n }\n\n return uuid;\n}\n"],"mappings":";;;;;AAIA,SAAgB,MAAM,UAAmB;CAEvC,MAAM,CAAC,MAAM,YAAA,GAAA,MAAA,SAAA,CAAoB,YAAA,GAAA,MAAA,MAAA,CAAiB,CAAC,CAAC,QAAQ,MAAM,EAAE,GAAG;CACvE,MAAM,qBAAA,GAAA,MAAA,OAAA,CAA2B,KAAK;CAEtC,8BAAA,0BAA0B;EACxB,IAAI,kBAAkB,SACpB;EAEF,kBAAkB,UAAU;EAC5B,QAAQA,kBAAAA,SAAS,CAAC;CACpB,GAAG,CAAC,CAAC;CAEL,IAAI,OAAO,aAAa,UACtB,OAAO;CAGT,OAAO;AACT"}