PageSourceSearch

https://app.andsend.com/assets/job-titles-page-samnYR_O.js

js andsend.com collected 2026-10-04 06:45:46 UTC 20,516 bytes, 3 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="496c4d73-880c-784c-82bb-548ea1936131")}catch(e){}}();import{s as e}from"./rolldown-runtime-B6ubh40S.js";import{$a as t,Ha as n,Ot as r,Wa as i,lo as a,po as o}from"./vendor-9Auq8rqv.js";import{Ai as s,At as c,Bc as l,Bi as u,Ci as d,Co as f,Ei as p,Es as m,Et as h,Ii as g,Kt as _,Li as v,Mi as y,Mt as b,Ni as x,Nt as S,Pt as C,Qi as w,Ri as ee,Si as T,Ti as te,Tt as ne,Vi as re,_i as E,aa as ie,ai as D,ao as O,bi as k,bo as A,ca as ae,ci as j,co as oe,ea as se,hi as ce,ia as le,ii as ue,io as M,ji as N,js as de,kt as fe,la as pe,li as P,ls as F,na as me,oa as he,oc as ge,oo as I,qs as _e,ra as ve,sa as ye,si as L,so as be,ta as xe,ui as R,vi as z,vs as B,zi as Se}from"./ui-CNZ0y8KL.js";import"./graphql-generated-CgB1DyC0.js";import{Mn as V,ct as Ce,f as H,lt as we,ut as Te}from"./index-CZ1u9usR.js";var U=e(l(),1),W=e(ge(),1);function G({columns:e,rows:t,total:n,page:r,pageSize:i,getRowId:a,emptyMessage:o,loading:s,onPageChange:l,onRowClick:u}){let d=(0,U.useMemo)(()=>({pageIndex:Math.max(0,r-1),pageSize:i}),[r,i]);return(0,W.jsx)(S,{table:fe({data:t,columns:e,pageCount:Math.max(1,Math.ceil(n/i)),getRowId:a,getCoreRowModel:c(),getPaginationRowModel:b(),manualPagination:!0,state:{pagination:d},onPaginationChange:e=>{let t=typeof e==`function`?e(d):e;l(t.pageIndex+1,t.pageSize)}}),recordCount:n,isLoading:s,onRowClick:u,emptyMessage:o,tableLayout:{dense:!0,rowBorder:!0,headerBackground:!1,headerBorder:!0,width:`fixed`},children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-2.5 w-full`,children:[(0,W.jsx)(C,{children:(0,W.jsx)(h,{})}),(0,W.jsx)(ne,{className:`w-full`})]})})}var Ee=e=>e===`approved`?`success`:e===`rejected`?`gray`:`warning`,K=`—`;const De=[{id:`rawTitleSample`,header:`Sample title`,accessorKey:`rawTitleSample`,cell:({row:e})=>(0,W.jsx)(`span`,{className:`font-medium text-foreground line-clamp-1`,children:e.original.rawTitleSample||K}),size:240},{id:`canonicalLabel`,header:`Canonical`,accessorKey:`canonicalLabel`,cell:({row:e})=>{let t=e.original.canonicalLabel;return t?(0,W.jsx)(`span`,{className:`line-clamp-1`,children:t}):(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:K})},size:200},{id:`role`,header:`Role / subrole`,accessorFn:e=>e.subrole??e.role??``,cell:({row:e})=>(0,W.jsx)(`span`,{className:`text-muted-foreground line-clamp-1`,children:e.original.subrole??e.original.role??K}),size:170},{id:`level`,header:`Level`,accessorKey:`level`,cell:({row:e})=>(0,W.jsx)(p,{variant:`secondary`,children:e.original.level||`UNKNOWN`}),size:120},{id:`managesPeople`,header:`Manages`,accessorKey:`managesPeople`,cell:({row:e})=>(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:e.original.managesPeople||K}),size:110},{id:`status`,header:`Status`,accessorKey:`status`,cell:({row:e})=>(0,W.jsx)(p,{variant:Ee(e.original.status),children:e.original.status}),size:130},{id:`source`,header:`Source`,accessorKey:`source`,cell:({row:e})=>(0,W.jsx)(p,{variant:`gray`,children:e.original.source}),size:130},{id:`language`,header:`Lang`,accessorKey:`language`,cell:({row:e})=>(0,W.jsx)(`span`,{className:`text-muted-foreground uppercase`,children:e.original.language??K}),size:80}];function Oe(e){return(0,W.jsx)(G,{...e,columns:De,getRowId:e=>e.jobTitleKey,emptyMessage:(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:`No aliases match these filters.`})})}function q({valueId:e,valueLabel:t,onPick:n,excludeId:r,placeholder:a=`No canonical assigned`}){let{jobTitlesAdmin:o}=V(),[s,c]=(0,U.useState)(!1),[l,d]=(0,U.useState)(``),p=H(l,250),{data:h,isFetching:_}=i({...o.canonicals({search:p||void 0,pageSize:20}),enabled:s}),y=(h?.rows??[]).filter(e=>e.id!==r);return(0,W.jsxs)(w,{open:s,onOpenChange:c,children:[(0,W.jsx)(xe,{asChild:!0,children:(0,W.jsxs)(f,{type:`button`,variant:`outline`,role:`combobox`,"aria-expanded":s,className:`w-full justify-between font-normal`,children:[(0,W.jsx)(`span`,{className:F(`truncate`,!t&&`text-muted-foreground`),children:t??a}),(0,W.jsx)(m,{className:`h-4 w-4 shrink-0 opacity-50`})]})}),(0,W.jsx)(se,{className:`w-[var(--radix-popover-trigger-width)] p-0`,align:`start`,children:(0,W.jsxs)(g,{shouldFilter:!1,children:[(0,W.jsx)(Se,{placeholder:`Search canonicals...`,value:l,onValueChange:d}),(0,W.jsxs)(re,{children:[_&&(0,W.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-4 text-sm text-muted-foreground`,children:[(0,W.jsx)(B,{className:`h-4 w-4 animate-spin`}),`Searching...`]}),!_&&(0,W.jsx)(v,{children:`No canonicals found.`}),(0,W.jsx)(ee,{children:y.map(t=>(0,W.jsxs)(u,{value:t.id,onSelect:()=>{n({id:t.id,label:t.displayLabel??t.label}),c(!1)},children:[(0,W.jsx)(de,{className:F(`mr-2 h-4 w-4`,e===t.id?`opacity-100`:`opacity-0`)}),(0,W.jsx)(`span`,{className:`truncate`,children:t.displayLabel??t.label})]},t.id))})]})]})})]})}const J=[...we.map(e=>e.toUpperCase()),`UNKNOWN`],ke=[`YES`,`NO`,`UNKNOWN`],Y=[`needs_review`,`approved`,`rejected`],Ae=[`HUMAN_SEED`,`AI`,`HUMAN_ADMIN`];var je=a({level:o(),managesPeople:o(),status:o(),canonicalJobTitleId:o().nullable()});function Me({alias:e,open:t,onOpenChange:i}){let{jobTitlesAdmin:a}=V(),o=n(a.updateAliasMutation()),[s,c]=(0,U.useState)(null),l=ce({resolver:r(je),defaultValues:{level:``,managesPeople:``,status:``,canonicalJobTitleId:null}});(0,U.useEffect)(()=>{e&&(l.reset({level:e.level||``,managesPeople:e.managesPeople||``,status:e.status||``,canonicalJobTitleId:e.canonicalId}),c(e.canonicalLabel))},[e,l]);let u=t=>{if(!e)return;let n={};if(t.level!==e.level&&(n.level=t.level),t.managesPeople!==e.managesPeople&&(n.managesPeople=t.managesPeople),t.status!==e.status&&(n.status=t.status),t.canonicalJobTitleId!==e.canonicalId&&(n.canonicalJobTitleId=t.canonicalJobTitleId),Object.keys(n).length===0){i(!1);return}o.mutate({key:e.jobTitleKey,body:n},{onSuccess:()=>{_.success(`Alias updated`),i(!1)},onError:()=>
1{_.error(`Failed to update alias. Please try again.`)}})};return(0,W.jsx)(M,{open:t,onOpenChange:i,children:(0,W.jsxs)(O,{side:`right`,className:`w-[420px] sm:max-w-[420px] flex flex-col gap-0 p-0`,children:[(0,W.jsxs)(be,{className:`px-5 py-4 border-b space-y-1`,children:[(0,W.jsx)(oe,{className:`text-base font-semibold line-clamp-2`,children:e?.rawTitleSample??`Edit alias`}),(0,W.jsx)(I,{className:`text-xs`,children:`Adjust classification and the canonical mapping for this alias.`})]}),e&&(0,W.jsx)(ue,{...l,children:(0,W.jsxs)(`form`,{onSubmit:l.handleSubmit(u),className:`flex flex-1 flex-col overflow-hidden`,children:[(0,W.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[(0,W.jsx)(L,{control:l.control,name:`level`,render:({field:e})=>(0,W.jsxs)(j,{children:[(0,W.jsx)(P,{children:`Level`}),(0,W.jsxs)(E,{value:e.value,onValueChange:e.onChange,children:[(0,W.jsx)(D,{children:(0,W.jsx)(T,{children:(0,W.jsx)(d,{placeholder:`Select level`})})}),(0,W.jsx)(z,{children:J.map(e=>(0,W.jsx)(k,{value:e,children:e},e))})]}),(0,W.jsx)(R,{})]})}),(0,W.jsx)(L,{control:l.control,name:`managesPeople`,render:({field:e})=>(0,W.jsxs)(j,{children:[(0,W.jsx)(P,{children:`Manages people`}),(0,W.jsxs)(E,{value:e.value,onValueChange:e.onChange,children:[(0,W.jsx)(D,{children:(0,W.jsx)(T,{children:(0,W.jsx)(d,{placeholder:`Select`})})}),(0,W.jsx)(z,{children:ke.map(e=>(0,W.jsx)(k,{value:e,children:e},e))})]}),(0,W.jsx)(R,{})]})}),(0,W.jsx)(L,{control:l.control,name:`status`,render:({field:e})=>(0,W.jsxs)(j,{children:[(0,W.jsx)(P,{children:`Status`}),(0,W.jsxs)(E,{value:e.value,onValueChange:e.onChange,children:[(0,W.jsx)(D,{children:(0,W.jsx)(T,{children:(0,W.jsx)(d,{placeholder:`Select status`})})}),(0,W.jsx)(z,{children:Y.map(e=>(0,W.jsx)(k,{value:e,children:e},e))})]}),(0,W.jsx)(R,{})]})}),(0,W.jsx)(L,{control:l.control,name:`canonicalJobTitleId`,render:({field:e})=>(0,W.jsxs)(j,{children:[(0,W.jsx)(P,{children:`Canonical job title`}),(0,W.jsx)(q,{valueId:e.value,valueLabel:s,onPick:t=>{e.onChange(t.id),c(t.label)}}),(0,W.jsx)(R,{})]})})]}),(0,W.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t px-5 py-4`,children:[(0,W.jsx)(f,{type:`button`,variant:`ghost`,onClick:()=>i(!1),disabled:o.isPending,children:`Cancel`}),(0,W.jsxs)(f,{type:`submit`,disabled:o.isPending,children:[o.isPending&&(0,W.jsx)(B,{className:`mr-2 h-4 w-4 animate-spin`}),`Save changes`]})]})]})})]})})}var X=25,Z=`all`;function Ne(){let{jobTitlesAdmin:e}=V(),[t,n]=(0,U.useState)(``),[r,a]=(0,U.useState)(Z),[o,s]=(0,U.useState)(Z),[c,l]=(0,U.useState)(Z),[u,p]=(0,U.useState)(1),[m,h]=(0,U.useState)(null),[g,_]=(0,U.useState)(!1),v=H(t,300),y=(0,U.useMemo)(()=>({search:v||void 0,status:r===Z?void 0:r,level:o===Z?void 0:o,source:c===Z?void 0:c,page:u,pageSize:X}),[v,r,o,c,u]),{data:b,isLoading:x}=i(e.aliases(y)),S=e=>t=>{e(t),p(1)},C=r===`needs_review`;return(0,W.jsxs)(`div`,{className:`flex flex-col gap-4 py-4`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,W.jsx)(A,{placeholder:`Search titles...`,value:t,onChange:e=>{n(e.target.value),p(1)},className:`h-9 w-56`}),(0,W.jsxs)(E,{value:r,onValueChange:S(a),children:[(0,W.jsx)(T,{className:`h-9 w-40`,children:(0,W.jsx)(d,{placeholder:`Status`})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(k,{value:Z,children:`All statuses`}),Y.map(e=>(0,W.jsx)(k,{value:e,children:e},e))]})]}),(0,W.jsxs)(E,{value:o,onValueChange:S(s),children:[(0,W.jsx)(T,{className:`h-9 w-36`,children:(0,W.jsx)(d,{placeholder:`Level`})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(k,{value:Z,children:`All levels`}),J.map(e=>(0,W.jsx)(k,{value:e,children:e},e))]})]}),(0,W.jsxs)(E,{value:c,onValueChange:S(l),children:[(0,W.jsx)(T,{className:`h-9 w-40`,children:(0,W.jsx)(d,{placeholder:`Source`})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(k,{value:Z,children:`All sources`}),Ae.map(e=>(0,W.jsx)(k,{value:e,children:e},e))]})]}),(0,W.jsx)(f,{type:`button`,variant:C?`default`:`outline`,size:`sm`,className:`h-9`,onClick:()=>{a(C?Z:`needs_review`),p(1)},children:`Needs review`})]}),(0,W.jsx)(Oe,{rows:b?.rows??[],total:b?.total??0,page:u,pageSize:X,loading:x,onPageChange:e=>p(e),onRowClick:e=>{h(e),_(!0)}}),(0,W.jsx)(Me,{alias:m,open:g,onOpenChange:_})]})}var Q=`—`;const Pe=[{id:`label`,header:`Label`,accessorKey:`label`,cell:({row:e})=>(0,W.jsx)(`span`,{className:`font-medium text-foreground line-clamp-1`,children:e.original.label||Q}),size:220},{id:`displayLabel`,header:`Display label`,accessorKey:`displayLabel`,cell:({row:e})=>{let t=e.original.displayLabel;return t?(0,W.jsx)(`span`,{className:`line-clamp-1`,children:t}):(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:Q})},size:200},{id:`role`,header:`Role`,accessorKey:`role`,cell:({row:e})=>(0,W.jsx)(p,{variant:`secondary`,children:e.original.role||`UNKNOWN`}),size:150},{id:`subrole`,header:`Subrole`,accessorKey:`subrole`,cell:({row:e})=>(0,W.jsx)(`span`,{className:`text-muted-foreground line-clamp-1`,children:e.original.subrole??Q}),size:150},{id:`titleClass`,header:`Class`,accessorKey:`titleClass`,cell:({row:e})=>(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:e.original.titleClass||Q}),size:130},{id:`isDeprecated`,header:`Status`,accessorKey:`isDeprecated`,cell:({row:e})=>e.original.isDeprecated?(0,W.jsx)(p,{variant:`destructive`,children:`deprecated`}):(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:`active`}),size:120},{id:`aliasCount`,header:()=>(0,W.jsx)(`span`,{className:`block text-right`,children:`Aliases`}),accessorKey:`aliasCount`,cell:({row:e})=>(0,W.jsx)(`span`,{className:`block text-right tabular-nums`,children:e.original.aliasCount}),size:90}];function Fe(e){return(0,W.jsx)(G,{...e,columns:Pe,getRowId:e=>e.id,emptyMessage:(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:`No canonicals match these filters.`})})}const Ie=Te.map(e=>e.toUpperCase()),Le=Ce.map(e=>e.toUpperCase());var Re=`—`,ze=a({role:o(),titleClass:o(),subrole:o(),label:o(),displayLabel:o(),isDeprecated:t(
1)});function Be({canonical:e,open:t,onOpenChange:a}){let{jobTitlesAdmin:o}=V(),s=n(o.updateCanonicalMutation()),c=n(o.mergeCanonicalMutation()),[l,u]=(0,U.useState)(null),[m,h]=(0,U.useState)(null),[g,v]=(0,U.useState)(!1),{data:y}=i({...o.canonical(e?.id??``),enabled:t&&!!e}),b=y?.aliases??[],x=y?.aliases.length??e?.aliasCount??0,S=ce({resolver:r(ze),defaultValues:{role:``,titleClass:``,subrole:``,label:``,displayLabel:``,isDeprecated:!1}});(0,U.useEffect)(()=>{e&&(S.reset({role:e.role||``,titleClass:e.titleClass||``,subrole:e.subrole??``,label:e.label||``,displayLabel:e.displayLabel??``,isDeprecated:e.isDeprecated}),u(null),h(null))},[e,S]);let C=t=>{if(!e)return;let n={};t.role!==e.role&&(n.role=t.role),t.titleClass!==e.titleClass&&(n.titleClass=t.titleClass);let r=t.subrole.trim()||null;r!==e.subrole&&(n.subrole=r),t.label!==e.label&&(n.label=t.label);let i=t.displayLabel.trim()||null;if(i!==e.displayLabel&&(n.displayLabel=i),t.isDeprecated!==e.isDeprecated&&(n.isDeprecated=t.isDeprecated),Object.keys(n).length===0){a(!1);return}s.mutate({id:e.id,body:n},{onSuccess:()=>{_.success(`Canonical updated`),a(!1)},onError:()=>{_.error(`Failed to update canonical. Please try again.`)}})},w=()=>{!e||!l||c.mutate({id:e.id,intoId:l},{onSuccess:()=>{_.success(`Canonical merged`),v(!1),a(!1)},onError:()=>{_.error(`Failed to merge canonical. Please try again.`)}})};return(0,W.jsxs)(M,{open:t,onOpenChange:a,children:[(0,W.jsxs)(O,{side:`right`,className:`w-[460px] sm:max-w-[460px] flex flex-col gap-0 p-0`,children:[(0,W.jsxs)(be,{className:`px-5 py-4 border-b space-y-1`,children:[(0,W.jsx)(oe,{className:`text-base font-semibold line-clamp-2`,children:e?.displayLabel??e?.label??`Edit canonical`}),(0,W.jsx)(I,{className:`text-xs`,children:`Adjust the classification, label, and merge this canonical into another.`})]}),e&&(0,W.jsx)(ue,{...S,children:(0,W.jsxs)(`form`,{onSubmit:S.handleSubmit(C),className:`flex flex-1 flex-col overflow-hidden`,children:[(0,W.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[(0,W.jsx)(L,{control:S.control,name:`label`,render:({field:e})=>(0,W.jsxs)(j,{children:[(0,W.jsx)(P,{children:`Label`}),(0,W.jsx)(D,{children:(0,W.jsx)(A,{placeholder:`Canonical label`,...e})}),(0,W.jsx)(R,{})]})}),(0,W.jsx)(L,{control:S.control,name:`displayLabel`,render:({field:e})=>(0,W.jsxs)(j,{children:[(0,W.jsx)(P,{children:`Display label`}),(0,W.jsx)(D,{children:(0,W.jsx)(A,{placeholder:`Optional display label`,...e})}),(0,W.jsx)(R,{})]})}),(0,W.jsx)(L,{control:S.control,name:`role`,render:({field:e})=>(0,W.jsxs)(j,{children:[(0,W.jsx)(P,{children:`Role`}),(0,W.jsxs)(E,{value:e.value,onValueChange:e.onChange,children:[(0,W.jsx)(D,{children:(0,W.jsx)(T,{children:(0,W.jsx)(d,{placeholder:`Select role`})})}),(0,W.jsx)(z,{children:Ie.map(e=>(0,W.jsx)(k,{value:e,children:e},e))})]}),(0,W.jsx)(R,{})]})}),(0,W.jsx)(L,{control:S.control,name:`titleClass`,render:({field:e})=>(0,W.jsxs)(j,{children:[(0,W.jsx)(P,{children:`Class`}),(0,W.jsxs)(E,{value:e.value,onValueChange:e.onChange,children:[(0,W.jsx)(D,{children:(0,W.jsx)(T,{children:(0,W.jsx)(d,{placeholder:`Select class`})})}),(0,W.jsx)(z,{children:Le.map(e=>(0,W.jsx)(k,{value:e,children:e},e))})]}),(0,W.jsx)(R,{})]})}),(0,W.jsx)(L,{control:S.control,name:`subrole`,render:({field:e})=>(0,W.jsxs)(j,{children:[(0,W.jsx)(P,{children:`Subrole`}),(0,W.jsx)(D,{children:(0,W.jsx)(A,{placeholder:`Lowercase subrole (optional)`,...e})}),(0,W.jsx)(R,{})]})}),(0,W.jsx)(L,{control:S.control,name:`isDeprecated`,render:({field:e})=>(0,W.jsxs)(j,{className:`flex flex-row items-center justify-between rounded-lg border px-3 py-2.5`,children:[(0,W.jsx)(P,{className:`cursor-pointer`,children:`Deprecated`}),(0,W.jsx)(D,{children:(0,W.jsx)(te,{checked:e.value,onCheckedChange:e.onChange})})]})}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsxs)(`span`,{className:`text-sm font-medium`,children:[`Member aliases (`,x,`)`]}),b.length===0?(0,W.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`No aliases yet.`}):(0,W.jsx)(`ul`,{className:`flex flex-col gap-1.5`,children:b.map(e=>(0,W.jsxs)(`li`,{className:`flex items-center justify-between gap-2 rounded-md border px-3 py-2`,children:[(0,W.jsx)(`span`,{className:`truncate text-sm`,children:e.rawTitleSample||Re}),(0,W.jsx)(p,{variant:`secondary`,children:e.level||`UNKNOWN`})]},e.jobTitleKey))})]}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-2 border-t pt-5`,children:[(0,W.jsx)(`span`,{className:`text-sm font-medium`,children:`Merge into…`}),(0,W.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Re-points this canonical's aliases to another and deprecates this one.`}),(0,W.jsx)(q,{excludeId:e.id,placeholder:`Select a target canonical`,valueId:l,valueLabel:m,onPick:e=>{u(e.id),h(e.label)}}),(0,W.jsx)(f,{type:`button`,variant:`outline`,className:`w-full`,disabled:!l||c.isPending,onClick:()=>v(!0),children:`Merge canonical`})]})]}),(0,W.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t px-5 py-4`,children:[(0,W.jsx)(f,{type:`button`,variant:`ghost`,onClick:()=>a(!1),disabled:s.isPending,children:`Cancel`}),(0,W.jsxs)(f,{type:`submit`,disabled:s.isPending,children:[s.isPending&&(0,W.jsx)(B,{className:`mr-2 h-4 w-4 animate-spin`}),`Save changes`]})]})]})})]}),(0,W.jsx)(me,{open:g,onOpenChange:v,children:(0,W.jsxs)(ie,{children:[(0,W.jsxs)(ae,{children:[(0,W.jsx)(pe,{children:`Merge canonical?`}),(0,W.jsxs)(he,{children:[`Merge `,e?.label,` into `,m,`? This re-points its `,x,` al
1iases and deprecates `,e?.label,`.`]})]}),(0,W.jsxs)(ye,{children:[(0,W.jsx)(le,{disabled:c.isPending,children:`Cancel`}),(0,W.jsxs)(ve,{onClick:w,disabled:c.isPending,children:[c.isPending&&(0,W.jsx)(B,{className:`mr-2 h-4 w-4 animate-spin`}),`Merge`]})]})]})})]})}var Ve=25,$=`all`;function He(){let{jobTitlesAdmin:e}=V(),[t,n]=(0,U.useState)(``),[r,a]=(0,U.useState)($),[o,s]=(0,U.useState)($),[c,l]=(0,U.useState)(!1),[u,p]=(0,U.useState)(1),[m,h]=(0,U.useState)(null),[g,_]=(0,U.useState)(!1),v=H(t,300),y=(0,U.useMemo)(()=>({search:v||void 0,role:r===$?void 0:r,titleClass:o===$?void 0:o,deprecated:c?!0:void 0,page:u,pageSize:Ve}),[v,r,o,c,u]),{data:b,isLoading:x}=i(e.canonicals(y)),S=e=>t=>{e(t),p(1)};return(0,W.jsxs)(`div`,{className:`flex flex-col gap-4 py-4`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,W.jsx)(A,{placeholder:`Search canonicals...`,value:t,onChange:e=>{n(e.target.value),p(1)},className:`h-9 w-56`}),(0,W.jsxs)(E,{value:r,onValueChange:S(a),children:[(0,W.jsx)(T,{className:`h-9 w-44`,children:(0,W.jsx)(d,{placeholder:`Role`})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(k,{value:$,children:`All roles`}),Ie.map(e=>(0,W.jsx)(k,{value:e,children:e},e))]})]}),(0,W.jsxs)(E,{value:o,onValueChange:S(s),children:[(0,W.jsx)(T,{className:`h-9 w-40`,children:(0,W.jsx)(d,{placeholder:`Class`})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(k,{value:$,children:`All classes`}),Le.map(e=>(0,W.jsx)(k,{value:e,children:e},e))]})]}),(0,W.jsx)(f,{type:`button`,variant:c?`default`:`outline`,size:`sm`,className:`h-9`,onClick:()=>{l(e=>!e),p(1)},children:`Show deprecated`})]}),(0,W.jsx)(Fe,{rows:b?.rows??[],total:b?.total??0,page:u,pageSize:Ve,loading:x,onPageChange:e=>p(e),onRowClick:e=>{h(e),_(!0)}}),(0,W.jsx)(Be,{canonical:m,open:g,onOpenChange:_})]})}var Ue=e=>e===`aliases`||e===`canonicals`;const We=()=>{let[e,t]=_e(),n=e.get(`tab`),r=Ue(n)?n:`aliases`;return(0,W.jsx)(`div`,{className:`flex flex-col flex-1 items-center bg-background-secondary overflow-y-auto h-full`,children:(0,W.jsxs)(`div`,{className:`w-full max-w-5xl py-6 px-6`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-1 pb-4`,children:[(0,W.jsx)(`h1`,{className:`text-2xl`,children:`Job titles`}),(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Review the job-title dictionary: aliases and their canonical labels.`})]}),(0,W.jsxs)(s,{value:r,onValueChange:e=>{t(t=>{let n=new URLSearchParams(t);return n.set(`tab`,e),n})},className:`w-full`,children:[(0,W.jsxs)(y,{children:[(0,W.jsx)(x,{value:`aliases`,children:`Aliases`}),(0,W.jsx)(x,{value:`canonicals`,children:`Canonicals`})]}),(0,W.jsx)(N,{value:`aliases`,children:(0,W.jsx)(Ne,{})}),(0,W.jsx)(N,{value:`canonicals`,children:(0,W.jsx)(He,{})})]})]})})};export{We as JobTitlesPage};
2//# sourceMappingURL=job-titles-page-samnYR_O.js.map
3//# chunkId=496c4d73-880c-784c-82bb-548ea1936131

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.