UNPKG

@evg-b/evg-ui

Version:

EVG-UI library inspired by Material Design.

39 lines (29 loc) 1.25 kB
import _typeof from '@babel/runtime/helpers/typeof'; var getDynamicStyles = function getDynamicStyles() { var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var keyFramesMap = arguments.length > 1 ? arguments[1] : undefined; var snippetDynamicFunction = arguments.length > 2 ? arguments[2] : undefined; // jss/packages/jss/src/utils/getDynamicStyles.js // Это fix который учитывает keyframes для динамических стилей, чего не делает оригинал. var to = null; for (var key in styles) { var value = styles[key]; var type = _typeof(value); if (key.includes('@keyframes')) { keyFramesMap.set(key.replace('@keyframes ', '$'), value); } if (type === 'function') { if (!to) to = {}; to[key] = value; snippetDynamicFunction.snippet += value.toString(); } else if (type === 'object' && value !== null && !Array.isArray(value)) { var extracted = getDynamicStyles(value, keyFramesMap, snippetDynamicFunction); if (extracted) { if (!to) to = {}; to[key] = extracted; } } } // add keyframe for dynamicStyle return to; }; export default getDynamicStyles;