1import{j as n,r as p,R as O}from"./react-DJo-hRcj.js";import{M as L}from"./ModalV2-B3Lw--tU.js";import{d as E,ak as N,i as P,a7 as z,A as _,k as v,m as I,r as q}from"./index-HmRGQEHV.js";import{I as k,cJ as H,bZ as R,b_ as Q,bU as T}from"./vendors-D9FTVJXp.js";import{_ as w,T as J,E as K,a1 as U,aq as W}from"./mui-core-CIySj9_k.js";import{P as Y}from"./OUQueryRepository-5Mm0PDx-.js";import{a as f,t as Z}from"./toastifyV2-ajHTjSAj.js";import"./lodash-5mjDUwsr.js";import"./mui-x-BIGgJFSO.js";const $=U();function G({value:i,error:s,disabled:m,placeholder:d,autoFocus:t,options:b=[],onChange:l}){const{t:o}=k();return n.jsx(w,{options:b,value:i,multiple:!0,freeSolo:!0,disableClearable:!0,autoFocus:t,disabled:m,onChange:(a,e)=>{l(e)},sx:{display:"contents","& .MuiFormControl-root .MuiOutlinedInput-root ":{padding:"4px","& .MuiInputBase-input.MuiOutlinedInput-input":{paddingY:"6px",paddingLeft:"8px"}},"& .MuiOutlinedInput-root.MuiInputBase-sizeSmall":{height:"auto",minHeight:"40px"},"& .MuiAutocomplete-tag":{background:"#ecedee",height:"20px",borderRadius:"4px",margin:"2px 4px",border:"none","& .MuiChip-deleteIcon":{fontSize:"16px",width:"16px",height:"16px"}}},ChipProps:{deleteIcon:n.jsx(N,{sx:{width:12,height:12,color:E.ic.normal.secondary}})},renderInput:a=>n.jsx(K,{...a,sx:{height:"auto","& .MuiInputBase-root":{height:"auto"}},placeholder:d,error:!!s,helperText:s&&s.message,onKeyDown:e=>{if(e.code==="enter"&&e.target.value){if(i.includes(e.target.value)){e.stopPropagation();return}l([...i,e.target.value])}}}),filterOptions:(a,e)=>{const c=$(a,e);return e.inputValue!==""&&!i.includes(e.inputValue)&&c.push(e.inputValue),c},renderOption:(a,e)=>p.createElement("li",{...a,key:a.key},n.jsxs(J,{variant:"bodyMBaseRegular",color:E.txt.normal.secondary,children:[o("button.add"),' "',e,'"']}))})}function oe({rowData:i,onClose:s,onSuccess:m,...d}){const{t}=k(),[b,l]=p.useState(null),[o,a]=p.useState([]),[e,c]=O.useState(i?.role||"restricted"),A=H().of(R().test({name:"isValidEmail",test:r=>R().email().isValidSync(r),message({value:r}){return t("is_not_a_valid_email",{value:r})}})).required(),S=r=>{c(r.target.value)},j=Q(),h=P(),x=new Y({tenantId:h,queryClient:j}),{mutateAsync:V,isLoading:g}=T(x.createMultiMemberInTenant({onSuccess(){f.success({title:t("notify.member_added"),description:t("add_member_successfully",{count:o.length})}),m?.(),s?.()},onError(r){const u=r;u?.response?.data?.code==="MEMBER_LIMIT_REACHED"?f.error({title:t("error_title"),description:t("TENANT.FORM.MEMBER_LIMIT_REACHED")}):f.error({title:t("error_title"),description:u?.response?.data?.message||t("Something went wrong")}),s?.()}})),{mutateAsync:C,isLoading:y}=T(x.updateMemberInTenant({onSuccess(){m?.(),c(""),s?.()},onError(){}})),M=async r=>{try{return await A.validate(r),l(null),!0}catch(u){return l(u),!1}},B=async()=>{v({eventName:q.TENANT_MEMBER_ADD,eventType:I["click-button"],tenantId:h,workspaceId:null,properties:{inviteIds:o,inviteRole:e}}),await M(o)&&await V(o.map(u=>({email:u,role:e,isActive:!0})))},F=async()=>{v({eventName:"tenant_member_edit",eventType:I["click-button"],tenantId:h,workspaceId:null,properties:{updateEmail:i.email,updateRole:e}}),await Z(C({email:i.email,currentRoleSlug:i.role,userRole:e,userStatus:!0}),{success:{title:t("notify.edit_member"),description:t("edit_member_successfully",{count:1})}})};return p.useEffect(()=>{d.open||(a([]),l(null))},[d.open]),n.jsx(L,{...d,title:t(i?"members.edit_member":"members.add_members"),onClose:s,actions:n.jsxs(n.Fragment,{children:[n.jsx(_,{variant:"tertiary",size:"modal",disabled:g,onClick:s,children:t("button.cancel")}),n.jsx(_,{variant:"primary",size:"modal",disabled:i?!1:y||g||o.length===0||e==="",onClick:i?F:B,loading:y||g,children:t(i?"button.edit":"button.add")})]}),children:n.jsxs(W,{gap:4,children:[n.jsx(G,{value:i?[i.email]:o,error:b,autoFocus:!0,placeholder:t("members.invite_member_placeholder"),onChange:r=>{M(r),a(r)},disabled:!!i}),n.jsx(z,{label:t("role"),value:e,onChange:S,options:[{value:"specialist",label:"Admin"},{value:"restricted",label:"Restricted"}],displayEmpty:!0,variant:"outlined",fullWidth:!0})]})})}export{oe as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.