UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

9 lines (6 loc) 775 B
import _slicedToArray from '@babel/runtime/helpers/slicedToArray'; import * as React from 'react'; import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js'; var handoffComplete=false;var id=0;var genId=function genId(){return ++id;};var useId=function useId(prefix,idProp){var initialId=idProp||(handoffComplete?genId():null);var _React$useState=React.useState(initialId),_React$useState2=_slicedToArray(_React$useState,2),uid=_React$useState2[0],setUid=_React$useState2[1];useIsomorphicLayoutEffect(function(){if(uid===null)setUid(genId());},[]);React.useEffect(function(){if(!handoffComplete){handoffComplete=true;}},[]);var id=uid!=null?uid.toString():undefined;return prefix?`${prefix}-${id}`:id;}; export { useId }; //# sourceMappingURL=useId.js.map