@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.98 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("react/jsx-runtime"),r=require("@mui/material/Card"),a=require("@mui/material/CardContent"),i=require("@mui/material/CardHeader"),s=require("@mui/material/Typography"),d=require("@mui/material/CardActions"),n=require("@mui/material/List"),l=require("./TaskItem/TaskItem.component.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var c=u(e),m=o(r),f=o(a),x=o(i),h=o(s),p=o(d),j=o(n);const b="NexusTaskManager";exports.TaskManager=r=>{const{title:a,tasks:i,endGoal:s,...d}=r;return t.jsxs(m.default,{variant:"outlined","data-testid":`${b}-root`,className:`${b}-root`,...d,children:[a&&t.jsx(x.default,{"data-testid":`${b}-header`,className:`${b}-header`,sx:{height:40,borderBottom:"1px solid",borderBottomColor:"divider"},disableTypography:!0,title:"string"==typeof a?t.jsx(h.default,{fontWeight:700,"data-testid":`${b}-title`,className:`${b}-title`,children:"Tasks"}):a}),t.jsx(f.default,{"data-testid":`${b}-content`,className:`${b}-content`,children:t.jsx(j.default,{disablePadding:!0,children:i.map((r=>{const{subtasks:a=[],id:i,...s}=r;return t.jsxs(c.Fragment,{children:[e.createElement(l.TaskItem,{...s,key:i,nesting:"none"}),a.map(((t,r)=>{const{id:i,...s}=t;return e.createElement(l.TaskItem,{...s,key:i,nesting:r===a.length-1?"last-child":"nth-child"})}))]},i)}))})}),s&&t.jsx(p.default,{"data-testid":`${b}-endGoal`,className:`${b}-endGoal`,sx:{borderTop:"1px solid",borderTopColor:"divider",p:0},children:t.jsx(j.default,{disablePadding:!0,sx:{width:"100%"},children:t.jsx(l.TaskItem,{...s,sx:[{border:"none"},...Array.isArray(s.sx)?s.sx:[s.sx]]})})})]})};