UNPKG

@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) 1.43 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("@mui/material/Button"),i=require("@mui/material/Stack"),s=require("../../util/functions/index.js"),a=require("./ActionsBar.styles.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=n(r),c=n(i);const u="NexusActionsBar";exports.ActionsBarComponent=r=>{const{actions:i,sx:n,...l}=r,d=t.useCallback((t=>t.map(((t,r)=>{if(s.isReactNode(t))return t;const{children:i,onClick:a,sx:n,...c}=t;return e.jsx(o.default,{"data-testid":`${u}-Action-${i}`,className:`${u}-Action`,onClick:a,sx:[...Array.isArray(n)?n:[n]],...c,children:i},`${i}-${r}`)}))),[]);return t.useMemo((()=>{if(!i)return e.jsx(e.Fragment,{});if(s.isReactNode(i))return i;const{left:t,right:r}=i,o=d(t),f=d(r);return e.jsxs(c.default,{direction:"row",spacing:2,flexGrow:1,flexShrink:1,flexBasis:"0%",justifyContent:"space-between",sx:[a.default[`.${u}-root`],...Array.isArray(n)?n:[n]],"data-testid":`${u}-root`,className:`${u}-root`,...l,children:[e.jsx(c.default,{direction:"row",spacing:2,justifyContent:"flex-start","data-testid":`${u}-actionsLeft`,className:`${u}-actionsLeft`,sx:{display:"flex"},children:o},"left"),e.jsx(c.default,{direction:"row",spacing:2,justifyContent:"flex-end","data-testid":`${u}-actionsRight`,className:`${u}-actionsRight`,children:f},"right")]})}),[i,d,l,n])},exports.prefix=u;