0.2.0 - Mid migration

This commit is contained in:
Daniel Mason 2022-04-25 14:47:15 +12:00
parent 139e6a915e
commit 7e38fdbd7d
42393 changed files with 5358157 additions and 62 deletions

View file

@ -0,0 +1,15 @@
export {};
interface ThemeWithProps<Components> {
props?: { [K in keyof Components]: Partial<Components[K]> };
}
type ThemedProps<Theme, Name extends keyof any> = Theme extends { props: Record<Name, infer Props> }
? Props
: {};
export default function getThemeProps<
Theme extends ThemeWithProps<any>,
Props,
Name extends keyof any
>(params: { props: Props; name: Name; theme?: Theme }): Props & ThemedProps<Theme, Name>;

View file

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

View file

@ -0,0 +1,2 @@
export { default } from './getThemeProps';
export * from './getThemeProps';

View file

@ -0,0 +1,15 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _getThemeProps.default;
}
});
var _getThemeProps = _interopRequireDefault(require("./getThemeProps"));

View file

@ -0,0 +1,5 @@
{
"sideEffects": false,
"module": "../esm/getThemeProps/index.js",
"typings": "./index.d.ts"
}