@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
26 lines (25 loc) • 918 B
JavaScript
"use client";
const require_filter_props = require("../../utils/filter-props/filter-props.cjs");
const require_MantineThemeProvider = require("../MantineThemeProvider/MantineThemeProvider.cjs");
//#region packages/@mantine/core/src/core/MantineProvider/use-props/use-props.ts
function useProps(component, defaultProps, props) {
const theme = require_MantineThemeProvider.useMantineTheme();
const names = (Array.isArray(component) ? component : [component]).filter(Boolean);
let contextProps = {};
for (const name of names) {
const payload = theme.components[name]?.defaultProps;
const resolved = typeof payload === "function" ? payload(theme) : payload;
if (resolved) contextProps = {
...contextProps,
...resolved
};
}
return {
...defaultProps,
...contextProps,
...require_filter_props.filterProps(props)
};
}
//#endregion
exports.useProps = useProps;
//# sourceMappingURL=use-props.cjs.map