@nexusui/components
Version:
These are custom components specially-developed for NexusUI applications. They will make your life easier by giving you out-of-the-box implementations for various high-level UI elements that you can drop directly into your application.
2 lines (1 loc) • 882 B
JavaScript
import{jsx as t,jsxs as i}from"react/jsx-runtime";import{useMemo as a}from"react";import n from"@mui/material/Button";import r from"@mui/material/CardActions";import o from"@mui/material/Stack";import{isReactNode as e}from"../../util/functions/index.js";const s=s=>{const{actions:c,actionButtons:m,extraActions:l,padding:d=0,skip:u=!c&&!m,classPrefix:f}=s;return{renderActions:a((()=>{if(u)return null;let a=null;return a=c||m?.map(((i,a)=>e(i)?i:t(n,{className:`${f}-action`,"data-testid":`${f}-action`,...i},`${f}-action-${a}`))),t(r,{sx:{flex:"0 0 auto",justifySelf:"flex-end",p:d},className:`${f}-actionsContainer`,"data-testid":`${f}-actionsContainer`,children:i(o,{className:`${f}-actionsStack`,"data-testid":`${f}-actionsStack`,direction:"row",alignItems:"center",spacing:2,sx:{width:"100%",flex:"0 0 auto"},children:[a,l]})})}),[u,c,m,d,l,f])}};export{s as useCardActions};