UNPKG

@nex-ui/react

Version:

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

37 lines (31 loc) • 1.08 kB
'use strict'; var clsx = require('clsx'); var utils = require('@nex-ui/utils'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var clsx__default = /*#__PURE__*/_interopDefault(clsx); const useSlotProps = ({ ownerState, sx, externalSlotProps, externalForwardedProps, additionalProps, classNames: classNamesProp })=>{ const props = utils.mergeProps(additionalProps, externalForwardedProps, externalSlotProps); const className = clsx__default.default(classNamesProp, props?.className); const resolveSx = (arg)=>{ const result = []; utils.forEach(arg, (sx)=>{ if (utils.isFunction(sx)) { result.push(sx(ownerState)); } else if (utils.isArray(sx)) { result.push(...sx); } else if (sx != null) { result.push(sx); } }); return result; }; return { ...props, className, sx: resolveSx([ sx, props.sx ]) }; }; exports.useSlotProps = useSlotProps;