{"version":3,"file":"useId.mjs","sources":["../../../src/hooks/useId.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport * as React from 'react'\n\nimport { compact } from '~/src/utils/array'\nimport { getReactVersion } from '~/src/utils/react'\n\n/* @see https://github.com/chakra-ui/chakra-ui/blob/fa474bea3dcbdd4bbf2a26925f938d6e75a50c6d/packages/hooks/src/use-id.ts */\nconst idRef = Object.seal({ current: 1 })\n\nconst generateId = () => {\n  const id = idRef.current\n  idRef.current += 1\n  return id\n}\n\nconst joinId = (...args: unknown[]) => compact(args).join('-')\n\nexport function useIdLegacy(idProp?: string, prefix?: string) {\n  const [id, setId] = useState(idRef.current)\n\n  useEffect(() => {\n    if (idProp) {\n      return\n    }\n    setId(generateId())\n  }, [idProp])\n\n  return useMemo(() => idProp || joinId(prefix, id), [idProp, prefix, id])\n}\n\nfunction useId(idProp?: string, prefix?: string) {\n  const id = React.useId()\n\n  return useMemo(() => idProp || joinId(prefix, id), [idProp, prefix, id])\n}\n\nconst isReactUnderV18 = getReactVersion().major < 18\n\nexport default isReactUnderV18 ? useIdLegacy : useId\n"],"names":["idRef","Object","seal","current","generateId","id","joinId","args","compact","join","useIdLegacy","idProp","prefix","setId","useState","useEffect","useMemo","useId","React","isReactUnderV18","getReactVersion","major"],"mappings":";;;;;AAMA;AACA,MAAMA,KAAK,GAAGC,MAAM,CAACC,IAAI,CAAC;AAAEC,EAAAA,OAAO,EAAE;AAAE,CAAC,CAAC;AAEzC,MAAMC,UAAU,GAAGA,MAAM;AACvB,EAAA,MAAMC,EAAE,GAAGL,KAAK,CAACG,OAAO;EACxBH,KAAK,CAACG,OAAO,IAAI,CAAC;AAClB,EAAA,OAAOE,EAAE;AACX,CAAC;AAED,MAAMC,MAAM,GAAGA,CAAC,GAAGC,IAAe,KAAKC,OAAO,CAACD,IAAI,CAAC,CAACE,IAAI,CAAC,GAAG,CAAC;AAEvD,SAASC,WAAWA,CAACC,MAAe,EAAEC,MAAe,EAAE;EAC5D,MAAM,CAACP,EAAE,EAAEQ,KAAK,CAAC,GAAGC,QAAQ,CAACd,KAAK,CAACG,OAAO,CAAC;AAE3CY,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAIJ,MAAM,EAAE;AACV,MAAA;AACF;AACAE,IAAAA,KAAK,CAACT,UAAU,EAAE,CAAC;AACrB,GAAC,EAAE,CAACO,MAAM,CAAC,CAAC;AAEZ,EAAA,OAAOK,OAAO,CAAC,MAAML,MAAM,IAAIL,MAAM,CAACM,MAAM,EAAEP,EAAE,CAAC,EAAE,CAACM,MAAM,EAAEC,MAAM,EAAEP,EAAE,CAAC,CAAC;AAC1E;AAEA,SAASY,KAAKA,CAACN,MAAe,EAAEC,MAAe,EAAE;AAC/C,EAAA,MAAMP,EAAE,GAAGa,KAAK,CAACD,KAAK,EAAE;AAExB,EAAA,OAAOD,OAAO,CAAC,MAAML,MAAM,IAAIL,MAAM,CAACM,MAAM,EAAEP,EAAE,CAAC,EAAE,CAACM,MAAM,EAAEC,MAAM,EAAEP,EAAE,CAAC,CAAC;AAC1E;AAEA,MAAMc,eAAe,GAAGC,eAAe,EAAE,CAACC,KAAK,GAAG,EAAE;AAEpD,cAAeF,eAAe,GAAGT,WAAW,GAAGO,KAAK;;;;"}