1"use strict";(self.webpackChunkhost=self.webpackChunkhost||[]).push([[228],{98283:(s,e,i)=>{function n(s,e){if(null==s)return{};var i={};for(var n in s)if({}.hasOwnProperty.call(s,n)){if(-1!==e.indexOf(n))continue;i[n]=s[n]}return i}i.d(e,{Z:()=>n})},1186:(s,e,i)=>{i.r(e),i.d(e,{LockableButton:()=>L,LockableRadio:()=>g,LockableResponsiveIconButton:()=>u,LockableSummaryListItemEdit:()=>l,LockableTriggerButton:()=>h,ViewOnlyAccountPermissionValidator:()=>V,ViewOnlyBcaAccountPermissionValidator:()=>k,ViewOnlyBusinessPermissionValidator:()=>y,ViewOnlyPermissionModal:()=>B,ViewOnlyPermissionPage:()=>p,useViewOnlyPermissions:()=>C});var n=i(98283),o=i(73659),t=i(61295),r=i(52322);const a=["requiredPermissions","businessPermissions","matchAllPermissions"],l=s=>{const{requiredPermissions:e,businessPermissions:i,matchAllPermissions:l}=s,c=(0,n.Z)(s,a),{onOpen:d}=(0,t.useViewOnlyPermissionModalContext)();let u=Object.assign({},c);return!(0,t.hasPermissions)(e,i||[],l)&&(u=Object.assign({},c,{variant:"textLocked",onClick:d,"data-cy":`${c["data-cy"]}-locked`})),(0,r.jsx)(o.SummaryListItemEdit,Object.assign({},u))},c=["requiredPermissions","isLockable","businessPermissions","matchAllPermissions"],d={color:"neutral.600",bg:"transparent",_hover:{bg:"transparent"},_active:{bg:"transparent",text:"neutral.600"},_focus:{bg:"transparent"}},u=s=>{const{requiredPermissions:e,isLockable:i=!0,businessPermissions:a,matchAllPermissions:l}=s,u=(0,n.Z)(s,c),{onOpen:m}=(0,t.useViewOnlyPermissionModalContext)();let h=Object.assign({},u);const P=!(0,t.hasPermissions)(e,a||[],l);return i&&P&&(h=Object.assign({},u,{as:"button",icon:(0,r.jsx)(o.LockedIcon,{w:"24px",h:"24px"}),onClick:m,"data-cy":`${u["data-cy"]}-locked`},d)),s.children?(0,r.jsx)(o.ResponsiveIconButton,Object.assign({},h,{children:s.children})):(0,r.jsx)(o.ResponsiveIconButton,Object.assign({},h))},m=["isLockable","requiredPermissions","_lockedPropsOverride","businessPermissions","matchAllPermissions"],h=s=>{let{isLockable:e=!0,requiredPermissions:i,_lockedPropsOverride:a={},businessPermissions:l,matchAllPermissions:c}=s,d=(0,n.Z)(s,m);const{onOpen:u}=(0,t.useViewOnlyPermissionModalContext)(),h=!(0,t.hasPermissions)(i,l||[],c);let P=Object.assign({},d);return e&&h&&(P=Object.assign({},P,{"data-heapid":`${d["data-heapid"]+"-"||0}locked`,onClick:u,"data-cy":`${d["data-cy"]}-locked`},a)),(0,r.jsx)(o.TriggerButton,Object.assign({},P))};var P=i(11871);i(77285);const x=["requiredPermissions","businessPermissions","matchAllPermissions","children"],g=s=>{let{requiredPermissions:e,businessPermissions:i,matchAllPermissions:a,children:l}=s,c=(0,n.Z)(s,x);const d=!(0,t.hasPermissions)(e,i||[],a);return(0,r.jsx)(o.Radio,Object.assign({},c,{isDisabled:d,children:(0,r.jsxs)(P.Flex,{alignItems:"flex-start",direction:"column",children:[l,d&&(0,r.jsx)(o.Text,{textStyle:"body-02-regular",color:"$fg.tertiary",children:"You don\u2019t have permission to perform this action"})]})}))};var b=i(76386);const p=()=>(0,r.jsxs)(P.AbsoluteCenter,{alignItems:"center",textAlign:"center",children:[(0,r.jsx)(o.LockedIcon,{color:"$fg.tertiary",width:"48px",height:"48px"}),(0,r.jsx)(o.Heading,{mt:"16px",children:"You don\u2019t have permissions to see this"}),(0,r.jsx)(P.Box,{mt:"16px",children:(0,r.jsx)(o.Text,{color:"$fg.secondary",children:"Discuss with your super user if you need to change your permissions."})})]});var j=i(13569);const y=({requiredPermissions:s,matchAllPermissions:e})=>{const{businessId:i=""}=(0,b.useParams)(),{isPending:n,data:o}=(0,j.useBusinessDetailsQuery)(i);if(n)return(0,r.jsx)(b.Outlet,{context:{isValidatingPermissions:!0}});return!(0,t.hasPermissions)(s,(null==o?void 0:o.permissions)||[],e)?(0,r.jsx)(p,{}):(0,r.jsx)(b.Outlet,{context:{isValidatingPermissions:!1}})};var O=i(48970);const k=({requiredPermissions:s,matchAllPermissions:e})=>{const{isLoading:i,isError:n,data:o}=(0,O.useGetAccount)();if(i)return(0,r.jsx)(b.Outlet,{context:{isValidatingPermissions:!0}});if(n)return(0,r.jsx)(b.Outlet,{context:{isValidatingPermissions:!1}});return!(0,t.hasPermissions)(s,(null==o?void 0:o.permissions)||[],e)?(0,r.jsx)(p,{}):(0,r.jsx)(b.Outlet,{context:{isValidatingPermissions:!1}})};var v=i(83e3);const V=({requiredPermissions:s,matchAllPermissions:e})=>{const{accountId:i=""}=(0,b.useParams)(),{isPending:n,data:o}=(0,v.useSavingsAccountQuery)(i);if(!(o&&"businessId"in o))return(0,r.jsx)(b.Outlet,{});if(n)return(0,r.jsx)(b.Outlet,{context:{isValidatingPermissions:!0}});return!(0,t.hasPermissions)(s,(null==o?void 0:o.permissions)||[],e)?(0,r.jsx)(p,{}):(0,r.jsx)(b.Outlet,{context:{isValidatingPermissions:!1}})},f=["isLockable","requiredPermissions","children","_lockedPropsOverride","businessPermissions","matchAllPermissions","isEligible"],w={text:"textLocked",primary:"primaryLocked",ghost:"ghostLocked"},L=s=>{let{isLockable:e=!0,requiredPermissions:i,children:a,_lockedPropsOverride:l={},businessPermissions:c,matchAllPermissions:d,isEligible:u}=s,m=(0,n.Z)(s,f);const{onOpen:h}=(0,t.useViewOnlyPermissionModalContext)(),P=!(0,t.hasPermissions)(i,c||[],d);let x=Object.assign({},m);
1if(e&&(P||!u)){const s=m.variant||"primary";x=Object.assign({},x,{"data-heapid":`${m["data-heapid"]+"-"||0}locked`,variant:null==w?void 0:w[s],onClick:h,"data-cy":`${m["data-cy"]}-locked`},l)}return(0,r.jsx)(o.Button,Object.assign({},x,{children:a}))};var A=i(50427);const B=({isOpen:s,onClose:e})=>(0,r.jsxs)(o.ModalV2,{isOpen:s,onClose:e,children:[(0,r.jsxs)(o.ModalHeaderV2,{children:[(0,r.jsx)(o.ModalHeaderBoxV2,{children:(0,r.jsx)(o.LockedIcon,{width:"48px",height:"48px",color:"$fg.inverse.tertiary"})}),(0,r.jsx)(o.ModalTitleV2,{value:"You don't have permissions to perform this action"})]}),(0,r.jsx)(o.ModalBodyV2,{"data-testid":"view-only-permission-modal","data-cy":"view-only-permission-modal",children:(0,r.jsx)(P.Box,{children:(0,r.jsx)(o.Text,{textStyle:"body-02-regular",color:"$fg.secondary",children:(0,A.formatLineBreaks)("Discuss with your super user if you need to change your permissions.")})})}),(0,r.jsx)(o.ModalFooterV2,{buttonOne:(0,r.jsx)(o.Button,{"data-heapid":"view-only-permission-modal-close-button",onClick:e,children:"Close"})})]}),C=()=>{const s=(0,b.useOutletContext)();return{isValidatingViewOnlyPermissions:!(null==s||!s.isValidatingPermissions)}}}}]);
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.