"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getThemeProps; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); /* eslint-disable no-restricted-syntax */ function getThemeProps(params) { const { theme, name, props } = params; if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) { return props; } const output = (0, _extends2.default)({}, props); // Resolve default props, code borrow from React source. // https://github.com/facebook/react/blob/15a8f031838a553e41c0b66eb1bcf1da8448104d/packages/react/src/ReactElement.js#L221 const defaultProps = theme.components[name].defaultProps; let propName; for (propName in defaultProps) { if (output[propName] === undefined) { output[propName] = defaultProps[propName]; } } return output; }