@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.4 kB
JavaScript
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useState as i}from"react";import a from"@mui/material/Box";import o from"@mui/material/Card";import n from"@mui/material/CardContent";import r from"@mui/material/ClickAwayListener";import{StyledPopper as m,StyledArrow as l}from"../../common/Popper/StyledPopper.js";import{CommentInput as s}from"./CommentInput/CommentInput.js";const p=p=>{const{author:d,initialComment:c,initialAttachments:u,initialTags:C,initialMetadata:h,onCancel:f,onSave:x,onCommentChange:b,statusMapping:g,placeholder:v,autoFocus:w=!1,disabled:M=!1,type:y="basic",mode:A="plaintext",state:P="add",richTextConfig:T,open:j=!1,sx:F,...S}=p,[k,I]=i(null),N=e(s,{author:d,initialComment:c,initialAttachments:u,initialTags:C,initialMetadata:h,placeholder:v,onCancel:f,onSave:x,onCommentChange:b,statusMapping:g,autoFocus:w,disabled:M,sx:"basic"===y?F:void 0,mode:A,state:P,richTextConfig:T});return"basic"===y?N:e(m,{open:j,"data-testid":"NexusCommentField-root",disablePortal:!0,placement:"auto",modifiers:[{name:"arrow",enabled:!0,options:{element:k}},{name:"preventOverflow",enabled:!0}],sx:F,...S,children:e(r,{onClickAway:()=>{f?.()},children:t(a,{sx:{position:"relative",overflow:"visible"},children:[e(l,{ref:I,className:"MuiPopper-arrow"}),e(o,{sx:{borderRadius:2},children:e(n,{sx:{p:2,":last-child":{pb:2}},children:N})})]})})})};export{p as CommentFieldComponent};