UNPKG

@nex-ui/react

Version:

🎉 A beautiful, modern, and reliable React component library.

42 lines (38 loc) • 1.3 kB
'use strict'; var react = require('react'); var utils = require('@nex-ui/utils'); var system = require('@nex-ui/system'); var Context = require('../provider/Context.cjs'); const useStyles = ({ name, ownerState, recipe })=>{ const { components } = Context.useNexUI(); const styleOverrides = components?.[name]?.styleOverrides; const extendedRecipe = react.useMemo(()=>{ if (utils.isPlainObject(styleOverrides)) { const slotRecipe = recipe; if (slotRecipe.__slotRecipe) { // @ts-ignore return system.defineSlotRecipe({ extend: slotRecipe, ...styleOverrides }); } return system.defineRecipe({ // @ts-ignore extend: recipe, ...styleOverrides }); } return recipe; }, [ recipe, styleOverrides ]); if (utils.isFunction(styleOverrides)) { // @ts-ignore return system.mergeRecipeConfigs(extendedRecipe(extendedRecipe.splitVariantProps(ownerState)), // @ts-ignore styleOverrides(ownerState)); } // @ts-ignore return extendedRecipe(extendedRecipe.splitVariantProps(ownerState)); }; exports.useStyles = useStyles;