{"version":3,"file":"uniqueID.mjs","names":["React","register","useEnhancedEffect","createSource","prefix","value","useUID","context","get","uid","useId","useState","trimmedUid","String","startsWith","endsWith","slice","set","props"],"sources":["../../src/utils/uniqueID.ts"],"sourcesContent":["import React from 'react';\n\nimport register from '../register';\nimport useEnhancedEffect from './use/useEnhancedEffect';\n\ntype ContextType = {\n  prefix?: string;\n  value: number;\n};\n\nexport type UniqueIDProps = {\n  /* Unique ID */\n  uid?: string;\n};\n\nconst createSource = (prefix = 'ui-kit-'): ContextType => ({ value: 1, prefix });\n\nexport const useUID = (prefix?: string): string => {\n  const context = register.get<ContextType>('uid-context', createSource(prefix));\n  const [uid] = React.useId ? [React.useId()] : React.useState<number>(context.value++);\n  const trimmedUid =\n    String(uid).startsWith(':') && String(uid).endsWith(':') ? String(uid).slice(1, -1) : uid;\n\n  useEnhancedEffect(() => {\n    register.set<ContextType>('uid-context', context);\n  }, [trimmedUid]);\n\n  return (context.prefix ?? '') + trimmedUid;\n};\n\nexport default (prefix?: string) => {\n  return (props: any): { uid: ReturnType<typeof useUID> } => {\n    const uid = useUID(prefix);\n    return {\n      uid,\n      ...props,\n    };\n  };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,QAAQ,MAAM,iBAAa;AAClC,OAAOC,iBAAiB,MAAM,6BAAyB;AAYvD,MAAMC,YAAY,GAAGA,CAACC,MAAM,GAAG,SAAS,MAAmB;EAAEC,KAAK,EAAE,CAAC;EAAED;AAAO,CAAC,CAAC;AAEhF,OAAO,MAAME,MAAM,GAAIF,MAAe,IAAa;EACjD,MAAMG,OAAO,GAAGN,QAAQ,CAACO,GAAG,CAAc,aAAa,EAAEL,YAAY,CAACC,MAAM,CAAC,CAAC;EAC9E,MAAM,CAACK,GAAG,CAAC,GAAGT,KAAK,CAACU,KAAK,GAAG,CAACV,KAAK,CAACU,KAAK,CAAC,CAAC,CAAC,GAAGV,KAAK,CAACW,QAAQ,CAASJ,OAAO,CAACF,KAAK,EAAE,CAAC;EACrF,MAAMO,UAAU,GACdC,MAAM,CAACJ,GAAG,CAAC,CAACK,UAAU,CAAC,GAAG,CAAC,IAAID,MAAM,CAACJ,GAAG,CAAC,CAACM,QAAQ,CAAC,GAAG,CAAC,GAAGF,MAAM,CAACJ,GAAG,CAAC,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGP,GAAG;EAE3FP,iBAAiB,CAAC,MAAM;IACtBD,QAAQ,CAACgB,GAAG,CAAc,aAAa,EAAEV,OAAO,CAAC;EACnD,CAAC,EAAE,CAACK,UAAU,CAAC,CAAC;EAEhB,OAAO,CAACL,OAAO,CAACH,MAAM,IAAI,EAAE,IAAIQ,UAAU;AAC5C,CAAC;AAED,eAAgBR,MAAe,IAAK;EAClC,OAAQc,KAAU,IAAyC;IACzD,MAAMT,GAAG,GAAGH,MAAM,CAACF,MAAM,CAAC;IAC1B,OAAO;MACLK,GAAG;MACH,GAAGS;IACL,CAAC;EACH,CAAC;AACH,CAAC","ignoreList":[]}