PageSourceSearch

https://app.vesra.io/assets/SettingsPages-d5636ccb.js

js vesra.io collected 2026-10-09 22:26:39 UTC 193,089 bytes, 1 lines download raw bytes

1import{u as q,a as xe,b as T,n as le,r as n,x as w,j as e,M as $,S as z,T as ue,k as M,C as de,L as G,F as se,t as Fe,l as _e,v as ae,y as ve,m as he,U as H,V as ie,z as C,I as Me,D as Ie,c as we,h as Te,Q as ce,Y as Ce,$ as qe}from"./index-6add7d2d.js";import{Q as Ue}from"./index-4aab9fac.js";import{A as be}from"./AccessMenu-a9ae6524.js";import{f as Be}from"./format-e25ccb48.js";function V(a,l){return Object.entries(l).reduce((s,[c,i])=>s.split(`{${c}}`).join(String(i)),a)}function Oe(a){return a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")}function te(a){if(!a)return"-";const l=Be(a);return l==="-"?a:l}function ee(a){const{t:l}=T("settings");Te(`${l("settings_nav_title","Settings")} - ${a}`)}function fe(a,l){const{t:s}=T("settings");Te(`${s("settings_nav_title","Settings")} - ${s(a,l)}`)}function ze(){const a=q(),[l,s]=n.useState(null),[c,i]=n.useState(""),t=async()=>{if(a.accessToken){i("");try{s(await w("/v1/profile",{accessToken:a.accessToken}))}catch(r){i(C(r))}}};return n.useEffect(()=>{t()},[a.accessToken]),{data:l,error:c,setData:s,setError:i,reload:t}}function ye({page:a,totalPages:l,onPrevious:s,onNext:c}){const{t:i}=T("common");return e.jsxs("div",{className:"pagination table-pagination modal-activity-log-pagination settings-modal-pagination",children:[e.jsxs("div",{className:"pagination-btns",children:[a>1?e.jsx("a",{href:"#",className:"btn subtle-btn btn-sml",onClick:t=>{t.preventDefault(),s()},children:e.jsx("p",{children:i("previous_btn","Previous")})}):e.jsx("a",{className:"btn disabled-btn btn-sml",children:e.jsx("p",{children:i("previous_btn","Previous")})}),a<l?e.jsx("a",{href:"#",className:"btn subtle-btn btn-sml",onClick:t=>{t.preventDefault(),c()},children:e.jsx("p",{children:i("next_btn","Next")})}):e.jsx("a",{className:"btn disabled-btn btn-sml",children:e.jsx("p",{children:i("next_btn","Next")})})]}),e.jsx("div",{className:"pagination-count",children:e.jsxs("p",{children:[i("page_label","Page")," ",e.jsx("strong",{children:a})," ",i("of_label","of")," ",e.jsx("strong",{children:l})]})})]})}function Pe(){const a=q(),[l,s]=n.useState(null),[c,i]=n.useState(""),t=async()=>{if(a.accessToken){i("");try{s(await w("/v1/integrations",{accessToken:a.accessToken}))}catch(r){i(C(r))}}};return n.useEffect(()=>{t()},[a.accessToken]),{data:l,error:c,setData:s,setError:i,reload:t}}function Ye(){const a=q(),[l,s]=n.useState(null),[c,i]=n.useState(""),t=async()=>{if(a.accessToken){i("");try{s(await w("/v1/workspaces/current",{accessToken:a.accessToken}))}catch(r){i(C(r))}}};return n.useEffect(()=>{t()},[a.accessToken]),{data:l,error:c,setData:s,setError:i,reload:t}}function He(){const a=q(),[l,s]=n.useState(null),[c,i]=n.useState(""),t=async()=>{if(a.accessToken){i("");try{s(await w("/v1/workspaces/current/hr",{accessToken:a.accessToken}))}catch(r){i(C(r))}}};return n.useEffect(()=>{t()},[a.accessToken]),{data:l,error:c,setData:s,reload:t}}function Ne(){const a=q(),[l,s]=n.useState(null),[c,i]=n.useState(""),t=async()=>{if(a.accessToken){i("");try{s(await w("/v1/franchise",{accessToken:a.accessToken}))}catch(r){i(C(r))}}};return n.useEffect(()=>{t()},[a.accessToken]),{data:l,error:c,setData:s,reload:t}}function We(){const a=q(),[l]=le(),[s,c]=n.useState(null),[i,t]=n.useState(""),[r,o]=n.useState(!1),m=l.toString(),u=async b=>{if(!a.accessToken)return;const p=new URLSearchParams;p.set("tab",l.get("tab")||"summary"),l.get("billing_cycle")&&p.set("billing_cycle",l.get("billing_cycle")||""),t(""),o(!0);try{c(await w(`/v1/billing?${p.toString()}`,{accessToken:a.accessToken,signal:b}))}catch(d){if(d instanceof DOMException&&d.name==="AbortError")return;t(C(d))}finally{b!=null&&b.aborted||o(!1)}};return n.useEffect(()=>{const b=new AbortController;return u(b.signal),()=>b.abort()},[a.accessToken,m]),{data:s,error:i,loading:r,setData:c,reload:u}}function za(){const a=q(),l=xe(),{t:s}=T("people"),{t:c}=T("common"),[i,t]=le(),[r,o]=n.useState(null),[m,u]=n.useState(""),[b,p]=n.useState(!1),[d,x]=n.useState(i.get("search")||""),[h,j]=n.useState(null),[v,N]=n.useState(null),[y,k]=n.useState(null),[S,P]=n.useState(!1),D=Math.max(Number(i.get("page")||"1"),1),U=i.get("search")||"";
1fe("settings_teams","Teams");const E=async()=>{if(a.accessToken){u(""),p(!0);try{const f=new URLSearchParams({page:String(D),page_size:"25"});U&&f.set("search",U),o(await w(`/v1/teams?${f.toString()}`,{accessToken:a.accessToken}))}catch(f){u(C(f))}finally{p(!1)}}};n.useEffect(()=>{E()},[a.accessToken,D,U]),n.useEffect(()=>{x(U)},[U]);const B=f=>{f.preventDefault();const g=new URLSearchParams(i);g.set("page","1"),d.trim()?g.set("search",d.trim()):g.delete("search"),t(g)},Y=()=>{const f=new URLSearchParams(i);f.delete("search"),f.set("page","1"),t(f)},F=f=>{o(f),j(null)},O=()=>{if(!a.accessToken)return;const f=new URLSearchParams;U&&f.set("search",U),ce(`/v1/teams/export?${f.toString()}`,"teams.csv",{accessToken:a.accessToken,suppressFlash:!0})},W=n.useCallback(async f=>a.accessToken?w(`/v1/teams/access?page=${f}&page_size=10`,{accessToken:a.accessToken,suppressFlash:!0}):{users:[],pagination:{page:1,total_pages:1,total_results:0,page_size:10}},[a.accessToken]),I=async f=>{if(!(!a.accessToken||f.is_default)){P(!0),u("");try{const g=await w(`/v1/teams/${encodeURIComponent(f.public_id)}`,{method:"DELETE",accessToken:a.accessToken});o(g),k(null)}catch(g){u(C(g))}finally{P(!1)}}};return e.jsxs("div",{className:"admin-react-shell settings-teams-react-shell table-page-layout",children:[e.jsxs("div",{className:"page-header page-header-with-search page-header-border settings-matrix-page-header settings-activity-logs-header settings-teams-page-header",children:[e.jsx("div",{className:"page-header-left",children:e.jsx("h6",{children:s("teams_label","Teams")})}),e.jsxs("div",{className:"page-search settings-teams-page-search",children:[e.jsxs("form",{onSubmit:B,children:[e.jsx("input",{type:"text",value:d,onChange:f=>x(f.target.value),placeholder:s("search_teams_placeholder","Search teams...")}),e.jsx("button",{className:"btn-icon page-search-btn",type:"submit",title:c("search_label","Search"),"aria-label":c("search_label","Search"),children:e.jsx("i",{className:"fa-regular fa-magnifying-glass"})})]}),U&&e.jsx("button",{type:"button",className:"btn-icon page-search-clear-btn",onClick:Y,"aria-label":c("clear_search_label","Clear search"),children:e.jsx("i",{className:"fa-regular fa-xmark"})}),e.jsx("div",{className:"page-header-vertical-border"}),e.jsx("button",{type:"button",className:"btn-icon settings-activity-logs-export-btn",onClick:O,"aria-label":s("export_teams_label","Export teams"),title:s("export_teams_label","Export teams"),children:e.jsx("i",{className:"fa-regular fa-cloud-arrow-down"})})]}),e.jsxs("div",{className:"page-header-align-right page-header-actions",children:[e.jsx(be,{className:"settings-access-dropdown-container",triggerClassName:"settings-access-icon-btn",emptyLabel:s("no_access_found_label","No access found"),loadPage:W}),e.jsx("button",{type:"button",className:"btn primary-btn btn-sml settings-matrix-primary-action",onClick:()=>j("new"),children:e.jsx("p",{children:s("add_team_label","Add team")})})]})]}),m&&e.jsx($,{error:!0,children:m}),!r&&b?e.jsx(z,{label:s("loading_teams_label","Loading teams")}):r&&r.items.length?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"settings-page settings-teammates-visibility-table settings-teams-full-width-table",children:e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{children:[e.jsx("th",{className:"table-header-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("span",{children:s("team_name_label","Team name")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:s("edit_label","Edit")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:s("default_team_label","Default team")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:s("people_label","People")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:s("managers_label","Managers")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:s("created_label","Created")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:s("delete_label","Delete")})})]})}),e.jsx("tbody",{className:"table-body",children:r.items.map(f=>e.jsxs("tr",{className:"table-body-row table-body-row-clickable",onClick:()=>l(`/settings/teams/${encodeURIComponent(f.public_id)}`),children:[e.jsx("td",{className:"table-body-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("div",{className:"teammates-visibility-person-cell",children:e.jsx("span",{children:f.name})})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx("button",{type:"button",className:"btn-icon",onClick:g=>{g.stopPropagation(),j(f)},"aria-label":V(s("edit_named_label","Edit {name}"),{name:f.name}),children:e.jsx("i",{className:"fa-regular fa-pen-to-square"})})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:f.is_default?e.jsx("i",{className:"fa-regular fa-circle-check table-cell-green"}):e.jsx("i",{className:"fa-regular fa-circle-xmark table-cell-red"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:f.people_count?e.jsxs("button",{type:"button",className:"teams-count-link",onClick:g=>{g.stopPropagation(),N({team:f,mode:"people"})},children:[f.people_count," ",f.people_count===1?s("person_label","Person"):s("people_label","People")]}):e.jsx("span",{children:"-"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:f.manager_count?e.jsxs("button",{type:"button",className:"teams-count-link",onClick:g=>{g.stopPropagation(),N({team:f,mode:"managers"})},children:[f.manager_count," ",f.manager_count===1?s("manager_label","Manager"):s("managers_label","Managers")]}):e.jsx("span",{children:"-"})}),e.jsx("td",{className:"table-body-cell table-cell",children:te(f.created_date)}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:f.is_default?e.jsx("span",{children:"-"}):e.jsx("button",{type:"button",className:"btn-icon settings-team-delete-btn",onClick:g=>{g.stopPropagation(),k(f)},"aria-label":V(s("delete_named_label","Delete {name}"),{name:f.name}),children:e.jsx("i",{className:"fa-regular fa-trash"})})})]},f.public_id))})]})})})})}),e.jsx(ue,{page:r.pagination.page,totalPages:r.pagination.total_pages})]}):e.jsx("div",{className:"settings-page",children:e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-user"}),e.jsx("h6",{children:s("no_teams_found_label","No teams found")}),e.jsx("p",{className:"empty-state-sub-text",children:s("no_teams_found_hint","Create a team to organise people by team.")})]})}),h&&e.jsx(De,{team:h==="new"?null:h,onClose:()=>j(null),onSaved:F}),v&&e.jsx(Ge,{team:v.team,mode:v.mode,onClose:()=>N(null)}),y&&(y.people_count||y.manager_count?e.jsx(M,{title:s("delete_label","Delete"),onClose:()=>k(null),children:e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-circle-exclamation","aria-hidden":"true"}),e.jsx("p",{className:"readable-text",children:s("remove_people_managers_before_delete_team","Remove people and managers from this team before deleting it.")})]})}):e.jsx(de,{title:s("delete_label","Delete"),message:V(s("delete_named_confirm","Are you sure you want to delete {name}?"),{name:y.name}),confirmClassName:"btn warning-btn",busy:S,onCancel:()=>k(null),onConfirm:()=>void I(y)}))]})}function De({team:a,onClose:l,onSaved:s}){const c=q(),{t:i}=T("people"),{t}=T("common"),[r,o]=n.useState((a==null?void 0:a.name)||""),[m,u]=n.useState(!!(a!=null&&a.is_default)),[b,p]=n.useState(""),[d,x]=n.useState(!1),h="settings-team-form",j=async v=>{v.preventDefault(),x(!0),p("");try{const N=a?`/v1/teams/${encodeURIComponent(a.public_id)}`:"/v1/teams",y=await w(N,{method:a?"PUT":"POST",accessToken:c.accessToken,body:{name:r,is_default:m}});s(y)}catch(N){p(C(N)),x(!1)}};return e.jsxs(M,{title:a?i("edit_team_label","Edit team"):i("create_team_label","Create team"),onClose:d?()=>{}:l,footer:e.jsx(e.Fragment,{children:e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:d,form:h,children:t("save_btn_label","Save")})}),children:[b&&e.jsx($,{error:!0,children:b}),e.jsxs("form",{id:h,onSubmit:j,children:[e.jsxs("div",{className:"form-field",children:[e.jsx("label",{htmlFor:"settingsTeamName",children:i("team_name_label","Team name")}
1),e.jsx("input",{id:"settingsTeamName",value:r,onChange:v=>o(v.target.value),required:!0})]}),e.jsxs("div",{className:"form-field",children:[e.jsx("label",{htmlFor:"settingsTeamDefault",children:i("default_team_question_label","Default team?")}),e.jsxs("select",{id:"settingsTeamDefault",value:m?"1":"0",onChange:v=>u(v.target.value==="1"),children:[e.jsx("option",{value:"0",children:t("no_label","No")}),e.jsx("option",{value:"1",children:t("yes_label","Yes")})]})]})]})]})}function Ge({team:a,mode:l,onClose:s}){const c=q(),{t:i}=T("people"),[t,r]=n.useState(null),[o,m]=n.useState(""),[u,b]=n.useState(1),p=encodeURIComponent(a.public_id),d=async()=>{if(c.accessToken){m("");try{const v=await w(`/v1/teams/${p}/${l==="managers"?"managers":"members"}?page=${u}&page_size=5${l==="people"?"&include_managers=false":""}`,{accessToken:c.accessToken});r(v)}catch(v){m(C(v))}}};n.useEffect(()=>{b(1)},[l,a.public_id]),n.useEffect(()=>{d()},[c.accessToken,a.public_id,l,u]);const x=l==="managers",h=(t==null?void 0:t.pagination.total_pages)||1,j=t&&t.items.length?e.jsx(ye,{page:u,totalPages:h,onPrevious:()=>b(v=>Math.max(1,v-1)),onNext:()=>b(v=>Math.min(h,v+1))}):void 0;return e.jsxs(M,{title:x?i("team_managers_label","Team managers"):i("team_members_label","Team members"),onClose:s,contentClassName:"settings-team-members-modal",footer:j,footerClassName:"modal-activity-log-footer",footerInnerClassName:"modal-activity-log-pagination",children:[o&&e.jsx($,{error:!0,children:o}),t?t.items.length?e.jsx("div",{className:"settings-page",children:e.jsx("div",{className:"list",children:t.items.map(v=>e.jsxs("div",{className:"list-item list-item-no-click no-text-highlight",children:[v.user_avatar_path?e.jsx("div",{className:"avatar sml-avatar",children:e.jsx("img",{src:se(v.user_avatar_path),alt:""})}):e.jsx("div",{className:"avatar sml-avatar empty-avatar",children:e.jsx("p",{children:v.user_initials||"?"})}),e.jsx("div",{className:"list-item-detail",children:e.jsx("p",{className:"list-item-name",children:v.user_name||v.user_email||`User #${v.user_id}`})})]},v.user_id))})}):e.jsx("div",{className:"settings-page",children:e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-user"}),e.jsx("h6",{children:x?i("no_managers_found_label","No managers found"):i("no_people_found_label","No people found")})]})}):e.jsx(z,{label:i("loading_team_label","Loading team")})]})}function Ya(){const a=q(),l=xe(),{t:s}=T("people"),{t:c}=T("common"),{teamRef:i=""}=Fe(),[t,r]=le(),[o,m]=n.useState(null),[u,b]=n.useState(null),[p,d]=n.useState(""),[x,h]=n.useState(!1),[j,v]=n.useState(t.get("search")||""),[N,y]=n.useState(!1),[k,S]=n.useState(null),[P,D]=n.useState(null),[U,E]=n.useState(null),[B,Y]=n.useState(!1),F=n.useRef(null),O=Math.max(Number(t.get("page")||"1"),1),W=t.get("search")||"",I=encodeURIComponent(i);ee(o?o.name:s("team_label","Team"));const f=n.useCallback(async R=>a.accessToken?w(`/v1/teams/access?page=${R}&page_size=10`,{accessToken:a.accessToken,suppressFlash:!0}):{users:[],pagination:{page:1,total_pages:1,total_results:0,page_size:10}},[a.accessToken]),g=async()=>{if(!(!a.accessToken||!i)){d(""),h(!0);try{const R=new URLSearchParams({page:String(O),page_size:"25"});W&&R.set("search",W);const[X,pe]=await Promise.all([w(`/v1/teams/${I}`,{accessToken:a.accessToken}),w(`/v1/teams/${I}/members?${R.toString()}`,{accessToken:a.accessToken})]);m(X.team),b(pe)}catch(R){d(C(R))}finally{h(!1)}}};n.useEffect(()=>{g()},[a.accessToken,i,O,W]),n.useEffect(()=>{v(W)},[W]),n.useEffect(()=>{if(!N)return;const R=X=>{var Se;const pe=X.target;pe instanceof Node&&((Se=F.current)!=null&&Se.contains(pe))||y(!1)};return document.addEventListener("mousedown",R),document.addEventListener("touchstart",R),()=>{document.removeEventListener("mousedown",R),document.removeEventListener("touchstart",R)}},[N]);const Q=R=>{R.preventDefault();const X=new URLSearchParams(t);X.set("page","1"),j.trim()?X.set("search",j.trim()):X.delete("search"),r(X)},_=()=>{const R=new URLSearchParams(t);R.delete("search"),R.set("page","1"),r(R)},A=()=>{if(!a.accessToken)return;const R=new URLSearchParams;W&&R.set("search",W),ce(`/v1/teams/${I}/members/export?${R.toString()}`,"team-members.csv",{accessToken:a.accessToken,suppressFlash:!0})},L=async R=>{if(!(!a.accessToken||!window.confirm(s("remove_team_manager_confirm","Remove this team manager?")))){d("");try{await w(`/v1/teams/${I}/managers/${R.user_id}`,{method:"DELETE",accessToken:a.accessToken}),await g()}catch(X){d(C(X))}}},Z=async R=>{if(a.accessToken){Y(!0),d("");try{await w(`/v1/teams/${I}/members/${R.user_id}`,{method:"DELETE",accessToken:a.accessToken}),E(null),await g()}catch(X){d(C(X))}finally{Y(!1)}}},J=async()=>
1{if(!(!a.accessToken||!o||o.is_default)){Y(!0),d("");try{await w(`/v1/teams/${I}`,{method:"DELETE",accessToken:a.accessToken}),l("/settings/teams")}catch(R){d(C(R))}finally{Y(!1)}}},ne=R=>{const X=R.items.find(pe=>pe.public_id===(o==null?void 0:o.public_id));X&&m(X),S(null),g()};return e.jsxs("div",{className:"admin-react-shell settings-teams-react-shell settings-team-detail-react-shell table-page-layout",children:[e.jsxs("div",{className:"page-header page-header-with-search page-header-border settings-matrix-page-header settings-activity-logs-header settings-team-detail-page-header",children:[e.jsxs(_e,{to:"/settings/teams",className:"btn subtle-btn back-btn no-text-highlight",children:[e.jsx("i",{className:"fa-regular fa-left"}),e.jsx("p",{children:s("all_teams_label","All teams")})]}),e.jsxs("div",{className:"page-search settings-team-page-search",children:[e.jsxs("form",{onSubmit:Q,children:[e.jsx("input",{type:"text",name:"search_query",value:j,onChange:R=>v(R.target.value),placeholder:s("search_members_placeholder","Search members")}),e.jsx("button",{className:"btn-icon page-search-btn",type:"submit",title:s("search_team_members_label","Search team members"),"aria-label":s("search_team_members_label","Search team members"),children:e.jsx("i",{className:"fa-regular fa-magnifying-glass"})})]}),W&&e.jsx("button",{type:"button",className:"btn-icon page-search-clear-btn",onClick:_,"aria-label":c("clear_search_label","Clear search"),children:e.jsx("i",{className:"fa-regular fa-xmark"})}),e.jsx("div",{className:"page-header-vertical-border"}),e.jsx("button",{type:"button",className:"btn-icon settings-activity-logs-export-btn",onClick:A,"aria-label":s("export_team_members_label","Export team members"),title:s("export_team_members_label","Export team members"),children:e.jsx("i",{className:"fa-regular fa-cloud-arrow-down"})})]}),e.jsxs("div",{className:"page-header-align-right page-header-actions",children:[e.jsx(be,{className:"settings-access-dropdown-container",triggerClassName:"settings-access-icon-btn",emptyLabel:s("no_access_found_label","No access found"),loadPage:f}),e.jsxs("div",{className:"dropdown-menu-container",ref:F,children:[e.jsxs("a",{href:"#",className:`btn primary-btn btn-sml dropdown-btn menu-toggle${N?" selected":""}`,onClick:R=>{R.preventDefault(),y(X=>!X)},children:[e.jsx("p",{children:s("actions_label","Actions")}),e.jsx("i",{className:"fa-regular fa-chevron-down"})]}),N&&e.jsx("div",{className:"menu menu-actions box-shadow-menu",style:{display:"block"},children:e.jsxs("div",{className:"menu-section",children:[e.jsx("a",{href:"#",className:"menu-item",onClick:R=>{R.preventDefault(),y(!1),S("add-manager")},children:s("add_manager_label","Add manager")}),e.jsx("a",{href:"#",className:"menu-item",onClick:R=>{R.preventDefault(),y(!1),S("add-member")},children:s("add_member_label","Add member")}),o&&e.jsx("a",{href:"#",className:"menu-item",onClick:R=>{R.preventDefault(),y(!1),S("edit-team")},children:s("edit_team_label","Edit team")}),o&&!o.is_default&&e.jsx("a",{href:"#",className:"menu-item",onClick:R=>{R.preventDefault(),y(!1),D(o)},children:s("delete_team_label","Delete team")})]})})]})]})]}),p&&e.jsx($,{error:!0,children:p}),x&&!u?e.jsx(z,{label:s("loading_team_members_label","Loading team members")}):u&&u.items.length?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"settings-page settings-teammates-visibility-table settings-teams-full-width-table",children:e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{children:[e.jsx("th",{className:"table-header-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("span",{children:s("member_name_label","Member name")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:s("status_label","Status")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:s("manager_label","Manager")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:s("delete_label","Delete")})})]})}),e.jsx("tbody",{className:"table-body",children:u.items.map(R=>e.jsxs("tr",{className:"table-body-row",children:[e.jsx("td",{className:"table-body-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsxs("div",{className:"teammates-visibility-person-cell teammates-visibility-person-cell--stack",children:[R.user_avatar_path?e.jsx("div",{className:"avatar sml-avatar",children:e.jsx("img",{src:se(R.user_avatar_path),alt:""})}):e.jsx("div",{className:"avatar sml-avatar empty-avatar",children:e.jsx("p",{children:R.user_initials})}),e.jsx("div",{className:"teammates-visibility-person-meta",children:e.jsx("span",{children:R.user_name})})]})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx("div",{className:`items-01-item-status teammates-visibility-status-badge ${R.is_manager?"items-01-item-status-green":"items-01-item-status-grey"}`,children:e.jsx("p",{children:R.is_manager?s("team_manager_label","Team Manager"):s("team_member_label","Team Member")})})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:R.is_manager?e.jsx("button",{type:"button",className:"btn-icon",onClick:()=>void L(R),"aria-label":V(s("remove_manager_named_label","Remove manager {name}"),{name:R.user_name}),children:e.jsx("i",{className:"fa-regular fa-user-times"})}):e.jsx("span",{children:"-"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx("button",{type:"button",className:"btn-icon",onClick:()=>E(R),"aria-label":V(s("delete_named_label","Delete {name}"),{name:R.user_name}),children:e.jsx("i",{className:"fa-regular fa-trash"})})})]}
1,R.user_id))})]})})})})}),e.jsx(ue,{page:u.pagination.page,totalPages:u.pagination.total_pages})]}):e.jsx("div",{className:"settings-page",children:e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-user"}),e.jsx("h6",{children:s("no_team_members_found_label","No team members found")}),e.jsx("p",{className:"empty-state-sub-text",children:s("add_people_to_team_hint","Add people to this team.")})]})}),o&&k==="edit-team"&&e.jsx(De,{team:o,onClose:()=>S(null),onSaved:ne}),o&&(k==="add-member"||k==="add-manager")&&e.jsx(Qe,{team:o,mode:k==="add-manager"?"manager":"member",onClose:()=>S(null),onDone:()=>{S(null),g()}}),U&&e.jsx(de,{title:s("delete_label","Delete"),message:s("remove_team_member_confirm","Are you sure you want to remove this team member?"),confirmClassName:"btn warning-btn",busy:B,onCancel:()=>E(null),onConfirm:()=>void Z(U)}),P&&(P.people_count||P.manager_count?e.jsx(M,{title:s("delete_label","Delete"),onClose:()=>D(null),children:e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-circle-exclamation","aria-hidden":"true"}),e.jsx("p",{className:"readable-text",children:s("remove_people_managers_before_delete_team","Remove people and managers from this team before deleting it.")})]})}):e.jsx(de,{title:s("delete_label","Delete"),message:s("delete_this_confirm","Are you sure you want to delete this?"),confirmClassName:"btn warning-btn",busy:B,onCancel:()=>D(null),onConfirm:()=>void J()}))]})}function Qe({team:a,mode:l,onClose:s,onDone:c}){const i=q(),{t}=T("people"),[r,o]=n.useState([]),[m,u]=n.useState(""),[b,p]=n.useState(""),[d,x]=n.useState(!1),h=encodeURIComponent(a.public_id),j=l==="manager",v=`settings-team-add-${l}-form`,N=async()=>{if(i.accessToken){p("");try{const S=await w(`/v1/teams/${h}/${j?"manager-options":"member-options"}?page_size=100`,{accessToken:i.accessToken});o(S.options)}catch(k){p(C(k))}}};n.useEffect(()=>{N()},[i.accessToken,a.public_id,l]);const y=async k=>{if(k.preventDefault(),!!m){x(!0),p("");try{await w(`/v1/teams/${h}/${j?"managers":"members"}`,{method:"POST",accessToken:i.accessToken,body:{user_id:Number(m)}}),c()}catch(S){p(C(S)),x(!1)}}};return e.jsxs(M,{title:j?t("add_manager_label","Add manager"):t("add_member_label","Add member"),onClose:d?()=>{}:s,contentClassName:"team-member-picker-modal",footer:e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:d,form:v,children:j?t("add_manager_label","Add manager"):t("add_member_label","Add member")}),children:[b&&e.jsx($,{error:!0,children:b}),e.jsx("form",{id:v,onSubmit:y,children:e.jsx(ae,{label:t("person_label","Person"),options:r.map(k=>({id:k.id,label:k.label,subtitle:k.subtitle})),value:m,onChange:u,placeholder:t("select_choice_label","Select a choice"),searchPlaceholder:t("search_options_label","Search options")})})]})}function Ee({title:a,actionLabel:l,onAction:s}){return e.jsxs("div",{className:"page-header page-header-with-search page-header-border settings-matrix-page-header",children:[e.jsx("div",{className:"page-header-left",children:e.jsx("h6",{children:a})}),l&&e.jsx("div",{className:"page-header-actions",children:e.jsx("button",{type:"button",className:"btn primary-btn btn-sml",onClick:s,children:e.jsx("p",{children:l})})})]})}function Ha(){const{t:a}=T("people"),{t:l}=T("common");fe("settings_time_off_types","Balance categories");const s=q(),c=ve(),[i,t]=le(),[r,o]=n.useState(null),[m,u]=n.useState(""),[b,p]=n.useState(null),[d,x]=n.useState(null),[h,j]=n.useState(!1),[v,N]=n.useState(""),y=n.useRef(null),[k,S]=n.useState(!1),P=Number(i.get("page")??1),D=i.get("search_query")??"",U=i.get("status_filter")??"all",[E,B]=n.useState(D),[Y,F]=n.useState(U),O=async()=>{if(!s.accessToken)return;u("");const L=new URLSearchParams({page:String(P),page_size:"15",search_query:D,status_filter:U});try{o(await w(`/v1/time-off/balance-categories?${L.toString()}`,{accessToken:s.accessToken}))}catch(Z){u(C(Z))}};n.useEffect(()=>{B(D)},[D]),n.useEffect(()=>{F(U)},[U]),n.useEffect(()=>{O()},[s.accessToken,P,D,U]),n.useEffect(()=>{if(!k)return;const L=Z=>{var ne;const J=Z.target;J instanceof Node&&((ne=y.current)!=null&&ne.contains(J))||S(!1)};return document.addEventListener("mousedown",L),document.addEventListener("touchstart",L),()=>{document.removeEventListener("mousedown",L),document.removeEventListener("touchstart",L)}},[k]);const W=L=>{const Z=new URLSearchParams(i);
1Object.entries(L).forEach(([J,ne])=>ne&&ne!=="all"?Z.set(J,ne):Z.delete(J)),Z.delete("page"),t(Z)},I=L=>{L.preventDefault(),W({search_query:E.trim()})},f=L=>{L.preventDefault(),W({status_filter:Y}),S(!1)},g=()=>{F("all"),W({status_filter:"all"}),S(!1)},Q=()=>{if(!s.accessToken)return;const L=new URLSearchParams({search_query:D,status_filter:U});ce(`/v1/time-off/balance-categories/export.csv?${L.toString()}`,"balance_categories.csv",{accessToken:s.accessToken})},_=async L=>s.accessToken?w(`/v1/time-off/balance-categories/access?page=${L}&page_size=10`,{accessToken:s.accessToken}):{users:[],pagination:{page:1,total_pages:1,total_results:0,page_size:10}},A=async L=>{if(s.accessToken){j(!0),N("");try{const Z=await w(`/v1/time-off/balance-categories/${L.id}`,{method:"DELETE",accessToken:s.accessToken});o(Z),x(null),Z.message&&c.success(Z.message)}catch(Z){N(C(Z))}finally{j(!1)}}};return e.jsxs("div",{className:"admin-react-shell settings-balance-types-react-shell table-page-layout",children:[e.jsxs("div",{className:"page-header page-header-with-search page-header-border settings-matrix-page-header settings-activity-logs-header settings-locations-page-header",children:[e.jsx("div",{className:"page-header-left",children:e.jsx("h6",{children:a("balance_categories_label","Balance categories")})}),e.jsxs("div",{className:"page-search",children:[e.jsxs("form",{onSubmit:I,children:[e.jsx("input",{value:E,onChange:L=>B(L.target.value),placeholder:a("search_balance_categories_placeholder","Search balance categories"),"aria-label":a("search_balance_categories_placeholder","Search balance categories")}),e.jsx("button",{className:"btn-icon page-search-btn",type:"submit",title:l("search_label","Search"),"aria-label":l("search_label","Search"),children:e.jsx("i",{className:"fa-regular fa-magnifying-glass"})})]}),D&&e.jsx("button",{type:"button",className:"btn-icon page-search-clear-btn","aria-label":l("clear_search_label","Clear search"),onClick:()=>W({search_query:""}),children:e.jsx("i",{className:"fa-regular fa-xmark"})}),e.jsx("div",{className:"page-header-vertical-border"}),e.jsxs("div",{className:"dropdown-menu-container settings-activity-logs-filter-menu",ref:y,children:[e.jsx("button",{type:"button",className:`btn-icon dropdown-btn menu-toggle${k||U!=="all"?" selected":""}`,"aria-label":a("filters_label","Filters"),title:a("filters_label","Filters"),"aria-expanded":k,onClick:()=>S(L=>!L),children:e.jsx("i",{className:"fa-solid fa-filter"})}),k&&e.jsx("div",{className:"menu box-shadow-menu menu-wide admin-clients-filters-menu standard-filter-menu","data-persistent":"true",style:{display:"block"},children:e.jsxs("form",{className:"menu-filter-form",onSubmit:f,children:[e.jsxs("div",{className:"filter-menu-scroll menu-filter-scroll",children:[e.jsx("div",{className:"menu-section-inner-header",children:e.jsx("h6",{children:a("status_label","Status")})}),e.jsx("div",{className:"menu-filter-field",children:e.jsxs("select",{className:"menu-filter-input",name:"status_filter",value:Y,onChange:L=>F(L.target.value),"aria-label":a("status_filter_label","Status filter"),children:[e.jsx("option",{value:"all",children:a("all_balance_categories_label","All balance categories")}),e.jsx("option",{value:"active",children:a("active_label","Active")}
1),e.jsx("option",{value:"archived",children:a("archived_label","Archived")})]})})]}),e.jsx("div",{className:"menu-border"}),e.jsxs("div",{className:"menu-actions-footer",children:[e.jsx("button",{type:"button",className:"btn subtle-btn btn-sml",onClick:g,children:e.jsx("p",{children:a("reset_label","Reset")})}),e.jsx("button",{type:"submit",className:"btn primary-btn btn-sml",children:e.jsx("p",{children:a("apply_label","Apply")})})]})]})})]}),U!=="all"&&e.jsx("button",{type:"button",className:"subtle-link admin-clients-filter-reset-link settings-activity-logs-filter-reset-link",onClick:g,children:a("reset_label","Reset")}),e.jsx("div",{className:"page-header-vertical-border"}),e.jsx("button",{type:"button",className:"btn-icon settings-activity-logs-export-btn","aria-label":a("export_balance_categories_label","Export balance categories"),title:a("export_balance_categories_label","Export balance categories"),onClick:Q,children:e.jsx("i",{className:"fa-regular fa-cloud-arrow-down"})})]}),e.jsxs("div",{className:"page-header-align-right page-header-actions",children:[r&&e.jsx(be,{className:"settings-access-dropdown-container",triggerClassName:"settings-access-icon-btn",emptyLabel:a("no_access_found_label","No access found"),loadPage:_}),(r==null?void 0:r.can_edit)&&e.jsx("button",{type:"button",className:"btn primary-btn btn-sml settings-matrix-primary-action page-header-icon-padding",onClick:()=>p("new"),children:e.jsx("p",{children:a("add_balance_category_label","Add balance category")})})]})]}),m&&e.jsx($,{error:!0,children:m}),r?r.items.length?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"settings-page settings-teammates-visibility-table settings-teams-full-width-table",children:e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{children:[e.jsx("th",{className:"table-header-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("span",{children:a("name_label","Name")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("default_label","Default")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("active_label","Active")}
1)}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("added_by_label","Added by")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("last_used_label","Last used")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("edit_label","Edit")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("delete_label","Delete")})})]})}),e.jsx("tbody",{className:"table-body",children:r.items.map(L=>e.jsxs("tr",{className:"table-body-row",children:[e.jsx("td",{className:"table-body-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("div",{className:"teammates-visibility-person-cell",children:e.jsx("span",{children:L.name})})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx(me,{enabled:L.is_default_pto})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx(me,{enabled:L.is_active})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:L.added_by_display||"-"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:te(L.last_used_display)})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:r.can_edit&&L.can_edit?e.jsx("button",{type:"button",className:"btn-icon","aria-label":V(a("edit_named_label","Edit {name}"),{name:L.name}),onClick:()=>p(L),children:e.jsx("i",{className:"fa-regular fa-pen-to-square"})}):e.jsx("span",{children:"-"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:r.can_edit&&!L.is_default_pto?e.jsx("button",{type:"button",className:"btn-icon","aria-label":V(a("delete_named_label","Delete {name}"),{name:L.name}),onClick:()=>{N(""),x(L)},children:e.jsx("i",{className:"fa-regular fa-trash"})}):e.jsx("span",{children:"-"})})]},L.id))})]})})})})}),e.jsx(ue,{page:r.pagination.page,totalPages:r.pagination.total_pages})]}):e.jsx(he,{title:a("no_balance_categories_label","No balance categories")}):e.jsx(z,{label:a("loading_balance_categories_label","Loading balance categories")}),b&&e.jsx(Ke,{balanceType:b==="new"?null:b,onClose:()=>p(null),onSaved:L=>{o(L),p(null),L.message&&c.success(L.message)}}),d&&d.delete_block_reason?e.jsx(M,{title:a("delete_label","Delete"),onClose:()=>x(null),contentClassName:"disciplinary-modal delete-modal delete-modal-compact",children:e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-trash"}),e.jsx("h6",{children:V(a("balance_category_named_label","Balance category: {name}"),{name:d.name})}),e.jsx("p",{className:"empty-state-sub-text",children:d.delete_block_reason==="This balance category is linked to active employee balances."?a("balance_category_linked_active_balances","This balance category is linked to active employee balances."):d.delete_block_reason})]})}):d&&e.jsx(de,{title:a("delete_label","Delete"),message:V(a("delete_named_confirm","Are you sure you want to delete {name}?"),{name:d.name}),confirmClassName:"btn warning-btn",busy:h,error:v,onCancel:()=>x(null),onConfirm:()=>void A(d)})]})}function Ke({balanceType:a,onClose:l,onSaved:s}){const c=q(),{t:i}=T("people"),{t}=T("common"),r=a?`settings-balance-type-edit-${a.id}`:"settings-balance-type-create",[o,m]=n.useState((a==null?void 0:a.name)||""),[u,b]=n.useState(!!(a!=null&&a.is_default_pto)),[p,d]=n.useState(a?!!a.is_active:!0),[x,h]=n.useState(!1),[j,v]=n.useState(""),N=async y=>{if(y.preventDefault(),!c.accessToken)return;h(!0),v("");const k={name:o.trim(),is_default_pto:u,is_active:u?!0:p};try{const S=a?`/v1/time-off/balance-categories/${a.id}`:"/v1/time-off/balance-categories";s(await w(S,{method:a?"PUT":"POST",accessToken:c.accessToken,body:k}))}catch(S){v(C(S)),h(!1)}};return e.jsxs(M,{title:a?i("edit_balance_category_label","Edit balance category"):i("add_balance_category_label","Add balance category"),onClose:x?()=>{}:l,footer:e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:x,form:r,children:t("save_btn_label","Save")}),children:[j&&e.jsx($,{error:!0,children:j}),e.jsxs("form",{id:r,onSubmit:N,children:[e.jsx(H,{label:i("name_label","Name"),value:o,onChange:y=>m(y.target.value),required:!0}),e.jsxs(ie,{label:i("default_balance_category_label","Default balance category"),value:u?"yes":"no",onChange:y=>b(y.target.value==="yes"),children:[e.jsx("option",{value:"no",children:t("no_label","No")}),e.jsx("option",{value:"yes",children:t("yes_label","Yes")}
1)]}),a&&e.jsxs(ie,{label:i("active_label","Active"),value:u||p?"yes":"no",onChange:y=>d(y.target.value==="yes"),disabled:u,children:[e.jsx("option",{value:"yes",children:t("yes_label","Yes")}),e.jsx("option",{value:"no",children:t("no_label","No")})]})]})]})}function Wa(){const{t:a}=T("people"),{t:l}=T("common");fe("settings_locations","Locations");const s=q(),[c,i]=le(),[t,r]=n.useState(null),[o,m]=n.useState(""),[u,b]=n.useState(null),[p,d]=n.useState(null),[x,h]=n.useState(null),j=n.useRef(null),[v,N]=n.useState(!1),[y,k]=n.useState(c.get("is_default_filter")??"all"),S=Number(c.get("page")??1),P=c.get("search_query")??"",D=c.get("is_default_filter")??"all",[U,E]=n.useState(P),B=async()=>{if(!s.accessToken)return;m("");const g=new URLSearchParams({page:String(S),page_size:"25",search_query:P,is_default_filter:D});try{r(await w(`/v1/locations?${g.toString()}`,{accessToken:s.accessToken}))}catch(Q){m(C(Q))}};n.useEffect(()=>{E(P)},[P]),n.useEffect(()=>{k(D)},[D]),n.useEffect(()=>{if(!v)return;const g=Q=>{var A;const _=Q.target;_ instanceof Node&&((A=j.current)!=null&&A.contains(_))||N(!1)};return document.addEventListener("mousedown",g),document.addEventListener("touchstart",g),()=>{document.removeEventListener("mousedown",g),document.removeEventListener("touchstart",g)}},[v]),n.useEffect(()=>{B()},[s.accessToken,S,P,D]);const Y=g=>{const Q=new URLSearchParams(c);Object.entries(g).forEach(([_,A])=>A&&A!=="all"?Q.set(_,A):Q.delete(_)),Q.delete("page"),i(Q)},F=g=>{g.preventDefault(),Y({search_query:U.trim()})},O=()=>{if(!s.accessToken)return;const g=new URLSearchParams({search_query:P,is_default_filter:D});ce(`/v1/locations/export.csv?${g.toString()}`,"locations.csv",{accessToken:s.accessToken})},W=g=>{g.preventDefault(),Y({is_default_filter:y}),N(!1)},I=()=>{k("all"),Y({is_default_filter:"all"}),N(!1)},f=g=>{g.can_delete&&d(g)};return e.jsxs("div",{className:"admin-react-shell settings-locations-react-shell table-page-layout",children:[e.jsxs("div",{className:"page-header page-header-with-search page-header-border settings-matrix-page-header settings-activity-logs-header settings-locations-page-header",children:[e.jsx("div",{className:"page-header-left",children:e.jsx("h6",{children:a("locations_label","Locations")})}),e.jsxs("div",{className:"page-search",children:[e.jsxs("form",{onSubmit:F,children:[e.jsx("input",{value:U,onChange:g=>E(g.target.value),placeholder:a("search_locations_placeholder","Search locations"),"aria-label":a("search_locations_placeholder","Search locations")}),e.jsx("button",{className:"btn-icon page-search-btn",type:"submit",title:l("search_label","Search"),"aria-label":l("search_label","Search"),children:e.jsx("i",{className:"fa-regular fa-magnifying-glass"})})]}),P&&e.jsx("button",{type:"button",className:"btn-icon page-search-clear-btn","aria-label":l("clear_search_label","Clear search"),onClick:()=>Y({search_query:""}),children:e.jsx("i",{className:"fa-regular fa-xmark"})}),e.jsx("div",{className:"page-header-vertical-border"}),e.jsxs("div",{className:"dropdown-menu-container settings-activity-logs-filter-menu",ref:j,children:[e.jsx("button",{type:"button",className:`btn-icon dropdown-btn menu-toggle${v||D!=="all"?" selected":""}`,"aria-label":a("filters_label","Filters"),title:a("filters_label","Filters"),"aria-expanded":v,onClick:()=>N(g=>!g),children:e.jsx("i",{className:"fa-solid fa-filter"})}),v&&e.jsx("div",{className:"menu box-shadow-menu menu-wide admin-clients-filters-menu standard-filter-menu","data-persistent":"true",style:{display:"block"},children:e.jsxs("form",{className:"menu-filter-form",onSubmit:W,children:[e.jsxs("div",{className:"filter-menu-scroll menu-filter-scroll",children:[e.jsx("div",{className:"menu-section-inner-header",children:e.jsx("h6",{children:a("default_location_label","Default location")})}),e.jsx("div",{className:"menu-filter-field",children:e.jsxs("select",{className:"menu-filter-input",name:"is_default_filter",value:y,onChange:g=>k(g.target.value),"aria-label":a("default_filter_label","Default filter"),children:[e.jsx("option",{value:"all",children:a("all_locations_label","All locations")}),e.jsx("option",{value:"default",children:a("default_locations_label","Default locations")}),e.jsx("option",{value:"non_default",children:a("non_default_locations_label","Non-default locations")})]})})]}),e.jsx("div",{className:"menu-border"}),e.jsxs("div",{className:"menu-actions-footer",children:[e.jsx("button",{type:"button",className:"btn subtle-btn btn-sml",onClick:I,children:e.jsx("p",{children:a("reset_label","Reset")})}),e.jsx("button",{type:"submit",className:"btn primary-btn btn-sml",children:e.jsx("p",{children:a("apply_label","Apply")})})]})]})})]}),D!=="all"&&e.jsx("button",{type:"button",className:"subtle-link admin-clients-filter-reset-link settings-activity-logs-filter-reset-link",onClick:I,children:a("reset_label","Reset")}),e.jsx("div",{className:"page-header-vertical-border"}),e.jsx("button",{type:"button",className:"btn-icon settings-activity-logs-export-btn","aria-label":a("export_locations_label","Export locations"),title:a("export_locations_label","Export locations"),onClick:O,children:e.jsx("i",{className:"fa-regular fa-cloud-arrow-down"})})]}),e.jsx("div",{className:"page-header-align-right page-header-actions",children:e.jsx("button",{type:"button",className:"btn primary-btn btn-sml settings-matrix-primary-action page-header-icon-padding",onClick:()=>b("new"),children:e.jsx("p",{children:a("add_location_label","Add location")})})})]}),o&&e.jsx($,{error:!0,children:o}),t?t.items.length?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"settings-page settings-teammates-visibility-table settings-teams-full-width-table",children:e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{children:[e.jsx("th",{className:"table-header-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("span",{children:a("location_name_label","Location name")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("edit_label","Edit")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("default_location_label","Default location")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("used_by_label","Used by")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("country_label","Country")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("city_label","City")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("state_label","State")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("postcode_label","Postcode")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("delete_label","Delete")})})]})}),e.jsx("tbody",{className:"table-body",children:t.items.map(g=>e.jsxs("tr",{className:"table-body-row",children:[e.jsx("td",{className:"table-body-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("div",{className:"teammates-visibility-person-cell",children:e.jsx("span",{children:g.name||"-"})})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx("button",{type:"button",className:"btn-icon","aria-label":V(a("edit_named_label","Edit {name}"),{name:g.name}),onClick:()=>b(g),children:e.jsx("i",{className:"fa-regular fa-pen-to-square"})})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx(me,{enabled:g.is_default})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:g.user_count?e.jsxs("button",{type:"button",className:"locations-count-link",onClick:()=>h(g),children:[g.user_count," ",g.user_count===1?a("person_label","Person"):a("people_label","People")]}):e.jsx("span",{children:"-"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:g.country_name||"-"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:g.city||"-"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:g.state||"-"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:g.post_code||"-"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:g.can_delete?e.jsx("button",{type:"button",className:"btn-icon","aria-label":V(a("delete_named_label","Delete {name}"),{name:g.name}),onClick:()=>f(g),children:e.jsx("i",{className:"fa-regular fa-trash"})}):e.jsx("span",{children:"-"})})]},g.id))})]})})})})}),e.jsx(ue,{page:t.pagination.page,totalPages:t.pagination.total_pages})]}):e.jsx(he,{title:a("no_locations_label","No locations")}):e.jsx(z,{label:a("loading_locations_label","Loading locations")}),u&&t&&e.jsx(Je,{location:u==="new"?null:u,countries:t.country_options,defaultCountryId:t.default_country_id,onClose:()=>b(null),onSaved:g=>{r(g),b(null)},onDeleteRequest:g=>{b(null),f(g)}}),p&&e.jsx(Ze,{location:p,onClose:()=>d(null),onDeleted:async()=>{d(null),await B()}}),x&&e.jsx(Ve,{location:x,onClose:()=>h(null)})]})}function Ve({location:a,onClose:l}){const s=q(),{t:c}=T("people"),[i,t]=n.useState(null),[r,o]=n.useState(""),[m,u]=n.useState(1),b=async()=>
1{if(s.accessToken){o("");try{t(await w(`/v1/locations/${a.id}/people?page=${m}&page_size=10`,{accessToken:s.accessToken}))}catch(x){o(C(x))}}};n.useEffect(()=>{u(1)},[a.id]),n.useEffect(()=>{b()},[s.accessToken,a.id,m]);const p=(i==null?void 0:i.pagination.total_pages)||1,d=i&&i.items.length?e.jsx(ye,{page:m,totalPages:p,onPrevious:()=>u(x=>Math.max(1,x-1)),onNext:()=>u(x=>Math.min(p,x+1))}):void 0;return e.jsxs(M,{title:c("location_people_label","Location people"),onClose:l,contentClassName:"settings-location-usage-modal",footer:d,footerClassName:"modal-activity-log-footer",footerInnerClassName:"modal-activity-log-pagination",children:[r&&e.jsx($,{error:!0,children:r}),i?i.items.length?e.jsx("div",{className:"settings-page",children:e.jsx("div",{className:"list",children:i.items.map(x=>e.jsx("div",{className:"list-item list-item-no-click no-text-highlight",children:e.jsx(Le,{person:x})},x.user_id))})}):e.jsx("div",{className:"settings-page",children:e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-user"}),e.jsx("h6",{children:c("no_people_label","No people")}),e.jsx("p",{className:"empty-state-sub-text",children:c("no_people_using_location","No people are using this location.")})]})}):e.jsx(z,{label:c("loading_people_label","Loading people")})]})}function Le({person:a}){const l="user_id"in a?a.user_id:a.id,s=a.user_name||a.user_email||`User #${l}`;return e.jsxs(e.Fragment,{children:[a.user_avatar_path?e.jsx("div",{className:"avatar sml-avatar",children:e.jsx("img",{src:se(a.user_avatar_path),alt:""})}):e.jsx("div",{className:"avatar sml-avatar empty-avatar",children:e.jsx("p",{children:a.user_initials||"?"})}),e.jsx("div",{className:"list-item-detail",children:e.jsx("p",{className:"list-item-name",children:s})})]})}function Je({location:a,countries:l,defaultCountryId:s,onClose:c,onSaved:i,onDeleteRequest:t}){var f;const r=q(),{t:o}=T("people"),{t:m}=T("common"),u=l.find(g=>g.label==="United Kingdom"),b=(a==null?void 0:a.country_id)||s||(u==null?void 0:u.value)||((f=l[0])==null?void 0:f.value)||"",[p,d]=n.useState((a==null?void 0:a.name)||""),[x,h]=n.useState(String(b)),[j,v]=n.useState((a==null?void 0:a.city)||""),[N,y]=n.useState((a==null?void 0:a.state)||""),[k,S]=n.useState((a==null?void 0:a.post_code)||""),[P,D]=n.useState((a==null?void 0:a.street_address)||""),[U,E]=n.useState(!!(a!=null&&a.is_default)),[B,Y]=n.useState(!1),[F,O]=n.useState(""),W="settings-location-form",I=async g=>{if(g.preventDefault(),!r.accessToken)return;Y(!0),O("");const Q={name:p,country_id:Number(x),street_address:P,city:j,state:N,post_code:k,is_default:U};try{i(await w(a?`/v1/locations/${a.id}`:"/v1/locations",{method:a?"PUT":"POST",accessToken:r.accessToken,body:Q}))}catch(_){O(C(_)),Y(!1)}};return e.jsxs(M,{title:a?o("edit_location_label","Edit location"):o("add_location_label","Add location"),onClose:c,footer:e.jsxs(e.Fragment,{children:[a&&a.can_delete&&e.jsx(G,{type:"button",className:"btn danger-btn",loading:B,onClick:()=>t(a),children:o("delete_label","Delete")}),e.jsx(G,{type:"submit",className:"btn primary-btn",loading:B,form:W,children:m("save_btn_label","Save")})]}),children:[F&&e.jsx($,{error:!0,children:F}),e.jsxs("form",{id:W,onSubmit:I,children:[e.jsx(H,{label:o("name_label","Name"),value:p,onChange:g=>d(g.target.value)}),e.jsx(ae,{label:o("country_label","Country"),options:l.map(g=>({id:g.value,label:g.label})),value:x,onChange:h,placeholder:o("select_country_label","Select country"),searchPlaceholder:o("search_countries_label","Search countries")}),e.jsx(H,{label:o("street_address_label","Street address"),value:P,onChange:g=>D(g.target.value)}),e.jsx(H,{label:o("city_label","City"),value:j,onChange:g=>v(g.target.value)}),e.jsx(H,{label:o("state_label","State"),value:N,onChange:g=>y(g.target.value)}),e.jsx(H,{label:o("post_code_label","Post code"),value:k,onChange:g=>S(g.target.value)}),e.jsxs("label",{className:"custom-checkbox settings-template-checkbox",children:[e.jsx("input",{type:"checkbox",checked:U,onChange:g=>E(g.target.checked)}),e.jsx("span",{className:"custom-checkbox-mark"}),e.jsx("div",{className:"custom-checkbox-text",children:o("default_location_label","Default location")})]})]})]})}function Ze({location:a,onClose:l,onDeleted:s}){const c=q(),{t:i}=T("people"),[t,r]=n.useState(!1),[o,m]=n.useState(""),u=async()=>
1{if(!(!c.accessToken||!a.can_delete)){r(!0),m("");try{await w(`/v1/locations/${a.id}`,{method:"DELETE",accessToken:c.accessToken}),await s()}catch(b){m(C(b)),r(!1)}}};return e.jsxs(M,{title:i("delete_location_label","Delete location"),onClose:l,closeDisabled:t,contentClassName:"disciplinary-modal delete-modal delete-modal-compact",footer:e.jsx(G,{type:"button",className:"btn red-btn delete-modal-confirm-btn",loading:t,onClick:u,children:i("delete_label","Delete")}),children:[o&&e.jsx($,{error:!0,children:o}),e.jsxs("div",{className:"delete-modal-warning",children:[e.jsx("div",{className:"delete-modal-warning-icon",children:e.jsx("i",{className:"fa-regular fa-circle-exclamation"})}),e.jsx("p",{className:"readable-text",children:V(i("delete_named_confirm","Are you sure you want to delete {name}?"),{name:a.name})})]})]})}function Ae(a){const l=q(),[s,c]=n.useState(null),[i,t]=n.useState(""),r=async()=>{if(l.accessToken){t("");try{c(await w(a,{accessToken:l.accessToken}))}catch(o){t(C(o))}}};return n.useEffect(()=>{r()},[l.accessToken,a]),{auth:l,data:s,setData:c,error:i,reload:r}}function Ga(){const{t:a}=T("people");T("common"),ee(a("announcements_label","Announcements"));const{auth:l,data:s,error:c,reload:i}=Ae("/v1/announcements"),[t,r]=n.useState(null),[o,m]=n.useState(null),[u,b]=n.useState(!1),[p,d]=n.useState(""),x=async h=>{if(l.accessToken){b(!0),d("");try{await w(`/v1/announcements/${h.id}`,{method:"DELETE",accessToken:l.accessToken}),await i(),m(null)}catch(j){d(C(j))}finally{b(!1)}}};return e.jsxs("div",{className:"admin-react-shell table-page-layout",children:[e.jsx(Ee,{title:a("announcements_label","Announcements"),actionLabel:a("add_announcement_label","Add announcement"),onAction:()=>r("new")}),c&&e.jsx($,{error:!0,children:c}),s?s.items.length?e.jsx("div",{className:"settings-page",children:e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{children:[e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:a("title_label","Title")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:a("created_label","Created")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:a("added_by_label","Added by")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:a("manage_label","Manage")})})]})}),e.jsx("tbody",{className:"table-body",children:s.items.map(h=>e.jsxs("tr",{className:"table-row",children:[e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("p",{children:h.title})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("p",{children:te(h.created_date)})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("p",{children:h.author.name||"-"})}),e.jsxs("td",{className:"table-body-cell table-cell",children:[e.jsx("button",{className:"btn subtle-btn btn-sml",onClick:()=>r(h),children:e.jsx("p",{children:a("edit_label","Edit")})}),e.jsx("button",{className:"btn subtle-btn btn-sml",onClick:()=>m(h),children:e.jsx("p",{children:a("delete_label","Delete")})})]})]},h.id))})]})})})})}):e.jsx(he,{title:a("no_announcements_label","No announcements")}):e.jsx(z,{label:a("loading_announcements_label","Loading announcements")}),t&&e.jsx(Xe,{item:t==="new"?null:t,onClose:()=>r(null),onSaved:()=>{r(null),i()}}),o&&e.jsx(de,{title:a("delete_announcement_label","Delete announcement"),message:V(a("delete_named_confirm","Are you sure you want to delete {name}?"),{name:o.title}),busy:u,error:p,onCancel:()=>m(null),onConfirm:()=>void x(o)})]})}function Xe({item:a,onClose:l,onSaved:s}){const c=q(),{t:i}=T("people"),[t,r]=n.useState((a==null?void 0:a.title)||""),[o,m]=n.useState((a==null?void 0:a.body)||""),[u,b]=n.useState(!1),[p,d]=n.useState(""),x="settings-announcement-form",h=async j=>{if(j.preventDefault(),!c.accessToken)return;b(!0),d("");const v={title:t,body:o};try{await w(a?`/v1/announcements/${a.id}`:"/v1/announcements",{method:a?"PUT":"POST",accessToken:c.accessToken,body:v}),s()}catch(N){d(C(N)),b(!1)}};return e.jsxs(M,{title:a?i("edit_announcement_label","Edit announcement"):i("add_announcement_label","Add announcement"),onClose:l,footer:e.jsx(G,{type:"submit",className:"btn primary-btn",loading:u,form:x,children:i("save_label","Save")}),children:[p&&e.jsx($,{error:!0,children:p}),e.jsxs("form",{id:x,onSubmit:h,children:[e.jsx(H,{label:i("title_label","Title"),required:!0,value:t,onChange:j=>r(j.target.value)}),e.jsxs("div",{className:"form-field",children:[e.jsx("label",{children:i("body_label","Body")}),e.jsx("textarea",{className:"form-textarea",rows:8,required:!0,value:o,onChange:j=>m(j.target.value)})]})]})]})}function Qa(){const{t:a}=T("people");fe("settings_api_keys","API keys");const{auth:l,data:s,setData:c,error:i}=Ae("/v1/api-keys"),[t,r]=n.useState(!1),[o,m]=n.useState(null),[u,b]=n.useState(!1),[p,d]=n.useState(""),x=async h=>{if(l.accessToken){b(!0),d("");try{c(await w(`/v1/api-keys/${h.id}`,{method:"DELETE",accessToken:l.accessToken})),m(null)}catch(j){d(C(j))}finally{b(!1)}}};return e.jsxs("div",{className:"admin-react-shell table-page-layout",children:[e.jsx(Ee,{title:a("api_keys_label","API keys"),actionLabel:a("create_api_key_label","Create API key"),onAction:()=>r(!0)}),i&&e.jsx($,{error:!0,children:i}),(s==null?void 0:s.created_key)&&e.jsxs($,{children:[a("new_api_key_label","New API key"),": ",e.jsx("code",{children:s.created_key})]}),s?s.items.length?e.jsx("div",{className:"settings-page",children:e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{children:[e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:a("name_label","Name")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:a("last_four_label","Last 4")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:a("created_label","Created")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:a("created_by_label","Created by")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:a("delete_label","Delete")})})]})}),e.jsx("tbody",{className:"table-body",children:s.items.map(h=>e.jsxs("tr",{className:"table-row",children:[e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("p",{children:h.name||"-"})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsxs("p",{children:["...",h.last4]})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("p",{children:te(h.created_date)})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("p",{children:h.created_by||"-"})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("button",{className:"btn subtle-btn btn-sml",onClick:()=>m(h),children:e.jsx("p",{children:a("delete_label","Delete")})})})]}
1,h.id))})]})})})})}):e.jsx(he,{title:a("no_api_keys_label","No API keys")}):e.jsx(z,{label:a("loading_api_keys_label","Loading API keys")}),t&&e.jsx(ea,{onClose:()=>r(!1),onSaved:h=>{c(h),r(!1)}}),o&&e.jsx(de,{title:a("delete_api_key_label","Delete API key"),message:V(a("delete_named_confirm","Are you sure you want to delete {name}?"),{name:o.name||a("this_api_key_label","this API key")}),busy:u,error:p,onCancel:()=>m(null),onConfirm:()=>void x(o)})]})}function ea({onClose:a,onSaved:l}){const s=q(),{t:c}=T("people"),[i,t]=n.useState(""),[r,o]=n.useState(!1),[m,u]=n.useState(""),b="settings-api-key-form",p=async d=>{if(d.preventDefault(),!s.accessToken)return;o(!0),u("");const x={name:i};try{l(await w("/v1/api-keys",{method:"POST",accessToken:s.accessToken,body:x}))}catch(h){u(C(h)),o(!1)}};return e.jsxs(M,{title:c("create_api_key_label","Create API key"),onClose:a,footer:e.jsx(G,{type:"submit",className:"btn primary-btn",loading:r,form:b,children:c("create_label","Create")}),children:[m&&e.jsx($,{error:!0,children:m}),e.jsx("form",{id:b,onSubmit:p,children:e.jsx(H,{label:c("name_label","Name"),value:i,onChange:d=>t(d.target.value)})})]})}const aa=[{value:"all",label:"All employees"},{value:"all_including_left",label:"All employees including left"},{value:"active",label:"Active"},{value:"onboarding",label:"Onboarding"},{value:"invited",label:"Invited"},{value:"leaving",label:"Leaving"},{value:"archived",label:"Left"}];function Re({row:a}){const l=e.jsxs("div",{className:"teammates-visibility-person-cell teammates-visibility-person-cell--stack",children:[a.user_avatar_path?e.jsx("div",{className:"avatar sml-avatar",children:e.jsx("img",{src:se(a.user_avatar_path),alt:""})}):e.jsx("div",{className:"avatar sml-avatar empty-avatar",children:e.jsx("p",{children:a.user_initials})}),e.jsxs("div",{className:"teammates-visibility-person-meta",children:[e.jsx("span",{children:a.user_name}),e.jsxs("p",{className:"subtle-text access-management-person-id",children:["#",a.id]})]})]});return a.user_token?e.jsx(_e,{to:`/people/${a.user_token}`,className:"time-off-person-link access-management-person-link",children:l}):l}function sa({status:a}){const{t:l}=T("people"),s=a||"",c=s==="Active"?"items-01-item-status-blue":s==="Onboarding"?"items-01-item-status-purple":s==="Invited"?"items-01-item-status-yellow":s==="Leaving"?"items-01-item-status-red":s==="Archived"?"items-01-item-status-grey":"";if(!s)return e.jsx("span",{children:"-"});const i=s==="Archived"?"archived":s.toLowerCase();return e.jsx("div",{className:`items-01-item-status teammates-visibility-status-badge ${c}`,children:e.jsx("p",{children:l(`access_status_${i}`,s==="Archived"?"Left":s)})})}function me({enabled:a}){return a?e.jsx("i",{className:"fa-regular fa-circle-check table-cell-green"}):e.jsx("i",{className:"fa-regular fa-circle-xmark table-cell-red"})}function ta({row:a}){return e.jsxs("div",{className:"teammates-visibility-person-cell teammates-visibility-person-cell--stack",children:[a.user_avatar_path?e.jsx("div",{className:"avatar sml-avatar",children:e.jsx("img",{src:se(a.user_avatar_path),alt:""})}):e.jsx("div",{className:"avatar sml-avatar empty-avatar",children:e.jsx("p",{children:a.user_initials||"?"})}),e.jsxs("div",{className:"teammates-visibility-person-meta",children:[e.jsx("span",{children:a.user_name}),a.user_id&&e.jsxs("p",{className:"subtle-text access-management-person-id",children:["#",a.user_id]})]})]})}function Ka(){const{t:a}=T("people"),{t:l}=T("common");ee(a("activity_logs_label","Activity logs"));const s=q(),[c,i]=le(),[t,r]=n.useState(null),[o,m]=n.useState(""),[u,b]=n.useState(!0),[p,d]=n.useState(c.get("search_query")||""),[x,h]=n.useState(!1),[j,v]=n.useState(c.get("date_from")||""),[N,y]=n.useState(c.get("date_to")||""),k=Number(c.get("page")||1),S=c.get("search_query")||"",P=c.get("date_from")||"",D=c.get("date_to")||"",U=!!(P||D),E=async()=>{if(!s.accessToken)return;b(!0),m("");const f=new URLSearchParams({page:String(k),page_size:"25"});S&&f.set("search_query",S),P&&f.set("date_from",P),D&&f.set("date_to",D);try{r(await w(`/v1/activity-logs?${f.toString()}`,{accessToken:s.accessToken}))}catch(g){m(C(g))}finally{b(!1)}};n.useEffect(()=>{E()},[s.accessToken,k,S,P,D]),n.useEffect(()=>
1{v(P),y(D)},[P,D]);const B=f=>{f.preventDefault();const g=new URLSearchParams(c);p.trim()?g.set("search_query",p.trim()):g.delete("search_query"),g.set("page","1"),i(g)},Y=()=>{d("");const f=new URLSearchParams(c);f.delete("search_query"),f.set("page","1"),i(f)},F=()=>{const f=new URLSearchParams(c);j?f.set("date_from",j):f.delete("date_from"),N?f.set("date_to",N):f.delete("date_to"),f.set("page","1"),i(f),h(!1)},O=()=>{const f=new URLSearchParams(c);f.delete("date_from"),f.delete("date_to"),f.set("page","1"),v(""),y(""),i(f),h(!1)},W=n.useCallback(async f=>s.accessToken?w(`/v1/activity-logs/access?page=${f}&page_size=10`,{accessToken:s.accessToken,suppressFlash:!0}):{users:[],pagination:{page:1,total_pages:1,total_results:0,page_size:10}},[s.accessToken]),I=async()=>{if(!s.accessToken)return;const f=new URLSearchParams;S&&f.set("search_query",S),P&&f.set("date_from",P),D&&f.set("date_to",D);try{await ce(`/v1/activity-logs/export.csv?${f.toString()}`,"activity-logs.csv",{accessToken:s.accessToken,suppressFlash:!0})}catch(g){m(C(g))}};return e.jsxs("div",{className:"admin-react-shell settings-activity-logs-react-shell table-page-layout",children:[e.jsxs("div",{className:"page-header page-header-with-search page-header-border settings-matrix-page-header settings-activity-logs-header",children:[e.jsx("div",{className:"page-header-left",children:e.jsx("h6",{children:a("activity_logs_label","Activity logs")})}),e.jsxs("div",{className:"page-search",children:[e.jsxs("form",{onSubmit:B,children:[e.jsx("input",{type:"text",value:p,onChange:f=>d(f.target.value),placeholder:a("search_activity_logs_placeholder","Search by person, action or source")}),e.jsx("button",{className:"btn-icon page-search-btn",type:"submit",title:l("search_label","Search"),"aria-label":l("search_label","Search"),children:e.jsx("i",{className:"fa-regular fa-magnifying-glass"})})]}),S&&e.jsx("button",{type:"button",className:"btn-icon page-search-clear-btn","aria-label":l("clear_search_label","Clear search"),onClick:Y,children:e.jsx("i",{className:"fa-regular fa-xmark"})}),e.jsx("div",{className:"page-header-vertical-border"}),e.jsxs("div",{className:"dropdown-menu-container settings-activity-logs-filter-menu",children:[e.jsx("button",{type:"button",className:`btn-icon dropdown-btn menu-toggle${x?" selected":""}`,onClick:()=>h(f=>!f),"aria-label":a("filter_activity_logs_label","Filter activity logs"),title:a("filter_activity_logs_label","Filter activity logs"),children:e.jsx("i",{className:"fa-solid fa-filter"})}),x&&e.jsx("div",{id:"settingsActivityLogsFiltersMenu",className:"menu box-shadow-menu menu-wide admin-clients-filters-menu standard-filter-menu show","data-persistent":"true",children:e.jsxs("div",{className:"menu-filter-form",children:[e.jsxs("div",{className:"filter-menu-scroll menu-filter-scroll",children:[e.jsx("div",{className:"menu-section-inner-header",children:e.jsx("h6",{children:a("date_range_label","Date range")})}),e.jsxs("div",{className:"menu-filter-field",children:[e.jsx("label",{children:a("from_label","From")}),e.jsx("input",{type:"date",className:"menu-filter-input",value:j,onChange:f=>v(f.target.value)})]}),e.jsxs("div",{className:"menu-filter-field",children:[e.jsx("label",{children:a("to_label","To")}),e.jsx("input",{type:"date",className:"menu-filter-input",value:N,onChange:f=>y(f.target.value)})]})]}),e.jsx("div",{className:"menu-border"}),e.jsxs("div",{className:"menu-actions-footer",children:[e.jsx("button",{type:"button",className:"btn subtle-btn btn-sml",onClick:O,children:e.jsx("p",{children:a("reset_label","Reset")})}),e.jsx("button",{type:"button",className:"btn primary-btn btn-sml",onClick:F,children:e.jsx("p",{children:a("apply_label","Apply")})})]})]})})]}),U&&e.jsx("button",{type:"button",className:"subtle-link admin-clients-filter-reset-link settings-activity-logs-filter-reset-link",onClick:O,children:a("reset_label","Reset")}),(t==null?void 0:t.can_export_csv)&&e.jsx("div",{className:"page-header-vertical-border"}),(t==null?void 0:t.can_export_csv)&&e.jsx("button",{type:"button",className:"btn-icon settings-activity-logs-export-btn","aria-label":a("export_activity_logs_label","Export activity logs"),title:a("export_activity_logs_label","Export activity logs"),onClick:()=>void I(),children:e.jsx("i",{className:"fa-regular fa-cloud-arrow-down"})})]}),e.jsx("div",{className:"page-header-align-right page-header-actions",children:e.jsx(be,{className:"settings-access-dropdown-container settings-activity-logs-access-menu",triggerClassName:"settings-access-icon-btn",emptyLabel:a("no_access_found_label","No access found"),loadPage:W})})]}),o&&e.jsx($,{error:!0,children:o}),!t&&u?e.jsx(z,{label:a("loading_activity_logs_label","Loading activity logs")}):t&&t.rows.length?e.jsxs("div",{className:"settings-page settings-teammates-visibility-table settings-teams-full-width-table",children:[e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{children:[e.jsx("th",{className:"table-header-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("span",{children:a("person_label","Person")})}),e.jsx("th",{className:"table-header-cell table-cell table-cell-xlg activity-log-action-col",children:e.jsx("span",{children:a("action_label","Action")})}),e.jsx("th",{className:"table-cell table-header-cell table-cell-lg",children:e.jsx("span",{children:a("timestamp_label","Timestamp")})}),e.jsx("th",{className:"table-cell table-header-cell table-cell",children:e.jsx("span",{children:"IP"})}),e.jsx("th",{className:"table-header-cell table-cell table-cell-xlg",children:e.jsx("span",{children:a("user_agent_label","User agent")})}),e.jsx("th",{className:"table-cell table-header-cell table-cell-xlg activity-log-path-col",children:e.jsx("span",{children:a("path_label","Path")})}),e.jsx("th",{className:"table-cell table-header-cell table-cell activity-log-source-col",children:e.jsx("span",{children:a("source_label","Source")})})]})}),e.jsx("tbody",{className:"table-body",children:t.rows.map(f=>e.jsxs("tr",{className:"table-body-row",children:[e.jsx("td",{className:"table-body-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx(ta,{row:f})}),e.jsx("td",{className:"table-body-cell table-cell table-cell-xlg activity-log-action-col",children:f.log_message||"-"}),e.jsx("td",{className:"table-body-cell table-cell",children:te(f.created_date)}),e.jsx("td",{className:"table-body-cell table-cell",children:f.request_ip||"-"}),e.jsx("td",{className:"table-body-cell table-cell table-cell-xlg",children:f.request_user_agent||"-"}),e.jsx("td",{className:"table-body-cell table-cell table-cell-xlg activity-log-path-col",children:f.request_path||"-"}),e.jsx("td",{className:"table-body-cell table-cell activity-log-source-col",children:f.request_source||"-"})]},f.id))})]})})})}),e.jsx(ue,{page:t.pagination.page,totalPages:t.pagination.total_pages})]}):e.jsx("div",{className:"settings-page",children:e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-clock-rotate-left"}),e.jsx("h6",{children:a("no_activity_found_label","No activity found")}),e.jsx("p",{className:"empty-state-sub-text",children:a("no_activity_logs_match_filters","No activity logs matched the current filters.")})]})})]})}const la=[{value:"all",label:"All defaults"},{value:"yes",label:"Default"},{value:"no",label:"Not default"}];function Va(){const{t:a}=T("people"),{t:l}=T("common");ee(a("permissions_label","Permissions"));const s=q(),c=ve(),[i,t]=le(),[r,o]=n.useState(null),[m,u]=n.useState(""),[b,p]=n.useState(!0),[d,x]=n.useState(i.get("search_query")||""),[h,j]=n.useState(!1),[v,N]=n.useState(null),[y,k]=n.useState(null),[S,P]=n.useState(null),[D,U]=n.useState(!1),E=Number(i.get("page")||1),B=i.get("search_query")||"",Y=i.get("is_default_filter")||"all",F=async()=>
1{if(!s.accessToken)return;p(!0),u("");const _=new URLSearchParams({page:String(E),page_size:"25",is_default_filter:Y});B&&_.set("search_query",B);try{o(await w(`/v1/access/permissions?${_.toString()}`,{accessToken:s.accessToken}))}catch(A){u(C(A))}finally{p(!1)}};n.useEffect(()=>{F()},[s.accessToken,E,B,Y]);const O=_=>{_.preventDefault();const A=new URLSearchParams(i);d.trim()?A.set("search_query",d.trim()):A.delete("search_query"),A.set("page","1"),t(A)},W=_=>{const A=new URLSearchParams(i);_==="all"?A.delete("is_default_filter"):A.set("is_default_filter",_),A.set("page","1"),t(A)},I=()=>{const _=new URLSearchParams(i);_.delete("is_default_filter"),_.set("page","1"),t(_),j(!1)},f=n.useCallback(async _=>{if(!s.accessToken)return{users:[],pagination:{page:1,total_pages:1,total_results:0,page_size:15}};const A=new URLSearchParams({page:String(_),page_size:"15",status_filter:"all"}),L=await w(`/v1/access/people?${A.toString()}`,{accessToken:s.accessToken,suppressFlash:!0});return{users:L.rows.filter(J=>J.permission_name==="Owner"||J.permissions_map.manage_permissions).map(J=>({id:J.id,name:J.user_name,email:J.user_email,avatar_url:J.user_avatar_path,initials:J.user_initials,permission_display_name:J.permission_display_name})),pagination:L.pagination}},[s.accessToken]),g=async _=>{if(!(!s.accessToken||!_.can_delete)){U(!0),u("");try{o(await w(`/v1/access/permissions/${_.id}`,{method:"DELETE",accessToken:s.accessToken,suppressFlash:!0})),c.success(a("permission_deleted_success","Permission deleted successfully.")),P(null)}catch(A){const L=C(A);u(L),c.error(L)}finally{U(!1)}}},Q=async()=>{if(!s.accessToken)return;const _=new URLSearchParams({is_default_filter:Y});B&&_.set("search_query",B);try{await ce(`/v1/access/permissions/export.csv?${_.toString()}`,"permissions.csv",{accessToken:s.accessToken,suppressFlash:!0})}catch(A){u(C(A))}};return e.jsxs("div",{className:"admin-react-shell settings-permissions-react-shell table-page-layout",children:[e.jsxs("div",{className:"page-header page-header-with-search page-header-border settings-matrix-page-header settings-activity-logs-header settings-permissions-page-header",children:[e.jsx("div",{className:"page-header-left",children:e.jsx("h6",{children:a("permissions_label","Permissions")})}),e.jsxs("div",{className:"page-search",children:[e.jsxs("form",{onSubmit:O,children:[e.jsx("input",{type:"text",value:d,onChange:_=>x(_.target.value),placeholder:a("search_permissions_placeholder","Search permissions")}),e.jsx("button",{className:"btn-icon page-search-btn",type:"submit",title:l("search_label","Search"),"aria-label":l("search_label","Search"),children:e.jsx("i",{className:"fa-regular fa-magnifying-glass"})})]}),B&&e.jsx("button",{type:"button",className:"btn-icon page-search-clear-btn","aria-label":l("clear_search_label","Clear search"),onClick:()=>{x("");const _=new URLSearchParams(i);_.delete("search_query"),_.set("page","1"),t(_)},children:e.jsx("i",{className:"fa-regular fa-xmark"})}),e.jsx("div",{className:"page-header-vertical-border"}),e.jsxs("div",{className:"dropdown-menu-container settings-activity-logs-filter-menu",children:[e.jsx("button",{type:"button",className:`btn-icon dropdown-btn menu-toggle${h?" selected":""}`,onClick:()=>j(_=>!_),"aria-label":a("filter_permissions_label","Filter permissions"),title:a("filter_permissions_label","Filter permissions"),children:e.jsx("i",{className:"fa-solid fa-filter"})}),h&&e.jsx("div",{id:"settingsPermissionsFiltersMenu",className:"menu box-shadow-menu menu-wide admin-clients-filters-menu standard-filter-menu show","data-persistent":"true",children:e.jsxs("div",{className:"menu-filter-form",children:[e.jsxs("div",{className:"filter-menu-scroll menu-filter-scroll",children:[e.jsx("div",{className:"menu-section-inner-header",children:e.jsx("h6",{children:a("default_label","Default")})}),e.jsx("div",{className:"menu-filter-field",children:e.jsx("select",{className:"menu-filter-input",value:Y,onChange:_=>W(_.target.value),"aria-label":a("default_filter_label","Default filter"),children:la.map(_=>e.jsx("option",{value:_.value,children:a(`permission_default_filter_${_.value}`,_.label)},_.value))})})]}),e.jsx("div",{className:"menu-border"}),e.jsxs("div",{className:"menu-actions-footer",children:[e.jsx("button",{type:"button",className:"btn subtle-btn btn-sml",onClick:I,children:e.jsx("p",{children:a("reset_label","Reset")})}),e.jsx("button",{type:"button",className:"btn primary-btn btn-sml",onClick:()=>j(!1),children:e.jsx("p",{children:a("apply_label","Apply")})})]})]})})]}),Y!=="all"&&e.jsx("button",{type:"button",className:"subtle-link admin-clients-filter-reset-link settings-activity-logs-filter-reset-link",onClick:I,children:a("reset_label","Reset")}),e.jsx("div",{className:"page-header-vertical-border"}),e.jsx("button",{type:"button",className:"btn-icon settings-activity-logs-export-btn",onClick:()=>void Q(),"aria-label":a("export_permissions_label","Export permissions"),title:a("export_permissions_label","Export permissions"),children:e.jsx("i",{className:"fa-regular fa-cloud-arrow-down"})})]}),e.jsxs("div",{className:"page-header-align-right page-header-actions",children:[e.jsx(be,{className:"settings-access-dropdown-container",triggerClassName:"settings-access-icon-btn",emptyLabel:a("no_access_found_label","No access found"),loadPage:f}),e.jsx("button",{type:"button",className:"btn primary-btn btn-sml settings-matrix-primary-action",onClick:()=>N("create"),children:e.jsx("p",{children:a("add_permission_label","Add permission")})})]})]}),m&&e.jsx($,{error:!0,children:m}),!r&&b?e.jsx(z,{label:a("loading_permissions_label","Loading permissions")}):r&&r.items.length?e.jsxs("div",{className:"settings-page settings-teammates-visibility-table settings-permissions-table",children:[e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{children:[e.jsx("th",{className:"table-header-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("span",{children:a("permission_label","Permission")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("edit_label","Edit")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("default_label","Default")})}),e.jsx("th",{className:"table-header-cell table-cell permissions-used-by-col",children:e.jsx("span",{children:a("used_by_label","Used by")})}),r.permission_columns.map(_=>e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-permission-col",title:_.detail,children:e.jsx("span",{children:a(`permission_${_.key}_label`,_.label)})},_.key)),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:a("delete_label","Delete")})})]})}),e.jsx("tbody",{className:"table-body",children:r.items.map(_=>e.jsxs("tr",{className:"table-body-row",children:[e.jsx("td",{className:"table-body-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("div",{className:"teammates-visibility-person-cell",children:_.name})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:_.can_edit?e.jsx("button",{type:"button",className:"btn-icon","aria-label":V(a("edit_named_label","Edit {name}
1"),{name:_.name}),onClick:()=>N(_),children:e.jsx("i",{className:"fa-regular fa-pen-to-square"})}):e.jsx("span",{children:"-"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx(me,{enabled:_.is_default})}),e.jsx("td",{className:"table-body-cell table-cell permissions-used-by-col",children:_.user_count?e.jsxs("button",{type:"button",className:"permissions-count-link",onClick:()=>k(_),children:[_.user_count," ",_.user_count===1?a("person_label","Person"):a("people_label","People")]}):"-"}),r.permission_columns.map(A=>e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-permission-col",children:e.jsx(me,{enabled:!!_.permissions_map[A.key]})},`${_.id}-${A.key}`)),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:_.can_delete?e.jsx("button",{type:"button",className:"btn-icon","aria-label":V(a("delete_named_label","Delete {name}"),{name:_.name}),onClick:()=>P(_),children:e.jsx("i",{className:"fa-regular fa-trash"})}):e.jsx("span",{children:"-"})})]},_.id))})]})})})}),e.jsx(ue,{page:r.pagination.page,totalPages:r.pagination.total_pages})]}):e.jsx("div",{className:"settings-page",children:e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-user-lock"}),e.jsx("h6",{children:a("no_permissions_label","No permissions")}),e.jsx("p",{className:"empty-state-sub-text",children:a("no_permission_profiles_match_filters","No permission profiles matched the current filters.")})]})}),v&&r&&e.jsx(na,{profile:v==="create"?null:v,columns:r.permission_columns,onClose:()=>N(null),onDone:()=>{N(null),F()}}),y&&e.jsx(ia,{permission:y,onClose:()=>k(null)}),S&&e.jsx(de,{title:a("delete_permission_label","Delete permission"),message:V(a("delete_named_confirm","Are you sure you want to delete {name}?"),{name:S.name}),busy:D,onCancel:()=>P(null),onConfirm:()=>void g(S)})]})}function na({profile:a,columns:l,onClose:s,onDone:c}){const i=q(),{t}=T("people"),[r,o]=n.useState((a==null?void 0:a.name)||""),[m,u]=n.useState((a==null?void 0:a.is_default)||!1),[b,p]=n.useState(()=>Object.fromEntries(l.map(y=>[y.key,!!(a!=null&&a.permissions_map[y.key])]))),[d,x]=n.useState(!1),[h,j]=n.useState(""),v=y=>p(k=>({...k,[y]:!k[y]})),N=async y=>{if(y.preventDefault(),!i.accessToken)return;const k={name:r,is_default:m,permissions:b};x(!0),j("");try{await w(a?`/v1/access/permissions/${a.id}`:"/v1/access/permissions",{method:a?"PUT":"POST",accessToken:i.accessToken,body:k}),c()}catch(S){j(C(S)),x(!1)}};return e.jsxs(M,{title:a?t("edit_permission_label","Edit permission"):t("add_permission_label","Add permission"),onClose:s,closeDisabled:d,contentClassName:"settings-permissions-modal",footer:e.jsx(G,{className:"btn primary-btn",loading:d,form:"settings-permission-form",children:t("save_label","Save")}),children:[h&&e.jsx($,{error:!0,children:h}),e.jsxs("form",{id:"settings-permission-form",onSubmit:N,children:[e.jsxs("div",{className:"form-section-03",children:[e.jsx("div",{className:"form-section-03-header",children:e.jsx("h6",{children:t("general_settings_label","General settings")})}),e.jsxs("div",{className:"form-field",children:[e.jsx("label",{htmlFor:"permission-name",children:t("permission_name_label","Permission name")}),e.jsx("input",{id:"permission-name",value:r,onChange:y=>o(y.target.value),required:!0,disabled:d})]}),e.jsxs("label",{className:"form-checkbox-item-02 custom-checkbox",htmlFor:"permission-is-default",children:[e.jsxs("div",{className:"form-checkbox-item-02-detail",children:[e.jsx("h6",{children:t("default_permission_label","Default permission")}),e.jsx("p",{className:"subtle-text",children:t("default_permission_hint","Use this profile as a default option when assigning permissions.")})]}),e.jsx("input",{id:"permission-is-default",type:"checkbox",checked:m,onChange:()=>u(y=>!y),disabled:d}),e.jsx("span",{className:"form-checkbox-item-02-mark custom-checkbox-mark"})]})]}),e.jsxs("div",{className:"form-section-03",children:[e.jsx("div",{className:"form-section-03-header",children:e.jsx("h6",{children:t("permission_settings_label","Permission settings")})}),l.map(y=>e.jsx("div",{className:"form-checkbox-item-02-container",children:e.jsxs("label",{className:"form-checkbox-item-02 custom-checkbox",htmlFor:`permission-${y.key}`,children:[e.jsxs("div",{className:"form-checkbox-item-02-detail",children:[e.jsx("h6",{children:y.label}),e.jsx("p",{className:"subtle-text",children:y.detail})]}),e.jsx("input",{id:`permission-${y.key}`,type:"checkbox",checked:!!b[y.key],onChange:()=>v(y.key),disabled:d}),e.jsx("span",{className:"form-checkbox-item-02-mark custom-checkbox-mark"})]})},y.key))]})]})]})}function ia({permission:a,onClose:l}){const s=q(),{t:c}=T("people"),[i,t]=n.useState(null),[r,o]=n.useState(""),[m,u]=n.useState(1);n.useEffect(()=>{u(1)},[a.id]),n.useEffect(()=>{s.accessToken&&(o(""),w(`/v1/access/permissions/${a.id}/members?${new URLSearchParams({page:String(m),page_size:"10"}).toString()}`,{accessToken:s.accessToken}
1).then(t).catch(d=>o(C(d))))},[s.accessToken,a.id,m]);const b=(i==null?void 0:i.pagination.total_pages)||1,p=i&&i.members.length?e.jsx(ye,{page:m,totalPages:b,onPrevious:()=>u(d=>Math.max(1,d-1)),onNext:()=>u(d=>Math.min(b,d+1))}):void 0;return e.jsxs(M,{title:c("permission_members_label","Permission members"),onClose:l,contentClassName:"settings-location-usage-modal permission-members-modal",footer:p,footerClassName:"modal-activity-log-footer",footerInnerClassName:"modal-activity-log-pagination",children:[r&&e.jsx($,{error:!0,children:r}),!i&&!r?e.jsx(z,{label:c("loading_members_label","Loading members")}):i&&i.members.length?e.jsx("div",{className:"settings-page",children:e.jsx("div",{className:"list",children:i.members.map(d=>e.jsx("div",{className:"list-item list-item-no-click no-text-highlight",children:e.jsx(Le,{person:d})},d.id))})}):e.jsx("div",{className:"settings-page",children:e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-user"}),e.jsx("h6",{children:c("no_members_label","No members")}),e.jsx("p",{className:"empty-state-sub-text",children:c("no_people_using_permission","No people are using this permission.")})]})})]})}function Ja(){const a=q(),{t:l}=T("people"),{t:s}=T("common"),[c,i]=le(),[t,r]=n.useState(null),[o,m]=n.useState(""),[u,b]=n.useState(!1),[p,d]=n.useState(c.get("search_query")||""),[x,h]=n.useState(!1),[j,v]=n.useState(null),[N,y]=n.useState(!1),[k,S]=n.useState(null),[P,D]=n.useState(null),U=Math.max(Number(c.get("page")||"1"),1),E=c.get("search_query")||"",B=c.get("status_filter")||"all";ee(l("access_management_label","Access management"));const Y=async()=>{if(a.accessToken){m(""),b(!0);try{const _=new URLSearchParams({page:String(U),page_size:"25",status_filter:B});E&&_.set("search_query",E),r(await w(`/v1/access/people?${_.toString()}`,{accessToken:a.accessToken}))}catch(_){m(C(_))}finally{b(!1)}}};n.useEffect(()=>{Y()},[a.accessToken,U,E,B]),n.useEffect(()=>{d(E)},[E]);const F=n.useCallback(async _=>{if(!a.accessToken)return{users:[],pagination:{page:1,total_pages:1,total_results:0,page_size:15}};const A=new URLSearchParams({page:String(_),page_size:"15",status_filter:"all"}),L=await w(`/v1/access/people?${A.toString()}`,{accessToken:a.accessToken,suppressFlash:!0});return{users:L.rows.filter(J=>J.permission_name==="Owner"||J.permissions_map.manage_permissions).map(J=>({id:J.id,name:J.user_name,email:J.user_email,avatar_url:J.user_avatar_path,initials:J.user_initials,permission_display_name:J.permission_display_name})),pagination:L.pagination}},[a.accessToken]),O=_=>{_.preventDefault();const A=new URLSearchParams(c);A.set("page","1"),p.trim()?A.set("search_query",p.trim()):A.delete("search_query"),i(A)},W=_=>{const A=new URLSearchParams(c);A.set("status_filter",_),A.set("page","1"),i(A),h(!1)},I=()=>{const _=new URLSearchParams(c);_.delete("search_query"),_.set("page","1"),i(_)},f=()=>{const _=new URLSearchParams(c);_.delete("status_filter"),_.set("page","1"),i(_),h(!1)},g=async _=>{if(_.preventDefault(),!a.accessToken)return;const A=new URLSearchParams({status_filter:B});E&&A.set("search_query",E);try{await ce(`/v1/access/people/export.csv?${A.toString()}`,"access-management.csv",{accessToken:a.accessToken,suppressFlash:!0})}catch(L){m(C(L))}},Q=async(_,A)=>{if(_.preventDefault(),!!a.accessToken)try{await ce(`/v1/access/people/${A.id}/export.zip`,`employee-data-${A.id}.zip`,{accessToken:a.accessToken,suppressFlash:!0})}catch(L){m(C(L))}};return e.jsxs("div",{className:"admin-react-shell access-management-react-shell table-page-layout",children:[e.jsxs("div",{className:"page-header page-header-with-search page-header-border settings-matrix-page-header settings-activity-logs-header access-management-page-header",children:[e.jsx("div",{className:"page-header-left",children:e.jsx("h6",{children:l("access_management_label","Access management")})}),e.jsxs("div",{className:"page-search",children:[e.jsxs("form",{onSubmit:O,children:[e.jsx("input",{type:"text",value:p,onChange:_=>d(_.target.value),placeholder:l("search_access_management_placeholder","Search by name, role or team...")}),e.jsx("button",{className:"btn-icon page-search-btn",type:"submit",title:s("search_label","Search"),"aria-label":s("search_label","Search"),children:e.jsx("i",{className:"fa-regular fa-magnifying-glass"})})]}),E&&e.jsx("button",{type:"button",className:"btn-icon page-search-clear-btn","aria-label":s("clear_search_label","Clear search"),onClick:I,children:e.jsx("i",{className:"fa-regular fa-xmark"})}),e.jsx("div",{className:"page-header-vertical-border"}),e.jsxs("div",{className:"dropdown-menu-container settings-activity-logs-filter-menu",children:[e.jsx("button",{type:"button",className:`btn-icon dropdown-btn menu-toggle${x?" selected":""}`,"aria-label":l("filters_label","Filters"),title:l("filters_label","Filters"),onClick:()=>h(_=>!_),children:e.jsx("i",{className:"fa-solid fa-filter"})}),e.jsxs("div",{className:`menu box-shadow-menu menu-wide admin-clients-filters-menu standard-filter-menu${x?" show":""}
1`,children:[e.jsxs("div",{className:"filter-menu-scroll menu-filter-scroll",children:[e.jsx("div",{className:"menu-section-inner-header",children:e.jsx("h6",{children:l("status_label","Status")})}),e.jsx("div",{className:"menu-filter-field",children:e.jsx("select",{className:"menu-filter-input",value:B,onChange:_=>W(_.target.value),children:aa.map(_=>e.jsx("option",{value:_.value,children:l(`access_status_${_.value}`,_.label)},_.value))})})]}),e.jsx("div",{className:"menu-border"}),e.jsxs("div",{className:"menu-actions-footer",children:[e.jsx("button",{type:"button",className:"btn subtle-btn btn-sml",onClick:f,children:e.jsx("p",{children:l("reset_label","Reset")})}),e.jsx("button",{type:"button",className:"btn primary-btn btn-sml",onClick:()=>h(!1),children:e.jsx("p",{children:l("apply_label","Apply")})})]})]})]}),B!=="all"&&e.jsx("button",{type:"button",className:"subtle-link admin-clients-filter-reset-link settings-activity-logs-filter-reset-link",onClick:f,children:l("reset_label","Reset")}),e.jsx("div",{className:"page-header-vertical-border"}),(t==null?void 0:t.can_export_csv)&&e.jsx("a",{href:"/v1/access/people/export.csv",className:"btn-icon settings-activity-logs-export-btn",onClick:g,"aria-label":l("export_csv_label","Export CSV"),title:l("export_csv_label","Export CSV"),children:e.jsx("i",{className:"fa-regular fa-cloud-arrow-down"})})]}),e.jsxs("div",{className:"page-header-align-right page-header-actions",children:[t&&e.jsx(be,{className:"settings-access-dropdown-container",triggerClassName:"settings-access-icon-btn",emptyLabel:l("no_access_found_label","No access found"),loadPage:F}),(t==null?void 0:t.can_add_person)&&e.jsx("button",{type:"button",className:"btn primary-btn btn-sml settings-matrix-primary-action page-header-icon-padding",onClick:()=>y(!0),children:e.jsx("p",{children:l("invite_people_label","Invite people")})})]})]}),o&&e.jsx($,{error:!0,children:o}),!t&&u?e.jsx(z,{label:l("loading_access_management_label","Loading access management")}):t&&t.rows.length&&t.permission_columns.length?e.jsxs("div",{className:"settings-page settings-teammates-visibility-table access-management-matrix-page",children:[e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{children:[e.jsx("th",{className:"table-header-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("span",{children:l("person_label","Person")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:l("status_label","Status")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:l("permission_label","Permission")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-last-active-col",children:e.jsx("span",{children:l("last_online_label","Last online")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:l("view_activity_log_label","View activity log")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:l("edit_permission_label","Edit permission")})}),t.security_enabled&&e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-2fa-col",children:e.jsx("span",{children:l("has_2fa_label","Has 2FA")})}),t.permission_columns.map(_=>e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-permission-col",title:_.detail,children:e.jsx("span",{children:_.label})},_.key)),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:l("export_full_employee_data_label","Export full employee data")})}),e.jsx("th",{className:"table-header-cell table-cell teammates-visibility-action-col",children:e.jsx("span",{children:l("delete_person_label","Delete person")})})]})}),e.jsx("tbody",{className:"table-body",children:t.rows.map(_=>e.jsxs("tr",{className:`table-body-row${_.is_scheduled_for_deleti
1on?" row-scheduled-deletion":""}`,children:[e.jsx("td",{className:"table-body-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx(Re,{row:_})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx(sa,{status:_.employment_status})}),e.jsx("td",{className:"table-body-cell table-cell",children:_.permission_display_name||"-"}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-last-active-col",children:_.user_last_active_display||"-"}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:t.can_view_activity_logs?e.jsx("button",{type:"button",className:"btn-icon","aria-label":V(l("view_named_activity_log_label","View {name} activity log"),{name:_.user_name}),onClick:()=>S(_),children:e.jsx("i",{className:"fa-regular fa-clock-rotate-left"})}):e.jsx("span",{children:"-"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:e.jsx("button",{type:"button",className:"btn-icon","aria-label":V(l("edit_named_permission_label","Edit {name} permission"),{name:_.user_name}),onClick:()=>D(_),children:e.jsx("i",{className:"fa-regular fa-pen-to-square"})})}),t.security_enabled&&e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-2fa-col",children:e.jsx(me,{enabled:_.has_2fa_enabled})}),t.permission_columns.map(A=>e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-permission-col",children:e.jsx(me,{enabled:!!_.permissions_map[A.key]})},`${_.id}-${A.key}`)),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col",children:_.can_export_full_employee_data?e.jsx("a",{href:`/v1/access/people/${_.id}/export.zip`,className:"btn-icon settings-activity-logs-export-btn",onClick:A=>void Q(A,_),"aria-label":V(l("export_named_data_label","Export {name} data"),{name:_.user_name}),children:e.jsx("i",{className:"fa-regular fa-cloud-arrow-down"})}):e.jsx("span",{children:"-"})}),e.jsx("td",{className:"table-body-cell table-cell teammates-visibility-action-col case-management-delete-cell",children:t.can_delete_people&&_.is_scheduled_for_deletion?e.jsxs("div",{className:"teammates-visibility-person-meta",children:[e.jsx("p",{children:l("scheduled_label","Scheduled")}),_.deletion_date_display&&e.jsx("p",{className:"subtle-text",children:te(_.deletion_date_display)}),_.can_cancel_deletion&&e.jsx("button",{type:"button",className:"subtle-link access-management-delete-link",onClick:()=>v(_),children:l("cancel_label","Cancel")})]}):t.can_delete_people&&_.can_manage_deletion?e.jsx("button",{type:"button",className:"btn-icon","aria-label":V(l("delete_named_label","Delete {name}"),{name:_.user_name}),onClick:()=>v(_),children:e.jsx("i",{className:"fa-regular fa-trash"})}):e.jsx("span",{children:"-"})})]},_.id))})]})})})}),e.jsx(ue,{page:t.pagination.page,totalPages:t.pagination.total_pages})]}):e.jsx("div",{className:"settings-page",children:e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-user-lock"}),e.jsx("h6",{children:l("no_access_records_found_label","No access records found")}),e.jsx("p",{className:"empty-state-sub-text",children:l("no_people_match_access_filters","No people matched the current access management filters.")})]})}),N&&e.jsx(Me,{onClose:()=>y(!1),onDone:()=>{y(!1),Y()},onImported:()=>{y(!1),Y()}}),k&&e.jsx(ra,{row:k,onClose:()=>S(null)}),P&&e.jsx(oa,{row:P,onClose:()=>D(null),onDone:()=>{D(null),Y()}}),j&&e.jsx(ca,{row:j,page:U,statusFilter:B,searchQuery:E,setData:r,onClose:()=>v(null)})]})}function ca({row:a,page:l,statusFilter:s,searchQuery:c,setData:i,onClose:t}){const r=q(),o=ve(),{t:m}=T("people"),[u,b]=n.useState(!1),[p,d]=n.useState(""),x=a.is_scheduled_for_deletion,h=async()=>{if(r.accessToken){b(!0),d("");try{const v=new URLSearchParams({page:String(l),page_size:"25",status_filter:s});c&&v.set("search_query",c);const N=await w(`/v1/access/people/${a.id}/deletion?${v.toString()}`,{method:x?"DELETE":"POST",accessToken:r.accessToken,suppressFlash:!0});i(N),o.success(x?m("deletion_cancelled_success","Deletion cancelled."):m("person_scheduled_for_deleti
1on_success","Person scheduled for deletion.")),t()}catch(v){const N=C(v);d(N),o.error(N),b(!1)}}},j=a.deletion_date_display?te(a.deletion_date_display):m("thirty_days_from_now_label","30 days from now");return e.jsxs(M,{title:x?m("cancel_deletion_label","Cancel deletion"):m("delete_person_label","Delete person"),onClose:t,closeDisabled:u,contentClassName:"disciplinary-modal delete-modal",footer:e.jsxs(e.Fragment,{children:[x&&e.jsx(G,{type:"button",className:"btn subtle-btn",loading:u,onClick:h,children:m("cancel_deletion_label","Cancel deletion")}),!x&&e.jsx(G,{type:"button",className:"btn red-btn delete-modal-confirm-btn",loading:u,onClick:h,children:m("schedule_deletion_label","Schedule deletion")})]}),children:[p&&e.jsx($,{error:!0,children:p}),e.jsxs("div",{className:"delete-modal-warning",children:[e.jsx("div",{className:"delete-modal-warning-icon",children:e.jsx("i",{className:"fa-regular fa-circle-exclamation"})}),x?e.jsx("p",{className:"readable-text",children:V(m("cancel_scheduled_deletion_confirm","Cancel scheduled deletion for {name}?"),{name:a.user_name})}):e.jsx("p",{className:"readable-text",children:V(m("hard_delete_person_warning","This is a hard delete. If you continue, {name} will be scheduled for permanent deletion on {date}. Once that date is reached, the deletion cannot be undone and related person records and documents will be permanently removed."),{name:a.user_name,date:j})})]})]})}function ra({row:a,onClose:l}){const s=q(),{t:c}=T("people"),[i,t]=n.useState(null),[r,o]=n.useState(""),[m,u]=n.useState(1);n.useEffect(()=>{s.accessToken&&(o(""),w(`/v1/access/people/${a.id}/activity-logs?${new URLSearchParams({page:String(m),page_size:"8"}).toString()}`,{accessToken:s.accessToken}).then(t).catch(d=>o(C(d))))},[s.accessToken,a.id,m]);const b=(i==null?void 0:i.user)||a,p=i&&i.rows.length?e.jsxs("div",{className:"pagination table-pagination modal-activity-log-pagination",children:[e.jsxs("div",{className:"pagination-btns",children:[i.pagination.page>1?e.jsx("a",{href:"#",className:"btn subtle-btn btn-sml",onClick:d=>{d.preventDefault(),u(x=>x-1)},children:e.jsx("p",{children:c("previous_btn","Previous")})}):e.jsx("a",{className:"btn disabled-btn btn-sml",children:e.jsx("p",{children:c("previous_btn","Previous")})}),i.pagination.page<i.pagination.total_pages?e.jsx("a",{href:"#",className:"btn subtle-btn btn-sml",onClick:d=>{d.preventDefault(),u(x=>x+1)},children:e.jsx("p",{children:c("next_btn","Next")})}):e.jsx("a",{className:"btn disabled-btn btn-sml",children:e.jsx("p",{children:c("next_btn","Next")})})]}),e.jsx("div",{className:"pagination-count",children:e.jsxs("p",{children:[c("page_label","Page")," ",e.jsx("strong",{children:i.pagination.page})," ",c("of_label","of")," ",e.jsx("strong",{children:i.pagination.total_pages})]})})]}):void 0;return e.jsxs(M,{title:`${b.user_name} - ${c("activity_logs_label","Activity logs")}`,onClose:l,contentClassName:"settings-activity-log-modal matrix-table-modal",footer:p,children:[r&&e.jsx($,{error:!0,children:r}),!i&&!r?e.jsx(z,{label:c("loading_activity_logs_label","Loading activity logs")}):i&&i.rows.length?e.jsx(e.Fragment,{children:e.jsx("div",{className:"settings-page settings-teammates-visibility-table settings-teams-full-width-table settings-activity-log-matrix",children:e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{children:[e.jsx("th",{className:"table-header-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("span",{children:c("person_label","Person")})}),e.jsx("th",{className:"table-header-cell table-cell table-cell-xlg activity-log-action-col",children:e.jsx("span",{children:c("action_label","Action")})}),e.jsx("th",{className:"table-cell table-header-cell table-cell-lg",children:e.jsx("span",{children:c("timestamp_label","Timestamp")})}),e.jsx("th",{className:"table-cell table-header-cell table-cell",children:e.jsx("span",{children:"IP"})}),e.jsx("th",{className:"table-header-cell table-cell table-cell-xlg",children:e.jsx("span",{children:c("user_agent_label","User agent")})}),e.jsx("th",{className:"table-cell table-header-cell table-cell-xlg",children:e.jsx("span",{children:c("path_label","Path")})}),e.jsx("th",{className:"table-cell table-header-cell table-cell activity-log-source-col",children:e.jsx("span",{children:c("source_label","Source")})})]})}),e.jsx("tbody",{className:"table-body",children:i.rows.map((d,x)=>e.jsxs("tr",{className:`table-body-row${x===i.rows.length-1?" table-body-row-last":""}`,children:[e.jsx("td",{className:"table-body-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx(Re,{row:b})}),e.jsx("td",{className:"table-body-cell table-cell table-cell-xlg activity-log-action-col",children:d.log_message||"-"}),e.jsx("td",{className:"table-body-cell table-cell",children:te(d.created_date)}),e.jsx("td",{className:"table-body-cell table-cell",children:d.request_ip||"-"}),e.jsx("td",{className:"table-body-cell table-cell table-cell-xlg",children:d.request_user_agent||"-"}),e.jsx("td",{className:"table-body-cell table-cell table-cell-xlg",children:d.request_path||"-"}),e.jsx("td",{className:"table-body-cell table-cell activity-log-source-col",children:d.request_source||"-"})]},d.id))})]})})})})})}):e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-circle-check"}),e.jsx("h6",{children:c("no_activity_found_label","No activity found")}),e.jsx("p",{className:"empty-state-sub-text",children:c("no_activity_logs_for_person","There are no activity logs for this person.")})]})]})}function oa({row:a,onClose:l,onDone:s}
1){const c=q(),{t:i}=T("people"),t=a.user_token||String(a.id),[r,o]=n.useState(null),[m,u]=n.useState(""),[b,p]=n.useState(!1),[d,x]=n.useState("");n.useEffect(()=>{if(!c.accessToken)return;let N=!0;return x(""),w(`/v1/people/${encodeURIComponent(t)}/permission/options`,{accessToken:c.accessToken}).then(y=>{var S;if(!N)return;o(y);const k=y.selected_permission_id||((S=y.permissions[0])==null?void 0:S.id);k&&u(String(k))}).catch(y=>{N&&x(C(y))}),()=>{N=!1}},[c.accessToken,t]);const h=r==null?void 0:r.permissions.find(N=>String(N.id)===m),j=(r==null?void 0:r.permissions.map(N=>({id:N.id,label:N.label,subtitle:N.is_current?i("current_permission_label","Current permission"):null})))||[],v=async N=>{if(N.preventDefault(),!!c.accessToken){p(!0),x("");try{await w(`/v1/people/${encodeURIComponent(t)}/permission`,{method:"POST",accessToken:c.accessToken,body:{permission_id:Number(m)}}),s()}catch(y){x(C(y)),p(!1)}}};return e.jsxs(M,{title:i("update_permission_label","Update permission"),onClose:l,contentClassName:"update-user-permission-modal",footer:e.jsx(G,{className:"btn primary-btn",loading:b,form:"access-management-permission-form",children:i("save_label","Save")}),children:[d&&e.jsx($,{error:!0,children:d}),r?e.jsxs("form",{id:"access-management-permission-form",onSubmit:v,children:[e.jsxs("div",{className:"form-section-03",children:[e.jsx("div",{className:"form-section-03-header",children:e.jsx("h6",{children:i("general_settings_label","General settings")})}),e.jsx(ae,{label:i("permission_label","Permission"),options:j,value:m,onChange:u})]}),e.jsxs("div",{className:"form-section-03 js-permission-preview","aria-live":"polite",children:[e.jsx("div",{className:"form-section-03-header",children:e.jsx("h6",{children:i("member_permission_overview_label","Member permission overview")})}),((h==null?void 0:h.preview)||[]).map(N=>e.jsx("div",{className:"form-checkbox-item-02-container",children:e.jsxs("div",{className:"form-checkbox-item-02",children:[e.jsxs("div",{className:"form-checkbox-item-02-detail",children:[e.jsx("h6",{children:N.label}),e.jsx("p",{className:"subtle-text",children:N.detail})]}),e.jsx("div",{className:"permission-preview-item-icon","aria-hidden":"true",children:e.jsx("i",{className:`fa-regular ${N.has_permission?"fa-circle-check table-cell-green":"fa-circle-xmark table-cell-red"}`})})]})},N.key))]})]}):e.jsx(z,{label:i("loading_options_label","Loading options")})]})}function Za(){const{t:a}=T("people");ee(a("billing_settings_label","Billing settings"));const l=q(),s=xe(),[c,i]=le(),{data:t,error:r,loading:o,setData:m,reload:u}=We(),[b,p]=n.useState(null),[d,x]=n.useState(null),[h,j]=n.useState(!1),[v,N]=n.useState(""),[y,k]=n.useState(""),S=(t==null?void 0:t.active_tab)||c.get("tab")||"summary",P=F=>{const O=new URLSearchParams(c);O.set("billing_cycle",F),O.set("tab",S==="summary"?"plans":S),i(O)},D=(F,O,W)=>{F.preventDefault(),x(W||null),p(O)},U=async F=>{if(l.accessToken){N(""),k(`checkout-${F.id}`);try{const O=await w("/v1/billing/checkout",{method:"POST",accessToken:l.accessToken,suppressFlash:!0,body:{product_id:F.id,billing_cycle:(t==null?void 0:t.selected_billing_cycle)||F.selected_billing_cycle}});O.redirect_url?window.location.assign(O.redirect_url):await u()}catch(O){N(C(O))}finally{k("")}}},E=async F=>{if(l.accessToken){N(""),k(`select-${F.id}`);try{m(await w(`/v1/billing/plans/${F.id}/select`,{method:"POST",accessToken:l.accessToken}))}catch(O){N(C(O))}finally{k("")}}},B=async()=>{if(!l.accessToken)return;const F=window.open("about:blank","_blank");F&&(F.opener=null),N(""),k("portal");try{const O=await w("/v1/billing/portal",{method:"POST",accessToken:l.accessToken,suppressFlash:!0});O.redirect_url&&F?F.location.href=O.redirect_url:O.redirect_url?N(a("billing_portal_tab_blocked_error","Your browser blocked the Stripe billing tab.")):F==null||F.close()}catch(O){F==null||F.close(),console.error("Failed to open Stripe billing portal",O),N(C(O))}finally{k("")}};if(!t&&!r)return e.jsx(z,{label:a("loading_billing_settings_label","Loading billing settings")});if(!t)return e.jsx($,{error:!0,children:r});const Y=t.active_tab!==S;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"page-header billing-page-header",children:[e.jsx("h6",{children:a("billing_label","Billing")}),e.jsxs("div",{className:"page-header-actions",children:[t.show_payment_tabs&&e.jsx(G,{className:"btn btn-sml subtle-btn",loading:y==="portal",preserveContent:!0,onClick:B,children:e.jsx("p",{children:a("manage_billing_label","Manage billing")})}),e.jsx("a",{href:"#",className:"btn btn-sml subtle-btn",onClick:F=>{F.preventDefault(),j(!0)},children:e.jsx("p",{children:a("contact_us_label","Contact us")})})]})]}),v&&e.jsx($,{error:!0,children:v}),e.jsx("div",{className:"billing-page-content",children:o&&Y?e.jsx(z,{label:a("loading_billing_settings_label","Loading billing settings")}):e.jsxs(e.Fragment,{children:[t.billing_issue&&(S==="summary"||S==="payment_information")&&e.jsx(da,{issue:t.billing_issue,onPortal:B,busy:y==="portal"}),S==="summary"&&e.jsx(ma,{data:t,openModal:D,setTab:F=>s({search:new URLSearchParams({tab:F}).toString()}),setCycle:P,runCheckout:U,busyAction:y}),S==="plans"&&e.jsx($e,{data:t,setCycle:P,openModal:D,runCheckout:U,selectPartnerPlan:E,busyAction:y}),S==="payment_information"&&e.jsx(ua,{data:t,openModal:D,openPortal:B,busyPortal:y==="portal"})]})}),b==="billing-information"&&e.jsx(ba,{data:t,setData:m,onClose:()=>p(null)}),b==="current-plan"&&t.current_plan&&e.jsx(pa,{data:t,onClose:()=>p(null),reload:u}),b==="plan-features"&&e.jsx(ga,{data:t,activePlan:d||t.current_plan||t.plans[0],onClose:()=>p(null)}),b==="coupon"&&e.jsx(_a,{setData:m,onClose:()=>p(null)}),h&&e.jsx(Ie,{onClose:()=>j(!1),onDone:()=>j(!1)})]})}function da({issue:a,onPortal:l,busy:s}){const{t:c}=T("people");return e.jsxs("div",{className:"billing-payment-issue-banner",children:[e.jsxs("div",{className:"billing-payment-issue-body",children:[e.jsxs("div",{className:"billing-payment-issue-heading",children:[e.jsx("div",{className:"items-01-item-status items-01-item-status-red items-01-item-status-no-margin billing-payment-issue-pill",children:e.jsx("p",{children:c("payment_issue_label","Payment issue")})}),a.billing_status&&e.jsx("div",{className:"items-01-item-status items-01-item-status-red items-01-item-status-no-margin billing-payment-issue-pill",children:e.jsx("p",{children:a.billing_status.replace(/_/g," ")})})]}),a.failure_message&&e.jsx("p",{className:"billing-payment-issue-reason",children:a.failure_message}),e.jsxs("div",{className:"billing-payment-issue-meta",children:[a.next_retry_at&&e.jsxs("p",{children:[e.jsxs("span",{children:[c("next_attempt_label","Next attempt"),":"]})," ",a.next_retry_at]}),a.attempt_count!==null&&a.attempt_count!==void 0&&e.jsxs("p",{children:[e.jsxs("span",{children:[c("retry_attempt_label","Retry attempt"),":"]})," ",a.attempt_count]})]})]}),e.jsx("div",{className:"billing-payment-issue-action",children:e.jsx(G,{className:"btn btn-sml primary-btn",loading:s,preserveContent:!0,onClick:l,children:e.jsx("p",{children:c("update_payment_method_label","Update payment method")})})})]})}function ma({data:a,openModal:l,setTab:s,setCycle:c,runCheckout:i,busyAction:t}){const{t:r}=T("people");return a.show_external_plan_selection_only?e.jsx(ha,{data:a}):e.jsxs("div",{className:"billing-section billing-payment-history-section",children:[!a.current_plan&&e.jsxs("div",{className:"billing-payment-issue-banner",children:[e.jsx("div",{className:"billing-payment-issue-body",children:e.jsx("div",{className:"billing-payment-issue-heading",children:e.jsx("div",{className:"items-01-item-status items-01-item-status-red items-01-item-status-no-margin billing-payment-issue-pill",children:e.jsx("p",{children:r("no_plan_selected_label","No plan selected")})})})}),e.jsx("div",{className:"billing-payment-issue-action",children:e.jsx("a",{href:"#",className:"btn btn-sml primary-btn",onClick:o=>{o.preventDefault(),s("plans")},children:e.jsx("p",{children:r("plans_label","Plans")})})})]}),e.jsx("div",{className:"billing-overview",children:e.jsxs("div",{className:"settings-box-items",children:[e.jsxs("div",{className:"settings-box-item",children:[e.jsx("p",{className:"settings-box-item-title",children:r("signed_up_label","Signed up")}),e.jsx("h6",{className:"settings-box-item-text",children:a.summary.signed_up||"-"})]}),e.jsxs("div",{className:"settings-box-item",children:[e.jsx("p",{className:"settings-box-item-title",children:r("expiry_date_label","Expiry date")}),e.jsx("h6",{className:"settings-box-item-text",children:te(a.summary.expiry_date)})]}),e.jsxs("div",{className:"settings-box-item",children:[e.jsx("p",{className:"settings-box-item-title",children:r("payment_method_label","Payment method")}),e.jsx("h6",{className:"settings-box-item-text",children:a.summary.payment_method})]})]})}),a.show_payment_tabs&&e.jsx($e,{data:{...a,active_tab:"summary"}
1,openModal:l,setCycle:c,runCheckout:i,selectPartnerPlan:async()=>{},busyAction:t,summaryMode:!0})]})}function $e({data:a,setCycle:l,openModal:s,runCheckout:c,selectPartnerPlan:i,busyAction:t,summaryMode:r=!1}){const{t:o}=T("people");if(!a.plans.length)return e.jsx(he,{title:o("no_billing_plans_available","No billing plans are available")});const m=r?a.plans.slice(0,4):a.plans;return e.jsxs("div",{className:`settings-inner-section billing-plans-section${r?" billing-summary-plan-section":""}`,id:"billing-plans-section",children:[e.jsx("div",{className:"settings-page-header settings-page-header-no-margin billing-settings-section-header-caps",children:e.jsx("h6",{children:o("plans_label","Plans")})}),e.jsxs("div",{className:"billing-plan-global-cycle-toggle",children:[e.jsx("div",{className:"billing-plan-global-cycle-toggle-inner",children:a.show_billing_cycle_toggle&&e.jsx("div",{className:"gh-toggle-pill billing-plan-global-cycle-pill",role:"group","aria-label":o("billing_cycle_label","Billing cycle"),children:["monthly","annual"].map(u=>e.jsx("button",{type:"button",className:`gh-toggle-pill__option${a.selected_billing_cycle===u?" gh-toggle-pill__option--active":""}`,onClick:()=>l(u),children:e.jsx("span",{children:u==="monthly"?o("monthly_label","Monthly"):o("annual_label","Annual")})},u))})}),e.jsx("div",{className:"billing-plan-global-cycle-toggle-actions",children:e.jsx("a",{href:"#",className:"btn subtle-btn btn-sml billing-compare-plans-btn",onClick:u=>s(u,"plan-features",a.current_plan||a.plans[0]),children:e.jsx("p",{children:o("all_plans_label","All plans")})})})]}),e.jsx("div",{className:"billing-plan-list",children:m.map(u=>e.jsxs("div",{className:`billing-plan-row${u.is_current_selected_cycle?" billing-plan-row-current":""}`,children:[e.jsxs("div",{className:"billing-plan-row-main",children:[e.jsxs("div",{className:"billing-plan-row-heading",children:[e.jsx("h6",{children:u.name}),u.is_current&&e.jsx("span",{className:"billing-current-plan-tag billing-current-plan-tag-inline",children:o("current_plan_label","Current plan")})]}),e.jsxs("div",{className:"billing-plan-row-meta",children:[e.jsx("p",{className:"billing-plan-row-price-text",children:u.price_display}),u.total_charge_display&&e.jsx("p",{className:"billing-plan-row-total-text",children:u.total_charge_display})]})]}),e.jsx("div",{className:"billing-plan-row-actions",children:u.is_current?e.jsx("a",{href:"#",className:"btn subtle-btn",onClick:b=>s(b,"current-plan",u),children:e.jsx("p",{children:o("plan_details_label","Plan details")})}):u.can_purchase&&(a.partner_external_plan_selection_mode||u.checkout_ready)?e.jsx(G,{className:"btn primary-btn",loading:t===`checkout-${u.id}`||t===`select-${u.id}`,preserveContent:!0,onClick:()=>a.partner_external_plan_selection_mode?void i(u):void c(u),children:e.jsx("p",{children:a.current_plan?o("switch_plan_label","Switch plan"):o("select_plan_label","Select plan")})}):e.jsxs("div",{className:"billing-plan-row-unavailable",children:[e.jsx("i",{className:"fa-regular fa-ban"}),e.jsx("p",{className:"billing-plan-cta-sub-text",children:u.unavailable_reason||o("plan_unavailable_label","This plan is unavailable.")})]})})]},u.id))})]})}function ua({data:a,openModal:l,openPortal:s,busyPortal:c}){const{t:i}=T("people");return e.jsxs("div",{className:"billing-payment-information-stack",children:[e.jsxs("div",{className:"settings-inner-section",children:[e.jsxs("div",{className:"settings-page-header settings-page-header-no-margin billing-settings-section-header-caps",children:[e.jsx("h6",{children:i("billing_information_label","Billing information")}),e.jsx("div",{className:"page-header-actions",children:e.jsx("a",{href:"#",className:"btn subtle-btn btn-sml",onClick:t=>l(t,"billing-information"),children:e.jsx("p",{children:a.billing_information.has_billing_information?i("edit_label","Edit"):i("add_label","Add")})})})]}),e.jsxs("div",{className:"billing-information-box",children:[e.jsx(ge,{label:i("first_name_label","First name"),value:a.billing_information.first_name||"-"}),e.jsx(ge,{label:i("last_name_label","Last name"),value:a.billing_information.last_name||"-"}),e.jsx(ge,{label:i("address_label","Address"),value:a.billing_information.address_lines.length?a.billing_information.address_lines.join(", "):a.billing_information.country_name||"-"}),e.jsx(ge,{label:"VAT/GST ID",value:a.billing_information.vat_number||"-"})]})]}),e.jsxs("div",{className:"settings-inner-section",children:[e.jsx("div",{className:"settings-page-header settings-page-header-no-margin billing-settings-section-header-caps",children:e.jsx("h6",{children:i("payment_method_label","Payment method")})}),a.payment_method.has_payment_method?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"settings-page settings-inner-section-has-list",children:e.jsx("div",{className:"list",children:e.jsxs("div",{className:"list-item list-item-no-click no-text-highlight",children:[e.jsxs("div",{className:"list-item-detail",children:[e.jsx("p",{className:"list-item-name",children:a.payment_method.brand?`${a.payment_method.brand} **** ${a.payment_method.last4}`:i("stripe_payment_method_label","Stripe payment method")}),e.jsx("p",{className:"list-item-date",children:a.payment_method.exp_month&&a.payment_method.exp_year?V(i("expires_card_label","Expires {month}/{year}"),{month:String(a.payment_method.exp_month).padStart(2,"0"),year:a.payment_method.exp_year}
1):i("managed_in_stripe_label","Managed in Stripe")})]}),e.jsx("div",{className:"list-item-right",children:e.jsx("div",{className:"status-tag status-tag-active",children:e.jsx("p",{children:i("default_label","Default")})})})]})})}),e.jsx("div",{className:"billing-payment-method-action",children:e.jsx(G,{className:"btn primary-btn billing-payment-method-portal-btn",loading:c,preserveContent:!0,onClick:s,children:e.jsx("p",{children:i("update_payment_method_label","Update payment method")})})})]}):e.jsxs("div",{className:"billing-payment-method-empty-state",children:[e.jsx("div",{className:"billing-payment-method-empty-state-left",children:e.jsx("div",{className:"billing-payment-method-empty-state-header",children:e.jsx("div",{className:"items-01-item-status items-01-item-status-red items-01-item-status-no-margin",children:e.jsx("p",{children:i("payment_method_not_added_label","Payment method not added")})})})}),e.jsx("div",{className:"billing-payment-method-action billing-payment-method-empty-state-action",children:e.jsx(G,{className:"btn primary-btn billing-payment-method-portal-btn",loading:c,preserveContent:!0,onClick:s,children:e.jsx("p",{children:i("add_payment_method_label","Add payment method")})})})]})]})]})}function ge({label:a,value:l}){return e.jsx("div",{className:"items-01-item-section",children:e.jsxs("div",{className:"items-01-item-section-item",children:[e.jsx("p",{className:"items-01-item-title-text",children:a}),e.jsx("div",{className:"items-01-item-section-item-inner",children:e.jsx("p",{children:l})})]})})}function ha({data:a}){const{t:l}=T("people");return e.jsxs("div",{className:"billing-empty-state",children:[e.jsx("h1",{children:l("contact_us_label","Contact us")}),e.jsx("p",{className:"readable-text",children:a.summary.expiry_date!=="-"?V(l("billing_partner_managed_until_text","Billing for this workspace is managed by your partner until {date}. Contact support to make billing changes."),{date:te(a.summary.expiry_date)}):l("billing_partner_managed_text","Billing for this workspace is managed by your partner. Contact support to make billing changes.")}),a.partner_support_email&&e.jsx("a",{href:`mailto:${a.partner_support_email}`,className:"btn primary-btn",children:e.jsx("p",{children:l("contact_us_label","Contact us")})})]})}function ba({data:a,setData:l,onClose:s}){const c=q(),{t:i}=T("people"),t=a.billing_information,[r,o]=n.useState(!1),[m,u]=n.useState(""),[b,p]=n.useState({first_name:t.first_name,last_name:t.last_name,address_line_1:t.address_line_1,address_line_2:t.address_line_2,city:t.city,state:t.state,postal_code:t.postal_code,country_id:t.country_id?String(t.country_id):"",vat_number:t.vat_number}),d=(h,j)=>p(v=>({...v,[h]:j})),x=async h=>{if(h.preventDefault(),!!c.accessToken){o(!0),u("");try{l(await w("/v1/billing/information",{method:"PUT",accessToken:c.accessToken,body:{...b,country_id:b.country_id?Number(b.country_id):null}})),s()}catch(j){u(C(j))}finally{o(!1)}}};return e.jsxs(M,{title:i("billing_information_label","Billing information"),onClose:s,footer:e.jsx(G,{className:"btn primary-btn",loading:r,preserveContent:!0,form:"billing-information-form",children:e.jsx("p",{children:i("save_changes_label","Save changes")})}),children:[m&&e.jsx($,{error:!0,children:m}),e.jsxs("form",{id:"billing-information-form",onSubmit:x,children:[e.jsxs("div",{className:"form-section-03",children:[e.jsx("div",{className:"form-section-03-header",children:e.jsx("h6",{children:i("billing_information_label","Billing information")})}),e.jsx(H,{label:i("first_name_label","First name"),value:b.first_name,onChange:h=>d("first_name",h.target.value)}),e.jsx(H,{label:i("last_name_label","Last name"),value:b.last_name,onChange:h=>d("last_name",h.target.value)})]}),e.jsxs("div",{className:"form-section-03",children:[e.jsx("div",{className:"form-section-03-header",children:e.jsx("h6",{children:i("address_label","Address")})}),e.jsx(H,{label:i("address_line_1_label","Address line 1"),value:b.address_line_1,onChange:h=>d("address_line_1",h.target.value)}),e.jsx(H,{label:i("address_line_2_label","Address line 2"),value:b.address_line_2,onCh
1ange:h=>d("address_line_2",h.target.value)}),e.jsx(H,{label:i("city_label","City"),value:b.city,onChange:h=>d("city",h.target.value)}),e.jsx(ae,{label:i("country_region_label","Country/region"),options:a.country_options.map(h=>({id:h.value,label:h.label})),value:b.country_id,onChange:h=>d("country_id",h)}),e.jsx(H,{label:i("state_province_label","State/province"),value:b.state,onChange:h=>d("state",h.target.value)}),e.jsx(H,{label:i("postal_zip_code_label","Postal/ZIP code"),value:b.postal_code,onChange:h=>d("postal_code",h.target.value)})]}),e.jsxs("div",{className:"form-section-03",children:[e.jsx("div",{className:"form-section-03-header",children:e.jsx("h6",{children:"VAT/GST ID"})}),e.jsx(H,{label:i("vat_number_label","VAT number"),value:b.vat_number,onChange:h=>d("vat_number",h.target.value)})]})]})]})}function pa({data:a,onClose:l}){const{t:s}=T("people"),c=a.current_plan;return e.jsx(M,{title:s("current_plan_label","Current plan"),onClose:l,contentClassName:"billing-current-plan-modal",children:e.jsxs("div",{className:"billing-information-box billing-summary-plan-box billing-current-plan-modal-box",children:[a.summary.current_plan_details.map(i=>e.jsx(ge,{label:i.value,value:i.label},i.value)),e.jsx(ge,{label:c&&c.not_included_features.length?s("not_included_label","Not included"):s("included_label","Included"),value:e.jsx("div",{className:"billing-summary-plan-feature-list",children:c&&c.not_included_features.length?c.not_included_features.map(i=>e.jsxs("div",{className:"billing-summary-plan-feature-row billing-summary-plan-feature-row-missing",children:[e.jsx("i",{className:"fa-regular fa-circle-xmark"}),e.jsx("p",{children:i.name})]},i.key)):e.jsxs("div",{className:"billing-summary-plan-feature-row billing-summary-plan-feature-row-included",children:[e.jsx("i",{className:"fa-regular fa-circle-check"}),e.jsx("p",{children:s("plan_includes_all_features_label","This plan includes all listed features")})]})})})]})})}function ga({data:a,activePlan:l,onClose:s}){const{t:c}=T("people"),i=Array.from(new Map(a.plans.flatMap(t=>[...t.features,...t.not_included_features]).map(t=>[t.key,t])).values());return e.jsx(M,{title:c("all_plans_label","All plans"),onClose:s,contentClassName:"billing-plan-matrix-modal",children:e.jsx("div",{className:"billing-plan-matrix-table admin-page-table",children:e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{className:"table-header-row",children:[e.jsx("th",{className:"table-header-cell table-cell billing-plan-matrix-feature-col",children:e.jsx("span",{})}),a.plans.map(t=>e.jsx("th",{className:`table-header-cell table-cell billing-plan-matrix-plan-col${(l==null?void 0:l.id)===t.id?" billing-plan-matrix-plan-col-active":""}`,children:e.jsxs("span",{children:[e.jsx("strong",{children:t.name}),e.jsx("small",{children:t.price_display}),t.is_current&&e.jsx("em",{children:c("current_plan_label","Current plan")})]})},t.id))]})}),e.jsx("tbody",{className:"table-body",children:i.map(t=>e.jsxs("tr",{className:"table-body-row",children:[e.jsx("td",{className:"table-body-cell table-cell billing-plan-matrix-feature-col",children:t.name}),a.plans.map(r=>{const o=r.features.some(m=>m.key===t.key);return e.jsx("td",{className:`table-body-cell table-cell billing-plan-matrix-value-cell${(l==null?void 0:l.id)===r.id?" billing-plan-matrix-value-cell-active":""}`,children:e.jsx("span",{className:`billing-plan-matrix-status${o?"":" billing-plan-matrix-status-not-included"}`,children:e.jsx("i",{className:`fa-regular ${o?"fa-circle-check table-cell-green":"fa-circle-xmark table-cell-red"}`})})},`${r.id}-${t.key}`)})]},t.key))})]})})})})})})}function _a({setData:a,onClose:l}){const s=q(),{t:c}=T("people"),[i,t]=n.useState(""),[r,o]=n.useState(!1),[m,u]=n.useState(""),b=async p=>{if(p.preventDefault(),!!s.accessToken){o(!0),u("");try{a(await w("/v1/billing/coupon",{method:"POST",accessToken:s.accessToken,body:{coupon_codes:i}})),l()}catch(d){u(C(d))}finally{o(!1)}}};return e.jsxs(M,{title:c("add_coupon_label","Add coupon"),onClose:l,footer:e.jsx(G,{className:"btn primary-btn",loading:r,preserveContent:!0,form:"billing-coupon-form",children:e.jsx("p",{children:c("save_coupon_label","Save coupon")})}),children:[m&&e.jsx($,{error:!0,children:m}),e.jsx("form",{id:"billing-coupon-form",onSubmit:b,children:e.jsxs("div",{className:"form-section-03",children:[e.jsxs("div",{className:"form-section-03-header",children:[e.jsx("h6",{children:c("coupon_codes_label","Coupon codes")}),e.jsx("p",{children:c("coupon_codes_hint","Add up to 3 coupon codes, separated by commas.")})]}),e.jsx(H,{label:c("coupon_codes_label","Coupon codes"),value:i,onChange:p=>t(p.target.value),required:!0})]})})]})}function Xa(){const{t:a}=T("people");ee(a("payment_successful_label","Payment successful"));const l=q(),[s]=le(),[c,i]=n.useState(a("completing_payment_label","Completing payment..."));return n.useEffect(()=>{if(!l.accessToken)return;const t=s.get("session_id");
1if(!t){i(a("payment_complete_label","Payment complete."));return}w(`/v1/billing/checkout/complete?${new URLSearchParams({session_id:t}).toString()}`,{method:"POST",accessToken:l.accessToken}).then(r=>i(r.message||a("payment_complete_label","Payment complete."))).catch(r=>i(C(r)))},[l.accessToken,s]),e.jsxs("div",{className:"billing-payment-response",children:[e.jsx("i",{className:"fa-regular fa-circle-check"}),e.jsx("h6",{children:a("payment_successful_label","Payment successful")}),e.jsx("p",{children:c}),e.jsx(_e,{to:"/settings/billing",className:"btn primary-btn",children:e.jsx("p",{children:a("back_to_billing_label","Back to billing")})})]})}function es(){const{t:a}=T("people");return ee(a("payment_cancelled_label","Payment cancelled")),e.jsxs("div",{className:"billing-payment-response",children:[e.jsx("i",{className:"fa-regular fa-circle-xmark"}),e.jsx("h6",{children:a("payment_cancelled_label","Payment cancelled")}),e.jsx("p",{children:a("payment_cancelled_text","Your payment was cancelled. No billing changes were made.")}),e.jsx(_e,{to:"/settings/billing",className:"btn primary-btn",children:e.jsx("p",{children:a("back_to_billing_label","Back to billing")})})]})}function xa({data:a}){return a.profile.avatar_url?e.jsx("div",{className:"avatar lg-avatar",children:e.jsx("img",{src:se(a.profile.avatar_url),alt:""})}):e.jsx("div",{className:"avatar lg-avatar empty-avatar",children:e.jsx("p",{children:a.profile.initials})})}function K({label:a,value:l,action:s}){return e.jsxs("div",{className:"settings-user-item",children:[e.jsx("p",{className:"settings-user-item-title",children:a}),e.jsx("p",{children:l||"-"}),s&&e.jsx("div",{className:"settings-user-item-right",children:s})]})}function fa({data:a}){return a.company.logo_url?e.jsx("div",{className:"avatar lg-avatar",children:e.jsx("img",{src:se(a.company.logo_url),alt:""})}):e.jsx("div",{className:"avatar lg-avatar empty-avatar",children:e.jsx("i",{className:"fa-regular fa-buildings"})})}function as(){const{ready:a,t:l}=T("settings_client");ee(l("settings_client_meta_title","Company settings"));const{data:s,error:c,setData:i}=Ye(),[t,r]=n.useState(!1),[o,m]=n.useState(null),u=n.useRef(null);n.useEffect(()=>{if(!t)return;const d=x=>{var h;(h=u.current)!=null&&h.contains(x.target)||r(!1)};return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[t]);const b=(d,x)=>{d.preventDefault(),r(!1),m(x)};if(!a||!s&&!c)return e.jsx(z,{label:""});if(!s)return e.jsx($,{error:!0,children:c});const p=s.company;return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-header",children:e.jsx("h6",{children:l("settings_client_meta_title","Company settings")})}),e.jsxs("div",{className:"settings-user",children:[e.jsxs("div",{className:"settings-user-header",children:[e.jsx(fa,{data:s}),e.jsxs("div",{className:"settings-user-header-details",children:[e.jsx("h6",{children:p.name}),e.jsx("p",{children:p.created_date?V(l("client_created_on","Account created on {date}"),{date:te(p.created_date)}):l("client_created_date_unavailable","Account created date unavailable")})]}),e.jsx("div",{className:"settings-user-header-right",children:e.jsx("div",{className:"page-header-actions",children:e.jsxs("div",{className:"dropdown-menu-container",ref:u,children:[e.jsxs("a",{className:`btn primary-btn dropdown-btn menu-toggle${t?" selected":""}`,"data-target":"#workspaceActionMenu",href:"#",onClick:d=>{d.preventDefault(),r(x=>!x)},children:[e.jsx("p",{children:l("settings_update_client_meta_title","Update company settings")}),e.jsx("i",{className:"fa-regular fa-chevron-down"})]}),e.jsx("div",{id:"workspaceActionMenu",className:`menu menu-wide menu-actions-left menu-actions-x-margin menu-actions box-shadow-menu${t?" show":""}`,children:e.jsxs("div",{className:"menu-section",children:[e.jsx("a",{href:"#",className:"menu-item",onClick:d=>b(d,"company"),children:e.jsx("p",{children:l("settings_update_client_meta_title","Update company settings")})}),p.security_settings_plan_enabled&&p.can_manage_security&&e.jsx("a",{href:"#",className:"menu-item",onClick:d=>b(d,"security"),children:e.jsx("p",{children:l("edit_security_settings","Edit security settings")})}),p.can_delete_workspace&&e.jsx("a",{href:"#",className:"menu-item",onClick:d=>
1b(d,"delete"),children:e.jsx("p",{children:p.can_cancel_deletion?l("cancel_deletion","Cancel deletion"):l("schedule_deletion","Schedule deletion")})})]})})]})})})]}),e.jsxs("div",{className:"settings-user-items",children:[e.jsx(K,{label:l("name_label","Name"),value:p.name}),e.jsx(K,{label:l("account_owner_label","Account owner"),value:p.owner_name||"-"}),e.jsx(K,{label:l("website_label","Website"),value:p.website?e.jsx("a",{href:p.website,target:"_blank",rel:"noreferrer",children:p.website}):"-"}),e.jsx(K,{label:l("country_label","Country"),value:p.country_name||"-"}),e.jsx(K,{label:l("main_location_label","Main location"),value:p.location_name||"-"}),e.jsx(K,{label:l("currency_label","Currency"),value:p.currency_name||"-"}),e.jsx(K,{label:l("member_default_language_label","Member default language"),value:p.default_user_language_label||"-"}),p.security_settings_plan_enabled&&e.jsxs(e.Fragment,{children:[e.jsx(K,{label:l("two_factor_required_label","Two-factor required"),value:p.two_factor_required?l("yes_label","Yes"):l("no_label","No")}),e.jsx(K,{label:l("session_length_label","Session length"),value:p.session_length_label}),e.jsx(K,{label:l("allowed_ip_addresses_label","Allowed IP addresses"),value:p.allowed_ip_addresses?e.jsx("span",{className:"readable-text readable-text-max-width",children:p.allowed_ip_addresses}):"-"})]})]})]}),o==="company"&&e.jsx(ja,{data:s,setData:i,onClose:()=>m(null)}),o==="security"&&e.jsx(va,{data:s,setData:i,onClose:()=>m(null)}),o==="delete"&&e.jsx(ya,{data:s,setData:i,onClose:()=>m(null)})]})}function ja({data:a,setData:l,onClose:s}){const c=q(),{ready:i,t}=T("settings_client"),[r,o]=n.useState(!1),[m,u]=n.useState(""),[b,p]=n.useState(a.company.name),[d,x]=n.useState(a.company.website||""),[h,j]=n.useState(a.company.country_id?String(a.company.country_id):""),[v,N]=n.useState(a.company.location_id?String(a.company.location_id):""),[y,k]=n.useState(a.company.currency_id?String(a.company.currency_id):""),[S,P]=n.useState(a.company.default_user_language||"en"),[D,U]=n.useState(null),[E,B]=n.useState(!1),[Y,F]=n.useState(null),O="settings-company-modal-form";n.useEffect(()=>{if(!D){F(null);return}const I=URL.createObjectURL(D);return F(I),()=>URL.revokeObjectURL(I)},[D]);const W=async I=>{if(I.preventDefault(),!!c.accessToken){o(!0),u("");try{let f=await w("/v1/workspaces/current",{method:"PUT",accessToken:c.accessToken,body:{name:b,website:d||null,country_id:h?Number(h):null,location_id:v?Number(v):null,currency_id:y?Number(y):null,default_user_language:S||null}});if(D){const g=new FormData;g.append("file",D),f=await Ce("/v1/workspaces/current/logo",g,{accessToken:c.accessToken})}else E&&(f=await w("/v1/workspaces/current/logo",{method:"DELETE",accessToken:c.accessToken}));l(f),await c.refresh().catch(()=>{}),s()}catch(f){u(C(f))}finally{o(!1)}}};return i?e.jsxs(M,{title:t("settings_update_client_meta_title","Update company settings"),onClose:s,footer:e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:r,form:O,children:t("save_button","Save")}),children:[m&&e.jsx($,{error:!0,children:m}),e.jsxs("form",{id:O,className:"form modal-form-static-footer",onSubmit:W,children:[e.jsx("div",{className:"form-field",children:e.jsxs("div",{className:"file-container",children:[Y?e.jsx("div",{className:"file-preview",children:e.jsx("img",{src:Y,alt:""})}):a.company.logo_url&&!E?e.jsx("div",{className:"file-preview",children:e.jsx("img",{src:se(a.company.logo_url),alt:""})}):e.jsx("div",{className:"avatar lg-avatar empty-avatar",children:e.jsx("i",{className:"fa-regular fa-buildings"})}),e.jsxs("div",{className:"file-container-inner",children:[e.jsxs("div",{className:"file-container-inner-items",children:[e.jsxs("div",{className:"file-container-inner-item",children:[e.jsx("input",{type:"file",id:"settings-company-logo",name:"file",accept:".jpg,.jpeg,.png,.gif,image/jpeg,image/png,image/gif",className:"file-input",onChange:I=>{var g;const f=((g=I.target.files)==null?void 0:g[0])||null;U(f),f&&B(!1)}}),e.jsx("label",{htmlFor:"settings-company-logo",className:"file-upload-button",children:e.jsx("span",{children:a.company.logo_url?t("edit_image","Edit image"):t("add_image","Add image")})})]}),(a.company.logo_url||D)&&e.jsx("div",{className:"file-container-inner-item",children:e.jsxs("div",{className:"remove-file",children:[e.jsx("input",{type:"checkbox",id:"settings-company-remove-logo",name:"remove_file",className:"file-input",checked:E,onChange:I=>{const f=I.target.checked;B(f),f&&U(null)}}),e.jsx("label",{htmlFor:"settings-company-remove-logo",className:"file-upload-button",children:e.jsx("span",{children:E?t("cancel_removal","Cancel removal"):t("remove_file","Remove file")})})]})})]}),e.jsx("p",{className:"file-container-subtle-text",children:t("logo_upload_tip","JPG, PNG or GIF. Max file size 500KB.")})]})]})}),e.jsx(H,{label:t("company_name_label","Company name"),required:!0,value:b,onChange:I=>p(I.target.value)}),e.jsx(H,{label:t("company_website_label","Company website"),value:d,onChange:I=>x(I.target.value)}),e.jsx(ae,{label:t("country_label","Country"),options:a.country_options.map(I=>({id:I.value,label:I.label})),value:h,placeholder:t("select_country_label","Select country"),searchPlaceholder:t("search_countries","Search countries"),pageSize:8,onChange:j}),a.location_options.length>0&&e.jsx(ae,{label:t("location_label","Location"),options:a.location_options.map(I=>({id:I.value,label:I.label})),value:v,placeholder:t("select_location_label","Select location"),searchPlaceholder:t("search_locations","Search locations"),pageSize:8,onChange:N}),e.jsx(ae,{label:t("currency_label","Currency"),options:a.currency_options.map(I=>({id:I.value,label:I.label})),value:y,placeholder:t("select_currency_label","Select currency"),searchPlaceholder:t("search_currencies","Search currencies"),pageSize:8,onChange:k}),a.multi_language_enabled&&e.jsx(ae,{label:t("default_language_label","Default language"),options:a.language_options.map(I=>({id:I.value,label:I.label})),value:S,placeholder:t("select_language_label","Select language"),searchPlaceholder:t("search_languages_label","Search languages"),pageSize:8,onChange:P})]})]}):e.jsx(M,{title:"",onClose:s,children:e.jsx(z,{label:""})})}function va({data:a,setData:l,onClose:s}){const c=q(),{ready:i,t}=T("settings_client"),[r,o]=n.useState(!1),[m,u]=n.useState(""),[b,p]=n.useState(a.company.two_factor_required?"yes":"no"),[d,x]=n.useState(a.company.session_length_key||"30d"),[h,j]=n.useState(a.company.allowed_ip_addresses||""),v="settings-company-security-modal-form",N=async y=>{if(y.preventDefault(),!!c.accessToken){o(!0),u("");
1try{const k=await w("/v1/workspaces/current",{method:"PUT",accessToken:c.accessToken,body:{name:a.company.name,website:a.company.website||null,country_id:a.company.country_id||null,location_id:a.company.location_id||null,currency_id:a.company.currency_id||null,default_user_language:a.company.default_user_language||null,security_require_2fa:b==="yes",security_allowed_ips:h,security_session_length:d}});l(k),s()}catch(k){u(C(k))}finally{o(!1)}}};return i?e.jsxs(M,{title:t("workspace_security_settings","Workspace security settings"),onClose:s,footer:e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:r,form:v,children:t("save_button","Save")}),children:[m&&e.jsx($,{error:!0,children:m}),e.jsxs("form",{id:v,className:"form modal-form-static-footer",onSubmit:N,children:[e.jsxs(ie,{label:t("two_factor_required_label","Two-factor required"),value:b,onChange:y=>p(y.target.value),children:[e.jsx("option",{value:"no",children:t("no_label","No")}),e.jsx("option",{value:"yes",children:t("yes_label","Yes")})]}),e.jsx(ie,{label:t("session_length_label","Session length"),value:d,onChange:y=>x(y.target.value),children:a.session_length_options.map(y=>e.jsx("option",{value:y.value,children:y.label},y.value))}),e.jsx(H,{label:t("allowed_ip_addresses_label","Allowed IP addresses"),placeholder:t("allowed_ip_addresses_placeholder","e.g. 203.0.113.10, 198.51.100.0/24"),value:h,onChange:y=>j(y.target.value)}),e.jsxs("div",{className:"form-label-tip",children:[e.jsx("i",{className:"fa-regular fa-lightbulb"}),e.jsx("p",{children:t("allowed_ip_addresses_tip","Separate multiple IP addresses with commas.")})]})]})]}):e.jsx(M,{title:"",onClose:s,children:e.jsx(z,{label:""})})}function ya({data:a,setData:l,onClose:s}){const c=q(),{ready:i,t}=T("settings_client"),[r,o]=n.useState(!1),[m,u]=n.useState(""),[b,p]=n.useState(a),d=b.company.can_cancel_deletion?"cancel":"schedule",x=async()=>{if(c.accessToken){o(!0),u("");try{const h=await w("/v1/workspaces/current/deletion",{method:d==="cancel"?"DELETE":"POST",accessToken:c.accessToken});l(h),p(h),s(),c.refresh().catch(()=>{})}catch(h){u(C(h))}finally{o(!1)}}};return i?e.jsxs(M,{title:d==="cancel"?t("cancel_scheduled_deletion","Cancel scheduled deletion"):t("schedule_workspace_deletion","Schedule workspace deletion"),onClose:s,footer:e.jsx(G,{type:"button",className:"btn warning-btn",loading:r,onClick:x,children:d==="cancel"?t("cancel_deletion","Cancel deletion"):t("schedule_deletion","Schedule deletion")}),children:[m&&e.jsx($,{error:!0,children:m}),e.jsxs("div",{className:"empty-state",children:[e.jsx("i",{className:"fa-regular fa-circle-exclamation"}),e.jsx("p",{className:"readable-text",children:d==="cancel"?t("cancel_deletion_warning","This will cancel the scheduled workspace deletion."):t("schedule_deletion_warning","This will schedule this workspace for deletion in 30 days.")})]})]}):e.jsx(M,{title:"",onClose:s,children:e.jsx(z,{label:""})})}const Na={leave_year:"Company leave year",announcements:"Workspace announcement settings",disciplinaries:"Workspace disciplinary settings",grievances:"Workspace grievance settings",investigations:"Workspace investigation settings",whistleblowing:"Workspace whistleblowing settings",resignations:"Workspace resignation settings"},re={announcements:"Announcement enabled",disciplinaries:"Disciplinary enabled",grievances:"Grievance enabled",investigations:"Investigation enabled",whistleblowing:"Whistleblowing enabled",resignations:"Resignation enabled"},ka={leave_year:"company_leave_year_label",announcements:"workspace_announcement_settings",disciplinaries:"workspace_disciplinary_settings",grievances:"workspace_grievance_settings",investigations:"workspace_investigation_settings",whistleblowing:"workspace_whistleblowing_settings",resignations:"workspace_resignation_settings"},oe={announcements:"announcements_enabled_label",disciplinaries:"disciplinaries_enabled_label",grievances:"grievances_enabled_label",investigations:"investigations_enabled_label",whistleblowing:"whistleblowing_enabled_label",resignations:"resignations_enabled_label"};function ss(){const{ready:a,t:l}=T("settings_client");ee(l("settings_hr_settings","HR settings"));const{data:s,error:c,setData:i}=He(),[t,r]=n.useState(!1),[o,m]=n.useState(null),u=n.useRef(null);n.useEffect(()=>{if(!t)return;const d=x=>{var h;(h=u.current)!=null&&h.contains(x.target)||r(!1)};return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[t]);const b=(d,x)=>{d.preventDefault(),r(!1),m(x)};if(!a||!s&&!c)return e.jsx(z,{label:""});if(!s)return e.jsx($,{error:!0,children:c});const p=d=>d?l("yes_label","Yes"):l("no_label","No");return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"page-header page-header-border settings-hr-page-header",children:[e.jsx("h6",{children:l("hr_settings_heading","HR settings")}),e.jsx("div",{className:"page-header-actions",children:e.jsxs("div",{className:"dropdown-menu-container",ref:u,children:[e.jsxs("a",{href:"#",className:`btn primary-btn btn-sml dropdown-btn menu-toggle${t?" selected":""}`,"data-target":"#hrSettingsActionMenu",onClick:d=>{d.preventDefault(),r(x=>!x)},children:[e.jsx("p",{children:l("update_hr_settings","Update HR settings")}),e.jsx("i",{className:"fa-regular fa-chevron-down"})]}),e.jsx("div",{id:"hrSettingsActionMenu",className:`menu menu-wide menu-actions-left menu-actions-x-margin menu-actions box-shadow-menu${t?" show":""}`,children:e.jsxs("div",{className:"menu-section",children:[e.jsx("a",{href:"#",className:"menu-item",onClick:d=>b(d,"leave_year"),children:e.jsx("p",{children:l("edit_company_leave_year","Edit company leave year")})}),e.jsx("a",{href:"#",className:"menu-item",onClick:d=>b(d,"announcements"),children:e.jsx("p",{children:l("edit_announcement_settings","Edit announcement settings")})}),e.jsx("a",{href:"#",className:"menu-item",onClick:d=>b(d,"disciplinaries"),children:e.jsx("p",{children:l("edit_disciplinary_settings","Edit disciplinary settings")})}),e.jsx("a",{href:"#",className:"menu-item",onClick:d=>b(d,"grievances"),children:e.jsx("p",{children:l("edit_grievance_settings","Edit grievance settings")})}),e.jsx("a",{href:"#",className:"menu-item",onClick:d=>b(d,"investigations"),children:e.jsx("p",{children:l("edit_investigation_settings","Edit investigation settings")})}),e.jsx("a",{href:"#",className:"menu-item",onClick:d=>b(d,"whistleblowing"),children:e.jsx("p",{children:l("edit_whistleblowing_settings","Edit whistleblowing settings")})}),e.jsx("a",{href:"#",className:"menu-item",onClick:d=>b(d,"resignations"),children:e.jsx("p",{children:l("edit_resignation_settings","Edit resignation settings")})})]})})]})})]}),e.jsx("div",{className:"settings-user",children:e.jsxs("div",{className:"settings-user-items",children:[e.jsx(K,{label:l("company_leave_year_label","Company leave year"),value:s.leave_year.has_leave_year?`${s.leave_year.start_date} - ${s.leave_year.end_date}`:"-"}),e.jsx(K,{label:l(oe.resignations,re.resignations),value:p(s.flags.resignations_enabled)}),e.jsx(K,{label:l(oe.announcements,re.announcements),value:p(s.flags.announcements_enabled)}),e.jsx(K,{label:l(oe.disciplinaries,re.disciplinaries),value:p(s.flags.disciplinaries_enabled)}),e.jsx(K,{label:l(oe.grievances,re.grievances),value:p(s.flags.grievances_enabled)}),e.jsx(K,{label:l("grievance_auto_add_team_managers_as_contributors_summary_label","Auto add team managers as contributors"),value:p(s.flags.grievance_auto_add_team_managers_as_contributors)}),e.jsx(K,{label:l(oe.investigations,re.investigations),value:p(s.flags.investigations_enabled)}),e.jsx(K,{label:l(oe.whistleblowing,re.whistleblowing),value:p(s.flags.whistleblowing_enabled)})]})}),o==="leave_year"&&e.jsx(wa,{data:s,setData:i,onClose:()=>m(null)}),o&&o!=="leave_year"&&e.jsx(Sa,{kind:o,data:s,setData:i,onClose:()=>m(null)})]})}function Sa({kind:a,data:l,setData:s,onClose:c}){const i=q(),{ready:t,t:r}=T("settings_client"),[o,m]=n.useState(!1),[u,b]=n.useState(""),p={announcements:"announcements_enabled",disciplinaries:"disciplinaries_enabled",grievances:"grievances_enabled",investigations:"investigations_enabled",whistleblowing:"whistleblowing_enabled",resignations:"resignations_enabled"},[d,x]=n.useState(l.flags[p[a]]?"yes":"no"),[h,j]=n.useState(a==="grievances"?String(l.flags.grievance_default_owner_user_id||""):a==="whistleblowing"?Str
1ing(l.flags.whistleblowing_default_owner_user_id||""):""),[v,N]=n.useState(l.flags.grievance_auto_add_team_managers_as_contributors?"yes":"no"),y=`settings-hr-${a}-modal-form`,k=async S=>{if(S.preventDefault(),!!i.accessToken){m(!0),b("");try{const P=await w("/v1/workspaces/current/hr/toggle",{method:"PUT",accessToken:i.accessToken,body:{key:a,enabled:d==="yes",default_owner_user_id:h?Number(h):null,auto_add_team_managers_as_contributors:a==="grievances"?v==="yes":null}});s(P),c()}catch(P){b(C(P))}finally{m(!1)}}};return t?e.jsxs(M,{title:r(ka[a],Na[a]),onClose:c,footer:e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:o,form:y,children:r("save_button","Save")}),children:[u&&e.jsx($,{error:!0,children:u}),e.jsxs("form",{id:y,className:"form modal-form-static-footer",onSubmit:k,children:[e.jsxs(ie,{label:r(oe[a],re[a]),value:d,onChange:S=>x(S.target.value),children:[e.jsx("option",{value:"no",children:r("no_label","No")}),e.jsx("option",{value:"yes",children:r("yes_label","Yes")})]}),(a==="grievances"||a==="whistleblowing")&&e.jsx(ae,{label:a==="grievances"?r("grievance_default_owner_label","Default grievance owner"):r("whistleblowing_default_owner_label","Default whistleblowing owner"),options:l.owner_options.map(S=>({id:S.id,label:S.label,subtitle:S.subtitle||void 0})),value:h,onChange:S=>j(S||""),placeholder:r("select_label","Select")}),a==="grievances"&&e.jsxs(ie,{label:r("grievance_auto_add_team_managers_as_contributors_label","Auto add team managers as contributors"),value:v,onChange:S=>N(S.target.value),children:[e.jsx("option",{value:"no",children:r("no_label","No")}),e.jsx("option",{value:"yes",children:r("yes_label","Yes")}
1)]}),e.jsxs("div",{className:"form-label-tip",children:[e.jsx("i",{className:"fa-regular fa-lightbulb"}),e.jsx("p",{children:a==="grievances"?r("grievance_settings_hint","These settings control how grievance cases are created and assigned."):r(`${a}_enabled_hint`,"This setting controls whether the HR feature is available in this workspace.")})]})]})]}):e.jsx(M,{title:"",onClose:c,children:e.jsx(z,{label:""})})}function wa({data:a,setData:l,onClose:s}){const c=q(),{ready:i,t}=T("settings_client"),[r,o]=n.useState(!1),[m,u]=n.useState(""),[b,p]=n.useState(""),[d,x]=n.useState(""),[h,j]=n.useState(""),v="settings-hr-leave-year-modal-form",N=a.leave_year.has_scheduled_change?"cancel_schedule":b==="yes"?"immediate_reset":"scheduled",y=async k=>{if(k.preventDefault(),!!c.accessToken){o(!0),u("");try{const S=await w("/v1/workspaces/current/hr/leave-year",{method:"PUT",accessToken:c.accessToken,body:{mode:N,next_start_date:d||null,confirm_text:h||null}});l(S),s()}catch(S){u(C(S))}finally{o(!1)}}};return i?e.jsxs(M,{title:a.leave_year.has_scheduled_change?t("cancel_scheduled_leave_year_change","Cancel scheduled leave year change?"):t("company_leave_year_label","Company leave year"),onClose:s,footer:e.jsx(G,{type:"submit",className:a.leave_year.has_scheduled_change?"btn warning-btn form-btn":"btn primary-btn form-btn",loading:r,form:v,children:a.leave_year.has_scheduled_change?t("cancel_label","Cancel"):t("save_button","Save")}),children:[m&&e.jsx($,{error:!0,children:m}),e.jsxs("form",{id:v,className:"form modal-form-static-footer",onSubmit:y,children:[a.leave_year.notice&&e.jsxs("div",{className:"form-label-tip",children:[e.jsx("i",{className:"fa-regular fa-lightbulb"}),e.jsx("p",{children:a.leave_year.notice})]}),!a.leave_year.has_scheduled_change&&e.jsxs(e.Fragment,{children:[e.jsxs(ie,{label:t("change_immediately_label","Change immediately"),value:b,onChange:k=>p(k.target.value),children:[e.jsx("option",{value:"",children:t("select_label","Select")}),e.jsx("option",{value:"yes",children:t("yes_label","Yes")}
1),e.jsx("option",{value:"no",children:t("no_label","No")})]}),b==="no"&&e.jsx(H,{label:t("next_start_date_label","Next start date"),type:"date",min:a.leave_year.current_end_date||void 0,value:d,onChange:k=>x(k.target.value)}),b==="yes"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"form-label-tip",children:[e.jsx("i",{className:"fa-regular fa-triangle-exclamation"}),e.jsx("p",{children:t("leave_year_immediate_warning","This will start a new leave year immediately and cancel future active requests.")})]}),e.jsx(H,{label:t("type_reset_to_confirm","Type RESET to confirm"),value:h,onChange:k=>j(k.target.value)})]})]})]})]}):e.jsx(M,{title:"",onClose:s,children:e.jsx(z,{label:""})})}function ke({data:a,setData:l}){const[s,c]=n.useState(!1),{ready:i,t}=T("settings_client");return i?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"settings-user",children:e.jsxs("div",{className:"settings-user-header",children:[e.jsx("div",{className:"avatar lg-avatar empty-avatar",children:e.jsx("i",{className:"fa-regular fa-sitemap"})}),e.jsxs("div",{className:"settings-user-header-details",children:[e.jsx("h6",{children:t("franchise_brand_settings_heading","Franchise brand settings")}),e.jsx("p",{children:t("franchise_brand_available_subtitle","Create a franchise brand to manage sites and franchise admins.")})]}),a.can_create_brand&&e.jsx("div",{className:"settings-user-header-right",children:e.jsx("div",{className:"page-header-actions",children:e.jsx("button",{type:"button",className:"btn primary-btn",onClick:()=>c(!0),children:e.jsx("p",{children:t("create_franchise_brand_button","Create franchise brand")})})})})]})}),s&&e.jsx(Ta,{setData:l,onClose:()=>c(!1)})]}):e.jsx(z,{label:""})}function ts(){const{ready:a,t:l}=T("settings_client");ee(l("settings_franchise_settings","Franchise settings"));const{data:s,error:c,setData:i}=Ne(),[t,r]=n.useState(!1);if(!a||!s&&!c)return e.jsx(z,{label:""});if(!s)return e.jsx($,{error:!0,children:c});if(!s.has_brand||!s.brand)return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-header",children:e.jsx("h6",{children:l("franchise_general_heading","Franchise general")})}),e.jsx(ke,{data:s,setData:i})]});const o=s.brand;return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-header",children:e.jsx("h6",{children:l("franchise_general_heading","Franchise general")})}),e.jsxs("div",{className:"settings-user",children:[e.jsxs("div",{className:"settings-user-header",children:[o.logo_url?e.jsx("div",{className:"avatar lg-avatar",children:e.jsx("img",{src:se(o.logo_url),alt:""})}):e.jsx("div",{className:"avatar lg-avatar empty-avatar",children:e.jsx("i",{className:"fa-regular fa-sitemap"})}),e.jsxs("div",{className:"settings-user-header-details",children:[e.jsx("h6",{children:o.name}),e.jsx("p",{children:o.created_date?V(l("franchise_created_on_value","Created on {date}"),{date:te(o.created_date)}):l("franchise_created_date_unavailable","Created date unavailable")})]}),e.jsx("div",{className:"settings-user-header-right",children:e.jsx("div",{className:"page-header-actions",children:e.jsx("button",{type:"button",className:"btn primary-btn",onClick:()=>r(!0),children:e.jsx("p",{children:l("update_franchise_settings_button","Update franchise settings")})})})})]}),e.jsxs("div",{className:"settings-user-items",children:[e.jsx(K,{label:l("franchise_brand_name_label","Franchise brand name"),value:o.name}),e.jsx(K,{label:l("franchise_master_workspace_label","Franchise master workspace"),value:o.master_workspace_name||"-"}),e.jsx(K,{label:l("franchise_total_sites_label","Total sites"),value:o.total_sites}),e.jsx(K,{label:l("franchise_total_employees_label","Total employees"),value:o.total_employees})]})]}),t&&e.jsx(Ca,{data:s,setData:i,onClose:()=>r(!1)})]})}function ls(){const{ready:a,t:l}=T("settings_client");ee(l("settings_franchise_sites","Franchise sites"));const{data:s,error:c,setData:i}=Ne(),[t,r]=n.useState("");if(!a||!s&&!c)return e.jsx(z,{label:""});if(!s)return e.jsx($,{error:!0,children:c});if(!s.has_brand)return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-header",children:e.jsx("h6",{children:l("franchise_sites_heading","Franchise sites")})}),e.jsx(ke,{data:s,setData:i})]});const o=s.sites.filter(m=>`${m.client_name} ${m.owner_name||""} ${m.owner_email||""}`.toLowerCase().includes(t.toLowerCase()));return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"page-header page-header-with-search page-header-border settings-matrix-page-header",children:[e.jsx("div",{className:"page-header-left",children:e.jsx("h6",{children:l("franchise_sites_heading","Franchise sites")})}),e.jsxs("div",{className:"page-search",children:[e.jsxs("form",{onSubmit:m=>m.preventDefault(),children:[e.jsx("input",{type:"text",value:t,onChange:m=>r(m.target.value),placeholder:l("franchise_brand_search_placeholder","Search franchise sites")}),e.jsx("button",{className:"btn-icon page-search-btn",type:"submit",children:e.jsx("i",{className:"fa-regular fa-magnifying-glass"})})]}),e.jsx("button",{type:"button",className:"btn-icon page-search-clear-btn",onClick:()=>r(""),children:e.jsx("i",{className:"fa-regular fa-xmark"})})]})]}),e.jsx("div",{className:"settings-page settings-teammates-visibility-table settings-teams-full-width-table",children:o.length?e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{children:[e.jsx("th",{className:"table-header-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("span",{children:l("franchise_site_workspace_name_label","Workspace name")}
1)}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:l("franchise_people_count_label","People")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:l("franchise_locations_count_label","Locations")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:l("account_owner_label","Account owner")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:l("franchise_brand_status_label","Status")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:l("joined_label","Joined")})})]})}),e.jsx("tbody",{className:"table-body",children:o.map(m=>e.jsxs("tr",{className:"table-body-row",children:[e.jsx("td",{className:"table-body-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsxs("div",{className:"table-cell-flex teammates-visibility-person-cell",children:[m.logo_url?e.jsx("div",{className:"avatar sml-avatar",children:e.jsx("img",{src:se(m.logo_url),alt:""})}):e.jsx("div",{className:"avatar sml-avatar empty-avatar",children:e.jsx("i",{className:"fa-regular fa-building"})}),e.jsxs("div",{className:"table-cell-flex-inner",children:[e.jsx("p",{className:"text-overflow-hidden",children:m.client_name}),e.jsxs("p",{className:"subtle-text text-overflow-hidden",children:["#",m.client_id]})]})]})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("p",{children:m.people_count})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("p",{children:m.location_count})}),e.jsxs("td",{className:"table-body-cell table-cell",children:[e.jsx("p",{className:"text-overflow-hidden",children:m.owner_name||"-"}),e.jsx("p",{className:"subtle-text text-overflow-hidden",children:m.owner_email||""})]}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("div",{className:`items-01-item-status${m.status==="active"?" items-01-item-status-blue":m.status==="suspended"?" items-01-item-status-red":""}`,children:e.jsx("p",{children:m.is_current?l("franchise_brand_status_current","Current"):l(`franchise_brand_status_${m.status}`,m.status)})})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("p",{children:te(m.joined_at)})})]},m.brand_client_id))})]})})})}):e.jsx(he,{title:l("franchise_brand_empty_title","No franchise sites")})})]})}function ns(){const{ready:a,t:l}=T("settings_client");ee(l("settings_access_management","Access management"));const{data:s,error:c,setData:i}=Ne(),[t,r]=n.useState(!1),[o,m]=n.useState(null);return!a||!s&&!c?e.jsx(z,{label:""}):s?s.has_brand?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"page-header page-header-border settings-matrix-page-header",children:[e.jsx("div",{className:"page-header-left",children:e.jsx("h6",{children:l("franchise_access_management_heading","Franchise access management")})}),e.jsx("div",{className:"page-header-actions",children:e.jsx("button",{type:"button",className:"btn primary-btn btn-sml settings-matrix-primary-action",onClick:()=>r(!0),children:e.jsx("p",{children:l("invite_franchise_admin_button","Invite franchise admin")})})})]}),e.jsx("div",{className:"settings-page settings-teammates-visibility-table settings-teams-full-width-table",children:s.access_records.length?e.jsx("div",{className:"table-wrapper no-text-highlight",children:e.jsx("div",{className:"table-container",children:e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table",children:[e.jsx("thead",{className:"table-header",children:e.jsxs("tr",{children:[e.jsx("th",{className:"table-header-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsx("span",{children:l("franchise_admin_user_label","Person")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:l("franchise_access_role_label","Role")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:l("franchise_access_scope_label","Scope")})}),e.jsx("th",{className:"table-header-cell table-cell",children:e.jsx("span",{children:l("franchise_brand_status_label","Status")})}),e.jsx("th",{className:"table-header-cell table-cell table-action-cell franchise-access-remove-col",children:e.jsx("span",{children:l("remove_access_col_header","Remove")})})]})}),e.jsx("tbody",{className:"table-body",children:s.access_records.map(u=>e.jsxs("tr",{className:"table-body-row",children:[e.jsx("td",{className:"table-body-cell table-cell table-cell-lg teammates-visibility-person-col",children:e.jsxs("div",{className:"table-cell-flex teammates-visibility-person-cell",children:[u.user_avatar_path?e.jsx("div",{className:"avatar sml-avatar",children:e.jsx("img",{src:se(u.user_avatar_path),alt:""})}):e.jsx("div",{className:"avatar sml-avatar empty-avatar",children:e.jsx("p",{children:u.user_initials})}),e.jsxs("div",{className:"table-cell-flex-inner",children:[e.jsx("p",{className:"text-overflow-hidden",children:u.user_name}),e.jsx("p",{className:"subtle-text text-overflow-hidden",children:u.user_email})]})]})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("p",{children:u.role==="master_admin"?l("franchise_role_master_admin","Master admin"):l("franchise_role_brand_admin","Brand admin")})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("p",{children:u.scope_type==="selected_clients"?l("franchise_scope_selected_clients","Selected clients"):l("franchise_scope_all_clients","All clients")})}),e.jsx("td",{className:"table-body-cell table-cell",children:e.jsx("div",{className:`items-01-item-status${u.status==="active"?" items-01-item-status-blue":""}`,children:e.jsx("p",{children:l(`franchise_brand_status_${u.status}`,u.status)})})}),e.jsx("td",{className:"table-body-cell table-cell table-action-cell franchise-access-remove-col",children:u.can_remove?e.jsx("button",{type:"button",className:"btn-icon",onClick:()=>m(u.id),children:e.jsx("i",{className:"fa-regular fa-trash"})}):e.jsx("p",{children:"-"})})]},u.id))})]})})})}):e.jsx(he,{title:l("franchise_access_empty_title","No franchise admins")})}),t&&e.jsx(Pa,{data:s,setData:i,onClose:()=>r(!1)}),o!==null&&e.jsx(Da,{accessRecordId:o,setData:i,onClose:()=>m(null)})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-header",children:e.jsx("h6",{children:l("franchise_access_management_heading","Franchise access management")})}),e.jsx(ke,{data:s,setData:i})]}):e.jsx($,{error:!0,children:c})}function Ta({setData:a,onClose:l}){const s=q(),{ready:c,t:i}=T("settings_client"),[t,r]=n.useState(""),[o,m]=n.useState(!1),[u,b]=n.useState(""),p="settings-franchise-create-form",d=async x=>{if(x.preventDefault(),!!s.accessToken){m(!0),b("");try{const h=await w("/v1/franchise",{method:"POST",accessToken:s.accessToken,body:{name:t}});a(h),l()}catch(h){b(C(h))}finally{m(!1)}}};return c?e.jsxs(M,{title:i("create_franchise_brand_title","Create franchise brand"),onClose:l,footer:e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:o,form:p,children:i("create_franchise_brand_button","Create")}),children:[u&&e.jsx($,{error:!0,children:u}),e.jsx("form",{id:p,className:"form modal-form-static-footer",onSubmit:d,children:e.jsx(H,{label:i("franchise_brand_name_label","Franchise brand name"),required:!0,value:t,onChange:x=>r(x.target.value)})})]}):e.jsx(M,{title:"",onClose:l,children:e.jsx(z,{label:""})})}function Ca({data:a,setData:l,onClose:s}){const c=q(),{ready:i,t}=T("settings_client"),r=a.brand,[o,m]=n.useState(r.name),[u,b]=n.useState(r.default_country_id?String(r.default_country_id):""),[p,d]=n.useState(r.default_currency_id?String(r.default_currency_id):""),[x,h]=n.useState(r.default_leave_year_start_date||""),[j,v]=n.useState(!1),[N,y]=n.useState(""),k="settings-franchise-update-form",S=async P=>{if(P.preventDefault(),!!c.accessToken){v(!0),y("");try{const D=await w("/v1/franchise/brand",{method:"PUT",accessToken:c.accessToken,body:{name:o,default_country_id:u?Number(u):null,default_currency_id:p?Number(p):null,default_leave_year_start_date:x||null}});l(D),s()}catch(D){y(C(D))}finally{v(!1)}}};return i?e.jsxs(M,{title:t("franchise_group_settings_title","Franchise group settings"),onClose:s,footer:e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:j,form:k,children:t("save_button","Save")}),children:[N&&e.jsx($,{error:!0,children:N}),e.jsxs("form",{id:k,className:"form modal-form-static-footer",onSubmit:S,children:[e.jsx(H,{label:t("franchise_brand_name_label","Franchise brand name"),required:!0,value:o,onChange:P=>m(P.target.value)}),e.jsx(ae,{label:t("franchise_brand_default_location_label","Default country"),options:a.country_options.map(P=>({id:P.value,label:P.label})),value:u,onChange:b,placeholder:t("select_label","Select"),searchPlaceholder:t("search_countries","Search countries")}),e.jsx(ae,{label:t("franchise_brand_default_currency_label","Default currency"),options:a.currency_options.map(P=>({id:P.value,label:P.label})),value:p,onChange:d,placeholder:t("select_label","Select"),searchPlaceholder:t("search_currencies","Search currencies")}),e.jsx(H,{label:t("franchise_brand_default_leave_year_start_label","Default leave year start date"),type:"date",value:x,onChange:P=>h(P.target.value)})]})]}):e.jsx(M,{title:"",onClose:s,children:e.jsx(z,{label:""})})}function Pa({data:a,setData:l,onClose:s}){const c=q(),{ready:i,t}=T("settings_client"),[r,o]=n.useState(""),[m,u]=n.useState(!1),[b,p]=n.useState(""),d="settings-franchise-invite-admin-form",x=async h=>{if(h.preventDefault(),!(!c.accessToken||!r)){u(!0),p("");try{const j=await w("/v1/franchise/admins",{method:"POST",accessToken:c.accessToken,body:{user_id:Number(r)}});l(j),s()}catch(j){p(C(j))}finally{u(!1)}}};return i?e.jsxs(M,{title:t("invite_franchise_admin_title","Invite franchise admin"),onClose:s,footer:e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:m,form:d,children:t("invite_franchise_admin_button","Invite")}),children:[b&&e.jsx($,{error:!0,children:b}),e.jsx("form",{id:d,className:"form modal-form-static-footer",onSubmit:x,children:e.jsx(ae,{label:t("franchise_admin_user_label","Person"),options:a.available_admin_users.map(h=>({id:h.id,label:h.label,subtitle:h.subtitle||void 0})),value:r,onChange:o,placeholder:t("select_label","Select")})})]}):e.jsx(M,{title:"",onClose:s,children:e.jsx(z,{label:""})})}function Da({accessRecordId:a,setData:l,onClose:s}){const c=q(),{ready:i,t}=T("settings_client"),[r,o]=n.useState(!1),[m,u]=n.useState(""),b=async()=>
1{if(c.accessToken){o(!0),u("");try{const p=await w(`/v1/franchise/admins/${a}`,{method:"DELETE",accessToken:c.accessToken});l(p),s()}catch(p){u(C(p))}finally{o(!1)}}};return i?e.jsxs(M,{title:t("remove_franchise_admin_title","Remove franchise admin"),onClose:s,closeDisabled:r,contentClassName:"disciplinary-modal delete-modal delete-modal-compact",footer:e.jsx(G,{type:"button",className:"btn red-btn delete-modal-confirm-btn",loading:r,onClick:b,children:t("remove_franchise_admin_button","Remove")}),children:[m&&e.jsx($,{error:!0,children:m}),e.jsxs("div",{className:"delete-modal-warning",children:[e.jsx("div",{className:"delete-modal-warning-icon",children:e.jsx("i",{className:"fa-regular fa-circle-exclamation"})}),e.jsx("p",{className:"readable-text",children:t("remove_franchise_admin_confirm_generic","Remove this person's franchise admin access?")})]})]}):e.jsx(M,{title:"",onClose:s,children:e.jsx(z,{label:""})})}function is(){const{ready:a,t:l}=T("settings_user");ee(l("settings_user_meta_title","User settings"));const{data:s,error:c,setData:i}=ze(),[t,r]=n.useState(!1),[o,m]=n.useState(null),u=n.useRef(null);n.useEffect(()=>{if(!t)return;const h=j=>{var v;(v=u.current)!=null&&v.contains(j.target)||r(!1)};return document.addEventListener("mousedown",h),()=>document.removeEventListener("mousedown",h)},[t]);const b=(h,j)=>{h.preventDefault(),r(!1),m(j)};if(!a||!s&&!c)return e.jsx(z,{label:""});if(!s)return e.jsx($,{error:!0,children:c});const p=h=>{var v;const j=(h||"").toLowerCase();return j==="system"?l("theme_system","System"):j==="light"?l("theme_light","Light"):j==="dark"?l("theme_dark","Dark"):((v=s.theme_options.find(N=>N.value===s.profile.theme_mode))==null?void 0:v.label)||s.profile.theme_mode},d=V(l("user_permission_info","{user_permission} at {user_client_name}"),{user_permission:s.profile.permission_name||l("member_label","Member"),user_client_name:s.profile.workspace_name}),x=s.profile.member_since?V(l("member_since","Joined {user_created_date}"),{user_created_date:te(s.profile.member_since)}):l("joined_date_unavailable","Joined date unavailable");return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-header",children:e.jsx("h6",{children:l("your_settings_header","Your settings")})}),e.jsxs("div",{className:"settings-user",children:[e.jsxs("div",{className:"settings-user-header",children:[e.jsx(xa,{data:s}),e.jsxs("div",{className:"settings-user-header-details",children:[e.jsx("h6",{children:s.profile.full_name}),e.jsx("p",{children:d}),e.jsx("p",{children:x})]}),e.jsx("div",{className:"settings-user-header-right",children:e.jsx("div",{className:"page-header-actions",children:e.jsxs("div",{className:"dropdown-menu-container",ref:u,children:[e.jsxs("a",{className:`btn primary-btn dropdown-btn menu-toggle${t?" selected":""}`,"data-target":"#userActionMenu",href:"#",onClick:h=>{h.preventDefault(),r(j=>!j)},children:[e.jsx("p",{children:l("settings","Settings")}),e.jsx("i",{className:"fa-regular fa-chevron-down"})]}),e.jsx("div",{id:"userActionMenu",className:`menu menu-wide menu-actions-left menu-actions-x-margin menu-actions box-shadow-menu${t?" show":""}`,children:e.jsxs("div",{className:"menu-section",children:[e.jsx("a",{href:"#",className:"menu-item",onClick:h=>b(h,"profile"),children:e.jsx("p",{children:l("edit_settings","Edit settings")})}),e.jsx("a",{href:"#",className:"menu-item",onClick:h=>b(h,"notifications"),children:e.jsx("p",{children:l("edit_email_preferences","Edit email preferences")})}),e.jsx("a",{href:"#",className:"menu-item",onClick:h=>b(h,"data"),children:e.jsx("p",{children:l("about_your_data","About your data")})})]})})]})})})]}),e.jsxs("div",{className:"settings-user-items",children:[e.jsx(K,{label:l("name","Name"),value:s.profile.full_name}),e.jsx(K,{label:l("email","Email"),value:s.profile.email}),e.jsx(K,{label:l("phone_number","Phone number"),value:s.profile.phone_number||l("no_phone_number","-")}),e.jsx(K,{label:l("password","Password"),value:"•••••••••••",action:e.jsx("button",{type:"button",className:"btn subtle-btn btn-sml",onClick:()=>m("password"),children:e.jsx("p",{children:l("change_password","Change password")})})}),s.profile.security_plan_enabled&&e.jsx(K,{label:l("two_factor_auth","Two-factor authentication"),value:s.profile.totp_enabled?l("enabled_label","Enabled"):l("disabled_label","Disabled"),action:e.jsx("button",{type:"button",className:"btn subtle-btn btn-sml",onClick:()=>m("mfa"),children:e.jsx("p",{children:s.profile.totp_enabled?l("manage_2fa","Manage 2FA"):l("set_up_2fa","Set up 2FA")})})}),e.jsx(K,{label:l("calendar_feed","Your calendar feed"),value:e.jsx("span",{className:"text-overflow-hidden",children:s.profile.calendar_feed_url})}),e.jsx(K,{label:l("timezone","Timezone"),value:s.profile.timezone}),e.jsx(K,{label:l("appearance","Appearance"),value:p(s.profile.theme_mode)}),e.jsx(K,{label:l("language","Language"),value:s.profile.language_label})]})]}),o==="profile"&&e.jsx(Ea,{data:s,setData:i,onClose:()=>m(null)}),o==="notifications"&&e.jsx(La,{data:s,setData:i,onClose:()=>m(null)}),o==="data"&&e.jsx($a,{onClose:()=>m(null)}),o==="password"&&e.jsx(Aa,{onClose:()=>m(null)}),o==="mfa"&&e.jsx(Ra,{data:s,setData:i,onClose:()=>m(null)})]})}function Ea({data:a,setData:l,onClose:s}){const c=q(),{ready:i,t}=T("settings_user"),[r,o]=n.useState(!1),[m,u]=n.useState(""),[b,p]=n.useState(a.profile.first_name),[d,x]=n.useState(a.profile.last_name),[h,j]=n.useState(a.profile.email),[v,N]=n.useState(a.profile.phone_number||""),[y,k]=n.useState(a.profile.timezone||""),[S,P]=n.useState(a.profile.theme_mode||"system"),[D,U]=n.useState(a.profile.language||"en"),[E,B]=n.useState(null),[Y,F]=n.useState(!1),[O,W]=n.useState(null),I="settings-profile-modal-form";n.useEffect(()=>{if(!E){W(null);return}const g=URL.createObjectURL(E);return W(g),()=>URL.revokeObjectURL(g)},[E]);const f=async g=>{if(g.preventDefault(),!!c.accessToken){o(!0),u("");try{let Q=await w("/v1/profile",{method:"PUT",accessToken:c.accessToken,body:{f
1irst_name:b,last_name:d,email:h,phone_number:v||null,timezone:y||null,theme_mode:S,language:D||null}});if(E){const _=new FormData;_.append("file",E),Q=await Ce("/v1/profile/avatar",_,{accessToken:c.accessToken})}else Y&&(Q=await w("/v1/profile/avatar",{method:"DELETE",accessToken:c.accessToken}));l(Q),qe(Q.profile.theme_mode),await c.refresh().catch(()=>{}),s()}catch(Q){u(C(Q))}finally{o(!1)}}};return i?e.jsxs(M,{title:t("settings_update_user_meta_title","Update your settings"),onClose:s,footer:e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"btn subtle-btn",onClick:s,children:e.jsx("p",{children:t("cancel_label","Cancel")})}),e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:r,form:I,children:t("save_button","Save")})]}),children:[m&&e.jsx($,{error:!0,children:m}),e.jsxs("form",{id:I,className:"form modal-form-static-footer",onSubmit:f,children:[e.jsx("div",{className:"form-field",children:e.jsxs("div",{className:"file-container",children:[O?e.jsx("div",{className:"file-preview",children:e.jsx("img",{src:O,alt:""})}):a.profile.avatar_url&&!Y?e.jsx("div",{className:"file-preview",children:e.jsx("img",{src:se(a.profile.avatar_url),alt:""})}):e.jsx("div",{className:"avatar lg-avatar empty-avatar",children:e.jsx("p",{children:a.profile.initials})}),e.jsxs("div",{className:"file-container-inner no-text-highlight",children:[e.jsxs("div",{className:"file-container-inner-items",children:[e.jsxs("div",{className:"file-container-inner-item",children:[e.jsx("input",{type:"file",id:"settings-profile-avatar",name:"file",accept:".jpg,.jpeg,.png,.gif,image/jpeg,image/png,image/gif",className:"file-input",onChange:g=>{var _;const Q=((_=g.target.files)==null?void 0:_[0])||null;B(Q),Q&&F(!1)}}),e.jsx("label",{htmlFor:"settings-profile-avatar",className:"file-upload-button",children:e.jsx("span",{children:a.profile.avatar_url?t("edit_image","Edit image"):t("add_image","Add image")})})]}),(a.profile.avatar_url||E)&&e.jsx("div",{className:"file-container-inner-item",children:e.jsxs("div",{className:"remove-image",children:[e.jsx("input",{type:"checkbox",id:"settings-profile-remove-avatar",className:"file-input",checked:Y,onChange:g=>{const Q=g.target.checked;F(Q),Q&&B(null)}}),e.jsx("label",{htmlFor:"settings-profile-remove-avatar",className:"file-upload-button",children:e.jsx("span",{children:Y?t("cancel_removal","Cancel removal"):t("remove_image","Remove image")})})]})})]}),e.jsx("p",{className:"file-container-subtle-text",children:t("profile_image_upload_tip","JPG, PNG or GIF. Max file size 500KB.")})]})]})}),e.jsx(H,{label:t("first_name","First name"),required:!0,maxLength:50,value:b,onChange:g=>p(g.target.value)}),e.jsx(H,{label:t("last_name","Last name"),required:!0,maxLength:50,value:d,onChange:g=>x(g.target.value)}),e.jsx(H,{label:t("email","Email"),type:"email",required:!0,maxLength:255,value:h,onChange:g=>j(g.target.value)}),e.jsx(H,{label:t("phone_number","Phone number"),maxLength:20,value:v,onChange:g=>N(g.target.value)}),e.jsx(ae,{label:t("timezone","Timezone"),options:a.timezone_options.map(g=>({id:g.value,label:g.label})),value:y,placeholder:t("select_timezone","Select timezone"),searchPlaceholder:t("search_timezones","Search timezones"),pageSize:8,onChange:k}),e.jsx(ie,{label:t("appearance","Appearance"),value:S,onChange:g=>P(g.target.value),children:a.theme_options.map(g=>e.jsx("option",{value:g.value,children:g.value==="system"?t("theme_system",g.label):g.value==="light"?t("theme_light",g.label):g.value==="dark"?t("theme_dark",g.label):g.label},g.value))}),e.jsx(ae,{label:t("language","Language"),options:a.language_options.map(g=>({id:g.value,label:g.label})),value:D,placeholder:t("select_language_label","Select language"),searchPlaceholder:t("search_languages_label","Search languages"),pageSize:8,onChange:U})]})]}):e.jsx(M,{title:"",onClose:s,children:e.jsx(z,{label:""})})}function La({data:a,setData:l,onClose:s}){const c=q(),{ready:i,t}=T("settings_user"),[r,o]=n.useState(a.notifications),[m,u]=n.useState(!1),[b,p]=n.useState(""),d="settings-notifications-modal-form",x=JSON.stringify(je(a.notifications))!==JSON.stringify(je(r)),h=async j=>{if(j.preventDefault(),!!c.accessToken){u(!0),p("");try{await w("/v1/profile/notifications",{method:"PUT",accessToken:c.accessToken,body:{preferences:je(r)}}),l({...a,notifications:r}),s()}catch(v){p(C(v))}finally{u(!1)}}};return i?e.jsxs(M,{title:t("settings_update_notifications_meta_title","Update email preferences"),onClose:s,footer:e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:m,disabled:!x||m,form:d,children:t("save_button","Save")}),children:[b&&e.jsx($,{error:!0,children:b}),e.jsx("form",{id:d,className:"form modal-form-static-footer",onSubmit:h,children:e.jsxs("div",{className:"form-section-03",children:[e.jsx("div",{className:"form-section-03-header",children:e.jsx("h6",{children:t("email_notification_settings","Email notification settings")})}),r.map(j=>e.jsx("div",{className:"form-checkbox-item-02-container",children:e.jsxs("label",{className:"form-checkbox-item-02 custom-checkbox",htmlFor:`modal-${j.key}`,children:[e.jsxs("div",{className:"form-checkbox-item-02-detail",children:[e.jsx("h6",{children:t(`notification_${j.key}_label`,j.label)}),e.jsx("p",{className:"subtle-text",children:t(`notification_${j.key}_description`,j.description)})]}
1),e.jsx("input",{id:`modal-${j.key}`,type:"checkbox",checked:j.enabled,onChange:v=>{const N=v.target.checked;o(y=>y.map(k=>k.key===j.key?{...k,enabled:N}:k))}}),e.jsx("span",{className:"form-checkbox-item-02-mark custom-checkbox-mark"})]})},j.key))]})})]}):e.jsx(M,{title:"",onClose:s,children:e.jsx(z,{label:""})})}function Aa({onClose:a}){const l=q(),{ready:s,t:c}=T("settings_user"),[i,t]=n.useState(""),[r,o]=n.useState(""),[m,u]=n.useState(""),[b,p]=n.useState(!1),[d,x]=n.useState(""),h="settings-password-modal-form",j=async v=>{if(v.preventDefault(),!!l.accessToken){if(x(""),r!==m){x(c("passwords_do_not_match","Passwords do not match."));return}p(!0);try{await w("/v1/auth/password/change",{method:"POST",accessToken:l.accessToken,body:{current_password:i,new_password:r}}),a()}catch(N){x(C(N))}finally{p(!1)}}};return s?e.jsxs(M,{title:c("change_password","Change password"),onClose:a,footer:e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"btn subtle-btn",onClick:a,children:e.jsx("p",{children:c("cancel_label","Cancel")})}),e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:b,form:h,children:c("save_button","Save")})]}),children:[d&&e.jsx($,{error:!0,children:d}),e.jsxs("form",{id:h,className:"form modal-form-static-footer",onSubmit:j,children:[e.jsx(H,{label:c("current_password","Current password"),type:"password",autoComplete:"current-password",required:!0,value:i,onChange:v=>t(v.target.value)}),e.jsx(H,{label:c("new_password","New password"),type:"password",autoComplete:"new-password",minLength:8,maxLength:72,required:!0,value:r,onChange:v=>o(v.target.value)}),e.jsx(H,{label:c("confirm_new_password","Confirm new password"),type:"password",autoComplete:"new-password",minLength:8,maxLength:72,required:!0,value:m,onChange:v=>u(v.target.value)})]})]}):e.jsx(M,{title:"",onClose:a,children:e.jsx(z,{label:""})})}function Ra({data:a,setData:l,onClose:s}){const c=q(),i=we(),{ready:t,t:r}=T("settings_user"),[o,m]=n.useState(""),[u,b]=n.useState(""),[p,d]=n.useState(""),[x,h]=n.useState([]),j=i.application_name||r("application_name_fallback","the application"),[v,N]=n.useState(!1),[y,k]=n.useState(""),S=n.useRef(!1),P=a.profile.totp_enabled?"settings-mfa-disable-modal-form":"settings-mfa-enable-modal-form";n.useEffect(()=>{a.profile.totp_enabled||S.current||!c.accessToken||(S.current=!0,N(!0),w("/v1/auth/mfa/setup",{method:"POST",accessToken:c.accessToken,body:{}}).then(E=>m(E.provisioning_uri)).catch(E=>k(C(E))).finally(()=>N(!1)))},[c.accessToken,a.profile.totp_enabled]);const D=async E=>{if(E.preventDefault(),!!c.accessToken){N(!0),k("");try{const B=await w("/v1/auth/mfa/enable",{method:"POST",accessToken:c.accessToken,body:{code:u}});h(B.recovery_codes),l({...a,profile:{...a.profile,totp_enabled:!0}})}catch(B){k(C(B))}finally{N(!1)}}},U=async E=>{if(E.preventDefault(),!!c.accessToken){N(!0),k("");try{await w("/v1/auth/mfa/disable",{method:"POST",accessToken:c.accessToken,body:{password:p,code:u}}),l({...a,profile:{...a.profile,totp_enabled:!1}}),s()}catch(B){k(C(B))}finally{N(!1)}}};return x.length?e.jsxs(M,{title:r("save_recovery_codes","Save your recovery codes"),onClose:s,footer:e.jsx("button",{type:"button",className:"btn primary-btn",onClick:s,children:e.jsx("p",{children:r("recovery_codes_saved_button","I have saved them")})}),children:[e.jsx("p",{className:"subtle-text",children:r("recovery_codes_tip","Store these somewhere secure. Each code can be used once and will not be shown again.")}),e.jsx("div",{className:"recovery-grid",children:x.map(E=>e.jsx("code",{className:"code-box",children:E},E))})]}):a.profile.totp_enabled?e.jsxs(M,{title:r("disable_two_factor_authentication","Disable two-factor authentication"),onClose:s,footer:e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"btn subtle-btn",onClick:s,children:e.jsx("p",{children:r("cancel_label","Cancel")})}),e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:v,form:P,children:r("disable_2fa","Disable 2FA")})]}),children:[y&&e.jsx($,{error:!0,children:y}),e.jsxs("form",{id:P,className:"form modal-form-static-footer",onSubmit:U,children:[e.jsx(H,{label:r("current_password","Current password"),type:"password",autoComplete:"current-password",required:!0,value:p,onChange:E=>d(E.target.value)}),e.jsx(H,{label:r("authentication_code","Authentication code"),inputMode:"numeric",autoComplete:"one-time-code",required:!0,minLength:6,maxLength:8,value:u,onChange:E=>b(E.target.value)})]})]}):t?e.jsxs(M,{title:r("two_factor_auth_setup_header","Two-factor authentication setup"),onClose:s,contentClassName:"settings-two-factor-setup-modal",footer:o?e.jsx(G,{type:"submit",className:"btn primary-btn form-btn",loading:v,form:P,children:r("complete_setup","Complete setup")}):void 0,children:[y&&e.jsx($,{error:!0,children:y}),o?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"settings-two-factor-copy",children:[e.jsx("p",{children:r("authenticator_app_instruction","Using an authenticator app like auth, google authenticator, 1password, or microsoft authenticator, scan the QR code below.")}),e.jsx("p",{children:r("verification_code_instruction","Once you have scanned the QR code and connected your app, add the most recent 6-digit verification code for {application_name} below.").replace("{application_name}",j)})]}),e.jsx("div",{className:"settings-user-qr-code-setup",children:e.jsx(Ue,{value:o,size:250,level:"M"})}),e.jsx("form",{id:P,className:"form modal-form-static-footer",onSubmit:D,children:e.jsx(H,{label:r("six_digit_code","6-Digit code"),inputMode:"numeric",autoComplete:"one-time-code",required:!0,minLength:6,maxLength:6,value:u,onChange:E=>b(E.target.value)})})]}):e.jsx(z,{label:""})]}):e.jsx(M,{title:"",onClose:s,children:e.jsx(z,{label:""})})}function $a({onClose:a}){const{ready:l,t:s}=T("settings_user");return l?e.jsx(M,{title:s("about_your_data","About your data"),onClose:a,contentClassName:"settings-about-your-data-modal",footer:e.jsx("button",{type:"button",className:"btn subtle-btn",onClick:a,children:e.jsx("p",{children:s("close_label","Close")})}),children:e.jsxs("div",{className:"settings-content-container",children:[e.jsxs("div",{className:"settings-content-section",children:[e.jsx("h6",{children:s("data_retention_policy_title","Data retention and deletion policy")}),e.jsx("p",{children:s("data_retention_policy_text","In accordance with our Terms of Service and Privacy Policy, we adhere to the timelines outlined in our Data Retention Policy. An expired account is defined as any account that is no longer a paid account or has been inactive for six months, such as no login, payment activity, or feature usage. If your account expires, it will be automatically deleted within six months of inactivity. You will receive email notifications 1 month and 1 week before the scheduled deletion date. Once your account is deleted, all associated data, including company records, employee profiles, uploaded documents, and usage logs, will be permanently removed.")})]}),e.jsxs("div",{className:"settings-content-section",children:[e.jsx("h6",{children:s("accessing_your_data_title","Accessing your data")}),e.jsx("p",{children:s("accessing_your_data_text","You can request access to your data or ask questions about retention and deletion by contacting support.")})]})]})}):e.jsx(M,{title:"",onClose:a,children:e.jsx(z,{label:""})})}function je(a){return a.reduce((l,s)=>(l[s.key]=s.enabled,l),{})}function Fa({integration:a}){const l=a.logo_light_mode||a.logo_dark_mode,s=a.logo_dark_mode||a.logo_light_mode;return!l&&!s?e.jsx("div",{className:"avatar empty-avatar",children:e.jsx("i",{className:"fa-regular fa-plug"})}):e.jsxs("div",{className:"settings-item-img theme-switch",children:[l&&e.jsx("img",{className:"theme-img--light",src:se(l),alt:a.name}),s&&e.jsx("img",{className:"theme-img--dark",src:se(s),alt:a.name})]})}function Ma({action:a,onAction:l,busy:s,workingLabel:c,t:i}){const t=a.style==="primary"?"btn primary-btn":a.style==="disabled"?"btn disabled-btn":"btn subtle-btn integration-connection-btn-subtle",r=i(`integration_action_${a.key}`,a.label);return!a.enabled||a.style==="disabled"?e.jsx("div",{className:"integration-connection-btn",children:e.jsx("div",{className:t,children:e.jsx("p",{children:r})})}):a.key==="personal_slack"?e.jsx("div",{className:"integration-connection-btn",children:e.jsx(_e,{to:"/settings/integrations/my-slack",className:t,children:e.jsx("p",{children:r})})}):e.jsx("div",{className:"integration-connection-btn",children:e.jsx("button",{type:"button",className:t,disabled:s,onClick:()=>l(a),children:e.jsx("p",{children:s?c:r})})})}function Ia({integration:a,onAction:l,busyAction:s,workingLabel:c,t:i}){return e.jsx("div",{className:"settings-item",children:e.jsxs("div",{className:"settings-item-inner",children:[e.jsx(Fa,{integration:a}),e.jsx("div",{className:"settings-item-header",children:e.jsx("h6",{children:a.name})}),e.jsx("div",{className:"settings-item-description",children:e.jsx("p",{children:a.description?i(`integration_description_${Oe(a.name)}`,a.description):"-"})}),a.actions.map(t=>e.jsx(Ma,{action:t,onAction:l,busy:s===`${a.id}:${t.key}`,workingLabel:c,t:i},t.key))]})})}function cs(){const a=q(),{ready:l,t:s}=T("settings_integrations");ee(s("settings_integrations","Integrations"));const{data:c,error:i,setData:t}=Pe(),[r,o]=n.useState(""),[m,u]=n.useState(""),b=n.useCallback(async d=>a.accessToken?w(`/v1/integrations/access?page=${d}
1&page_size=10`,{accessToken:a.accessToken,suppressFlash:!0}):{users:[],pagination:{page:1,total_pages:1,total_results:0,page_size:10}},[a.accessToken]),p=async(d,x)=>{if(!(!a.accessToken||!x.url)){u(`${d.id}:${x.key}`),o("");try{if(x.key==="connect"){const h=await w(x.url,{accessToken:a.accessToken});window.location.assign(h.authorization_url);return}if(x.key==="disconnect"){t(await w(x.url,{method:"POST",accessToken:a.accessToken})),o(s("slack_integration_disconnected","Slack disconnected."));return}if(x.key==="sync_people"){const h=await w(x.url,{method:"POST",accessToken:a.accessToken});o(h.message)}}catch(h){o(C(h))}finally{u("")}}};return!l||!c&&!i?e.jsx(z,{label:""}):c?e.jsxs("div",{className:"admin-react-shell settings-integrations-react-shell table-page-layout",children:[e.jsxs("div",{className:"page-header page-header-border settings-matrix-page-header settings-integrations-page-header",children:[e.jsx("div",{className:"page-header-left",children:e.jsx("h6",{children:s("integrations_header","Integrations")})}),e.jsx("div",{className:"page-header-align-right page-header-actions",children:e.jsx(be,{className:"settings-access-dropdown-container",triggerClassName:"settings-access-icon-btn",emptyLabel:s("no_access_found","No access found"),loadPage:b})})]}),r&&e.jsx($,{children:r}),e.jsx("div",{className:"settings-page settings-integrations-page",children:e.jsx("div",{className:"settings-items",children:c.items.map(d=>e.jsx(Ia,{integration:d,onAction:x=>p(d,x),busyAction:m,workingLabel:s("working_label","Working"),t:s},d.id))})})]}):e.jsx($,{error:!0,children:i})}function rs(){const a=q(),l=we(),{ready:s,t:c}=T("settings_integrations");ee(c("my_slack_meta_title","My Slack"));const{data:i,error:t,setData:r}=Pe(),[o,m]=n.useState(""),[u,b]=n.useState(!1),p=i==null?void 0:i.items.find(j=>j.name.toLowerCase()==="slack"),d=l.application_name||c("account_name_fallback","your account"),x=async()=>{if(a.accessToken){b(!0),m("");try{const j=await w("/v1/integrations/slack/connect",{accessToken:a.accessToken});window.location.assign(j.authorization_url)}catch(j){m(C(j)),b(!1)}}},h=async()=>{if(a.accessToken){b(!0),m("");try{r(await w("/v1/integrations/slack/disconnect",{method:"POST",accessToken:a.accessToken})),m(c("slack_integration_disconnected","Slack disconnected."))}catch(j){m(C(j))}finally{b(!1)}}};return!s||!i&&!t?e.jsx(z,{label:""}):i?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-header",children:e.jsx("h6",{children:c("my_slack_header","My Slack")})}),o&&e.jsx($,{children:o}),e.jsx("div",{className:"settings-page-no-footer",children:e.jsx("div",{className:"settings-items",children:e.jsx("div",{className:"settings-item",children:e.jsxs("div",{className:"settings-item-inner",children:[e.jsx("div",{className:"settings-item-header",children:e.jsx("h6",{children:"Slack"})}),e.jsx("div",{className:"settings-item-description",children:e.jsx("p",{children:c("my_slack_description","Connect your {application_name} account to Slack to receive workspace notifications and use Slack actions.").replace("{application_name}",d)})}),p!=null&&p.connected?e.jsx("div",{className:"integration-connection-btn",children:e.jsx("button",{type:"button",className:"btn subtle-btn integration-connection-btn-subtle",disabled:u,onClick:h,children:e.jsx("p",{children:u?c("working_label","Working"):c("disconnect_my_slack_btn_label","Disconnect Slack")})})}):e.jsx("div",{className:"integration-connection-btn",children:e.jsx("button",{type:"button",className:"btn primary-btn",disabled:u,onClick:x,children:e.jsx("p",{children:u?c("working_label","Working"):c("connect_my_slack_btn_label","Connect Slack")})})})]})})})})]}):e.jsx($,{error:!0,children:t})}function os(){const a=q(),{ready:l,t:s}=T("settings_integrations");ee(s("slack_callback_meta_title","Connecting Slack"));const c=xe(),[i]=le(),[t,r]=n.useState(""),o=n.useRef(!1);return n.useEffect(()=>{if(!a.accessToken||o.current)return;o.current=!0;const m=i.get("code"),u=i.get("state");if(!m||!u){r(s("slack_missing_connection_details","Slack did not return the required connection details."));return}w("/v1/integrations/slack/callback",{method:"POST",accessToken:a.accessToken,body:{code:m,state:u}}).then(()=>c("/settings/integrations",{replace:!0})).catch(b=>r(C(b)))},[a.accessToken,c,i]),e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-header",children:e.jsx("h6",{children:s("connecting_slack_header","Connecting Slack")})}),t?e.jsx($,{error:!0,children:t}):e.jsx(z,{label:l?s("connecting_slack_header","Connecting Slack"):""})]})}
1export{Ja as SettingsAccessManagementPage,Ka as SettingsActivityLogsPage,Ga as SettingsAnnouncementsPage,Qa as SettingsApiKeysPage,Ha as SettingsBalanceTypesPage,es as SettingsBillingCancelPage,Za as SettingsBillingPage,Xa as SettingsBillingSuccessPage,as as SettingsCompanyPage,ns as SettingsFranchiseAccessPage,ts as SettingsFranchiseGeneralPage,ls as SettingsFranchiseSitesPage,ss as SettingsHrPage,cs as SettingsIntegrationsPage,Wa as SettingsLocationsPage,rs as SettingsMySlackPage,is as SettingsOverviewPage,Va as SettingsPermissionsPage,os as SettingsSlackCallbackPage,Ya as SettingsTeamDetailPage,za as SettingsTeamsPage};

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.