UNPKG

suomifi-ui-components

Version:
38 lines (34 loc) 957 B
'use strict'; var React = require('react'); var common = require('../../../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 = React.useState(startId), generatedId = _a[0], setId = _a[1]; common.useEnhancedEffect(function () { if (generatedId === null) { setId(generateNextId()); } }, []); React.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 : ''); }; exports.AutoId = AutoId; //# sourceMappingURL=AutoId.js.map