UNPKG

suomifi-ui-components

Version:
36 lines (33 loc) 944 B
import { useState, useEffect } from 'react'; import { useEnhancedEffect } from '../../../utils/common/common.js'; var autoId = 0; var clientRender = false; var generateNextId = function generateNextId() { autoId += 1; return autoId; }; var useGeneratedId = function useGeneratedId(propId) { var startId = propId || (clientRender ? generateNextId() : null); var _a = useState(startId), generatedId = _a[0], setId = _a[1]; useEnhancedEffect(function () { if (generatedId === null) { setId(generateNextId()); } }, []); useEffect(function () { if (!clientRender) { clientRender = true; } }, []); return generatedId != null ? String(generatedId) : undefined; }; var AutoId = function AutoId(_a) { var id = _a.id, children = _a.children; var generatedId = useGeneratedId(id); return children(!!generatedId ? generatedId : ''); }; export { AutoId }; //# sourceMappingURL=AutoId.js.map