@nex-ui/react
Version:
🎉 A beautiful, modern, and reliable React component library.
31 lines (28 loc) • 879 B
JavaScript
import { useMemo } from 'react';
import { defineSlotRecipe, defineRecipe } from '@nex-ui/system';
import { useNexUI } from '../provider/Context.mjs';
const useStyles = ({ name, ownerState, recipe })=>{
const { components } = useNexUI();
const styleOverrides = components?.[name]?.styleOverrides;
const extendedRecipe = useMemo(()=>{
const slotRecipe = recipe;
if (slotRecipe.__slotRecipe) {
// @ts-ignore
return defineSlotRecipe({
extend: slotRecipe,
...styleOverrides
});
}
return defineRecipe({
// @ts-ignore
extend: recipe,
...styleOverrides
});
}, [
recipe,
styleOverrides
]);
// @ts-ignore
return extendedRecipe(extendedRecipe.splitVariantProps(ownerState));
};
export { useStyles };