@maudecode/kanvil 0.6.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/server/dist/{auth-CFjetlB4.mjs → auth-CVnX2XIg.mjs} +3828 -3463
- package/apps/server/dist/client.mjs +2 -2
- package/apps/server/dist/{config-BQw6mPzE.mjs → config-DUIdB3c2.mjs} +1 -1
- package/apps/server/dist/index.mjs +165 -43
- package/apps/server/dist/migrate.mjs +1 -1
- package/apps/server/dist/recover.mjs +3 -3
- package/apps/server/dist/{src-BaTNDJB7.mjs → src-CC6lPIU_.mjs} +190 -35
- package/apps/server/drizzle/0040_upload_urls.sql +20 -0
- package/apps/server/drizzle/0041_project_repositories.sql +2 -0
- package/apps/server/drizzle/0042_public_boards.sql +37 -0
- package/apps/server/drizzle/0043_epics.sql +18 -0
- package/apps/server/drizzle/meta/0040_snapshot.json +7170 -0
- package/apps/server/drizzle/meta/0041_snapshot.json +7183 -0
- package/apps/server/drizzle/meta/0042_snapshot.json +7315 -0
- package/apps/server/drizzle/meta/0043_snapshot.json +7466 -0
- package/apps/server/drizzle/meta/_journal.json +28 -0
- package/apps/web/dist/assets/{CompositeItem-Dotj8JZL.js → CompositeItem-GgAhkI4m.js} +1 -1
- package/apps/web/dist/assets/{Trans-CE4EAAY1.js → Trans-CT9xiBED.js} +1 -1
- package/apps/web/dist/assets/admin-settings-C7yxWm-w.js +1 -0
- package/apps/web/dist/assets/{archive-restore-BMtgjFUu.js → archive-restore-UgUTJyLs.js} +1 -1
- package/apps/web/dist/assets/az-AZ-IkRP1MKo.js +1 -0
- package/apps/web/dist/assets/{az-B-DxMc__.js → az-CZ46yOUl.js} +1 -1
- package/apps/web/dist/assets/configuration-CU0QOaRw.js +1 -0
- package/apps/web/dist/assets/{corner-left-up-O4OsTW-L.js → corner-left-up-BFY7AqdS.js} +1 -1
- package/apps/web/dist/assets/{de-Btbkq-aX.js → de-CseN-3gF.js} +1 -1
- package/apps/web/dist/assets/de-DE-DCGKtpLI.js +1 -0
- package/apps/web/dist/assets/default-CN9zcRIy.js +56 -0
- package/apps/web/dist/assets/delivery-settings-xx9Bb6Ux.js +1 -0
- package/apps/web/dist/assets/el-GR-C5w6p2-z.js +1 -0
- package/apps/web/dist/assets/{el-DBVEX16k.js → el-psH0HOR3.js} +1 -1
- package/apps/web/dist/assets/{ellipsis-CvEPDi9V.js → ellipsis-CcIJddV1.js} +1 -1
- package/apps/web/dist/assets/{es-CMJoxZBk.js → es-BVvGrD23.js} +1 -1
- package/apps/web/dist/assets/es-ES-PjJlJCgT.js +1 -0
- package/apps/web/dist/assets/{forms-DbfnnPg_.js → forms-BUNl5uNV.js} +1 -1
- package/apps/web/dist/assets/{fr-OyEmYoRn.js → fr-C43nghuI.js} +1 -1
- package/apps/web/dist/assets/fr-FR-CGWH-Juq.js +1 -0
- package/apps/web/dist/assets/{hi-CIgXSseB.js → hi-Ds3DGtT-.js} +1 -1
- package/apps/web/dist/assets/hi-IN-B3bq8hDJ.js +1 -0
- package/apps/web/dist/assets/{highlight-B4K3yEEh.js → highlight-BPZqoBaO.js} +1 -1
- package/apps/web/dist/assets/id-ID-98H240ET.js +1 -0
- package/apps/web/dist/assets/{id-WV2oSAPB.js → id-tg9awgd8.js} +1 -1
- package/apps/web/dist/assets/index-CvFGdLre.js +17 -0
- package/apps/web/dist/assets/index-DPT5LAs1.css +2 -0
- package/apps/web/dist/assets/{invitations-BTB8f2Xl.js → invitations-fH1M9hYm.js} +1 -1
- package/apps/web/dist/assets/{it-BWSrRqus.js → it-DRwaWQyE.js} +1 -1
- package/apps/web/dist/assets/it-IT-CNS9cL7I.js +1 -0
- package/apps/web/dist/assets/{item-HmFuRZet.js → item-BbaYy50i.js} +1 -1
- package/apps/web/dist/assets/ja-JP-BFTqtCdV.js +1 -0
- package/apps/web/dist/assets/{ja-BtOHWvUJ.js → ja-jj4Ubayf.js} +1 -1
- package/apps/web/dist/assets/{ko-DAryK0HN.js → ko-Dn2pRrar.js} +1 -1
- package/apps/web/dist/assets/ko-KR-C58VNccr.js +1 -0
- package/apps/web/dist/assets/{label-settings-ssfEX2uR.js → label-settings-CbBHSL0c.js} +1 -1
- package/apps/web/dist/assets/{markdown-blocks-B1kO6iku.js → markdown-blocks-B6mE_S6n.js} +1 -1
- package/apps/web/dist/assets/{member-directory-BA4ZT1qU.js → member-directory-CoGg7WkW.js} +1 -1
- package/apps/web/dist/assets/{mk-DBbiGUk5.js → mk-DQUnXaPE.js} +1 -1
- package/apps/web/dist/assets/mk-MK-Bf5RDo6j.js +1 -0
- package/apps/web/dist/assets/{nl-D4V-8WdF.js → nl-C_Ijir3O.js} +1 -1
- package/apps/web/dist/assets/nl-NL-D1WFJyOY.js +1 -0
- package/apps/web/dist/assets/{pl-C--QrxO0.js → pl-DgWXgYL-.js} +1 -1
- package/apps/web/dist/assets/pl-PL--jAcwyAK.js +1 -0
- package/apps/web/dist/assets/project-lifecycle-BHWCMq7o.js +1 -0
- package/apps/web/dist/assets/project-settings-CBG5CZX1.js +1 -0
- package/apps/web/dist/assets/pt-BR-CJQfuq9b.js +1 -0
- package/apps/web/dist/assets/{pt-BR-DvFVKpmO.js → pt-BR-N-Xvp9fC.js} +1 -1
- package/apps/web/dist/assets/public-project-DmTr9q4c.js +1 -0
- package/apps/web/dist/assets/{rotate-ccw-CB36Zu3L.js → rotate-ccw-BFYpBtuj.js} +1 -1
- package/apps/web/dist/assets/{ru-UmbPUOka.js → ru-Ctq-5FYl.js} +1 -1
- package/apps/web/dist/assets/ru-RU-BtvJ8Glt.js +1 -0
- package/apps/web/dist/assets/{search-Cvetr1OK.js → search-C2QaoLwI.js} +6 -6
- package/apps/web/dist/assets/{send-CJDct4Oj.js → send-qRPqbT2m.js} +1 -1
- package/apps/web/dist/assets/settings-BNPajW83.js +1 -0
- package/apps/web/dist/assets/{sliders-horizontal-dmqWngxy.js → sliders-horizontal-S16oyCiS.js} +1 -1
- package/apps/web/dist/assets/{switch-BtScTpP9.js → switch-C44Ouoqh.js} +1 -1
- package/apps/web/dist/assets/{table-byFokzo-.js → table-esnQpDtb.js} +1 -1
- package/apps/web/dist/assets/ticket-detail-BVyScTlg.js +2 -0
- package/apps/web/dist/assets/ticket-editor-BjuSeeiA.js +2 -0
- package/apps/web/dist/assets/ticket-list-BCvUvYju.js +6 -0
- package/apps/web/dist/assets/ticket-list-controls-BiC5CIwM.js +1 -0
- package/apps/web/dist/assets/{tr-CNpgQ4ka.js → tr-CYT8BT69.js} +1 -1
- package/apps/web/dist/assets/tr-TR-Bahy-EKO.js +1 -0
- package/apps/web/dist/assets/uk-UA-DDVgxWqX.js +1 -0
- package/apps/web/dist/assets/{uk-MQoTXdpk.js → uk-y7QuyfrN.js} +1 -1
- package/apps/web/dist/assets/{upload-D1x_ib3B.js → upload-e7CmLHhp.js} +1 -1
- package/apps/web/dist/assets/{useQueries-BnlNCoy4.js → useQueries-U3MOyy3t.js} +1 -1
- package/apps/web/dist/assets/{vi-CEw4gTWc.js → vi-Bz2g5X1k.js} +1 -1
- package/apps/web/dist/assets/vi-VN-CuHCYxNQ.js +1 -0
- package/apps/web/dist/assets/{visual-editor-CpdMRn3e.js → visual-editor-UmVaDXWu.js} +1 -1
- package/apps/web/dist/assets/workspace-settings-BiWJqW0m.js +1 -0
- package/apps/web/dist/assets/zh-CN-C94sYOI_.js +1 -0
- package/apps/web/dist/assets/{zh-CN-ChzoXkfr.js → zh-CN-y_sluDUm.js} +1 -1
- package/apps/web/dist/assets/zh-TW-BoRQfGQL.js +1 -0
- package/apps/web/dist/assets/{zh-TW-bWBKARrK.js → zh-TW-DIEfy239.js} +1 -1
- package/apps/web/dist/index.html +8 -8
- package/docs/api.md +63 -5
- package/docs/cli.md +1 -1
- package/docs/mobile.md +1 -1
- package/docs/plan.md +1 -0
- package/docs/releasing.md +1 -1
- package/package.json +1 -1
- package/apps/web/dist/assets/admin-settings-CO7nnD9T.js +0 -1
- package/apps/web/dist/assets/az-AZ-R8_HFWJr.js +0 -1
- package/apps/web/dist/assets/configuration-Bnt72HRu.js +0 -1
- package/apps/web/dist/assets/de-DE-BHgMj19Y.js +0 -1
- package/apps/web/dist/assets/default-DqsN66dq.js +0 -56
- package/apps/web/dist/assets/delivery-settings-Cji0N0m0.js +0 -1
- package/apps/web/dist/assets/el-GR-CQFGM5Sr.js +0 -1
- package/apps/web/dist/assets/es-ES-DZkcRVA4.js +0 -1
- package/apps/web/dist/assets/fr-FR-CRPAezXU.js +0 -1
- package/apps/web/dist/assets/hi-IN-2YFE4UQk.js +0 -1
- package/apps/web/dist/assets/id-ID-B-J0_QIW.js +0 -1
- package/apps/web/dist/assets/index-BAnwOrh1.css +0 -2
- package/apps/web/dist/assets/index-nltuyQtq.js +0 -17
- package/apps/web/dist/assets/it-IT-CJ0HYggO.js +0 -1
- package/apps/web/dist/assets/ja-JP-DDQS7D7b.js +0 -1
- package/apps/web/dist/assets/ko-KR-CkpoewEa.js +0 -1
- package/apps/web/dist/assets/mk-MK-C0RhS6XR.js +0 -1
- package/apps/web/dist/assets/nl-NL-BSKqlzcL.js +0 -1
- package/apps/web/dist/assets/pl-PL-CHz38SiU.js +0 -1
- package/apps/web/dist/assets/project-lifecycle-COZb9FqM.js +0 -1
- package/apps/web/dist/assets/project-settings-DwmTm9KA.js +0 -1
- package/apps/web/dist/assets/pt-BR-BotWHRiO.js +0 -1
- package/apps/web/dist/assets/public-project-B3hEkeCF.js +0 -1
- package/apps/web/dist/assets/ru-RU-DtOwNna6.js +0 -1
- package/apps/web/dist/assets/settings-3IXm9lJ-.js +0 -1
- package/apps/web/dist/assets/ticket-detail-C3YA3Hzc.js +0 -2
- package/apps/web/dist/assets/ticket-editor-CZnZQMG1.js +0 -2
- package/apps/web/dist/assets/ticket-list-BXUorfmj.js +0 -6
- package/apps/web/dist/assets/ticket-list-controls-BxGKCZMo.js +0 -1
- package/apps/web/dist/assets/tr-TR-CdG2alU2.js +0 -1
- package/apps/web/dist/assets/uk-UA-Ceu5gorw.js +0 -1
- package/apps/web/dist/assets/vi-VN-CxshgV4W.js +0 -1
- package/apps/web/dist/assets/workspace-settings-BickBtZx.js +0 -1
- package/apps/web/dist/assets/zh-CN-D7Yrjhd3.js +0 -1
- package/apps/web/dist/assets/zh-TW-DyF38kqx.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Za as e}from"./search-
|
|
1
|
+
import{Za as e}from"./search-C2QaoLwI.js";var t={name:`send`,size:24,node:[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{Dn as t,En as n,K as r,Mn as i,Nt as a,Pt as o,Sn as s,Ut as c,Wn as l,_ as u,_n as d,cn as f,g as p,gt as m,h,hn as ee,lt as g,mn as te,pn as ne,r as re,sn as _,ut as v}from"./default-CN9zcRIy.js";import{$a as y,$r as ie,Ba as b,Bi as ae,Br as oe,Ca as se,Ct as x,Da as S,Ea as C,Et as w,Fa as T,Gi as E,H as ce,Ir as le,J as D,Ja as O,Jt as k,Ki as A,Lt as j,Pa as M,Q as N,Qa as P,Qi as F,Rr as ue,U as I,Vi as de,Vr as fe,X as L,Xi as pe,Y as R,Yi as me,Z as z,Zi as he,_i as ge,ai as _e,ar as ve,at as B,ba as V,cn as ye,di as be,dr as H,et as U,fi as xe,ft as Se,ha as Ce,ii as we,ir as Te,ka as Ee,ko as De,kr as Oe,lr as ke,ma as Ae,mi as W,mr as je,nr as Me,oa as Ne,oi as Pe,or as Fe,ot as G,pa as Ie,pi as Le,q as Re,rr as ze,sa as Be,si as Ve,sr as He,st as K,tr as Ue,ui as We,ur as Ge,vi as Ke,vr as qe,wt as Je,xa as Ye,xt as Xe,ya as Ze,zi as Qe,zr as $e}from"./search-C2QaoLwI.js";import{g as et}from"./item-BbaYy50i.js";import{i as tt,t as nt}from"./delivery-settings-xx9Bb6Ux.js";import{r as rt,u as it}from"./project-lifecycle-BHWCMq7o.js";import{n as at,r as ot,t as st}from"./CompositeItem-GgAhkI4m.js";import{t as ct}from"./ticket-list-controls-BiC5CIwM.js";import{t as lt}from"./upload-e7CmLHhp.js";import{t as ut}from"./forms-BUNl5uNV.js";import{Dt as dt,Et as ft,Jt as pt,Kt as mt,St as ht,Xt as gt,Yt as _t,Zt as vt,an as yt,f as bt,gt as xt,i as q,n as J,p as St,qt as Ct,r as wt,t as Tt,tn as Et,un as Dt,v as Ot,vt as kt,wt as At,xt as Y,y as jt}from"./index-CvFGdLre.js";import{t as Mt}from"./switch-C44Ouoqh.js";import{a as Nt,i as X,n as Pt,o as Ft,r as Z,t as It}from"./table-esnQpDtb.js";var Q=e(l(),1),Lt=Q.createContext(void 0);function Rt(e=!1){let t=Q.useContext(Lt);if(!t&&!e)throw Error(Ye(86));return t}Object.keys(xe);function zt(e,t){return e.matches(`:disabled`)?!1:!t||e.form===t||e.form===null&&!e.hasAttribute(`form`)}var $=re(),Bt=[`7`,`30`,`90`,`365`,`custom`,`never`],Vt=e=>({name:d(`settings.credentials.permission.${e}.name`),description:d(`settings.credentials.permission.${e}.description`)});function Ht(e){try{return JSON.parse(e??`null`)}catch{return null}}function Ut(e){return{permissions:i({kanvil:t(n(c))}).safeParse(Ht(e.permissions)).data?.kanvil??[],projectIds:(p.safeParse(Ht(e.metadata)).data??{projectIds:[]}).projectIds}}function Wt(){let e=De(),t=pe(),[n,i]=(0,Q.useState)(!1),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(null),[l]=(0,Q.useState)(Date.now),p=y({queryKey:[`kanvil`,`credentials`],queryFn:()=>E.request(`/api/v1/credentials`,u)});function h(){i(!1),c(null)}return(0,$.jsxs)(`section`,{children:[(0,$.jsx)(G,{title:d(`settings.credentials.title`),description:d(`settings.credentials.description`),action:(0,$.jsx)(L,{label:d(`settings.credentials.create`),variant:`default`,disabled:t.isPending,onClick:()=>i(!0),children:(0,$.jsx)(et,{})})}),(0,$.jsx)(D,{error:p.error??t.error}),p.isPending?(0,$.jsx)(N,{}):p.data?.length?(0,$.jsxs)(It,{"aria-label":d(`settings.credentials.title`),mobileLayout:`rows`,children:[(0,$.jsx)(Nt,{children:(0,$.jsxs)(Ft,{children:[(0,$.jsx)(X,{children:d(`settings.credentials.name`)}),(0,$.jsx)(X,{children:d(`settings.credentials.access`)}),(0,$.jsx)(X,{children:d(`settings.credentials.projects`)}),(0,$.jsx)(X,{children:d(`settings.credentials.expires`)}),(0,$.jsx)(X,{children:(0,$.jsx)(`span`,{className:`sr-only`,children:d(`settings.credentials.actions`)})})]})}),(0,$.jsx)(Pt,{children:p.data.map(n=>{let i=Ut(n),a=!!n.expiresAt&&new Date(n.expiresAt).getTime()<=l,o=i.projectIds?.map(e=>t.data?.find(t=>t.id===e)?.name??d(`settings.credentials.unavailableProject`));return(0,$.jsxs)(Ft,{children:[(0,$.jsx)(Z,{className:`max-w-64 whitespace-normal`,children:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg bg-muted text-muted-foreground`,children:(0,$.jsx)(Dt,{className:`size-4`})}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`strong`,{dir:`auto`,className:`block wrap-anywhere font-medium`,children:n.name||d(`settings.credentials.untitled`)}),(0,$.jsxs)(`code`,{className:`text-xs text-muted-foreground`,children:[n.start,`…`]})]}),(a||!n.enabled)&&(0,$.jsx)(Xe,{variant:`secondary`,children:d(a?`settings.credentials.expired`:`settings.credentials.disabled`)})]})}),(0,$.jsx)(Z,{"data-label":d(`settings.credentials.access`),className:`max-w-72 whitespace-normal`,children:(0,$.jsx)(`span`,{className:`text-sm`,children:i.permissions.length===1&&i.permissions[0]===`read`?d(`settings.credentials.preset.read`):f(i.permissions.map(e=>Vt(e).name))||d(`settings.credentials.custom`)})}),(0,$.jsx)(Z,{"data-label":d(`settings.credentials.projects`),className:`max-w-64 whitespace-normal`,children:i.projectIds===null?d(`settings.credentials.global`):f(o??[])||d(`settings.credentials.noProjects`)}),(0,$.jsx)(Z,{"data-label":d(`settings.credentials.expires`),className:`whitespace-nowrap text-muted-foreground`,children:n.expiresAt?r(n.expiresAt):d(`settings.credentials.never`)}),(0,$.jsx)(Z,{children:(0,$.jsx)(I,{label:d(`settings.credentials.revoke`),icon:(0,$.jsx)(at,{}),danger:!0,description:n.name===null?d(`settings.credentials.revokeUnnamed`):d(`settings.credentials.revokeNamed`,{name:n.name}),onConfirm:async()=>{await E.request(`/api/v1/credentials/${encodeURIComponent(n.id)}`,m,{method:`DELETE`}),await e.invalidateQueries({queryKey:[`kanvil`,`credentials`]})}})})]},n.id)})})]}):(0,$.jsx)(Re,{title:d(`settings.credentials.empty`),icon:Dt,className:`py-16`,children:(0,$.jsx)(`p`,{className:`mb-0 max-w-sm text-center text-sm text-muted-foreground`,children:d(`settings.credentials.emptyDescription`)})}),(0,$.jsx)(U,{busy:a,title:d(s?`settings.credentials.created`:`settings.credentials.create`),open:n,onOpenChange:e=>{e||h()},children:s?(0,$.jsx)(Gt,{value:s,onDone:h}):(0,$.jsx)(qt,{pending:a,setPending:o,projects:t.data??[],loading:t.isPending,onCancel:h,onCreated:async t=>{c(t),await e.invalidateQueries({queryKey:[`kanvil`,`credentials`]})}})})]})}function Gt({value:e,onDone:t}){let[n,r]=(0,Q.useState)(!1),[i,a]=(0,Q.useState)();return(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{children:d(`settings.credentials.copyNow`)}),(0,$.jsx)(z,{label:d(`settings.credentials.newKey`),value:e.key,readOnly:!0,className:`font-mono text-xs`,onFocus:e=>e.target.select()}),(0,$.jsx)(D,{error:i}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(W,{onClick:()=>{Qe(e.key).then(()=>r(!0)).catch(a)},children:[n?(0,$.jsx)(O,{}):(0,$.jsx)(b,{}),d(n?`common.state.copied`:`settings.credentials.copy`)]}),(0,$.jsx)(W,{variant:`default`,onClick:t,children:d(`common.action.done`)})]})]})}function Kt({scope:e,checked:t,onChange:n}){let r=(0,Q.useId)(),i=Vt(e);return(0,$.jsxs)(ve,{orientation:`horizontal`,className:`border-b py-3 last:border-0 [&_[data-slot=field-description]]:m-0 [&_[data-slot=field-description]]:text-xs`,children:[(0,$.jsx)(Ue,{id:r,checked:t,onCheckedChange:n}),(0,$.jsxs)(Fe,{children:[(0,$.jsx)(ke,{htmlFor:r,children:i.name}),(0,$.jsx)(He,{children:i.description})]})]})}function qt({projects:e,loading:t,onCreated:n,onCancel:r,pending:i,setPending:a}){let o=Ne(),s=new Map(o.data?.map(e=>[e.id,e.name])),[{tomorrow:l,lastDay:u}]=(0,Q.useState)(()=>{let e=new Date;e.setHours(0,0,0,0),e.setDate(e.getDate()+1);let t=new Date;return t.setDate(t.getDate()+365),{tomorrow:e,lastDay:t}}),[f,p]=(0,Q.useState)(e.length===1&&e[0]?[e[0].id]:[]),[m,ee]=(0,Q.useState)(!1),[g,te]=(0,Q.useState)([`read`]),[ne,re]=(0,Q.useState)(()=>{let e=new Date;return e.setDate(e.getDate()+90),e}),[_,v]=(0,Q.useState)(`90`),[y,ie]=(0,Q.useState)(),[b,ae]=(0,Q.useState)(`read`),[oe,se]=(0,Q.useState)(``),x=e.filter(e=>`${e.name} ${e.key} ${s.get(e.workspaceId)??``}`.toLowerCase().includes(oe.toLowerCase()));async function S(e){e.preventDefault(),a(!0),ie(void 0);try{await n(await E.request(`/api/v1/credentials`,h,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:ut(new FormData(e.currentTarget),`name`),projectIds:m?null:f,scopes:g,expiresIn:_===`never`?null:_===`custom`?kt(ne):Number(_)*86400})}))}catch(e){ie(e)}finally{a(!1)}}return t?(0,$.jsx)(N,{}):(0,$.jsx)(`form`,{onSubmit:e=>{S(e)},children:(0,$.jsxs)(H,{disabled:i,children:[(0,$.jsx)(z,{label:d(`settings.credentials.keyName`),name:`name`,required:!0,maxLength:100,placeholder:d(`settings.credentials.keyNamePlaceholder`),autoFocus:!0}),(0,$.jsxs)(H,{className:`gap-2`,children:[(0,$.jsx)(Ge,{variant:`label`,children:d(`settings.credentials.projectAccess`)}),(0,$.jsx)(ce,{label:d(`settings.credentials.global`),description:d(`settings.credentials.globalDescription`),checked:m,onCheckedChange:ee}),!m&&e.length>6&&(0,$.jsx)(B,{label:d(`settings.credentials.findProject`),value:oe,onChange:se,className:`mb-2`}),!m&&(0,$.jsxs)(`div`,{className:`max-h-44 overflow-y-auto px-3 py-1`,children:[x.map(e=>(0,$.jsx)(ce,{label:e.name,description:d(`settings.credentials.projectDescription`,{key:e.key,workspace:s.get(e.workspaceId)??d(`settings.credentials.workspace`)}),checked:f.includes(e.id),onCheckedChange:t=>p(n=>t?[...n,e.id]:n.filter(t=>t!==e.id))},e.id)),x.length===0&&(0,$.jsx)(`p`,{className:`my-4 text-sm text-muted-foreground`,children:d(`settings.credentials.noMatches`)})]}),(0,$.jsx)(He,{children:d(`settings.credentials.roleLimit`)})]}),(0,$.jsxs)(K,{label:d(`settings.credentials.accessLevel`),value:b,onValueChange:e=>{let t=e??`read`;ae(t),t!==`custom`&&te(t===`read`?[`read`]:t===`write`?[`read`,`write`]:[`read`,`write`,`claim`])},children:[(0,$.jsx)(j,{value:`read`,children:d(`settings.credentials.preset.read`)}),(0,$.jsx)(j,{value:`write`,children:d(`settings.credentials.preset.write`)}),(0,$.jsx)(j,{value:`automation`,children:d(`settings.credentials.preset.automation`)}),(0,$.jsx)(j,{value:`custom`,children:d(`settings.credentials.preset.custom`)})]}),b===`custom`&&(0,$.jsx)(H,{className:`gap-0`,children:c.map(e=>(0,$.jsx)(Kt,{scope:e,checked:g.includes(e),onChange:t=>te(n=>t?e===`intake`?[`intake`]:[...n.filter(e=>e!==`intake`),e]:n.filter(t=>t!==e))},e))}),(0,$.jsx)(K,{label:d(`settings.credentials.expires`),value:_,onValueChange:e=>v(e??`90`),children:Bt.map(e=>(0,$.jsx)(j,{value:e,children:d(`settings.credentials.expiry.${e}`)},e))}),_===`custom`&&(0,$.jsx)(xt,{label:d(`settings.credentials.expiresOn`),value:ne,onChange:e=>{e&&re(e)},bounds:{from:l,to:u}}),_===`never`&&(0,$.jsx)(He,{children:d(`settings.credentials.neverDescription`)}),(0,$.jsx)(R,{error:y,pending:i,submitLabel:d(`settings.credentials.create`),pendingLabel:d(`settings.credentials.creating`),submitDisabled:!m&&!f.length||!g.length,onCancel:r})]})})}function Jt(){let e=De(),t=he(),n=A.useSession(),r=(0,Q.useRef)(null),[i,a]=(0,Q.useState)(!1),[o,c]=(0,Q.useState)(),[l,u]=(0,Q.useState)(),[f,p]=(0,Q.useState)(``);async function m(){await Promise.all([n.refetch(),e.invalidateQueries({queryKey:[`kanvil`]})])}async function h(e){a(!0),c(void 0),p(``);try{await E.request(`/api/v1/profile/photo`,s,e?{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(await de(e))}:{method:`DELETE`}),await m(),p(d(e?`settings.profile.photoUpdated`:`settings.profile.photoRemoved`))}catch(e){c(e)}finally{a(!1)}}return(0,$.jsxs)(`section`,{children:[(0,$.jsx)(G,{title:d(`settings.profile.title`)}),(0,$.jsx)(Tt,{name:t.name,nameLabel:d(`settings.profile.displayName`),withDescription:!1,canEdit:!0,pending:i,error:l,editLabel:d(`settings.profile.edit`),media:(0,$.jsx)(tt,{label:d(`settings.profile.changePhoto`),round:!0,disabled:i,onClick:()=>r.current?.click(),children:(0,$.jsx)(Be,{name:t.name,image:t.image,className:`size-16 text-xl`})}),onSave:async({name:e})=>{u(void 0),a(!0);try{let t=await A.updateUser({name:e});if(t.error)throw Error(t.error.message);await m(),p(d(`settings.profile.saved`))}catch(e){throw u(e),e}finally{a(!1)}},children:(0,$.jsx)(`p`,{className:`mb-0 text-sm break-all text-muted-foreground`,children:t.email})}),t.image&&(0,$.jsxs)(W,{className:`mt-5`,variant:`ghost`,disabled:i,onClick:()=>{h()},children:[(0,$.jsx)(at,{}),d(`settings.profile.removePhoto`)]}),(0,$.jsx)(qe,{ref:r,type:`file`,disabled:i,accept:`image/png,image/jpeg,image/webp`,className:`hidden`,"aria-label":d(`settings.profile.photoFile`),onChange:e=>{let t=e.currentTarget.files?.[0];t&&h(t),e.currentTarget.value=``}}),(0,$.jsx)(D,{error:o}),f&&(0,$.jsx)(`p`,{role:`status`,className:`mt-4 mb-0 text-sm text-muted-foreground`,children:f})]})}function Yt({palette:e,clip:t}){return(0,$.jsxs)(`g`,{clipPath:t,children:[(0,$.jsx)(`rect`,{width:`160`,height:`96`,fill:e.background}),(0,$.jsx)(`rect`,{width:`34`,height:`96`,fill:e.sidebar}),(0,$.jsx)(`rect`,{x:`7`,y:`10`,width:`19`,height:`4`,rx:`2`,fill:e.primary}),[0,1,2].map(t=>(0,$.jsx)(`rect`,{x:`7`,y:27+t*12,width:t===2?12:21,height:`3`,rx:`1.5`,fill:e.foreground,opacity:`.25`},t)),(0,$.jsx)(`rect`,{x:`45`,y:`12`,width:`65`,height:`5`,rx:`2`,fill:e.foreground,opacity:`.8`}),(0,$.jsx)(`rect`,{x:`127`,y:`10`,width:`23`,height:`8`,rx:`3`,fill:e.primary}),[0,1,2].map(t=>(0,$.jsxs)(`g`,{children:[(0,$.jsx)(`rect`,{x:`45`,y:34+t*18,width:`57`,height:`3`,rx:`1.5`,fill:e.foreground,opacity:`.3`}),(0,$.jsx)(`circle`,{cx:`130`,cy:35+t*18,r:`3`,fill:e.primary,opacity:t===1?1:.35}),(0,$.jsx)(`rect`,{x:`45`,y:43+t*18,width:`105`,height:`.6`,fill:e.foreground,opacity:`.12`})]},t))]})}function Xt({theme:e,mode:t=`system`,variant:n=`wireframe`,className:r}){let i=(0,Q.useId)();if(n===`orb`&&t!==`system`){let n=e[t],i=t===`light`;return(0,$.jsx)(`span`,{"aria-hidden":`true`,className:T(`relative block size-14 shrink-0 overflow-hidden rounded-full border-2 border-background`,r),style:{boxShadow:i?`inset 0 0 0 1px rgb(0 0 0 / .1), 0 1px 2px rgb(0 0 0 / .08)`:`inset 0 0 0 1px rgb(255 255 255 / .14), 0 1px 2px rgb(0 0 0 / .18)`},children:(0,$.jsx)(`span`,{className:`absolute inset-0 rounded-full`,style:{backgroundColor:`color-mix(in oklab, ${n.background} 80%, ${i?`#ffffff`:`#09090b`})`,backgroundImage:`radial-gradient(circle at ${i?`72% 22%`:`28% 78%`} in oklab, ${n.primary} 0%, color-mix(in oklab, ${n.primary} ${i?`72%`:`62%`}, transparent) 28%, transparent 58%), radial-gradient(circle at ${i?`18% 82%`:`82% 18%`} in oklab, color-mix(in oklab, ${n.primary} 45%, transparent) 0%, transparent 55%)`,filter:`blur(3px)`,transform:`scale(1.1)`}})})}return(0,$.jsxs)(`svg`,{viewBox:`0 0 160 96`,preserveAspectRatio:`none`,className:T(`w-full rounded-md`,r),"aria-hidden":`true`,children:[(0,$.jsxs)(`defs`,{children:[(0,$.jsx)(`clipPath`,{id:`${i}-light`,children:(0,$.jsx)(`rect`,{width:`80`,height:`96`})}),(0,$.jsx)(`clipPath`,{id:`${i}-dark`,children:(0,$.jsx)(`rect`,{x:`80`,width:`80`,height:`96`})})]}),t===`system`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yt,{palette:e.light,clip:`url(#${i}-light)`}),(0,$.jsx)(Yt,{palette:e.dark,clip:`url(#${i}-dark)`})]}):(0,$.jsx)(Yt,{palette:e[t]})]})}var Zt=`data-checked`,Qt=`data-unchecked`,$t={checked(e){return e?{[Zt]:``}:{[Qt]:``}},...Ae,...Le},en=Q.createContext(void 0);function tn(){return Q.useContext(en)}var nn=Q.createContext(void 0);function rn(){let e=Q.useContext(nn);if(e===void 0)throw Error(Ye(52));return e}var an=Q.forwardRef(function(e,t){let{render:n,className:r,disabled:i=!1,readOnly:a=!1,required:o=!1,"aria-labelledby":s,value:c,inputRef:l,nativeButton:u=!1,id:d,style:f,...p}=e,m=tn(),{disabled:h,readOnly:ee,required:g,form:te,checkedValue:ne,touched:re=!1,validation:_,name:v,setCheckedValue:y=S,setTouched:ie=S,registerInputRef:b=S}=m??{},{setTouched:ae,setFilled:x,state:w,disabled:T}=be(),E=fe(),{labelId:ce,getDescriptionProps:D}=Pe(),O=T||E.disabled||h||i,k=ee||a,A=g||o,j=te,M=m?ne===c:c===``,N=Q.useRef(null),P=oe(O,N),F=Q.useRef(null),ue=_?.registerInput,I=Q.useCallback(e=>ue?.(e,{controlRef:N,value:void 0}),[ue]),de=Ee(l,F,b,I);Ze(()=>{F.current?.checked&&x(!0)},[x]),Ze(()=>{F.current&&b(O&&M?null:F.current)},[M,O,b]);let L=Ve(),pe=we({id:d}),R=u?void 0:pe,me={role:`radio`,"aria-checked":M,"aria-labelledby":_e(s,ce,F,!u,R,p[`aria-label`]),[jt]:M?``:void 0,id:u?pe:L,onKeyDown(e){e.key===`Enter`&&e.preventDefault()},onClick(e){if(e.defaultPrevented||O||k)return;e.preventDefault();let t=F.current;t&&Ke(t,e)},onFocus(e){P(!0),!(e.defaultPrevented||O||k||!re)&&(F.current?.click(),ie(!1))},onBlur(){m||P(!1)}},{getButtonProps:z,buttonRef:he}=ge({disabled:O,native:u,composite:!1}),ve={type:`radio`,ref:de,form:j,id:R,name:v,tabIndex:-1,style:v?ze:Me,"aria-hidden":!0,...c===void 0?C:{value:ye(c)},disabled:O,checked:M,required:A,readOnly:k,onChange(e){if(e.nativeEvent.defaultPrevented||O||k||c===void 0)return;let t=le(Oe,e.nativeEvent);y(c,t),!t.isCanceled&&ae(!0)},onClick(e){e.stopPropagation()},onFocus(){N.current?.focus()}},B=Q.useMemo(()=>({...w,required:A,disabled:O,readOnly:k,checked:M}),[w,O,k,M,A]),V=B,H=m!==void 0,U=[t,N,he],xe=[me,p,z,D,_?e=>_.getValidationProps(O,e):C],Se=se(`span`,e,{enabled:!H,state:B,ref:U,props:xe,stateAttributesMapping:$t});return(0,$.jsxs)(nn.Provider,{value:V,children:[H?(0,$.jsx)(st,{tag:`span`,render:n,className:r,style:f,state:B,refs:U,props:xe,stateAttributesMapping:$t}):Se,(0,$.jsx)(`input`,{...ve,suppressHydrationWarning:!0})]})}),on=Q.forwardRef(function(e,t){let{render:n,className:r,style:i,keepMounted:a=!1,...o}=e,s=rn(),c=s.checked,{mounted:l,transitionStatus:u,setMounted:d}=Ie(c),f={...s,transitionStatus:u},p=Q.useRef(null),m=a||l,h=se(`span`,e,{ref:[t,p],state:f,props:o,stateAttributesMapping:$t});return Ce({batch:!0,enabled:!c,open:c,ref:p,onComplete(){c||d(!1)}}),m?h:null}),sn=[k],cn=Q.forwardRef(function(e,t){let{render:n,className:r,disabled:i,readOnly:a,required:o,onValueChange:s,value:c,defaultValue:l,form:u,name:d,inputRef:f,id:p,style:m,...h}=e,{setTouched:ee,setFocused:g,validationMode:te,name:ne,disabled:re,state:_,validation:v,setDirty:y,setFilled:b,validityData:ae}=be(),{labelId:oe}=Pe(),{clearErrors:se,elementRef:x}=We(),S=Rt(!0),C=re||i,w=ne??d,T=Ve(p),[E,ce]=Te({controlled:c,default:l,name:`RadioGroup`,state:`value`}),[le,D]=Q.useState(!1),O=V((e,t)=>{s?.(e,t),!t.isCanceled&&ce(e)}),k=v.getInputControl,A=Q.useMemo(()=>({get current(){return k()}}),[k]),j=Q.useRef(null),M=Q.useRef(null),N=Ee(j,f),P=Q.useRef(N),F=V(e=>{(j.current!==e||P.current!==N)&&(P.current=N,N?.(e))});Ze(()=>{F(j.current)},[N,F]);let I=V(e=>{if(e){if(!e.disabled){M.current||=e;let t=j.current;(e.checked||t==null||t.disabled)&&F(e)}return()=>{M.current===e&&(M.current=null),j.current===e&&F(null)}}}),de=V(()=>{let e=x.current;if(!e)return E??null;for(let t of v.registeredInputs.keys())if(t.checked&&zt(t,e))return E??null;return null});$e(A,T,E??null,de,!C,d),ue(E,()=>{se(w),y(E!==ae.initialValue),b(E!=null),v.change(E);let e=M.current;E==null&&e&&!e.disabled&&F(e)});let fe=oe??S?.legendId,L={..._,disabled:C??!1,required:o??!1,readOnly:a??!1},pe=Q.useMemo(()=>({checkedValue:E,disabled:C,form:u,validation:v,name:w,readOnly:a,registerInputRef:I,required:o,setCheckedValue:O,setTouched:D,touched:le}),[E,C,u,v,w,a,I,o,O,D,le]),R={id:p,role:`radiogroup`,"aria-required":o||void 0,"aria-disabled":C||void 0,"aria-readonly":a||void 0,"aria-labelledby":fe,onBlur(e){ie(e.currentTarget,e.relatedTarget)||(D(!1),ee(!0),g(!1),te===`onBlur`&&v.commit(E))},onKeyDownCapture(e){e.key.startsWith(`Arrow`)&&D(!0)}};return(0,$.jsx)(en.Provider,{value:pe,children:(0,$.jsx)(Ot,{render:n,className:r,style:m,state:L,props:[R,h,e=>v.getValidationProps(C??!1,e)],refs:[t],stateAttributesMapping:Le,enableHomeAndEndKeys:!1,modifierKeys:sn})})});function ln({className:e,...t}){return(0,$.jsx)(cn,{"data-slot":`radio-group`,className:T(`grid w-full gap-2`,e),...t})}function un({className:e,...t}){return(0,$.jsx)(an,{"data-slot":`radio-group-item`,className:T(`group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-transparent focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground group-has-[:focus-visible]/field-label:data-checked:border-primary dark:data-checked:bg-primary`,e),...t,children:(0,$.jsx)(on,{"data-slot":`radio-group-indicator`,className:`flex size-4 items-center justify-center`,children:(0,$.jsx)(`span`,{className:`absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground`})})})}var dn=[`system`,`light`,`dark`],fn=e=>ae(`${e.id}.kanvil-theme.json`,_t([e]));function pn({theme:e,active:t,activeModes:n,onPickMode:r,actions:i}){return(0,$.jsxs)(`div`,{className:`relative overflow-hidden rounded-xl border border-border/70 bg-background transition-colors hover:bg-accent/10 has-[>[data-slot=radio-group-item]:focus-visible]:ring-2 has-[>[data-slot=radio-group-item]:focus-visible]:ring-ring has-[>[data-slot=radio-group-item]:focus-visible]:ring-offset-2 has-[>[data-slot=radio-group-item]:focus-visible]:ring-offset-background data-[selected=true]:bg-accent/30 data-[selected=true]:shadow-[inset_0_0_0_1px_var(--ring)]`,"data-selected":t,children:[(0,$.jsx)(un,{value:e.id,id:`theme-${e.id}`,className:`peer absolute inset-0 size-full aspect-auto rounded-xl opacity-0`}),(0,$.jsx)(`div`,{className:`pointer-events-none relative flex min-h-16 items-center justify-center gap-2.5 px-3 pt-3`,children:[`light`,`dark`].map(t=>{let i=n.includes(t),a=t===`light`?Et:yt;return(0,$.jsxs)(x,{children:[(0,$.jsxs)(w,{render:(0,$.jsx)(W,{variant:`ghost`,"aria-label":d(`settings.appearance.useMode.${t}`,{name:e.name}),"aria-pressed":i,className:`pointer-events-auto relative size-[68px] shrink-0 rounded-full p-1 transition-transform hover:scale-105 hover:bg-transparent aria-pressed:hover:scale-100`,onClick:()=>r(t)}),children:[(0,$.jsx)(Xt,{theme:e,mode:t,variant:`orb`}),i&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 rounded-full ring-2 ring-inset ring-ring`}),(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute bottom-0.5 right-0.5 flex size-5 items-center justify-center rounded-full border border-border/70 bg-background text-foreground shadow-sm`,children:(0,$.jsx)(a,{className:`size-3`})})]})]}),(0,$.jsx)(Je,{children:d(`settings.appearance.modeOnly.${t}`)})]},t)})}),(0,$.jsxs)(`div`,{className:`pointer-events-none relative flex items-center gap-2 px-3 pb-3 pt-2`,children:[(0,$.jsx)(je,{htmlFor:`theme-${e.id}`,title:e.name,className:`min-w-0 flex-1 truncate text-sm font-medium`,children:e.name}),(0,$.jsx)(`div`,{className:`pointer-events-auto relative flex shrink-0 items-center gap-1`,children:i})]})]})}var mn=e=>e.toLocaleLowerCase().normalize(`NFD`).replace(/\p{Diacritic}/gu,``);function hn(){let e=Ct(),t=(0,Q.useRef)(null),[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)(``),[s,c]=(0,Q.useState)(),l={...e.selected,light:e.lightTheme.light,dark:e.darkTheme.dark};function u(e){i({...e,id:`custom-${crypto.getRandomValues(new Uint32Array(2)).join(`-`)}`,name:d(`settings.appearance.copyName`,{name:e.name})})}let f=e.themes.filter(e=>mn(e.name).includes(mn(a)));return(0,$.jsxs)(`section`,{className:`space-y-5`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`mb-3 text-sm font-normal text-muted-foreground`,children:d(`settings.appearance.colorScheme`)}),(0,$.jsx)(ln,{value:e.mode,onValueChange:t=>e.setMode(n(dn).parse(t)),"aria-label":d(`settings.appearance.theme`),className:`grid grid-cols-3 gap-3`,children:dn.map(t=>(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(un,{id:`mode-${t}`,value:t,className:`peer absolute inset-0 z-10 size-full aspect-auto rounded-xl opacity-0`}),(0,$.jsxs)(je,{htmlFor:`mode-${t}`,className:`theme-choice flex w-full cursor-pointer flex-col gap-2 rounded-lg border border-border bg-background p-2 text-xs font-medium transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background hover:bg-muted/50 data-[selected=true]:border-primary data-[selected=true]:ring-1 data-[selected=true]:ring-primary [&_svg]:overflow-hidden [&_svg]:border [&_svg]:border-foreground/10`,"data-selected":e.mode===t,children:[(0,$.jsx)(Xt,{theme:l,mode:t,className:`h-[8.75rem]`}),(0,$.jsx)(`span`,{className:`pb-1`,children:mt[t]})]})]},t))})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`mb-4 flex flex-wrap items-center justify-between gap-3`,children:[(0,$.jsx)(`h2`,{className:`mb-0 text-sm font-normal text-muted-foreground`,children:d(`settings.appearance.themes`)}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center justify-end gap-1`,children:[(0,$.jsx)(B,{label:d(`settings.appearance.search`),placeholder:d(`settings.appearance.searchPlaceholder`),value:a,onChange:o}),(0,$.jsx)(L,{label:d(`settings.appearance.create`),size:`icon-sm`,onClick:()=>u(l),children:(0,$.jsx)(et,{})}),(0,$.jsx)(L,{label:d(`settings.appearance.add`),size:`icon-sm`,onClick:()=>t.current?.click(),children:(0,$.jsx)(lt,{})})]})]}),(0,$.jsx)(qe,{ref:t,type:`file`,accept:`application/json,.json`,className:`hidden`,"aria-label":d(`settings.appearance.importFile`),onChange:t=>{let n=t.currentTarget.files?.[0];n&&(c(void 0),n.text().then(t=>e.importThemes(pt(t))).catch(c),t.currentTarget.value=``)}}),(0,$.jsx)(D,{error:s}),(0,$.jsx)(ln,{"aria-label":d(`settings.appearance.colorTheme`),value:e.color,onValueChange:t=>e.setColor(String(t)),className:`grid grid-cols-[repeat(auto-fit,minmax(min(100%,16rem),1fr))] gap-2`,children:f.map(t=>(0,$.jsx)(pn,{theme:t,active:t.id===e.color,activeModes:[`light`,`dark`].filter(n=>(n===`light`?e.lightTheme.id:e.darkTheme.id)===t.id),onPickMode:n=>e.setColorForMode(n,t.id),actions:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(L,{label:d(`settings.appearance.duplicate`,{name:t.name}),className:`size-6`,onClick:()=>u(t),children:(0,$.jsx)(b,{})}),t.id.startsWith(`custom-`)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(L,{label:d(`settings.appearance.edit`,{name:t.name}),className:`size-6`,onClick:()=>i(t),children:(0,$.jsx)(ot,{})}),(0,$.jsx)(L,{label:d(`settings.appearance.export`,{name:t.name}),className:`size-6`,onClick:()=>fn(t),children:(0,$.jsx)(it,{})}),(0,$.jsx)(I,{label:d(`settings.appearance.delete`,{name:t.name}),description:d(`settings.appearance.deleteDescription`,{name:t.name}),danger:!0,icon:(0,$.jsx)(at,{}),onConfirm:async()=>e.remove(t.id)})]})]})},t.id))}),f.length===0&&(0,$.jsx)(`p`,{role:`status`,className:`mt-4`,children:d(`settings.appearance.noMatches`)})]}),(0,$.jsx)(U,{title:d(`settings.appearance.customTheme`),open:!!r,onOpenChange:e=>{e||i(null)},children:r&&(0,$.jsx)(gn,{initial:r,onSaved:t=>{e.save(t),o(``),i(null)}})})]})}function gn({initial:e,onSaved:t}){let[n,r]=(0,Q.useState)(e),[i,a]=(0,Q.useState)();return(0,$.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),a(void 0);try{t(vt(n))}catch(e){a(e)}},children:[(0,$.jsx)(z,{label:d(`settings.appearance.name`),value:n.name,required:!0,maxLength:60,onChange:e=>r({...n,name:e.target.value})}),(0,$.jsx)(`div`,{className:`grid grid-cols-2 gap-5`,children:[`light`,`dark`].map(e=>(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{children:mt[e]}),(0,$.jsx)(Xt,{theme:n,mode:e}),(0,$.jsx)(`div`,{className:`mt-4 space-y-3`,children:gt.keyof().options.map(t=>(0,$.jsx)(z,{label:d(`settings.appearance.paletteColor`,{mode:mt[e],color:d(`settings.appearance.color.${t}`)}),type:`color`,value:n[e][t],onChange:i=>r({...n,[e]:{...n[e],[t]:i.target.value}})},t))})]},e))}),(0,$.jsx)(D,{error:i}),(0,$.jsx)(W,{type:`submit`,variant:`default`,className:`mt-4`,children:d(`settings.appearance.save`)})]})}function _n({section:e}){let[t,n]=bt(),r=he(),i=F(),a=y({queryKey:[`accounts`],refetchOnMount:`always`,queryFn:async()=>{let e=await A.listAccounts();if(e.error)throw Error(e.error.message);return e.data}}),[o,s]=(0,Q.useState)(!1),[c,l]=(0,Q.useState)(!1);async function u(e){e.preventDefault(),n(void 0);let t=new FormData(e.currentTarget);if(t.get(`next`)!==t.get(`confirm`))n(Error(d(`settings.account.passwordMismatch`)));else{l(!0);try{let e=await A.changePassword({currentPassword:ut(t,`current`),newPassword:ut(t,`next`),revokeOtherSessions:!0});if(e.error)throw Error(e.error.message);s(!1),M.success(d(`settings.account.passwordUpdated`))}catch(e){n(e)}finally{l(!1)}}}return(0,$.jsxs)(wt,{title:d(`settings.account.title`),section:e,children:[(0,$.jsxs)(q,{value:`account`,children:[(0,$.jsx)(Jt,{}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(G,{title:d(`settings.account.security`)}),(0,$.jsx)(J,{title:d(`settings.account.localPassword`),description:d(`settings.account.localPasswordDescription`),children:(0,$.jsx)(W,{onClick:()=>{n(void 0),s(!0)},children:d(`settings.account.changePassword`)})}),i.data?.providers.map(e=>{let t=a.data?.some(t=>t.providerId===e.id);return(0,$.jsx)(J,{title:e.name,description:d(t?`settings.account.oidcLinked`:`settings.account.oidcUnlinked`),children:t?(0,$.jsx)(Xe,{variant:`secondary`,children:d(`settings.account.linked`)}):(0,$.jsx)(W,{disabled:c,onClick:()=>{l(!0),n(void 0),A.linkSocial({provider:e.id,callbackURL:`${window.location.origin}/settings?section=account`,errorCallbackURL:`${window.location.origin}/settings?section=account`}).then(e=>{if(e.error)throw Error(e.error.message)}).catch(n).finally(()=>l(!1))},children:d(`settings.account.link`,{name:e.name})})},e.id)}),(0,$.jsx)(rt,{account:r,onDeleted:()=>me(r).catch(async()=>{await r.clearPrivateData(),window.location.assign(`/login`)})}),!o&&(0,$.jsx)(D,{error:t}),(0,$.jsx)(D,{error:a.error??i.error})]}),(0,$.jsx)(U,{title:d(`settings.account.changePassword`),open:o,onOpenChange:s,busy:c,children:(0,$.jsxs)(`form`,{onSubmit:e=>{u(e)},children:[(0,$.jsx)(z,{label:d(`settings.account.currentPassword`),name:`current`,type:`password`,autoComplete:`current-password`,required:!0}),(0,$.jsx)(z,{label:d(`settings.account.newPassword`),name:`next`,type:`password`,autoComplete:`new-password`,required:!0,minLength:12,maxLength:128}),(0,$.jsx)(z,{label:d(`settings.account.confirmPassword`),name:`confirm`,type:`password`,autoComplete:`new-password`,required:!0,minLength:12,maxLength:128}),(0,$.jsx)(R,{error:t,pending:c,submitLabel:d(`settings.account.changePassword`),onCancel:()=>s(!1)})]})})]}),(0,$.jsx)(q,{value:`appearance`,children:(0,$.jsx)(hn,{})}),(0,$.jsx)(q,{value:`preferences`,children:(0,$.jsx)(vn,{})}),(0,$.jsx)(q,{value:`credentials`,children:(0,$.jsx)(Wt,{})}),(0,$.jsxs)(q,{value:`notifications`,children:[(0,$.jsx)(yn,{pushAvailable:i.data?.push??!1}),(0,$.jsx)(nt,{emailAvailable:i.data?.email??!1})]})]})}function vn(){let e=he(),[t,n]=At(Y.weekStart),[r,i]=At(Y.sidebar),{preference:a}=dt();return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`section`,{className:`[&>.setting-row:last-child]:border-b-0`,children:[(0,$.jsx)(G,{title:d(`settings.preferences.behavior`)}),(0,$.jsx)(J,{title:d(`common.language.label`),description:d(`settings.preferences.languageDescription`),children:(0,$.jsxs)(K,{label:d(`common.language.label`),labelHidden:!0,className:`mb-0 w-44`,value:a,onValueChange:e=>void ft(te.parse(e)).catch(Se),children:[(0,$.jsx)(j,{value:`system`,children:d(`common.language.system`)}),ee.map(e=>(0,$.jsx)(j,{value:e,lang:e,children:ne[e].name},e))]})}),(0,$.jsx)(J,{title:d(`settings.preferences.weekStart`),description:d(`settings.preferences.weekStartDescription`),children:(0,$.jsxs)(K,{label:d(`settings.preferences.weekStart`),labelHidden:!0,className:`mb-0 w-44`,value:t,onValueChange:e=>n(Y.weekStart.schema.parse(e)),children:[(0,$.jsx)(j,{value:`language`,children:d(`settings.preferences.weekStartLanguage`)}),(0,$.jsx)(j,{value:`sunday`,children:_(new Date(2023,0,1),{weekday:`long`})}),(0,$.jsx)(j,{value:`monday`,children:_(new Date(2023,0,2),{weekday:`long`})}),(0,$.jsx)(j,{value:`saturday`,children:_(new Date(2023,0,7),{weekday:`long`})})]})}),(0,$.jsx)(J,{title:d(`settings.preferences.sidebar`),description:d(`settings.preferences.sidebarDescription`),children:(0,$.jsxs)(K,{label:d(`settings.preferences.sidebar`),labelHidden:!0,className:`mb-0 w-44`,value:r,onValueChange:e=>i(Y.sidebar.schema.parse(e)),children:[(0,$.jsx)(j,{value:`last`,children:d(`settings.preferences.sidebarLast`)}),(0,$.jsx)(j,{value:`expanded`,children:d(`settings.preferences.sidebarExpanded`)}),(0,$.jsx)(j,{value:`collapsed`,children:d(`settings.preferences.sidebarCollapsed`)})]})})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(G,{title:d(`settings.preferences.ticketLists`)}),(0,$.jsx)(`div`,{className:`grid max-w-sm gap-3`,children:(0,$.jsx)(ct,{})})]}),(0,$.jsx)(`section`,{className:`[&>.setting-row:last-child]:border-b-0`,children:(0,$.jsx)(J,{title:d(`settings.preferences.reset`),description:d(`settings.preferences.resetDescription`),children:(0,$.jsx)(W,{variant:`outline`,onClick:()=>{ht(e.id,Object.values(Y)),M.success(d(`settings.preferences.resetDone`))},children:d(`settings.preferences.reset`)})})})]})}function yn({pushAvailable:e}){let t=De(),n=E.notificationPreferences(),r=y(n),i=P({mutationFn:e=>E.setNotificationPreferences(e),networkMode:`always`,retry:!1,onSuccess:e=>t.setQueryData(n.queryKey,e)}),s=i.isPending?i.variables:r.data,c=e=>{s&&i.mutate({...s,...e})};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`section`,{className:`[&>.setting-row:last-child]:border-b-0`,children:[(0,$.jsx)(G,{title:d(`settings.notifications.title`)}),(0,$.jsx)(D,{error:r.error??i.error}),r.isPending?(0,$.jsx)(N,{}):s&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(J,{title:d(`settings.notifications.inbox`),description:d(`settings.notifications.inboxDescription`),children:(0,$.jsx)(Mt,{"aria-label":d(`settings.notifications.inboxSwitch`),checked:s.inApp,disabled:i.isPending,onCheckedChange:e=>c({inApp:e})})}),(0,$.jsx)(J,{title:d(`settings.notifications.push`),description:d(e?`settings.notifications.pushDescription`:`settings.notifications.pushUnavailable`),children:(0,$.jsx)(Mt,{"aria-label":d(`settings.notifications.pushSwitch`),checked:s.push,disabled:i.isPending||!e,onCheckedChange:e=>c({push:e})})})]})]}),s&&(0,$.jsxs)(`section`,{className:`[&>.setting-row:last-child]:border-b-0`,children:[(0,$.jsx)(G,{title:d(`settings.notifications.categories`)}),g.map(e=>{let t=St[e];return(0,$.jsx)(J,{compact:!0,title:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,$.jsx)(t,{"aria-hidden":!0,className:`size-4 text-muted-foreground`}),v[e]]}),children:(0,$.jsx)(Mt,{"aria-label":d(`settings.notifications.categorySwitch`,{label:v[e]}),checked:s.categories[e],disabled:i.isPending,onCheckedChange:t=>c({categories:{...s.categories,[e]:t}})})},e)}),(0,$.jsx)(J,{title:d(`settings.notifications.reminder`),description:d(`settings.notifications.reminderDescription`),children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(bn,{value:s.reminderLead.amount,disabled:i.isPending||!s.categories.due_soon,onCommit:e=>c({reminderLead:{...s.reminderLead,amount:e}})},s.reminderLead.amount),(0,$.jsx)(K,{label:d(`settings.notifications.reminderUnit`),labelHidden:!0,className:`mb-0 w-32`,value:s.reminderLead.unit,disabled:i.isPending||!s.categories.due_soon,onValueChange:e=>c({reminderLead:{...s.reminderLead,unit:a.parse(e)}}),children:o.map(e=>(0,$.jsx)(j,{value:e,children:d(`settings.notifications.unit.${e}`)},e))})]})})]})]})}function bn({value:e,disabled:t,onCommit:n}){let[r,i]=(0,Q.useState)(String(e)),a=()=>{let t=Number(r);Number.isInteger(t)&&t>=1&&t<=999?t!==e&&n(t):i(String(e))};return(0,$.jsx)(z,{label:d(`settings.notifications.reminderAmount`),labelHidden:!0,type:`number`,inputMode:`numeric`,min:1,max:999,className:`w-20`,value:r,disabled:t,onChange:e=>i(e.currentTarget.value),onBlur:a,onKeyDown:e=>{e.key===`Enter`&&a()}})}export{_n as AccountSettings};
|
package/apps/web/dist/assets/{sliders-horizontal-dmqWngxy.js → sliders-horizontal-S16oyCiS.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Za as e}from"./search-
|
|
1
|
+
import{Za as e}from"./search-C2QaoLwI.js";var t={name:`sliders-horizontal`,size:24,node:[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{
|
|
1
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{Wn as t,r as n}from"./default-CN9zcRIy.js";import{Br as ee,Ca as r,Ea as i,Fa as a,Ir as o,Rr as te,_i as ne,ai as s,di as re,ii as c,ir as l,ka as ie,kr as ae,nr as oe,oi as se,pi as u,rr as d,si as ce,ui as f,vi as p,xa as m,ya as h,zr as le}from"./search-C2QaoLwI.js";var g=e(t(),1),_=g.createContext(void 0);function v(){let e=g.useContext(_);if(e===void 0)throw Error(m(63));return e}var y=`data-checked`,b=`data-unchecked`,x={...u,checked(e){return e?{[y]:``}:{[b]:``}}},S=n(),C=g.forwardRef(function(e,t){let{checked:n,className:a,defaultChecked:u,"aria-labelledby":m,form:v,id:y,inputRef:b,name:C,nativeButton:w=!1,onCheckedChange:T,readOnly:E=!1,required:D=!1,disabled:O=!1,render:ue,uncheckedValue:k,value:A,style:de,...j}=e,{clearErrors:M}=f(),{state:N,setTouched:P,setDirty:F,validityData:I,setFilled:L,validationMode:R,disabled:z,name:B,validation:V}=re(),{labelId:H}=se(),U=z||O,W=B??C,G=g.useRef(null),fe=ie(G,b,V.inputRef),K=g.useRef(null),q=ee(U,K),J=ce(),Y=c({id:y}),X=w?void 0:Y,[Z,pe]=l({controlled:n,default:!!u,name:`Switch`,state:`checked`});le(K,J,Z,void 0,!U,C),h(()=>{L(Z)},[Z,L]),te(Z,()=>{M(W),F(Z!==I.initialValue),V.change(Z)});let{getButtonProps:Q,buttonRef:me}=ne({disabled:U,native:w}),he=s(m,H,G,!w,X,j[`aria-label`]),ge={id:w?Y:J,role:`switch`,"aria-checked":Z,"aria-readonly":E||void 0,"aria-required":D||void 0,"aria-labelledby":he,onFocus(){q(!0)},onBlur(){let e=G.current;e&&!U&&(P(!0),q(!1),R===`onBlur`&&V.commit(e.checked))},onClick(e){if(E||U)return;e.preventDefault();let t=G.current;t&&p(t,e)}},_e={...V.getValidationProps(U),checked:Z,disabled:U,form:v,id:X,name:W,required:D,style:W?d:oe,tabIndex:-1,type:`checkbox`,"aria-hidden":!0,ref:fe,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(E){e.preventDefault();return}let t=e.currentTarget.checked,n=o(ae,e.nativeEvent);T?.(t,n),!n.isCanceled&&pe(t)},onClick(e){e.stopPropagation()},onFocus(){K.current?.focus()},...A===void 0?i:{value:A}},$=g.useMemo(()=>({...N,checked:Z,disabled:U,readOnly:E,required:D}),[N,Z,U,E,D]),ve=r(`span`,e,{state:$,ref:[t,K,me],props:[ge,j,Q,e=>V.getValidationProps(U,e)],stateAttributesMapping:x});return(0,S.jsxs)(_.Provider,{value:$,children:[ve,!Z&&W&&k!==void 0&&(0,S.jsx)(`input`,{type:`hidden`,form:v,name:W,value:k,disabled:U}),(0,S.jsx)(`input`,{..._e,suppressHydrationWarning:!0})]})}),w=g.forwardRef(function(e,t){let{render:n,className:ee,style:i,...a}=e,o=v();return r(`span`,e,{state:o,ref:t,stateAttributesMapping:x,props:a})});function T({className:e,size:t=`default`,...n}){return(0,S.jsx)(C,{"data-slot":`switch`,"data-size":t,className:a(`peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none group-has-[:focus-visible]/field-label:border-transparent group-has-[:focus-visible]/field-label:ring-0 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-transparent focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50`,e),...n,children:(0,S.jsx)(w,{"data-slot":`switch-thumb`,className:`pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground`})})}export{T as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-COiEfhsA.js";import{
|
|
1
|
+
import"./rolldown-runtime-COiEfhsA.js";import{Wn as e,r as t}from"./default-CN9zcRIy.js";import{Fa as n}from"./search-C2QaoLwI.js";e();var r=t();function i({className:e,mobileLayout:t=`scroll`,...i}){return(0,r.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,r.jsx)(`table`,{"data-slot":`table`,role:`table`,"data-mobile-layout":t,className:n(`w-full caption-bottom text-sm`,e),...i})})}function a({className:e,...t}){return(0,r.jsx)(`thead`,{role:`rowgroup`,"data-slot":`table-header`,className:n(`[&_tr]:border-b`,e),...t})}function o({className:e,...t}){return(0,r.jsx)(`tbody`,{role:`rowgroup`,"data-slot":`table-body`,className:n(`[&_tr:last-child]:border-0`,e),...t})}function s({className:e,...t}){return(0,r.jsx)(`tr`,{role:`row`,"data-slot":`table-row`,className:n(`border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted`,e),...t})}function c({className:e,...t}){return(0,r.jsx)(`th`,{role:`columnheader`,"data-slot":`table-head`,className:n(`h-8 px-3 text-left align-middle text-xs font-normal whitespace-nowrap text-muted-foreground [&:has([role=checkbox])]:pr-0 text-[10.5px] font-medium tracking-[0.08em] uppercase`,e),...t})}function l({className:e,...t}){return(0,r.jsx)(`td`,{role:`cell`,"data-slot":`table-cell`,className:n(`px-3 py-2 align-middle text-[13px] whitespace-nowrap [&:has([role=checkbox])]:pr-0`,e),...t})}export{a,c as i,o as n,s as o,l as r,i as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ticket-editor-BjuSeeiA.js","assets/rolldown-runtime-COiEfhsA.js","assets/default-CN9zcRIy.js","assets/preload-helper-BLdHbfdN.js","assets/core-jXc03Sty.js","assets/en-EnSRisMz.js","assets/search-C2QaoLwI.js","assets/toDate-B3HYxwtT.js","assets/item-BbaYy50i.js","assets/CompositeItem-GgAhkI4m.js","assets/forms-BUNl5uNV.js","assets/corner-left-up-BFY7AqdS.js","assets/rotate-ccw-BFYpBtuj.js","assets/sliders-horizontal-S16oyCiS.js","assets/upload-e7CmLHhp.js","assets/index-CvFGdLre.js","assets/Trans-CT9xiBED.js","assets/en-US-DKYSujv3.js","assets/index-DPT5LAs1.css","assets/switch-C44Ouoqh.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{At as t,K as n,Mt as r,Wn as i,_n as a,bt as o,i as s,jt as c,r as l}from"./default-CN9zcRIy.js";import{$ as u,$a as d,$n as f,Gi as p,H as m,Hi as h,J as g,Ja as _,Ka as v,Li as y,Lt as ee,Pa as b,Q as x,U as S,X as C,Y as te,Za as w,Zi as T,bt as E,ct as D,ea as O,et as k,ft as ne,ht as re,it as A,mi as j,nt as ie,ot as M,q as ae,qa as oe,ra as N,st as P,zi as se}from"./search-C2QaoLwI.js";import{t as F}from"./preload-helper-BLdHbfdN.js";import{t as I}from"./useQueries-U3MOyy3t.js";import{a as L,g as R,n as z,r as B,t as V}from"./item-BbaYy50i.js";import{t as ce}from"./archive-restore-UgUTJyLs.js";import{n as le,r as ue,t as de}from"./Trans-CT9xiBED.js";import{n as H,r as fe}from"./CompositeItem-GgAhkI4m.js";import{t as pe}from"./corner-left-up-BFY7AqdS.js";import{t as me}from"./ellipsis-CcIJddV1.js";import{t as U}from"./send-qRPqbT2m.js";import{r as W}from"./forms-BUNl5uNV.js";import{A as he,B as ge,Bt as _e,Ht as ve,I as ye,J as be,N as xe,R as G,U as Se,V as Ce,Vt as we,X as Te,_ as K,_n as Ee,_t as De,b as q,et as J,ft as Y,g as Oe,h as X,j as ke,m as Ae,mt as je,nt as Z,on as Me,q as Ne,tt as Pe,vn as Fe,x as Ie,zt as Le}from"./index-CvFGdLre.js";import{TicketEditor as Re,a as ze,i as Be,l as Ve,n as He,o as Ue,r as We,s as Ge,t as Ke}from"./ticket-editor-BjuSeeiA.js";var qe={name:`git-branch-plus`,size:24,node:[[`path`,{d:`M6 3v12`,key:`qpgusn`}],[`path`,{d:`M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`,key:`1d02ji`}],[`path`,{d:`M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`,key:`chk6ph`}],[`path`,{d:`M15 6a9 9 0 0 0-9 9`,key:`or332x`}],[`path`,{d:`M18 15v6`,key:`9wciyi`}],[`path`,{d:`M21 18h-6`,key:`139f0c`}]]};qe.node;var Je=w(qe),Ye={name:`unlink`,size:24,node:[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`,key:`yqzxt4`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`,key:`4qinb0`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`,key:`1041cp`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`,key:`14m1p5`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`,key:`rzdirn`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`,key:`ox905f`}]]};Ye.node;var Xe=w(Ye),Q=e(i(),1),$=l(),Ze=(0,Q.lazy)(()=>F(()=>import(`./ticket-editor-BjuSeeiA.js`).then(e=>({default:e.TicketEditor})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19])));function Qe({ticket:e}){let t=N(e.projectId),n=d(p.query(`list_relations`,{projectId:e.projectId,ticketId:e.id})),[i,s]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(!1),[f,m]=(0,Q.useState)(null),[h,_]=(0,Q.useState)(0),[v,y]=(0,Q.useState)(),b=d({...p.query(`get_ticket`,{projectId:e.projectId,ticketId:e.parentId??e.id}),enabled:!!e.parentId}),S=d(p.query(`list_tickets`,{projectId:e.projectId,parentId:e.id,archived:`include`,limit:20,offset:h})),w=I({queries:Array.from({length:Math.ceil((n.data?.length??0)/100)},(t,n)=>p.query(`list_tickets`,{projectId:e.projectId,relatedTo:e.id,archived:`include`,sort:`number`,limit:100,offset:n*100}))}),T=new Map(w.flatMap(e=>e.data?.items??[]).map(e=>[e.id,e])),E=O(`add_relation`),D=O(`remove_relation`);return(0,$.jsxs)(`section`,{children:[(0,$.jsx)(M,{compact:!0,title:a(`detail.relations.heading`),action:t.canWrite&&(0,$.jsxs)(ge,{children:[(0,$.jsx)(Ne,{render:(0,$.jsx)(C,{label:a(`detail.relations.add`)}),children:(0,$.jsx)(R,{})}),(0,$.jsxs)(Ce,{align:`end`,className:`w-48`,children:[(0,$.jsxs)(Se,{onClick:()=>{E.reset(),y(void 0),m(null),s(!0)},children:[(0,$.jsx)(Xe,{}),a(`detail.relations.linkExisting`)]}),(0,$.jsxs)(Se,{onClick:()=>u(!0),children:[(0,$.jsx)(Je,{}),a(`detail.relations.newChild`)]})]})]})}),e.parentId&&(0,$.jsxs)(V,{size:`xs`,className:`px-0`,children:[(0,$.jsx)(pe,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,$.jsxs)(B,{className:`min-w-0`,children:[(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:a(`detail.field.parent`)}),(0,$.jsx)(q,{projectId:e.projectId,ticketId:e.parentId,ticket:b.data?.ticket})]})]}),S.data&&(S.data.total>0||h>0)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`h3`,{className:`mt-3 mb-1 text-xs text-muted-foreground`,children:(0,$.jsx)(de,{i18nKey:`detail.relations.children`,values:{done:S.data.items.filter(e=>e.status===`done`).length,total:S.data.total},components:{count:(0,$.jsx)(`span`,{className:`tabular-nums`})}})}),(0,$.jsx)(L,{className:`gap-0`,children:S.data.items.map(n=>(0,$.jsx)($e,{projectId:e.projectId,ticketId:n.id,ticket:n,canWrite:t.canWrite,children:(0,$.jsx)(q,{projectId:e.projectId,ticketId:n.id,ticket:n})},n.id))}),(S.data.total>20||h>0)&&(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(j,{size:`sm`,disabled:!h,onClick:()=>_(Math.max(0,h-20)),children:a(`detail.relations.previousChildren`)}),(0,$.jsx)(j,{size:`sm`,disabled:h+20>=S.data.total,onClick:()=>_(h+20),children:a(`detail.relations.nextChildren`)})]})]}),(0,$.jsx)(L,{className:`gap-0`,children:n.data?.map(n=>{let i=r(n,e.id),o=i.projectId??e.projectId;return(0,$.jsx)($e,{projectId:o,ticketId:i.id,ticket:T.get(i.id),canWrite:t.canWrite,label:i.label,action:(0,$.jsx)(C,{size:`icon-sm`,label:a(`detail.relations.remove.${n.type}`),onClick:()=>D.mutate({projectId:e.projectId,relationId:n.id}),children:(0,$.jsx)(Xe,{})}),children:i.restricted?(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:i.title}):(0,$.jsx)(q,{projectId:o,ticketId:i.id,children:i.title})},n.id)})}),!e.parentId&&!S.data?.total&&n.data?.length===0&&(0,$.jsx)(`p`,{className:`mb-0 text-xs text-muted-foreground`,children:a(`detail.relations.empty`)}),(0,$.jsx)(k,{title:a(`detail.relations.add`),open:i,onOpenChange:s,busy:E.isPending,children:(0,$.jsxs)(`form`,{onSubmit:t=>{t.preventDefault();let n=new FormData(t.currentTarget);f&&(y(void 0),E.mutateAsync({projectId:e.projectId,ticketId:e.id,targetId:f,...o(n.get(`type`))}).then(()=>s(!1)).catch(y))},children:[(0,$.jsx)(P,{label:a(`detail.relations.type`),name:`type`,children:c.map(e=>(0,$.jsx)(ee,{value:e.value,children:e.label},e.value))}),(0,$.jsx)(Ge,{projectId:e.projectId,label:a(`detail.relations.ticket`),value:f,onChange:m,exclude:[e.id],allowClear:!1}),(0,$.jsx)(te,{error:v??E.error,pending:E.isPending,submitLabel:a(`detail.relations.add`),submitDisabled:!f,onCancel:()=>s(!1)})]})}),(0,$.jsx)(k,{size:`composer`,title:a(`detail.relations.newChildTitle`,{key:e.key}),open:l,onOpenChange:u,children:l&&(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(x,{}),children:(0,$.jsx)(Ze,{projectId:e.projectId,initial:{parentId:e.id,labels:e.labels,scopes:e.scopes},onSaved:()=>u(!1)})})}),(0,$.jsx)(g,{error:n.error??D.error??b.error??S.error??w.find(e=>e.error)?.error})]})}function $e({projectId:e,ticketId:t,ticket:n,canWrite:r,label:i,action:o,children:s}){let{change:c,pending:l}=je({id:t,projectId:e,version:n?.version??0}),u=r&&n;return(0,$.jsxs)(V,{size:`xs`,className:`px-0`,children:[u?(0,$.jsx)(Z,{property:`status`,value:Y(n),onChange:e=>void c({status:e}),projectId:e,disabled:l,variant:`cell`,iconOnly:!0,ariaLabel:a(`detail.relations.statusOf`,{key:n.key}),className:`mx-0`}):n&&(0,$.jsx)(J,{property:`status`,value:Y(n),projectId:e,iconOnly:!0}),(0,$.jsxs)(B,{className:`min-w-0 gap-0`,children:[i&&(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:i}),s]}),(u||n?.assigneeId||r&&o)&&(0,$.jsxs)(z,{className:`gap-0`,children:[u?(0,$.jsx)(Z,{property:`assignee`,value:n.assigneeId,onChange:e=>void c({assignee:e}),projectId:e,disabled:l,variant:`cell`,iconOnly:!0,align:`end`,ariaLabel:a(`detail.relations.assigneeOf`,{key:n.key}),className:`mx-0`}):n?.assigneeId&&(0,$.jsx)(J,{property:`assignee`,value:n.assigneeId,projectId:e,iconOnly:!0}),r&&o]})]})}function et({ticket:e,anchor:t}){let[n,r]=(0,Q.useState)(0),[i,o]=(0,Q.useState)(``),s=d(p.query(`list_comments`,{projectId:e.projectId,ticketId:e.id,offset:n})),c=t.startsWith(`comment-`)?t.slice(8):null,[l,u]=(0,Q.useState)(c),[m,h]=(0,Q.useState)(c!==null);c!==l&&(u(c),h(c!==null)),m&&s.data&&(s.data.items.some(e=>e.id===c)?h(!1):n+50<s.data.total?r(n+50):h(!1));let _=ze(e.projectId,{ticketId:e.id}),v=O(`add_comment`),y=N(e.projectId);return(0,$.jsxs)(`section`,{children:[(0,$.jsx)(g,{error:s.error??v.error}),s.data?.total===0&&(0,$.jsx)(ae,{title:a(`detail.discussion.empty`),icon:Me,className:`py-8`}),(0,$.jsx)(`div`,{className:`divide-y`,children:s.data?.items.map(e=>(0,$.jsx)(tt,{comment:e,linked:e.id===c},e.id))}),((s.data?.total??0)>50||n>0)&&(0,$.jsxs)(Ue,{className:`mt-5 justify-end`,children:[(0,$.jsx)(j,{size:`sm`,disabled:!n,onClick:()=>r(Math.max(0,n-50)),children:a(`detail.discussion.previous`)}),(0,$.jsx)(j,{size:`sm`,disabled:n+50>=(s.data?.total??0),onClick:()=>r(n+50),children:a(`detail.discussion.next`)})]}),y.canWrite&&(0,$.jsx)(`form`,{onKeyDown:W,className:`mt-6`,onSubmit:t=>{t.preventDefault(),v.mutateAsync({projectId:e.projectId,ticketId:e.id,body:i}).then(()=>o(e=>e===i?``:e)).catch(()=>{})},children:(0,$.jsx)(Ve,{label:a(`detail.discussion.comment`),value:i,onChange:o,rows:3,required:!0,maxLength:5e4,mentions:e.projectId,onUpload:_,placeholder:a(`detail.discussion.placeholder`),footer:(0,$.jsxs)(j,{type:`submit`,variant:`default`,disabled:v.isPending||!i.trim(),children:[v.isPending?(0,$.jsx)(E,{}):(0,$.jsx)(U,{}),v.isPending?a(`detail.discussion.posting`):a(`detail.discussion.comment`),(0,$.jsx)(f,{"aria-hidden":`true`,className:`ml-1 hidden border-transparent bg-primary-foreground/20 text-primary-foreground shadow-none sm:inline-flex`,children:`⌘↵`})]})})})]})}function tt({comment:e,linked:t}){let n=T(),r=N(e.projectId),i=O(`update_comment`),o=ze(e.projectId,{ticketId:e.ticketId}),s=O(`delete_comment`),[c,l]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(e.body),[p,m]=(0,Q.useState)(e.version),_=e.actorId===n.id,v=(0,Q.useRef)(null);return(0,Q.useEffect)(()=>{t&&v.current?.scrollIntoView({block:`center`})},[t]),(0,$.jsxs)(`article`,{ref:v,id:`comment-${e.id}`,"data-linked":t,className:`group/comment relative scroll-mt-16 py-4 animate-in fade-in-0 duration-200 data-[linked=true]:animate-row-in data-[linked=true]:shadow-[inset_2px_0_0_var(--primary)] data-[linked=true]:pl-3`,children:[(0,$.jsxs)(`div`,{className:`mb-3 flex min-h-8 flex-wrap items-center gap-x-3 gap-y-1 pr-20 text-xs text-muted-foreground`,children:[(0,$.jsx)(`strong`,{className:`text-foreground`,children:(0,$.jsx)(h,{projectId:e.projectId,actorId:e.actorId,avatar:!0})}),(0,$.jsx)(A,{value:e.createdAt}),e.updatedAt!==e.createdAt&&(0,$.jsx)(`span`,{children:a(`detail.discussion.edited`)})]}),c?(0,$.jsx)(`form`,{onKeyDown:W,onSubmit:t=>{t.preventDefault(),i.mutateAsync({projectId:e.projectId,commentId:e.id,expectedVersion:p,body:d}).then(()=>l(!1)).catch(()=>{})},children:(0,$.jsx)(Ve,{label:a(`detail.discussion.edit`),value:d,onChange:f,rows:4,required:!0,maxLength:5e4,mentions:e.projectId,onUpload:o,footer:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(j,{size:`sm`,disabled:i.isPending,onClick:()=>l(!1),children:a(`common.action.cancel`)}),(0,$.jsxs)(j,{type:`submit`,size:`sm`,variant:`default`,disabled:i.isPending||!d.trim(),children:[i.isPending?(0,$.jsx)(E,{}):null,a(`common.action.save`)]})]})})}):(0,$.jsx)(u,{children:e.body}),!c&&r.canWrite&&(_||n.admin)&&(0,$.jsxs)(`div`,{className:`absolute top-3 right-0 flex items-center gap-1 opacity-0 transition-opacity group-hover/comment:opacity-100 focus-within:opacity-100 max-md:opacity-100`,children:[(0,$.jsx)(C,{label:a(`detail.discussion.edit`),size:`icon-sm`,onClick:()=>{f(e.body),m(e.version),l(!0)},children:(0,$.jsx)(fe,{})}),(0,$.jsx)(S,{label:a(`detail.discussion.delete`),icon:(0,$.jsx)(H,{}),danger:!0,description:a(`detail.discussion.deleteConfirm`),onConfirm:()=>s.mutateAsync({projectId:e.projectId,commentId:e.id,expectedVersion:e.version})})]}),(0,$.jsx)(g,{error:i.error})]})}function nt({projectId:e,ticketId:r,preview:i}){let o=N(e),c=d(p.query(`get_ticket`,{projectId:e,ticketId:r})),l=O(`set_subscription`),[f,m]=(0,Q.useState)(!1),[ee,S]=(0,Q.useState)(!1),te=ve(),[w]=(0,Q.useState)(()=>i?[]:ye(e)),T=i?.order??w,D=T.indexOf(r),M=t=>{let n=D<0?void 0:T[D+t];n&&(i?i.open(n):te({to:`/projects/$projectId/tickets/$ticketId`,params:{projectId:e,ticketId:n}}))},P=i?`[data-slot="sheet-content"]`:void 0;y(`j`,()=>M(1),{enabled:!f,scope:P}),y(`k`,()=>M(-1),{enabled:!f,scope:P});let F=c.data?.ticket,{change:I,pending:L}=je(F??{id:r,projectId:e,version:1});y(`e`,()=>{o.canWrite&&m(!0)},{enabled:!!F&&!f,scope:P});let R=c.error instanceof s&&c.error.status===404,z=d({...p.query(`resolve_ticket`,{ticketId:r}),enabled:R,retry:!1}),B=Le({select:e=>i||!e.location.search.peek?e.location.hash:``});if(c.isPending||R&&z.isFetching)return(0,$.jsx)(x,{});if(R&&z.data&&z.data.project.id!==e)return i?(0,$.jsx)(rt,{preview:i,target:{projectId:z.data.project.id,ticketId:z.data.ticket.id}}):(0,$.jsx)(we,{to:`/projects/$projectId/tickets/$ticketId`,params:{projectId:z.data.project.id,ticketId:z.data.ticket.id},replace:!0});if(!c.data||!F||R)return R?(0,$.jsxs)(ae,{title:a(`detail.page.unavailable`),children:[(0,$.jsx)(`p`,{children:a(`detail.page.gone`)}),i?(0,$.jsx)(j,{onClick:i.close,children:a(`detail.page.closePreview`)}):(0,$.jsx)(j,{render:(0,$.jsx)(_e,{to:`/projects/$projectId`,params:{projectId:e}}),children:a(`detail.page.backToTickets`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(g,{error:c.error}),(0,$.jsx)(j,{onClick:()=>{c.refetch()},children:a(`common.action.retry`)})]});let{readiness:V,claim:H,canReleaseClaim:pe,subscribed:U}=c.data,W=o.canWrite&&!L;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`article`,{className:`ticket-detail grid w-full grid-cols-[minmax(0,1fr)_280px] gap-x-10 animate-in fade-in-0 duration-200 @max-[850px]:flex @max-[850px]:flex-col [&_section]:border-t [&_section]:py-5`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(ie,{title:!i&&(0,$.jsxs)(j,{variant:`ghost`,size:`sm`,className:`-ml-2 text-muted-foreground`,render:(0,$.jsx)(_e,{to:`/projects/$projectId`,params:{projectId:e}}),children:[(0,$.jsx)(Fe,{}),a(`detail.page.tickets`)]}),children:(0,$.jsxs)(`div`,{className:`ml-auto flex flex-wrap items-center gap-2`,children:[D>=0&&(0,$.jsxs)(`div`,{className:`mr-1 flex items-center gap-0.5 text-xs text-muted-foreground tabular-nums`,children:[(0,$.jsx)(C,{label:a(`detail.page.previousTicket`),title:a(`detail.page.previousTicketShortcut`),disabled:D===0,onClick:()=>M(-1),children:(0,$.jsx)(v,{})}),(0,$.jsx)(`span`,{children:a(`detail.page.position`,{position:D+1,total:T.length})}),(0,$.jsx)(C,{label:a(`detail.page.nextTicket`),title:a(`detail.page.nextTicketShortcut`),disabled:D===T.length-1,onClick:()=>M(1),children:(0,$.jsx)(oe,{})})]}),(0,$.jsx)(C,{label:a(U?`detail.page.unsubscribe`:`detail.page.subscribe`),disabled:l.isPending,onClick:()=>{l.mutateAsync({projectId:e,ticketId:F.id,enabled:!U}).then(()=>b.success(a(U?`detail.page.unsubscribed`:`detail.page.subscribed`))).catch(ne)},children:U?(0,$.jsx)(Ee,{}):(0,$.jsx)(le,{})}),(0,$.jsx)(C,{label:G.label,onClick:()=>{xe(G,F)},children:(0,$.jsx)(G.icon,{})}),(0,$.jsx)(C,{label:F.archived?a(`detail.page.unarchive`):a(`detail.page.archive`),disabled:!W,onClick:()=>{I({archived:!F.archived}).then(e=>{e&&b.success(F.archived?a(`detail.page.unarchivedToast`):a(`detail.page.archivedToast`))})},children:F.archived?(0,$.jsx)(ce,{}):(0,$.jsx)(ue,{})}),(0,$.jsx)(C,{label:a(`detail.page.edit`),title:a(`detail.page.editShortcut`),disabled:!o.canWrite,onClick:()=>m(!0),children:(0,$.jsx)(fe,{})}),(0,$.jsx)(ke,{ticket:F,variant:`dropdown`,onEdit:()=>m(!0),children:(0,$.jsx)(j,{variant:`ghost`,size:`icon`,"aria-label":a(`detail.page.actions`),children:(0,$.jsx)(me,{})})}),i&&(0,$.jsx)(Ie,{projectId:e,ticketId:F.id,preview:i})]})}),(0,$.jsx)(ke,{ticket:F,onEdit:()=>m(!0),children:(0,$.jsxs)(`header`,{className:`ticket-heading`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-2 text-xs text-muted-foreground`,children:[(0,$.jsxs)(j,{variant:`ghost`,size:`xs`,className:`-ml-2 gap-1.5 font-mono text-xs text-muted-foreground`,title:a(`detail.page.copyKey`),onClick:()=>{se(F.key).then(()=>{S(!0),setTimeout(()=>S(!1),1500),b.success(a(`detail.page.keyCopied`,{key:F.key}))}).catch(ne)},children:[F.key,ee&&(0,$.jsx)(_,{className:`size-3 text-[var(--success)]`})]}),(0,$.jsx)(J,{property:`status`,value:Y(F),projectId:e}),F.archived&&(0,$.jsx)(`strong`,{children:a(`detail.page.archived`)}),L&&(0,$.jsx)(E,{className:`size-3.5 text-muted-foreground`})]}),i?(0,$.jsx)(he,{render:(0,$.jsx)(`h1`,{}),className:re,children:F.title}):(0,$.jsx)(`h1`,{className:re,children:F.title})]})}),(0,$.jsxs)(`div`,{className:`min-w-0 [&>section:first-child]:border-0 [&>section:first-child]:pt-0`,children:[(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h2`,{children:a(`detail.field.description`)}),(0,$.jsx)(u,{...W?{onChange:e=>I({description:e})}:{},children:F.description||a(`detail.page.noDescription`)})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h2`,{children:a(`detail.field.acceptanceCriteria`)}),(0,$.jsx)(u,{...W?{onChange:e=>I({acceptanceCriteria:e})}:{},children:F.acceptanceCriteria||a(`detail.page.noAcceptanceCriteria`)})]})]}),(0,$.jsxs)(Ae,{defaultValue:`discussion`,className:`mt-8 min-w-0 [&_[data-slot=tabs-content]>section]:border-0 [&_[data-slot=tabs-content]>section]:pt-0`,children:[(0,$.jsxs)(Oe,{variant:`line`,className:`mb-5`,children:[(0,$.jsx)(K,{value:`discussion`,children:a(`detail.section.discussion`)}),(0,$.jsx)(K,{value:`evidence`,children:a(`detail.section.evidence`)}),(0,$.jsx)(K,{value:`activity`,children:a(`detail.section.activity`)})]}),(0,$.jsx)(X,{value:`discussion`,className:`animate-in fade-in-0 duration-150`,children:(0,$.jsx)(et,{ticket:F,anchor:B})}),(0,$.jsx)(X,{value:`evidence`,className:`animate-in fade-in-0 duration-150`,children:(0,$.jsx)(We,{ticket:F})}),(0,$.jsx)(X,{value:`activity`,className:`animate-in fade-in-0 duration-150`,children:(0,$.jsx)(Ke,{ticket:F})})]}),(0,$.jsx)(g,{error:c.error})]}),(0,$.jsxs)(`aside`,{className:`min-w-0 border-l pl-5 @max-[850px]:border-l-0 @max-[850px]:pl-0 [&>section:first-child]:border-0 [&>section:first-child]:pt-0 @max-[850px]:[&>section:first-child]:border-t @max-[850px]:[&>section:first-child]:pt-6 [&_h2]:text-xs [&_h2]:font-medium [&_h2]:text-muted-foreground [&_p]:text-xs [&_ul]:mb-4 [&_ul]:list-disc [&_ul]:pl-4 [&_ul]:text-xs [&_ul]:leading-relaxed [&_ul]:text-muted-foreground`,"aria-label":a(`detail.page.coordination`),children:[(0,$.jsxs)(`section`,{"aria-label":a(`detail.page.properties`),className:`ticket-properties`,children:[(0,$.jsx)(Z,{variant:`row`,property:`status`,projectId:e,value:Y(F),disabled:!W,onChange:e=>void I({status:e})}),(0,$.jsx)(Z,{variant:`row`,property:`priority`,projectId:e,value:F.priority,disabled:!W,onChange:e=>void I({priority:e})}),(0,$.jsx)(Z,{variant:`row`,property:`assignee`,projectId:e,value:F.assigneeId,disabled:!W,onChange:e=>void I({assignee:e})}),(0,$.jsx)(Z,{variant:`row`,property:`kind`,projectId:e,value:F.kind,disabled:!W,onChange:e=>void I({kind:e})}),(0,$.jsx)(Z,{variant:`row`,property:`difficulty`,projectId:e,value:F.difficulty,disabled:!W,onChange:e=>void I({difficulty:e})}),(0,$.jsx)(Te,{variant:`row`,projectId:e,value:F.epicId,disabled:!W,onChange:e=>void I({epic:e})}),(0,$.jsx)(De,{variant:`row`,value:F,disabled:!W,onChange:e=>void I(e)}),(0,$.jsx)(Pe,{variant:`row`,value:F.labels,disabled:!W,onChange:e=>void I({labels:e})}),(F.scopes.length>0||o.canWrite)&&(0,$.jsx)(Pe,{variant:`row`,kind:`scope`,value:F.scopes,disabled:!W,onChange:e=>void I({scopes:e})}),(0,$.jsx)(be,{variant:`row`,projectId:e,values:F.customFields,disabled:!W,onChange:(e,t)=>void I({customFields:{[e]:t}})}),(0,$.jsxs)(`dl`,{className:`mt-4 grid grid-cols-[80px_minmax(0,1fr)] gap-x-2 gap-y-1.5 border-t pt-4 text-xs [&_dd]:m-0 [&_dd]:min-w-0 [&_dd]:wrap-anywhere [&_dt]:text-muted-foreground`,children:[(0,$.jsx)(`dt`,{children:a(`detail.page.created`)}),(0,$.jsxs)(`dd`,{children:[(0,$.jsx)(h,{projectId:e,actorId:F.createdBy}),` · `,(0,$.jsx)(A,{value:F.createdAt})]}),(0,$.jsx)(`dt`,{children:a(`detail.page.updated`)}),(0,$.jsx)(`dd`,{children:(0,$.jsx)(A,{value:F.updatedAt})})]})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h2`,{children:a(`detail.readiness.heading`)}),(0,$.jsx)(`p`,{className:V.ready?`text-[var(--success)]`:`text-muted-foreground`,children:V.ready?a(`detail.readiness.ready`):a(`detail.readiness.notReady`)}),(0,$.jsx)(`ul`,{children:V.reasons.map((e,n)=>(0,$.jsx)(`li`,{children:t(e,H?.workerId)},`${e.code}:${n}`))}),F.holdReason&&(0,$.jsx)(`p`,{children:a(`detail.readiness.hold`,{reason:F.holdReason})}),H&&(0,$.jsx)(`p`,{children:(0,$.jsx)(de,{i18nKey:`detail.readiness.claimedUntil`,values:{worker:H.workerId,date:n(H.expiresAt)},components:{strong:(0,$.jsx)(`strong`,{})}})}),H&&(0,$.jsx)(it,{ticket:F,claim:H,canRelease:pe,canRecover:o.canWrite&&V.reasons.some(e=>e.code===`claim_recovery_required`)})]}),(0,$.jsx)(Qe,{ticket:F},F.id),(0,$.jsx)(Be,{ticket:F}),(0,$.jsx)(He,{ticket:F})]})]}),(0,$.jsx)(k,{size:`composer`,title:a(`detail.page.editTitle`,{key:F.key}),open:f,onOpenChange:m,children:f&&(0,$.jsx)(Re,{projectId:e,ticket:F,onSaved:()=>m(!1)})})]})}function rt({preview:e,target:t}){return(0,Q.useEffect)(()=>e.follow(t),[e,t]),(0,$.jsx)(x,{})}function it({ticket:e,claim:t,canRelease:n,canRecover:r}){let i=O(`release_claim`),o=O(`recover_claim`),[s,c]=(0,Q.useState)(``),[l,u]=(0,Q.useState)(!1);return(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[n&&(0,$.jsx)(S,{label:a(`detail.claim.release`),description:a(`detail.claim.releaseDescription`),onConfirm:()=>i.mutateAsync({projectId:e.projectId,ticketId:e.id,claimId:t.id})}),r&&(0,$.jsx)(k,{title:a(`detail.claim.recover`),trigger:a(`detail.claim.recover`),children:(0,$.jsxs)(`form`,{onSubmit:n=>{n.preventDefault(),l&&o.mutate({projectId:e.projectId,ticketId:e.id,claimId:t.id,reason:s,confirmedStopped:!0})},children:[(0,$.jsx)(`p`,{children:a(`detail.claim.recoverHelp`)}),(0,$.jsx)(D,{label:a(`detail.claim.reason`),required:!0,minLength:10,maxLength:2e3,value:s,onChange:e=>c(e.target.value)}),(0,$.jsx)(m,{label:a(`detail.claim.confirmed`),checked:l,onCheckedChange:e=>u(e)}),(0,$.jsx)(te,{error:o.error,pending:!l,submitLabel:a(`detail.claim.submit`),submitDisabled:o.isPending})]})})]})}export{nt as TicketDetail};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/visual-editor-UmVaDXWu.js","assets/rolldown-runtime-COiEfhsA.js","assets/default-CN9zcRIy.js","assets/preload-helper-BLdHbfdN.js","assets/core-jXc03Sty.js","assets/en-EnSRisMz.js","assets/search-C2QaoLwI.js","assets/toDate-B3HYxwtT.js","assets/forms-BUNl5uNV.js","assets/index-CvFGdLre.js","assets/item-BbaYy50i.js","assets/Trans-CT9xiBED.js","assets/CompositeItem-GgAhkI4m.js","assets/en-US-DKYSujv3.js","assets/index-DPT5LAs1.css","assets/highlight-BPZqoBaO.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{Bn as t,Bt as n,Dn as r,G as i,In as a,L as o,Mn as s,Pn as c,R as l,Wn as u,_n as d,i as f,o as p,r as m,st as h,z as g,zt as _}from"./default-CN9zcRIy.js";import{$ as v,$a as y,$n as b,A as ee,E as te,F as x,Fa as S,Fi as C,Ga as w,Gi as T,Ha as ne,Hi as E,I as D,Ia as O,Ii as re,J as k,Ja as A,Lt as j,M,Mi as ie,Ni as ae,Ot as oe,P as N,Pa as P,Pi as F,Q as se,R as ce,Ri as le,U as ue,Va as de,Wa as fe,X as I,Xi as pe,Y as me,Z as L,Za as R,Zi as he,_r as ge,_t as _e,ar as z,bt as ve,ca as ye,ct as be,dt as xe,ea as B,et as V,ft as Se,gi as H,gr as Ce,gt as we,hr as Te,it as Ee,j as U,k as W,ko as De,lr as G,mi as K,ot as Oe,ra as q,st as ke,ut as Ae,vr as je,vt as Me,xt as J,yt as Ne}from"./search-C2QaoLwI.js";import{t as Pe}from"./preload-helper-BLdHbfdN.js";import{a as Y,d as Fe,g as Ie,i as Le,n as Re,o as ze,r as Be,s as Ve,t as He}from"./item-BbaYy50i.js";import{i as Ue,n as We,r as Ge}from"./CompositeItem-GgAhkI4m.js";import{t as Ke}from"./corner-left-up-BFY7AqdS.js";import{t as qe}from"./rotate-ccw-BFYpBtuj.js";import{t as Je}from"./sliders-horizontal-S16oyCiS.js";import{t as Ye}from"./upload-e7CmLHhp.js";import{r as Xe,t as X}from"./forms-BUNl5uNV.js";import{At as Ze,J as Qe,Nt as $e,Q as et,X as tt,_ as nt,_t as rt,at as it,cn as at,d as ot,en as st,fn as ct,ft as lt,g as ut,h as dt,jt as ft,kt as pt,ln as mt,m as ht,nt as Z,pn as gt,sn as _t,tt as vt,wt as yt,xt as bt}from"./index-CvFGdLre.js";import{t as xt}from"./switch-C44Ouoqh.js";var St={name:`bold`,size:24,node:[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]};St.node;var Ct=R(St),wt={name:`bot`,size:24,node:[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]};wt.node;var Tt=R(wt),Et={name:`heading`,size:24,node:[[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M6 20V4`,key:`1w1bmo`}],[`path`,{d:`M18 20V4`,key:`o2hl4u`}]]};Et.node;var Dt=R(Et),Ot={name:`italic`,size:24,node:[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]};Ot.node;var kt=R(Ot),At={name:`link`,size:24,node:[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`,key:`1cjeqo`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`,key:`19qd67`}]]};At.node;var jt=R(At),Mt={name:`list-ordered`,size:24,node:[[`path`,{d:`M11 5h10`,key:`1cz7ny`}],[`path`,{d:`M11 12h10`,key:`1438ji`}],[`path`,{d:`M11 19h10`,key:`11t30w`}],[`path`,{d:`M4 4h1v5`,key:`10yrso`}],[`path`,{d:`M4 9h2`,key:`r1h2o0`}],[`path`,{d:`M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02`,key:`xtkcd5`}]]};Mt.node;var Nt=R(Mt),Pt={name:`list`,size:24,node:[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]};Pt.node;var Ft=R(Pt),It={name:`minimize-2`,size:24,node:[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]};It.node;var Lt=R(It),Rt={name:`paperclip`,size:24,node:[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]};Rt.node;var zt=R(Rt),Bt={name:`square-code`,size:24,node:[[`path`,{d:`m10 9-3 3 3 3`,key:`1oro0q`}],[`path`,{d:`m14 15 3-3-3-3`,key:`bz13h7`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}]],aliases:[`code-square`]};Bt.node;var Vt=R(Bt),Q=e(u(),1),$=m(),Ht=(0,Q.lazy)(()=>Pe(()=>import(`./visual-editor-UmVaDXWu.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),Ut={heading:Dt,bold:Ct,italic:kt,link:jt,list:Ft,"list-ordered":Nt,"list-checks":at,"square-code":Vt},Wt=e=>Ut[t[e]];function Gt(e,t){let n=/(?:^|[\s([{])@([^\s@[\]()]{0,40})$/.exec(e.slice(0,t));return n?.[1]===void 0?null:{from:t-n[1].length-1,query:n[1]}}var Kt=(e,t)=>e.filter(e=>`${e.name} ${e.email}`.toLowerCase().includes(t.toLowerCase())).slice(0,8),qt=e=>({key:e.userId,content:(0,$.jsx)(ye,{name:e.name,email:e.email,image:e.image})}),Jt=e=>h(e.name,e.userId);function Yt(e){let[t,n]=(0,Q.useState)(``),r=e.includes(t)?t:e[0];return{active:r,setHighlight:n,handleKey:(t,i,a)=>{if(!r||t.isComposing)return!1;let o={ArrowDown:1,ArrowUp:-1}[t.key];if(!o&&![`Enter`,`Tab`,`Escape`].includes(t.key))return!1;t.preventDefault();let s=e.indexOf(r);return o?n(e[(s+o+e.length)%e.length]??``):t.key===`Escape`?a():i(r),!0}}}function Xt({id:e,label:t,open:n,anchor:r,options:i,active:a,onHighlight:o,onChoose:s,onDismiss:c}){return(0,$.jsx)(x,{open:n,onOpenChange:e=>{e||c()},children:(0,$.jsx)(D,{anchor:r,align:`start`,initialFocus:!1,finalFocus:!1,className:`w-[min(20rem,calc(100vw-2rem))] p-1`,children:(0,$.jsx)(`div`,{role:`listbox`,id:e,"aria-label":t,children:i.map(t=>(0,$.jsx)(`div`,{role:`option`,id:`${e}-${t.key}`,"aria-selected":t.key===a,"data-selected":t.key===a||void 0,className:N,onMouseDown:e=>e.preventDefault(),onPointerMove:()=>o(t.key),onClick:()=>s(t.key),children:t.content},t.key))})})})}function Zt(e,t,n){let[r,i]=(0,Q.useState)(0),a=(0,Q.useRef)(null),o=async e=>{if(t&&e.length){i(t=>t+e.length);for(let r of e)try{n(ie(await t(r)))}catch(e){Se(e)}finally{i(e=>e-1)}}},s=(0,$.jsx)(`input`,{ref:a,type:`file`,multiple:!0,hidden:!0,"aria-label":d(`detail.markdown.insertFileInto`,{label:e}),onChange:e=>{let t=[...e.target.files??[]];e.target.value=``,o(t)}});return{uploading:r>0,send:o,pick:()=>a.current?.click(),input:s}}function Qt({label:e,flush:t,onApply:n,pressed:r,upload:i,children:a}){return(0,$.jsxs)(Ce,{align:`block-start`,role:`toolbar`,"aria-label":d(`detail.markdown.formatting`,{label:e}),className:S(`gap-0.5 overflow-x-auto border-b py-1 pl-1 text-foreground [scrollbar-width:none] max-md:gap-0 max-md:px-0`,t&&`px-0`),onKeyDown:e=>{let t=[...e.currentTarget.querySelectorAll(`button`)],n=t.findIndex(e=>e===document.activeElement),r={ArrowRight:1,ArrowLeft:-1}[e.key],i=e.key===`Home`?t[0]:e.key===`End`?t.at(-1):r&&t.at((n+r)%t.length);i&&(e.preventDefault(),i.focus())},children:[C.map((e,t)=>{let i=F[e],a=Wt(e);return(0,$.jsx)(I,{label:i.label,...`shortcut`in i?{shortcut:i.shortcut}:{},...r?{"aria-pressed":r(e)}:{},size:`icon-sm`,tabIndex:t===0?0:-1,className:`text-muted-foreground hover:text-foreground aria-pressed:bg-muted aria-pressed:text-foreground`,onClick:()=>n(e),children:(0,$.jsx)(a,{})},e)}),i&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(I,{label:i.uploading?d(`detail.resource.uploading`):d(`detail.markdown.insertFile`),size:`icon-sm`,tabIndex:-1,disabled:i.uploading,className:`text-muted-foreground hover:text-foreground`,onClick:i.pick,children:i.uploading?(0,$.jsx)(ve,{}):(0,$.jsx)(zt,{})}),i.input]}),a]})}function $t(e){return e?.files.length?[...e.files]:[]}function en({label:e,value:t,onChange:n,placeholder:r,rows:i=5,variant:a=`compact`,maxLength:o=1e5,required:s=!1,footer:c,mentions:l,onUpload:u}){let f=(0,Q.useId)(),p=(0,Q.useRef)(null),[m,h]=yt(bt.editor),[g,_]=(0,Q.useState)(!1),[b,ee]=(0,Q.useState)(!1),te=g?`preview`:m===`visual`&&!b?`visual`:`write`,x=y({...T.query(`list_members`,{projectId:l??``}),enabled:!!l}),[C,w]=(0,Q.useState)(0),[ne,E]=(0,Q.useState)(null),D=l?Gt(t,C):null,O=Kt(x.data??[],D?.query??``),k=Yt(O.map(e=>e.userId)),A=!!D&&D.from!==ne&&O.length>0,j=`${f}-mentions`,M=e=>{let t=p.current;t&&(t.focus(),t.setSelectionRange(e.from,e.to),document.execCommand(`insertText`,!1,e.text)||(t.setRangeText(e.text),n(t.value)),t.setSelectionRange(e.start,e.end),w(e.end))},ie=e=>{let t=p.current;t&&M(ae(t.value,t.selectionStart,t.selectionEnd,e))},oe=e=>{let t=O.find(t=>t.userId===e);if(!D||!t)return;let n=`${Jt(t)} `,r=D.from+n.length;M({from:D.from,to:C,text:n,start:r,end:r})},N=Zt(e,u,e=>{let t=p.current;if(!t)return;let n=t.selectionEnd+e.length;M({from:t.selectionStart,to:t.selectionEnd,text:e,start:n,end:n})}),P=(e,t)=>{let n=u?$t(t):[];n.length&&(e.preventDefault(),N.send(n))},F=(0,Q.useCallback)(()=>ee(!0),[]),ce=a===`document`?`rounded-none border-0 bg-transparent dark:bg-transparent has-[[data-slot=input-group-control]:focus-visible]:ring-0`:void 0,le=c&&(0,$.jsx)(Ce,{align:`block-end`,className:`justify-end border-t py-2`,children:c});return(0,$.jsx)(z,{className:S(`mb-6 [&_[data-slot=tabs-list]]:shrink-0 [&_[data-slot=tabs-trigger]]:text-xs`,a===`compact`&&`[&_textarea]:field-sizing-fixed [&_textarea]:max-h-[28rem] [&_.ProseMirror]:max-h-[28rem] [&_.ProseMirror]:overflow-y-auto`,a===`document`&&`border-t pt-5 has-[[data-slot=input-group-control]:focus]:border-t-primary has-[[data-slot=input-group-control]:focus]:[&_[data-slot=field-label]]:text-primary`),"data-variant":a,"aria-label":d(`detail.markdown.editor`,{label:e}),children:(0,$.jsxs)(ht,{value:te,onValueChange:e=>{_(e===`preview`),(e===`write`||e===`visual`)&&(h(e),ee(!1))},children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(G,{htmlFor:f,children:e}),(0,$.jsxs)(ut,{"aria-label":d(`detail.markdown.editor`,{label:e}),variant:`line`,children:[(0,$.jsx)(nt,{value:`write`,children:d(`detail.markdown.write`)}),(0,$.jsx)(nt,{value:`visual`,children:d(`detail.markdown.visual`)}),(0,$.jsx)(nt,{value:`preview`,children:d(`detail.markdown.preview`)})]})]}),(0,$.jsxs)(dt,{value:`write`,children:[b&&m===`visual`&&(0,$.jsx)(`p`,{role:`status`,className:`mb-2 text-xs text-muted-foreground`,children:d(`detail.markdown.unsupported`)}),(0,$.jsxs)(Te,{className:ce,children:[(0,$.jsx)(Qt,{label:e,flush:a===`document`,onApply:ie,...u?{upload:N}:{}}),(0,$.jsx)(ge,{ref:p,id:f,className:a===`document`?`field-sizing-content max-h-none resize-y px-1 py-3 text-base md:text-base leading-7 caret-primary`:void 0,style:a===`document`?{minHeight:`${i}lh`}:void 0,value:t,onChange:e=>{w(e.target.selectionStart),n(e.target.value)},onSelect:e=>w(e.currentTarget.selectionStart),onPaste:e=>P(e,e.clipboardData),onDragOver:e=>{u&&e.dataTransfer.types.includes(`Files`)&&e.preventDefault()},onDrop:e=>P(e,e.dataTransfer),...l&&{"aria-autocomplete":`list`,"aria-controls":A?j:void 0,"aria-activedescendant":A&&k.active?`${j}-${k.active}`:void 0},onKeyDown:e=>{if(A&&k.handleKey(e.nativeEvent,oe,()=>E(D.from))){e.stopPropagation();return}let t=re(e);!t||t===`link`&&e.currentTarget.selectionStart===e.currentTarget.selectionEnd||(e.preventDefault(),e.stopPropagation(),ie(t))},placeholder:r,rows:i,maxLength:o,required:s}),l&&(0,$.jsx)(Xt,{id:j,label:d(`detail.markdown.mention`),open:A,anchor:p,options:O.map(qt),active:k.active,onHighlight:k.setHighlight,onChoose:oe,onDismiss:()=>{D&&E(D.from)}}),le]})]}),(0,$.jsx)(dt,{value:`visual`,children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(se,{}),children:(0,$.jsx)(Ht,{id:f,label:e,value:t,onChange:n,placeholder:r??``,rows:i,maxLength:o,flush:a===`document`,groupClassName:ce,footer:le,...l?{members:x.data??[]}:{},...u?{onUpload:u}:{},onUnsupported:F})})}),(0,$.jsxs)(dt,{value:`preview`,children:[(0,$.jsx)(`div`,{className:S(`min-h-28 rounded-lg border bg-muted/20 p-4`,a===`document`&&`rounded-none border-0 bg-transparent px-1 py-3 text-base leading-7`),children:t?(0,$.jsx)(v,{children:t}):(0,$.jsx)(`p`,{className:`m-0 text-sm text-muted-foreground`,children:d(`detail.markdown.nothingToPreview`)})}),c&&(0,$.jsx)(`div`,{className:`mt-2 flex justify-end`,children:c})]})]})})}function tn({projectId:e,label:t,value:n,onChange:r,exclude:i=[],allowClear:o=!0,variant:s=`field`,placeholder:c=d(`ticket.picker.placeholder`)}){let l=(0,Q.useId)(),[u,f]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(``),h=y({...T.query(`list_tickets`,{projectId:e,q:p,archived:`include`,limit:30}),enabled:u}),g=y({...T.query(`get_ticket`,{projectId:e,ticketId:n??``}),enabled:!!n&&a().safeParse(n).success}),_=h.data?.items.filter(e=>!i.includes(e.id))??[],v=g.data?.ticket??h.data?.items.find(e=>e.id===n),b=(0,$.jsxs)(x,{open:u,onOpenChange:e=>{f(e),e&&m(``)},children:[(0,$.jsxs)(ce,{id:l,render:(0,$.jsx)(K,{variant:s===`pill`?`ghost`:`outline`,size:s===`pill`?`sm`:`default`,role:`combobox`,"aria-label":t,className:s===`pill`?`h-7 max-w-64 min-w-0 border border-transparent px-2 font-normal hover:border-border`:`h-auto min-h-8 w-full justify-between whitespace-normal text-left font-normal`}),children:[s===`pill`&&(0,$.jsx)(Ke,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:s===`pill`?`min-w-0 truncate`:`min-w-0 break-words`,children:v?s===`pill`?v.key:`${v.key} · ${v.title}`:n?d(`ticket.picker.loading`):c}),s!==`pill`&&(0,$.jsx)(Ue,{className:`ml-2 size-3.5 shrink-0 text-muted-foreground`})]}),(0,$.jsx)(D,{align:`start`,className:`w-[min(420px,var(--available-width))] p-0`,children:(0,$.jsxs)(te,{shouldFilter:!1,children:[(0,$.jsx)(ee,{"aria-label":d(`ticket.picker.searchLabel`,{label:t}),placeholder:d(`ticket.picker.searchPlaceholder`),value:p,onValueChange:m}),(0,$.jsxs)(M,{children:[o&&(0,$.jsx)(W,{children:(0,$.jsxs)(U,{value:`none`,onSelect:()=>{r(null),f(!1)},children:[d(`ticket.picker.noParent`),!n&&(0,$.jsx)(A,{className:`ml-auto`})]})}),h.isPending?(0,$.jsx)(`div`,{role:`status`,className:`px-4 py-6 text-sm text-muted-foreground`,children:d(`ticket.picker.searching`)}):_.length?(0,$.jsx)(W,{children:_.map(e=>(0,$.jsxs)(U,{value:e.id,className:`items-start py-2`,onSelect:()=>{r(e.id),f(!1)},children:[(0,$.jsxs)(`span`,{className:`min-w-0`,children:[(0,$.jsx)(`span`,{className:`mb-1 block font-mono text-[11px] text-muted-foreground`,children:e.key}),(0,$.jsx)(`span`,{dir:`auto`,className:`block break-words whitespace-normal`,children:e.title})]}),n===e.id&&(0,$.jsx)(A,{className:`ml-auto shrink-0`})]},e.id))}):(0,$.jsx)(`div`,{role:`status`,className:`px-4 py-6 text-center text-sm text-muted-foreground`,children:d(`ticket.picker.empty`)}),(0,$.jsx)(k,{error:h.error})]})]})})]});return s===`pill`?(0,$.jsxs)($.Fragment,{children:[b,(0,$.jsx)(k,{error:g.error})]}):(0,$.jsxs)(z,{className:Ae,children:[(0,$.jsx)(G,{htmlFor:l,children:t}),b,(0,$.jsx)(k,{error:g.error})]})}var nn=H(`flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1`,{variants:{orientation:{horizontal:`*:data-slot:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg! [&>[data-slot]~[data-slot]]:rounded-l-none [&>[data-slot]~[data-slot]]:border-l-0`,vertical:`flex-col *:data-slot:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg! [&>[data-slot]~[data-slot]]:rounded-t-none [&>[data-slot]~[data-slot]]:border-t-0`}},defaultVariants:{orientation:`horizontal`}});function rn({className:e,orientation:t,...n}){return(0,$.jsx)(`div`,{role:`group`,"data-slot":`button-group`,"data-orientation":t,className:S(nn({orientation:t}),e),...n})}function an({icon:e,href:t,label:n,download:r=!1,compact:i=!1,badges:a,details:o,meta:s,metaId:c,actions:l}){return(0,$.jsxs)(He,{role:`listitem`,size:i?`xs`:`default`,className:S(`rounded-none border-x-0 border-t-0 border-b-border px-0 animate-in fade-in-0 duration-200 last:border-b-0`,!i&&`items-start py-4`),children:[(0,$.jsx)(ze,{variant:i?`default`:`icon`,children:e}),(0,$.jsxs)(Be,{className:S(`min-w-0`,i?`gap-0`:`gap-1.5`),children:[(0,$.jsxs)(Ve,{className:S(`line-clamp-none max-w-full wrap-anywhere`,i&&`text-xs font-normal`),children:[(0,$.jsxs)(`a`,{href:t,"aria-describedby":c,...r?{download:!0,className:`hover:text-primary`}:{target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 text-primary hover:underline`},children:[n,!r&&(0,$.jsx)(gt,{className:`size-3 shrink-0`,"aria-hidden":`true`})]}),a]}),o,s&&(0,$.jsx)(Le,{id:c,className:S(`m-0`,i?`text-[11px]`:`text-xs`),children:s})]}),l&&(0,$.jsx)(Re,{children:l})]})}function on(e){if(e.size>1e7)throw Error(d(`detail.attachment.tooLarge`))}var sn=async e=>({name:e.name,contentType:e.type||`application/octet-stream`,data:await le(e)});function cn(e,t){let n=B(`upload_attachment`),r=B(`stage_upload`);return async i=>{on(i);let a=await sn(i),o=`ticketId`in t?await n.mutateAsync({projectId:e,ticketId:t.ticketId,...a}):await r.mutateAsync({projectId:e,...a});return`onStaged`in t&&t.onStaged(o.id),{url:p(e,o.id),name:o.name,contentType:o.contentType}}}function ln({ticket:e}){let t=y(T.query(`list_attachments`,{projectId:e.projectId,ticketId:e.id})),n=B(`upload_attachment`),r=B(`delete_attachment`),i=q(e.projectId),a=(0,Q.useRef)(null),[o,s]=(0,Q.useState)(),[c,l]=(0,Q.useState)(!1),[u,f]=(0,Q.useState)(!1);async function m(t){if(t.length){s(void 0),f(!0);try{t.forEach(on);for(let r of t)await n.mutateAsync({projectId:e.projectId,ticketId:e.id,...await sn(r)});P.success(d(`detail.attachment.attached`,{count:t.length}))}catch(e){s(e)}finally{f(!1)}}}return(0,$.jsxs)(`section`,{onDragOver:e=>{i.canWrite&&(e.preventDefault(),l(!0))},onDragLeave:()=>l(!1),onDrop:e=>{e.preventDefault(),l(!1),i.canWrite&&m(Array.from(e.dataTransfer.files))},className:S(`rounded-lg transition-colors`,c&&`bg-primary/5 ring-2 ring-primary/40 ring-offset-4 ring-offset-background`),children:[(0,$.jsx)(Oe,{compact:!0,title:d(`detail.attachment.heading`),action:i.canWrite&&(0,$.jsx)(I,{label:d(u?`detail.resource.uploading`:`detail.attachment.attach`),size:`icon-sm`,disabled:u,onClick:()=>a.current?.click(),children:u?(0,$.jsx)(ve,{}):(0,$.jsx)(Ye,{})})}),!t.isPending&&!t.data?.length&&(0,$.jsx)(`p`,{className:`mb-0 text-xs text-muted-foreground`,children:i.canWrite?d(`detail.attachment.emptyWritable`):d(`detail.attachment.empty`)}),(0,$.jsx)(Y,{className:`gap-0`,children:t.data?.map(t=>(0,$.jsx)(an,{compact:!0,download:!0,icon:(0,$.jsx)(ct,{className:`size-4 text-muted-foreground`}),href:p(e.projectId,t.id),label:t.name,meta:xe(t.size),metaId:`attachment-size-${t.id}`,actions:i.canWrite&&(0,$.jsx)(ue,{label:d(`detail.attachment.remove`),icon:(0,$.jsx)(We,{}),description:d(`detail.resource.removeConfirm`,{name:t.name}),onConfirm:()=>r.mutateAsync({projectId:e.projectId,attachmentId:t.id})})},t.id))}),(0,$.jsx)(je,{ref:a,type:`file`,multiple:!0,className:`hidden`,"aria-label":d(`detail.attachment.fileInput`),disabled:u,onChange:e=>{let t=Array.from(e.currentTarget.files??[]);e.currentTarget.value=``,m(t)}}),(0,$.jsx)(k,{error:o??t.error??r.error})]})}var un={passed:w,failed:ne,pending:de,reported:fe};function dn({ticket:e}){let t=q(e.projectId),n=y(T.query(`list_evidence`,{projectId:e.projectId,ticketId:e.id})),r=B(`add_evidence`),[i,a]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)();return(0,$.jsxs)(`section`,{children:[(0,$.jsx)(Oe,{title:d(`detail.section.evidence`),description:d(`detail.evidence.description`),action:t.canWrite&&(0,$.jsx)(I,{label:d(`detail.evidence.add`),onClick:()=>{r.reset(),c(void 0),a(!0)},children:(0,$.jsx)(Ie,{})})}),!n.isPending&&!n.data?.length&&(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:d(`detail.evidence.empty`)}),(0,$.jsx)(Y,{className:`gap-0`,children:n.data?.map(t=>{let n=un[t.outcome]??fe;return(0,$.jsx)(an,{icon:(0,$.jsx)(n,{className:S(t.outcome===`passed`&&`text-[var(--success)]`,t.outcome===`failed`&&`text-destructive`)}),href:t.url,label:t.title,badges:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(J,{variant:`outline`,className:`ml-2`,children:l[t.kind]}),(0,$.jsx)(J,{variant:`outline`,className:S(`ml-1`,t.outcome===`passed`&&`text-[var(--success)]`,t.outcome===`failed`&&`text-destructive`),"data-outcome":t.outcome,children:g[t.outcome]})]}),details:(0,$.jsxs)($.Fragment,{children:[t.commit&&(0,$.jsx)(`code`,{className:`w-fit rounded bg-muted px-1.5 py-0.5 font-mono text-[11px] break-all`,children:t.commit}),t.note&&(0,$.jsx)(v,{children:t.note})]}),meta:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(E,{projectId:e.projectId,actorId:t.actorId}),` ·`,` `,(0,$.jsx)(Ee,{value:t.createdAt})]})},t.id)})}),(0,$.jsx)(V,{title:d(`detail.evidence.add`),open:i,onOpenChange:a,busy:r.isPending,children:(0,$.jsxs)(`form`,{onSubmit:t=>{t.preventDefault();let n=new FormData(t.currentTarget);r.mutateAsync({projectId:e.projectId,ticketId:e.id,kind:o.shape.kind.parse(n.get(`kind`)),title:X(n,`title`),url:X(n,`url`),commit:X(n,`commit`)||null,outcome:o.shape.outcome.parse(n.get(`outcome`)),note:X(n,`note`)}).then(()=>{a(!1),P.success(d(`detail.evidence.added`))}).catch(c)},children:[(0,$.jsx)(L,{label:d(`detail.field.title`),name:`title`,required:!0,maxLength:200}),(0,$.jsx)(L,{label:d(`detail.field.url`),name:`url`,type:`url`,required:!0}),(0,$.jsxs)(`div`,{className:`grid grid-cols-1 gap-x-5 sm:grid-cols-2`,children:[(0,$.jsx)(ke,{label:d(`detail.evidence.kindLabel`),name:`kind`,children:o.shape.kind.options.map(e=>(0,$.jsx)(j,{value:e,children:l[e]},e))}),(0,$.jsx)(ke,{label:d(`detail.evidence.outcomeLabel`),name:`outcome`,children:o.shape.outcome.unwrap().options.map(e=>(0,$.jsx)(j,{value:e,children:g[e]},e))})]}),(0,$.jsx)(L,{label:d(`detail.evidence.commit`),name:`commit`,pattern:`[a-fA-F0-9]{40,64}`}),(0,$.jsx)(be,{label:d(`detail.evidence.note`),name:`note`,maxLength:2e4}),(0,$.jsx)(me,{error:s??r.error,pending:r.isPending,submitLabel:d(`detail.evidence.add`),onCancel:()=>a(!1)})]})}),(0,$.jsx)(k,{error:n.error})]})}function fn({ticket:e}){let t=q(e.projectId),r=y(T.query(`list_resources`,{projectId:e.projectId,ticketId:e.id})),i=B(`add_resource`),a=B(`update_resource`),o=B(`delete_resource`),[s,c]=(0,Q.useState)(),[l,u]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(),m=i.isPending||a.isPending,h=e=>{p(void 0),c(e),u(!0)};return(0,$.jsxs)(`section`,{"aria-label":d(`detail.link.heading`),children:[(0,$.jsx)(Oe,{compact:!0,title:d(`detail.link.heading`),action:t.canWrite&&(0,$.jsx)(I,{label:d(`detail.link.add`),size:`icon-sm`,onClick:()=>h(),children:(0,$.jsx)(Ie,{})})}),!r.isPending&&!r.data?.length&&(0,$.jsx)(`p`,{className:`mb-0 text-xs text-muted-foreground`,children:d(`detail.link.empty`)}),(0,$.jsx)(Y,{className:`gap-0`,children:r.data?.map(r=>(0,$.jsx)(an,{compact:!0,icon:(0,$.jsx)(mt,{className:`size-4 text-muted-foreground`}),href:r.url,label:r.title||r.url,meta:r.provider?(0,$.jsxs)(`span`,{className:`inline-flex flex-wrap gap-1`,children:[(0,$.jsx)(J,{variant:`outline`,children:r.provider}),(0,$.jsx)(J,{variant:`outline`,className:r.remoteState?void 0:`text-muted-foreground`,children:n(r)})]}):r.title&&_(r.url),actions:t.canWrite&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(I,{size:`icon-sm`,label:d(`detail.link.edit`),onClick:()=>h(r),children:(0,$.jsx)(Ge,{})}),(0,$.jsx)(ue,{label:d(`detail.link.remove`),icon:(0,$.jsx)(We,{}),description:d(`detail.resource.removeConfirm`,{name:r.title||r.url}),onConfirm:()=>o.mutateAsync({projectId:e.projectId,resourceId:r.id,expectedVersion:r.version})})]})},r.id))}),(0,$.jsx)(V,{title:d(s?`detail.link.edit`:`detail.link.add`),open:l,onOpenChange:u,busy:m,children:(0,$.jsxs)(`form`,{onSubmit:t=>{t.preventDefault();let n=new FormData(t.currentTarget),r={url:X(n,`url`),title:X(n,`title`)};p(void 0),(s?a.mutateAsync({projectId:e.projectId,resourceId:s.id,expectedVersion:s.version,...r}):i.mutateAsync({projectId:e.projectId,ticketId:e.id,...r})).then(()=>u(!1)).catch(p)},children:[(0,$.jsx)(L,{label:d(`detail.field.url`),name:`url`,type:`url`,required:!0,autoFocus:!0,defaultValue:s?.url}),(0,$.jsx)(L,{label:d(`detail.field.title`),name:`title`,maxLength:200,defaultValue:s?.title}),(0,$.jsx)(me,{error:f,pending:m,submitLabel:d(s?`detail.link.save`:`detail.link.add`),onCancel:()=>u(!1)})]})}),(0,$.jsx)(k,{error:r.error})]})}function pn({ticket:e}){let[t,n]=(0,Q.useState)(0),r=y(T.query(`list_activity`,{projectId:e.projectId,ticketId:e.id,offset:t}));return(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h2`,{children:d(`detail.section.activity`)}),(0,$.jsx)(k,{error:r.error}),(0,$.jsx)(`ol`,{className:`m-0 list-none p-0`,children:r.data?.items.map(t=>(0,$.jsxs)(`li`,{className:`relative flex flex-col gap-0.5 border-l py-2.5 pl-5 text-xs before:absolute before:top-4 before:-left-[3px] before:size-[5px] before:rounded-full before:bg-muted-foreground/50`,children:[(0,$.jsx)(`span`,{children:i(t)}),(0,$.jsxs)(`span`,{className:`text-muted-foreground`,children:[(0,$.jsx)(E,{projectId:e.projectId,actorId:t.actorId}),` ·`,` `,(0,$.jsx)(Ee,{value:t.createdAt})]})]},t.id))}),((r.data?.total??0)>50||t>0)&&(0,$.jsxs)(rn,{className:`mt-5 justify-end`,children:[(0,$.jsx)(K,{size:`sm`,disabled:!t,onClick:()=>n(Math.max(0,t-50)),children:d(`detail.activity.previous`)}),(0,$.jsx)(K,{size:`sm`,disabled:t+50>=(r.data?.total??0),onClick:()=>n(t+50),children:d(`detail.activity.next`)})]})]})}var mn=`h-7 max-w-64 min-w-0 border border-transparent px-2 font-normal hover:border-border aria-pressed:border-border aria-pressed:bg-muted`;function hn({projectId:e,ticket:t,initial:n,onSaved:i}){let a=we(),o=`kanvil:${he().id}:draft:${e}:${t?.id??`new:${n?.parentId??``}`}`,[l,u]=(0,Q.useState)(()=>{let e=Ze(t);return n?{...e,fields:{...e.fields,...n}}:e}),[p,m]=(0,Q.useState)(()=>{try{let e=$e.safeParse(JSON.parse(localStorage.getItem(o)??`null`));if(e.success)return e.data}catch{}return l}),h=(0,Q.useRef)(p);function g(e){h.current=e,m(e)}let _=`kanvil:composer-expanded`,[v,y]=(0,Q.useState)(()=>{try{return localStorage.getItem(_)===`1`}catch{return!1}});function ee(){y(e=>{try{localStorage.setItem(_,e?`0`:`1`)}catch{}return!e})}let[te,C]=(0,Q.useState)(()=>!!p.fields.acceptanceCriteria),[w,ne]=(0,Q.useState)(),[E,re]=(0,Q.useState)(),[A,j]=(0,Q.useState)(!1),[M,ie]=(0,Q.useState)(!1),[ae,N]=(0,Q.useState)(),F=B(`create_ticket`),se=B(`update_ticket`),le=B(`discard_upload`),ue=De(),de=pe().data,fe=(0,Q.useRef)(null),I=(0,Q.useRef)(!1),me=(0,Q.useRef)(0),[R,ge]=(0,Q.useState)(!1);function z(e){g(e),N(void 0);try{localStorage.setItem(o,JSON.stringify(e)),re(void 0),j(!0)}catch{re(Error(d(`detail.editor.storageUnavailable`))),j(!1)}}function ye(){try{localStorage.removeItem(o)}catch{}xe(h.current.uploads),g(l),j(!1)}function xe(e){for(let t of e)le.mutateAsync({projectId:W,uploadId:t}).catch(()=>{})}let V=e=>z({...h.current,fields:{...h.current.fields,...e}}),H=(e,t)=>V({[e]:t}),Ce=(e,t)=>H(`customFields`,{...h.current.fields.customFields,[e]:t}),Te=e=>de?.find(t=>t.id===e)?.workspaceId;async function Ee(t){let n=++me.current;z({...h.current,projectId:t===e?void 0:t,fields:{...h.current.fields,parentId:null,stateId:null,customFields:{},epicId:Te(t)===Te(W)?h.current.fields.epicId:null}}),ge(!0);let r=[];try{r=await ue.ensureQueryData(T.query(`list_members`,{projectId:t}))}finally{if(n===me.current){let e=h.current,{assigneeId:t}=e.fields;t&&!r.some(e=>e.userId===t)&&z({...e,fields:{...e.fields,assigneeId:null}}),ge(!1)}}}let U=p.fields,W=p.projectId??e,G=!!t&&p.version!==t.version,Oe=JSON.stringify(p.fields)!==JSON.stringify(l.fields)||p.projectId!==l.projectId,q=F.isPending||se.isPending,ke=q||G||R,Ae=U.automationReady||U.scopes.length>0||!!U.holdReason,je=cn(W,t?{ticketId:t.id}:{onStaged:e=>z({...h.current,uploads:[...h.current.uploads,e]})});async function J(n){if(n.preventDefault(),ke||I.current)return;let r=ft(U),s=p.uploads.filter(e=>U.description.includes(e)||U.acceptanceCriteria.includes(e));I.current=!0,a?.(!0);try{let n=t?await se.mutateAsync({projectId:e,ticketId:t.id,expectedVersion:p.version??t.version,changes:r}):await F.mutateAsync({projectId:W,...r,uploads:s}).catch(e=>{throw Pe(e),e});t||xe(p.uploads.filter(e=>!s.includes(e)));try{localStorage.removeItem(o)}catch{}if(t||!M)return P.success(d(t?`detail.editor.saved`:`detail.editor.created`,{key:n.key})),i(n);let a=h.current.fields,c=e=>a[e]===U[e]?``:a[e],l={...h.current,uploads:h.current.uploads.filter(e=>!p.uploads.includes(e)),fields:{...a,title:c(`title`),description:c(`description`),acceptanceCriteria:c(`acceptanceCriteria`)}};u({...l,fields:{...l.fields,title:``,description:``,acceptanceCriteria:``}}),l.fields.title||l.fields.description||l.fields.acceptanceCriteria?z(l):(g(l),j(!1)),C(!!l.fields.acceptanceCriteria),N(n.key),fe.current?.focus()}finally{I.current=!1,a?.(!1)}}function Pe(e){let t=e instanceof f&&s({uploads:r(c())}).safeParse(e.details).data?.uploads;t&&z({...h.current,uploads:h.current.uploads.filter(e=>!t.includes(e))})}let Y=q||p.uploads.length>0,Ie=(0,$.jsxs)(`div`,{className:`-mt-3 flex flex-wrap items-center gap-1`,"aria-label":d(`detail.editor.properties`),children:[!t&&(0,$.jsx)(et,{value:W,disabled:Y,onChange:e=>void Ee(e).catch(Se)}),(0,$.jsx)(Z,{property:`status`,projectId:W,value:lt(U),onChange:e=>V(it(e))}),(0,$.jsx)(Z,{property:`priority`,projectId:W,value:U.priority,onChange:e=>H(`priority`,e)}),(0,$.jsx)(Z,{property:`assignee`,projectId:W,value:U.assigneeId,onChange:e=>H(`assigneeId`,e)}),(0,$.jsx)(Z,{property:`kind`,projectId:W,value:U.kind,onChange:e=>H(`kind`,e)}),(0,$.jsx)(Z,{property:`difficulty`,projectId:W,value:U.difficulty,onChange:e=>H(`difficulty`,e)}),(0,$.jsx)(tt,{projectId:W,value:U.epicId,onChange:e=>H(`epicId`,e)}),(0,$.jsx)(vt,{value:U.labels,onChange:e=>H(`labels`,e)}),(0,$.jsx)(rt,{variant:`pill`,value:U,onChange:V}),(0,$.jsx)(Qe,{variant:`pill`,projectId:W,values:U.customFields,isNew:!t,onChange:Ce}),(0,$.jsx)(tn,{variant:`pill`,label:d(`detail.field.parentTicket`),placeholder:d(`detail.field.parent`),projectId:W,value:U.parentId,onChange:e=>H(`parentId`,e),exclude:t?[t.id]:[]}),(0,$.jsxs)(ot,{size:`sm`,className:S(mn,`gap-1.5`),pressed:U.automationReady,onPressedChange:e=>H(`automationReady`,e),"aria-label":d(`detail.editor.readyForAgents`),title:d(`detail.editor.readyForAgentsHelp`),children:[(0,$.jsx)(Tt,{className:`size-3.5 text-muted-foreground`,"aria-hidden":`true`}),U.automationReady?d(`detail.editor.readyForAgents`):d(`detail.editor.agents`)]}),(0,$.jsxs)(x,{children:[(0,$.jsx)(ce,{render:(0,$.jsx)(K,{variant:`ghost`,size:`icon-sm`,className:S(`size-7 border border-transparent hover:border-border`,Ae&&`text-primary`),"aria-label":d(`detail.editor.moreProperties`)}),children:(0,$.jsx)(Je,{className:`size-3.5`})}),(0,$.jsxs)(D,{align:`start`,className:`w-[min(24rem,calc(100vw-2rem))] p-4`,children:[(0,$.jsx)(pt,{label:d(`detail.field.scopes`),kind:`scope`,value:U.scopes,onChange:e=>H(`scopes`,e)}),(0,$.jsx)(L,{label:d(`detail.field.holdReason`),value:U.holdReason??``,maxLength:2e3,placeholder:d(`detail.editor.holdPlaceholder`),onChange:e=>H(`holdReason`,e.target.value||null)}),(0,$.jsx)(`p`,{className:`mb-0 text-xs text-muted-foreground`,children:d(`detail.editor.claimsNote`)})]})]})]}),Le=(0,$.jsxs)(`form`,{onSubmit:e=>{ne(void 0),J(e).catch(ne)},onKeyDown:Xe,className:`ticket-composer flex min-h-0 flex-1 flex-col`,"data-expanded":v,children:[(0,$.jsx)(K,{variant:`ghost`,size:`icon-sm`,className:`absolute top-2 right-11 hidden sm:inline-flex`,"aria-label":d(v?`detail.editor.restoreSize`:`detail.editor.expand`),"aria-pressed":v,disabled:q,onClick:ee,children:v?(0,$.jsx)(Lt,{}):(0,$.jsx)(_t,{})}),(0,$.jsxs)(`div`,{className:S(`min-h-0 flex-1 overflow-y-auto overscroll-contain`,v&&`lg:grid lg:grid-cols-[minmax(0,1fr)_320px] lg:items-start`),children:[(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-4xl flex-col gap-4 px-5 py-5 sm:px-8`,children:[G&&(0,$.jsxs)(_e,{className:`w-auto`,children:[(0,$.jsx)(st,{}),(0,$.jsx)(Ne,{children:d(`detail.editor.staleTitle`)}),(0,$.jsxs)(Me,{children:[d(`detail.editor.staleDescription`,{version:p.version}),(0,$.jsx)(K,{size:`sm`,className:`mt-2`,onClick:()=>z(Ze(t)),children:d(`detail.editor.discardAndReload`)})]})]}),(0,$.jsx)(k,{error:w??F.error??se.error??E}),(0,$.jsx)(`div`,{className:`[&_[data-slot=field-label]]:sr-only`,children:(0,$.jsx)(be,{label:d(`detail.field.title`),rows:1,value:U.title,onChange:e=>H(`title`,e.target.value),required:!0,maxLength:500,autoFocus:!0,ref:fe,placeholder:d(`detail.editor.titlePlaceholder`),className:`field-sizing-content min-h-10 resize-none border-0 bg-transparent px-0 py-1 text-xl! font-semibold leading-snug shadow-none caret-primary focus-visible:ring-0 dark:bg-transparent`})}),!v&&Ie,(0,$.jsx)(en,{label:d(`detail.field.description`),value:U.description,onChange:e=>H(`description`,e),rows:8,variant:`document`,placeholder:d(`detail.editor.descriptionPlaceholder`),onUpload:je}),te?(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(en,{label:d(`detail.field.acceptanceCriteria`),value:U.acceptanceCriteria,onChange:e=>H(`acceptanceCriteria`,e),rows:4,variant:`document`,maxLength:5e4,placeholder:d(`detail.editor.criteriaPlaceholder`),onUpload:je}),!U.acceptanceCriteria&&(0,$.jsx)(K,{variant:`ghost`,size:`icon-xs`,className:`absolute top-5 right-24 text-muted-foreground`,"aria-label":d(`detail.editor.removeCriteria`),onClick:()=>C(!1),children:(0,$.jsx)(O,{})})]}):(0,$.jsxs)(K,{variant:`ghost`,size:`sm`,className:`w-fit text-muted-foreground`,onClick:()=>C(!0),children:[(0,$.jsx)(at,{}),d(`detail.editor.addCriteria`)]})]}),v&&(0,$.jsxs)(`aside`,{className:`border-t bg-muted/20 p-5 lg:sticky lg:top-0 lg:min-h-full lg:border-t-0 lg:border-l`,"aria-label":d(`detail.editor.properties`),children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[!t&&(0,$.jsx)(et,{variant:`row`,value:W,disabled:Y,onChange:e=>void Ee(e).catch(Se)}),(0,$.jsx)(Z,{variant:`row`,property:`status`,projectId:W,value:lt(U),onChange:e=>V(it(e))}),(0,$.jsx)(Z,{variant:`row`,property:`priority`,projectId:W,value:U.priority,onChange:e=>H(`priority`,e)}),(0,$.jsx)(Z,{variant:`row`,property:`assignee`,projectId:W,value:U.assigneeId,onChange:e=>H(`assigneeId`,e)}),(0,$.jsx)(Z,{variant:`row`,property:`kind`,projectId:W,value:U.kind,onChange:e=>H(`kind`,e)}),(0,$.jsx)(Z,{variant:`row`,property:`difficulty`,projectId:W,value:U.difficulty,onChange:e=>H(`difficulty`,e)}),(0,$.jsx)(tt,{variant:`row`,projectId:W,value:U.epicId,onChange:e=>H(`epicId`,e)}),(0,$.jsx)(rt,{variant:`row`,value:U,onChange:V}),(0,$.jsx)(Qe,{variant:`row`,projectId:W,values:U.customFields,isNew:!t,onChange:Ce}),(0,$.jsxs)(`div`,{className:`grid grid-cols-[80px_minmax(0,1fr)] items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:d(`detail.editor.agents`)}),(0,$.jsxs)(ot,{size:`sm`,className:S(mn,`h-7 justify-start gap-1.5`),pressed:U.automationReady,onPressedChange:e=>H(`automationReady`,e),"aria-label":d(`detail.editor.readyForAgents`),children:[(0,$.jsx)(Tt,{className:`size-3.5 text-muted-foreground`,"aria-hidden":`true`}),U.automationReady?d(`detail.editor.readyForAgents`):d(`detail.editor.notReady`)]})]})]}),(0,$.jsxs)(`div`,{className:`mt-6 border-t pt-5`,children:[(0,$.jsx)(pt,{label:d(`detail.field.labels`),value:U.labels,onChange:e=>H(`labels`,e)}),(0,$.jsx)(tn,{label:d(`detail.field.parentTicket`),projectId:W,value:U.parentId,onChange:e=>H(`parentId`,e),exclude:t?[t.id]:[]}),(0,$.jsx)(pt,{label:d(`detail.field.scopes`),kind:`scope`,value:U.scopes,onChange:e=>H(`scopes`,e)}),(0,$.jsx)(L,{label:d(`detail.field.holdReason`),value:U.holdReason??``,maxLength:2e3,placeholder:d(`detail.editor.holdPlaceholder`),onChange:e=>H(`holdReason`,e.target.value||null)})]})]})]}),(0,$.jsxs)(`footer`,{className:`z-10 flex shrink-0 flex-wrap items-center justify-between gap-3 border-t bg-muted/40 px-5 py-3`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,role:`status`,children:[ae?d(`detail.editor.created`,{key:ae}):A?d(`detail.editor.savedLocally`):E?d(`detail.editor.notSavedLocally`):``,Oe&&!G&&(0,$.jsxs)(K,{variant:`ghost`,size:`xs`,disabled:q,onClick:ye,children:[(0,$.jsx)(qe,{}),d(`detail.editor.discardDraft`)]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!t&&(0,$.jsxs)(`label`,{className:`mr-2 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,$.jsx)(xt,{size:`sm`,checked:M,disabled:q,onCheckedChange:ie}),d(`detail.editor.createMore`)]}),(0,$.jsx)(oe,{render:(0,$.jsx)(K,{disabled:q}),children:d(`common.action.cancel`)}),(0,$.jsxs)(K,{type:`submit`,variant:`default`,disabled:ke,children:[q?(0,$.jsx)(ve,{}):null,d(q?`common.state.saving`:t?`detail.editor.save`:`detail.editor.create`),!q&&(0,$.jsx)(b,{"aria-hidden":`true`,className:`ml-1 hidden border-transparent bg-primary-foreground/20 text-primary-foreground shadow-none sm:inline-flex`,children:`⌘↵`})]})]})]})]});return(0,$.jsx)(Fe,{projectId:W,children:Le})}export{hn as TicketEditor,zt as _,cn as a,Qt as c,$t as d,Wt as f,Yt as g,Zt as h,fn as i,en as l,qt as m,ln as n,rn as o,Kt as p,dn as r,tn as s,pn as t,Xt as u};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{N as t,Wn as n,Xt as r,Yt as i,_n as a,an as o,cn as s,en as c,m as l,r as u,rn as d,u as f,w as p}from"./default-CN9zcRIy.js";import{$a as m,F as h,Fa as g,Gi as _,H as v,I as y,Ia as b,J as x,K as S,L as C,Li as w,Pa as ee,Q as te,R as ne,U as re,X as ie,Xa as ae,Y as oe,Ya as se,Z as ce,Za as T,Zi as le,bt as ue,d as de,ea as fe,et as pe,fr as me,ft as he,i as ge,ia as _e,it as ve,ko as ye,lt as be,mi as E,p as D,pt as xe,q as Se,qa as Ce,r as we,ra as Te,s as Ee}from"./search-C2QaoLwI.js";import{t as De}from"./useQueries-U3MOyy3t.js";import{g as Oe,p as ke,u as Ae}from"./item-BbaYy50i.js";import{t as je}from"./archive-restore-UgUTJyLs.js";import{r as O,t as k}from"./Trans-CT9xiBED.js";import{n as Me}from"./project-lifecycle-BHWCMq7o.js";import{n as Ne}from"./CompositeItem-GgAhkI4m.js";import{n as Pe}from"./ticket-list-controls-BiC5CIwM.js";import{t as Fe}from"./ellipsis-CcIJddV1.js";import{d as Ie,p as Le,r as Re}from"./en-US-DKYSujv3.js";import{B as ze,Bt as Be,C as Ve,Ct as He,F as Ue,Ft as We,G as Ge,Gt as Ke,H as qe,Ht as Je,It as Ye,K as Xe,L as Ze,Lt as Qe,Mt as A,P as $e,Pt as et,Rt as tt,St as nt,Tt as rt,U as it,Ut as at,V as ot,W as st,Wt as ct,Y as lt,Z as j,a as ut,at as dt,b as ft,bt as pt,ct as M,dt as mt,et as ht,ft as gt,gt as _t,hn as N,ht as vt,in as yt,it as bt,j as xt,lt as St,mn as Ct,mt as wt,nt as P,ot as Tt,pt as Et,q as Dt,st as Ot,tt as kt,ut as At,vn as jt,w as Mt,wt as Nt,xt as Pt,z as Ft}from"./index-CvFGdLre.js";import{a as It,i as Lt,n as Rt,o as zt,r as Bt,t as Vt}from"./table-esnQpDtb.js";import{TicketEditor as Ht}from"./ticket-editor-BjuSeeiA.js";var F={name:`bookmark-plus`,size:24,node:[[`path`,{d:`M12 7v6`,key:`lw1j43`}],[`path`,{d:`M15 10H9`,key:`o6yqo3`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`,key:`oz39mx`}]]};F.node;var Ut=T(F),Wt={name:`list-todo`,size:24,node:[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]};Wt.node;var Gt=T(Wt),Kt={name:`notebook-tabs`,size:24,node:[[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,key:`1nb95v`}],[`path`,{d:`M15 2v20`,key:`dcj49h`}],[`path`,{d:`M15 7h5`,key:`1xj5lc`}],[`path`,{d:`M15 12h5`,key:`w5shd9`}],[`path`,{d:`M15 17h5`,key:`1qaofu`}]]};Kt.node;var qt=T(Kt);function Jt(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();let n=Yt(e);if(n.length!==Yt(t).length)return!1;for(let r=0;r<n.length;r++)if(!Object.prototype.hasOwnProperty.call(t,n[r])||!Object.is(e[n[r]],t[n[r]]))return!1;return!0}function Yt(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}function Xt(e){let t=new Date(e);return t.setHours(0,0,0,0),t}function Zt(e,t){let n=new Date(e);return n.setDate(n.getDate()+t),n}function Qt(e,t){let n=Xt(e);return Zt(n,-((n.getDay()-t+7)%7))}function $t(e,t,n){if(e===`calendar`){let e=Xt(t);e.setDate(1);let r=Xt(t);return r.setMonth(r.getMonth()+1,0),{from:Qt(e,n),to:Zt(Qt(r,n),7)}}let r=Qt(t,n);return{from:r,to:Zt(r,42)}}function I(e,t,n){if(e!==`calendar`)return Zt(t,n*14);let r=new Date(t),i=r.getDate();r.setDate(1),r.setMonth(r.getMonth()+n);let a=Xt(r);return a.setMonth(a.getMonth()+1,0),r.setDate(Math.min(i,a.getDate())),r}function en(e){let t=e.startAt??e.dueAt,n=e.dueAt??e.startAt;return t&&n?{start:Xt(t),end:Xt(n)}:null}var tn=[[`overdue`,0],[`today`,864e5],[`week`,6048e5],[`later`,1/0]];function nn(e,t){if(!e.dueAt)return`none`;let n=new Date(e.dueAt).getTime()-t;return tn.find(([,e])=>n<e)?.[0]??`later`}var rn=e=>e===`later`?a(`ticket.list.later`):t[e],an=class{pages;states;constructor(e,t){this.pages=e,this.states=t}};function on(){let e=[],t;return n=>{let r=n.map(({data:e})=>e);(r.length!==e.length||r.some((t,n)=>t!==e[n]))&&(e=r);let i=n.map(({isPending:e,isFetching:t,error:n,refetch:r})=>({isPending:e,isFetching:t,error:n,refetch:r})),a=t;return a&&a.pages===e&&a.states.length===i.length&&i.every((e,t)=>{let n=a.states[t];return n?.isPending===e.isPending&&n?.isFetching===e.isFetching&&n?.error===e.error&&n?.refetch===e.refetch})?a:(t=new an(e,i),t)}}function sn(e){return typeof e==`object`?e.key:e}function cn(e,t){let n=e.length;return new Proxy(e,{get(e,r,i){if(typeof r==`string`){let i=r.charCodeAt(0);if(i>=48&&i<=57){let i=+r;if(Number.isInteger(i)&&i>=0&&i<n){let n=e[i];if(typeof n!=`object`){let r=t[i*2];n=e[i]={index:i,key:n,start:r,size:t[i*2+1],end:r+t[i*2+1],lane:0}}return n}}if(r===`length`)return n}return Reflect.get(e,r,i)}})}function ln(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return(o.length!==r.length||o.some((e,t)=>r[t]!==e))&&(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1),i}return o.updateDeps=e=>{r=e},o}function L(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var R=(e,t)=>Math.abs(e-t)<1.01,un=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})};function dn({offset:e,isScrolling:t,elementMax:n,holdOffset:r,scrollOffset:i,pendingWrite:a,clampedMaxAtWrite:o}){return t&&a===null&&e===i?`spurious`:a!==null&&Math.abs(e-a.target)<1.5?`readBack`:a!==null&&!a.smooth&&n!==null&&a.target>n+r+.5&&Math.abs(e-(n+r))<1.5||a!==null&&!a.smooth&&a.lowMaxes?.some(t=>Math.abs(e-t)<1.5)?`clampedReadBack`:o!==null&&Math.abs(e-o)<1.5?`clampedEcho`:`external`}var z=e=>e===`smooth`||e===`smoothFinishing`;function fn({kind:e,offset:t,command:n,target:r}){return e!==`spurious`&&e!==`readBack`&&e!==`clampedReadBack`&&n?.index!=null&&n.phase!==`queued`&&!z(n.phase)&&!R(t,n.lastTargetOffset)&&!R(t,r())&&e!==`clampedEcho`}var pn=40;function mn(e){let t=e[e.length-1];if(t===void 0)return!1;let n=e.length-2;for(;n>=0&&t.t-e[n].t<pn;)n--;if(n<0)return!1;let r=e[n],i=n-1;for(;i>=0&&r.t-e[i].t<pn;)i--;if(i<0)return!1;let a=e[i],o=(t.offset-r.offset)/(t.t-r.t),s=(r.offset-a.offset)/(r.t-a.t);return o*s>=0&&Math.abs(o)>=2*Math.abs(s)&&Math.abs(o)-Math.abs(s)>=.8}function hn(e){let t=e[e.length-1];if(t===void 0)return!1;let n=e.length-2;for(;n>=0&&t.t-e[n].t<pn;)n--;if(n<0)return!1;let r=e[n];return Math.abs(t.offset-r.offset)/(t.t-r.t)>=.05}var B,gn=()=>{if(B!==void 0)return B;if(typeof navigator>`u`)return B=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return B=!0;let e=navigator.maxTouchPoints;return B=navigator.platform===`MacIntel`&&e!==void 0&&e>0},_n,vn=()=>_n===void 0?_n=gn()&&typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`overflow-anchor: auto`):_n,V={capture:!0,passive:!0},yn=class{constructor(e){this.host=e,this._touch=null,this.inMotion=()=>this._touch!==null&&this._touch.phase!==`lateFling`,this.dragging=()=>this._touch?.phase===`down`&&this._touch.moved,this.tail=()=>this._touch?.phase===`tail`?this._touch.moved?`fling`:`tap`:null,this.onScroll=({isScrolling:e,ownReadBack:t,moved:n,external:r})=>(e&&this._touch?.phase===`tail`?this._openTail(this._touch.moved||!t,!1):this._touch?.phase===`lateFling`&&(this.host.now()>this._touch.until?this._touch=null:r&&e&&n&&this._openTail(!0,!1)),!t&&e&&n&&this._touch?.phase===`down`?(this._touch.moved=!0,!0):!1),this.touchStart=()=>{this.end(),this._touch={phase:`down`,moved:!1}},this.touchEnd=()=>{let e=this._touch?.phase===`down`&&this._touch.moved;this.end(),this._openTail(e,e)},this.end=()=>{let e=this.host.getWindow();this._touch?.phase===`tail`&&e!=null&&e.clearTimeout(this._touch.timerId),this._touch=null},this.listen=e=>{let t=()=>this.touchStart(),n=()=>this.touchEnd();return e.addEventListener(`touchstart`,t,V),e.addEventListener(`touchend`,n,V),e.addEventListener(`touchcancel`,n,V),()=>{e.removeEventListener(`touchstart`,t,V),e.removeEventListener(`touchend`,n,V),e.removeEventListener(`touchcancel`,n,V),this.end()}},this._openTail=(e,t)=>{let n=this.host.getWindow();if(!gn()||n==null)return;this.end();let r={phase:`tail`,moved:e,awaitingFling:t,timerId:n.setTimeout(()=>{this.host.tailStillMoving()?this._openTail(r.moved,r.awaitingFling):(this._touch=r.awaitingFling?{phase:`lateFling`,until:this.host.now()+1e3}:null,this.host.onTailClosed())},150)};this._touch=r}}get touch(){return this._touch}},bn=e=>{let{clientWidth:t,clientHeight:n}=e;return{width:t,height:n}},xn=e=>{let t=new Set;return{schedule:n=>{let r=e.requestAnimationFrame(()=>{t.delete(r),n()});t.add(r)},cancel:()=>{t.forEach(t=>e.cancelAnimationFrame(t)),t.clear()}}},Sn=e=>e,Cn=e=>{let t=e.overscan*Math.max(e.lanes??1,1),n=Math.max(e.startIndex-t,0),r=Math.min(e.endIndex+t,e.count-1)-n+1,i=Array(r);for(let e=0;e<r;e++)i[e]=n+e;return i},wn=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(bn(n)),!r.ResizeObserver)return()=>{};let a=xn(r),o=new r.ResizeObserver(()=>{let t=()=>{i(bn(n))};e.options.useAnimationFrameWithResizeObserver?a.schedule(t):t()});return o.observe(n,{box:`content-box`}),()=>{o.unobserve(n),a.cancel()}},Tn={passive:!0},En=typeof window>`u`||`onscrollend`in window,Dn=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&En,o=0,s=a?null:un(i,()=>t(n(r),!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,Tn),a&&r.addEventListener(`scrollend`,u,Tn),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u),s?.cancel()}},On=(e,t)=>Dn(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),H=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},kn=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},An=(e,t)=>e===`smooth`?t?`smoothLanded`:`smooth`:`instant`,jn=e=>e?.phase===`smooth`||e?.phase===`smoothLanded`;function Mn(e,t,n,r){if(t===0)return!1;let i=r(0),a=new Set,o=0;for(;o<e;){let e=n(o);if(e===i)break;a.add(e),o++}let s=e-o;if(s===0||s>=t)return!1;for(let e=0;e<s;e++)if(r(e)!==n(o+e))return!1;for(let e=s;e<t;e++)if(a.has(r(e)))return!1;return!0}var Nn=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._iosGesture=new yn({getWindow:()=>this.targetWindow,now:()=>this.now(),tailStillMoving:()=>{let e=this.scrollState;if(e?.phase!==`queued`||this.pendingWrite!==null)return!1;let t=this._readElementOffset();return t===null||this._lastElementOffset===null||Math.abs(t-this._lastElementOffset)<1?!1:(this._lastElementOffset=t,e.samples=[...e.samples??[],{t:this.now(),offset:t}],!0)},onTailClosed:()=>{let e=this.scrollState;e?.phase===`queued`&&hn(e.samples??[])&&(this.scrollState=null),this._flushHoldIfReady(!0),this._writeAwaitingCommand(),this._retryClampedAdjustment()}}),this._lastElementOffset=null,this.pendingWrite=null,this._clampedAdjustment=null,this.elementsCache=new Map,this._resizeBatch=null,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=null,n=()=>{if(e)return e;let n=this.targetWindow;if(!n||!n.ResizeObserver)return null;let i=t=xn(n);return e=new n.ResizeObserver(e=>{let t=()=>{let t={sync:!1};this._resizeBatch=t;try{e.forEach(r)}finally{this._resizeBatch=null,t.notify&&(this.notify(t.sync),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment())}};this.options.useAnimationFrameWithResizeObserver?i.schedule(t):t()})},r=e=>{let t=e.target,n=this.indexFromElement(t);if(t.isConnected)this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this));else{this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}}};return{disconnect:()=>{var r;(r=n())==null||r.disconnect(),t?.cancel(),e=null,t=null},observe:e=>n()?.observe(e,{box:`border-box`}),unobserve:e=>n()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Sn,rangeExtractor:Cn,onChange:()=>{},measureElement:H,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=this._singleLaneMeasurements?.items??s,l=e=>sn(c[e]),u=e>0?l(0):null,d=e>0?l(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==u||t.getItemKey(o-1)!==d)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>0&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==d)&&(o>e||Mn(e,o,l,t.getItemKey))&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=null;if(r&&this.scrollOffset!==null&&!this._awaitingCommandReadBack()){let[e,t]=r,n=this.getMeasurements(),{count:a,getItemKey:s}=this.options,c=0;for(;c<a&&s(c)!==e;)c++;if(c<a){let e=n[c];if(e){let n=Math.max(0,e.start+t);!i&&n!==this.scrollOffset&&(o=n-this.scrollOffset,this.scrollOffset=n)}}}i?this.pendingScrollAnchor={kind:`follow`,behavior:i}:o!==null&&(this._canWriteScroll()?this.pendingScrollAnchor={kind:`anchor`,delta:o}:(this._holdOffset+=o,this._followOffsetTarget(o)))},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=ln(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{var e;this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,(e=this._momentumStop)==null||e.restore(),this._momentumStop=null,this.isScrolling=!1,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._clampedAdjustment=null,this.pendingWrite=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{let n=t?this._elementMaxScrollOffset():null,r=this._reportedOverscroll;this._reportedOverscroll=e<0||n!==null&&e>n+1;let i=e;this._lastElementOffset=i,e=this._toLayoutOffset(e);let a=this._classifyScrollEvent(e,t,n);if(a===`spurious`)return;a===`readBack`?e=this.pendingWrite.target:a===`clampedReadBack`&&this.scrollState?.index!=null&&e<this.getMaxScrollOffset()-1.5?this.scrollState.lastTargetOffset=e:fn({kind:a,offset:e,command:this.scrollState,target:()=>this.getScrollStateTarget(this.scrollState)})&&(this.scrollState=null),this.pendingWrite=null,this._clampedAdjustment!==null&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null);let o=this.getScrollOffset(),s=this.scrollDirection;this.scrollDirection=t?o===e?this.scrollDirection:o<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t;let c=this.scrollState;if(c?.phase===`queued`&&a===`external`&&t){if(r||this._reportedOverscroll)c.samples=[];else{let e=this.now();c.samples=[...(c.samples??[]).filter(t=>e-t.t<=200),{t:e,offset:i}],(s!==null&&this.scrollDirection!==s||mn(c.samples))&&(this.scrollState=null)}}this._iosGesture.onScroll({isScrolling:t,ownReadBack:a===`readBack`,moved:e!==o,external:a===`external`&&this.scrollState?.phase!==`smooth`&&this.scrollState?.phase!==`smoothFinishing`})&&this.scrollState?.phase===`queued`&&(this.scrollState=null),this._flushHoldIfReady(!0),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement&&this.unsubs.push(this._iosGesture.listen(this.scrollElement)),this._scrollToOffset(this.getScrollOffset())}this._noteClampMax();let t=this.pendingScrollAnchor;this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled&&(t.kind===`anchor`?this._canWriteScroll()?jn(this.scrollState)&&!R(this.getScrollOffset()-t.delta,this.scrollState.lastTargetOffset)||(this._followOffsetTarget(t.delta),this._scrollToOffset(this.getScrollOffset())):(this._holdOffset+=t.delta,this._followOffsetTarget(t.delta),this.notify(!1)):this.scrollToEnd({behavior:t.behavior})),this._flushHoldIfReady(!1),this._retryClampedAdjustment()},this._classifyScrollEvent=(e,t,n)=>dn({offset:e,isScrolling:t,elementMax:n,holdOffset:this._holdOffset,scrollOffset:this.scrollOffset,pendingWrite:this.pendingWrite,clampedMaxAtWrite:this._clampedAdjustment?.maxAtWrite??null}),this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled||!this._canWriteScroll())return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,n=this.getMaxScrollOffset();n>t+.5&&(this._clampedAdjustment=e>n+.5?{target:e,maxAtWrite:n}:null,this._scrollToOffset(e))},this._writeAwaitingCommand=()=>{let e=this.scrollState;if(e===null||e.phase!==`queued`)return;let{behavior:t}=e;this.getMeasurements();let n=this.getScrollStateTarget(e);e.lastTargetOffset=n,this._clampedAdjustment=null,e.phase=An(t,e.index!=null&&R(n,this.getScrollOffset())),this._scrollToOffset(n,{behavior:t}),this.scheduleScrollReconcile()},this._readElementOffset=()=>{let e=this.scrollElement;if(e==null)return null;let{horizontal:t,isRtl:n}=this.options;return typeof e.scrollTop==`number`?t?e.scrollLeft*(n&&-1||1):e.scrollTop:typeof e.scrollY==`number`?t?e.scrollX:e.scrollY:null},this._canWriteScroll=()=>!(gn()&&this._iosGesture.inMotion())&&!this._reportedOverscroll,this._flushHoldIfReady=e=>{if(this._holdOffset===0||!this.scrollElement||!this.options.enabled||!this._canWriteScroll()||this.scrollState?.phase===`smooth`)return;this._holdOffset=0,this.scrollOffset!==null&&this.scrollOffset<0&&(this.scrollOffset=0),this.notify(e);let t=this.getCommandWrittenOffset()??this.getScrollOffset();this._clampedAdjustment=this._clampedBy(t),this._scrollToOffset(t)},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=ln(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=ln(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._singleLaneMeasurements?.flat;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e}let o=u===0?Array(e):this._singleLaneMeasurements.items.slice(),c;if(u===0)c=t+n;else{let e=u-1;c=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t);o[t]=e;let n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=c,a[t*2+1]=i,c+=i+s}this._singleLaneMeasurements={flat:a,items:o};let d=cn(o,a);return this.measurementsCache=d,d}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=ln(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=Fn(e,t,n,r,r===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=ln(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t,this.options.lanes]},(e,t,n,r,i,a)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n,lanes:a}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!jn(this.scrollState))return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),e.isConnected&&(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{var n;if(!this.isIndexInRange(e))return;this._resizeBatch?.sync&&this.getMeasurements();let r,i,a,o=this._singleLaneMeasurements?.flat;if(this.options.lanes===1&&o!=null)a=this.options.getItemKey(e),i=o[e*2],r=o[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;a=t.key,i=t.start,r=t.size}let s=this.itemSizeCache.get(a)??r,c=t-s;if(c!==0){let o=this.options.anchorTo===`end`&&!jn(this.scrollState)&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,l=o?this._getLayoutTotalSize():0,u=this.getScrollOffset(),d=this.itemSizeCache.has(a)?i+s<=u&&this.scrollDirection!==`backward`:i<u,f=!jn(this.scrollState)&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?d:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:a,start:i,size:r,end:i+r,lane:0},c,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(a,t),this.itemSizeCacheVersion++;let p=!1;if(this._awaitingCommandReadBack()||(o?p=this.applyScrollAdjustment(this._getLayoutTotalSize()-l):f&&(p=this.applyScrollAdjustment(c))),this._resizeBatch){this._resizeBatch.notify=!0,(n=this._resizeBatch).sync||(n.sync=p);return}this.notify(p),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment()}},this.getVirtualItems=ln(()=>[this.getVirtualIndexes(),this.getMeasurements(),this._holdOffset],(e,t,n)=>{let r=[];for(let i=0,a=e.length;i<a;i++){let a=t[e[i]];r.push(n===0?a:{...a,start:a.start-n,end:a.end-n})}return r},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._singleLaneMeasurements?.flat,r=this.options.lanes===1&&n!=null;return L(t[U(0,t.length-1,r?e=>n[e*2]:e=>L(t[e]).start,e)])},this._noteClampMax=()=>{if(!this._awaitingCommandReadBack())return;let e=this._elementMaxScrollOffset();if(e===null)return;let t=this.pendingWrite,n=Math.max(e,0)+this._holdOffset;if(n>=t.target)return;let r=t.lowMaxes??=[];r[r.length-1]!==n&&r.push(n)},this.getMaxScrollOffset=()=>(this._elementMaxScrollOffset()??0)+this._holdOffset,this._toLayoutOffset=e=>{let t=e+this._holdOffset;return this.pendingScrollAnchor?.kind===`anchor`&&(t+=this.pendingScrollAnchor.delta),t},this._elementMaxScrollOffset=()=>{let e=this.scrollElement;if(e===null)return null;if(`scrollHeight`in e)return this.options.horizontal?e.scrollWidth-e.clientWidth:e.scrollHeight-e.clientHeight;if(`document`in e){let t=e.document.documentElement;return this.options.horizontal?t.scrollWidth-e.innerWidth:t.scrollHeight-e.innerHeight}return null},this._momentumStop=null,this._stopMomentum=e=>{let t=this.scrollElement,n=this.targetWindow;if(t===null||n===null)return;let r=`document`in t?t.document.scrollingElement:t;if(!r?.style)return;if(this._momentumStop){this._momentumStop.done=e;return}let{style:i}=r,a=this.options.horizontal?`overflow-x`:`overflow-y`,o=i.getPropertyValue(a),s=i.getPropertyPriority(a);i.setProperty(a,`hidden`,`important`);let c={restore:()=>i.getPropertyValue(a)!==`hidden`||i.getPropertyPriority(a)!==`important`?!1:(i.setProperty(a,o,s),!0),done:e};this._momentumStop=c,n.requestAnimationFrame(()=>n.requestAnimationFrame(()=>{this._momentumStop===c&&(this._momentumStop=null,c.restore()&&c.done())}))},this._clampedBy=e=>{let t=this._elementMaxScrollOffset();if(t===null)return null;let n=t+this._holdOffset;return e>n+.5?{target:e,maxAtWrite:n}:null},this.getVirtualDistanceFromEnd=()=>Math.max(this._getLayoutTotalSize()+this.options.scrollMargin-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1){let e=this.getMaxScrollOffset(),n=e-this.options.paddingEnd+this.options.scrollPaddingEnd;return[Math.max(Math.min(n,e),0),t]}let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._startScroll({index:null,align:t},this.getOffsetForAlignment(e,t),n,`absolute`)},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r;this._startScroll({index:e,align:a},i,n,`absolute`)},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getOffsetForAlignment((this.getCommandWrittenOffset()??this.getScrollOffset())+e,`start`);this._startScroll({index:null,align:`start`},n,t,`relative`)},this.scrollToEnd=({behavior:e=`auto`}={})=>{this.options.count>0?this._startScroll({index:this.options.count-1,align:`end`,toEnd:!0},Math.max(this.getMaxScrollOffset(),0),e,`absolute`):this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.cancelScroll=()=>{this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null},this.getTotalSize=()=>Math.max(this._getLayoutTotalSize()-this._holdOffset,0),this._getLayoutTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._singleLaneMeasurements?.flat;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n}={})=>{let r={target:e+(t??0),smooth:n===`smooth`};return this.pendingWrite=r,this.options.scrollToFn(e-this._holdOffset,{behavior:n,adjustments:t},this),r},this.getCommandWrittenOffset=()=>this.scrollState!==null&&this.pendingWrite!==null&&!this.pendingWrite.smooth?this.pendingWrite.target:null,this._awaitingCommandReadBack=()=>{let e=this.getCommandWrittenOffset();return!(gn()&&this._iosGesture.dragging())&&e!==null&&!R(e,this.getScrollOffset())},this._followOffsetTarget=e=>{this.scrollState!==null&&this.scrollState.index==null&&(this.scrollState.lastTargetOffset+=e)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}get scrollAdjustments(){return 0}applyScrollAdjustment(e,t){if(e===0)return!1;if(this._followOffsetTarget(e),this._canWriteScroll()){let n=this.getScrollOffset();this._clampedAdjustment=this._clampedBy(n+e);let r=this._scrollToOffset(n,{adjustments:e,behavior:t});return this.scrollOffset!==null&&(this.pendingWrite===r&&(this.scrollOffset+=e),this.scrollOffset<0&&(this.scrollOffset=0)),!0}return this._holdOffset+=e,this.scrollOffset!==null&&(this.scrollOffset+=e),!0}scheduleScrollReconcile(){this.targetWindow?this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}):this.scrollState=null}getScrollStateTarget(e){let t=e.toEnd?[Math.max(this.getMaxScrollOffset(),0)]:e.index==null?void 0:this.getOffsetForIndex(e.index,e.align);return t?t[0]:e.lastTargetOffset}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}if(this.scrollState.phase===`queued`){this.scheduleScrollReconcile();return}this.getMeasurements();let e=this.getScrollStateTarget(this.scrollState),t=this.scrollState.index==null?1:this.options.useAnimationFrameWithResizeObserver?3:2,n=e!==this.scrollState.lastTargetOffset;if(!n&&R(e,this.getScrollOffset())){if(this.scrollState.phase===`smooth`?this.scrollState.phase=`smoothLanded`:this.scrollState.phase===`smoothFinishing`&&(this.scrollState.phase=`instant`),this.scrollState.stableFrames++,this.scrollState.stableFrames>=t){this.getScrollOffset()!==e&&this._scrollToOffset(e,{behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let t=this.getSize()||600,n=Math.abs(e-this.getScrollOffset()),r=jn(this.scrollState)&&n>t;this.scrollState.lastTargetOffset=e,r?this.scrollState.phase=`smooth`:this.scrollState.phase===`smooth`?this.scrollState.phase=`smoothFinishing`:this.scrollState.phase===`smoothLanded`&&(this.scrollState.phase=`instant`),this._scrollToOffset(e,{behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}_startScroll(e,t,n,r){this.pendingScrollAnchor=null,this._clampedAdjustment=null;let i=this._iosGesture.tail();if(r===`absolute`&&i!==null){if(i===`fling`&&vn()){this._stopMomentum(()=>{this.scrollState?.phase!==`queued`||this._iosGesture.tail()!==`fling`||this._reportedOverscroll||(this._iosGesture.end(),this._flushHoldIfReady(!0),this._writeAwaitingCommand())}),this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,phase:`queued`,behavior:n,samples:[]},this.scheduleScrollReconcile();return}this._iosGesture.end()}this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,behavior:n,phase:An(n,e.index!=null&&R(t,this.getScrollOffset()))},this._scrollToOffset(t,{behavior:n}),this.scheduleScrollReconcile()}},U=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function Pn(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function Fn(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=Pn(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=U(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var W=e(n(),1);function In(e,t,n,r){return[...new Set([...Cn(e),...n.flatMap(e=>{let n=e?t.get(e):void 0;return n===void 0?[]:[n]}),...r!==void 0&&r>=0&&r<e.count?[r]:[]])].toSorted((e,t)=>e-t)}var G=u(),Ln=e=>[...e.querySelectorAll(`a[href], button, input`)].filter(e=>e.tabIndex>=0&&e.getClientRects().length>0&&!e.matches(`:disabled, [aria-hidden=true]`));function Rn({rows:e,pins:t,board:n=!1,columns:r=1,children:i}){let a=(0,W.useRef)(null),[o,s]=(0,W.useState)(null),[c,l]=(0,W.useState)(0),[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)({items:[],size:0}),m=(0,W.useMemo)(()=>new Map(e.map((e,t)=>[e.id,t])),[e]),h=(0,W.useCallback)(t=>e[t]?.id??t,[e]),g=(0,W.useCallback)(()=>n?120:60,[n]),[_]=(0,W.useState)(()=>new Nn({count:0,getScrollElement:()=>null,estimateSize:()=>60,scrollToFn:kn,observeElementRect:wn,observeElementOffset:On})),v=t[0],y=(0,W.useRef)(void 0);(0,W.useLayoutEffect)(()=>_._didMount(),[_]),(0,W.useLayoutEffect)(()=>{let e=a.current;if(!o||!e)return;let t=e.closest(`.ticket-table`)??o.firstElementChild;if(!t)return;let n=new ResizeObserver(()=>{let t=e.getBoundingClientRect().top-o.getBoundingClientRect().top+o.scrollTop;l(e=>Math.abs(t-e)>.5?t:e)});n.observe(t);for(let e of t.children)n.observe(e);return()=>n.disconnect()},[o]),(0,W.useLayoutEffect)(()=>{let n=a.current,r=n?.closest(`.table-scroll, .ticket-board`)??null;r!==o&&s(r);let i=r&&n?n.getBoundingClientRect().top-r.getBoundingClientRect().top+r.scrollTop:0;Math.abs(i-c)>.5&&l(i),_.setOptions({count:e.length,getScrollElement:()=>r,getItemKey:h,estimateSize:g,overscan:3,scrollMargin:i,scrollPaddingStart:72,scrollToFn:kn,observeElementRect:wn,observeElementOffset:On,rangeExtractor:e=>In(e,m,t,u?.index),onChange:e=>p(t=>{let n=e.getVirtualItems(),r=e.getTotalSize();return t.items===n&&t.size===r?t:{items:n,size:r}})}),_._willUpdate();let d=_.getVirtualItems(),f=_.getTotalSize();p(e=>e.items===d&&e.size===f?e:{items:d,size:f})},[e,t,u,m,_,o,c,h,g]),(0,W.useLayoutEffect)(()=>{if(v===y.current)return;let e=v?m.get(v):void 0;o&&e!==void 0?(y.current=v,_.scrollToIndex(e,{align:`auto`})):v||(y.current=v)},[v,m,_,o]),(0,W.useLayoutEffect)(()=>{if(!u||!o||!f.items.some(e=>e.index===u.index))return;let t=e[u.index];if(!t)return;_.scrollToIndex(u.index,{align:`auto`});let n=o.querySelector(`.ticket-row[data-id="${CSS.escape(t.id)}"]`),r=n?Ln(n):[],i=u.backwards?r.at(-1):r[0];i&&i.focus()},[u,e,o,_,f.items]);let b=(e,t,i=!1)=>n?(0,G.jsx)(`li`,{ref:i?e=>{a.current=e}:void 0,"aria-hidden":`true`,style:{height:e,flexShrink:0}},t):(0,G.jsx)(zt,{ref:i?e=>{a.current=e}:void 0,"aria-hidden":`true`,className:`border-0`,style:{height:e},children:(0,G.jsx)(Bt,{colSpan:r,className:`h-0 border-0 p-0`})},t),x=f.items.at(-1),S=x?x.end-c:0;return(0,G.jsxs)(G.Fragment,{children:[b(0,`origin`,!0),f.items.map((t,n)=>{let r=e[t.index];if(!r)return null;let a=f.items[n-1],o=t.start-(a?.end??c);return(0,G.jsxs)(W.Fragment,{children:[o>0&&b(o,`gap-${r.id}`),i(r,t.index,{ref:_.measureElement,"data-index":t.index,onFocus:()=>{u&&d(null)},onKeyDown:n=>{if(n.key!==`Tab`||!(n.target instanceof HTMLElement))return;let r=Ln(n.currentTarget),i=n.shiftKey?r[0]:r.at(-1),a=t.index+(n.shiftKey?-1:1);n.target!==i||a<0||a>=e.length||(n.preventDefault(),d({index:a,backwards:n.shiftKey}))}})]},r.id)}),b(Math.max(0,f.size-S),`end`)]})}function zn(e){return Bn(e)||typeof e==`function`||Vn(e)}function Bn(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function Vn(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function Hn(e,t){return e==null?null:zn(e)?W.createElement(e,t):e}function K(e){if(`cell`in e&&e.cell){let t=e.cell,n=t.column.columnDef,r=t,i=n;return r.getIsAggregated?.()?Hn(i.aggregatedCell??n.cell,t.getContext()):r.getIsPlaceholder?.()?null:Hn(n.cell,t.getContext())}return`header`in e&&e.header?Hn(e.header.column.columnDef.header,e.header.getContext()):`footer`in e&&e.footer?Hn(e.footer.column.columnDef.footer,e.footer.getContext()):null}function Un(e){let t=at(e.source,e.selector,{compare:Jt});return typeof e.children==`function`?e.children(t):e.children}function Wn(e){let t=e;return Object.defineProperty(e,"state",{get(){return e.get()}}),`set`in e&&(t.setState=e.set.bind(e)),t}function Gn(e){let{createAtom:t,batch:n}=e,r=t(0);return{createOptionsStore:!1,wrapExternalAtoms:!1,addSubscription:()=>{throw Error(`Feature not supported in current reactivity implementation`)},unmount:()=>{throw Error(`Feature not supported in current reactivity implementation`)},schedule:e.schedule??(e=>queueMicrotask(e)),batch:n,untrack:e=>e(),createReadonlyAtom:(e,n)=>{let i=n?.compare??Object.is,a=!1,o,s=()=>{let t=e();return(!a||!i(o,t))&&(o=t,a=!0),o},c=t(()=>(r.get(),s()),{compare:i});return{get:s,subscribe:c.subscribe.bind(c)}},createWritableAtom:(e,n)=>t(e,{compare:n?.compare}),commit:()=>{r.set(e=>e+1)}}}function Kn(e,t=Object.is){let n=!1,r;return{get:e.get,markCommitted:e=>{r=e,n=!0},subscribe:i=>e.subscribe(e=>{(!n||!t(r,e))&&i(e)})}}function qn(){return Gn({createAtom:Ke,batch:ct})}function Jn(e,t){return typeof e==`function`?e(t):e}function q(e){if(Array.isArray(e))return e.map(q);if(e&&typeof e==`object`){let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)return e;let n=t===null?J():{},r=Object.keys(e);for(let t=0;t<r.length;t++){let i=r[t];Object.defineProperty(n,i,{configurable:!0,enumerable:!0,value:q(e[i]),writable:!0})}return n}return e}function Yn(e,t){let n=Object.keys(t),r=e;for(let e=0;e<n.length;e++){let i=n[e];!i.startsWith(`_memo_`)&&i!==`_cellsCache`&&(r[i]=t[i])}return e}function J(){return Object.create(null)}function Xn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Zn(e,t){return n=>{(t.options.atoms?.[e]??t.baseAtoms[e]).set(e=>Jn(n,e))}}function Qn(e){if(typeof e!=`object`||!e)return!1;if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function $n(e){return Reflect.ownKeys(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}var er=3;function tr(e,t){return nr(e,t,er)}function nr(e,t,n){if(Object.is(e,t))return!0;if(n<=0||!Qn(e)||!Qn(t)||(Array.isArray(e)||Array.isArray(t))&&(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length))return!1;let r=$n(e),i=$n(t);if(r.length!==i.length)return!1;let a=e,o=t;for(let e=0;e<r.length;e++){let i=r[e];if(!Object.prototype.propertyIsEnumerable.call(t,i)||!nr(a[i],o[i],n-1))return!1}return!0}function rr(e,t,n,r=tr){let i=`on${t.charAt(0).toUpperCase()}${t.slice(1)}Change`,a=e.options[i];a&&a(e=>{let t=Jn(n,e);return r(e,t)?e:t})}function ir(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i.length&&r(i)})};return r(e),n}var ar=({fn:e,memoDeps:t,onAfterCompare:n,onAfterUpdate:r,onBeforeCompare:i,onBeforeUpdate:a})=>{let o=[],s;return c=>{i?.();let l=t?.(c),u=!l||l.length!==o?.length;if(!u&&l){for(let e=0;e<l.length;e++)if(l[e]!==o[e]){u=!0;break}}return n?.(u),u&&(o=l,a?.(),s=e(...l??[]),r?.(s)),s}};function or(e){let t=!1;return()=>{t?e():t=!0}}function sr({feature:e,fnName:t,objectId:n,onAfterUpdate:r,table:i,...a}){let o={onAfterUpdate:r?()=>{let{schedule:e,untrack:t}=i._reactivity;e(()=>t(()=>r()))}:void 0};return ar({...a,...o})}function cr(e,t=`_`){let[n,r]=e.replace(t,` `).split(` `);return{fnKey:r,fnName:`${n}.${r}`,parentName:n}}function Y(e,t,n){for(let[r,{fn:i,memoDeps:a}]of Object.entries(n)){let{fnKey:n,fnName:o}=cr(r);t[n]=a?sr({memoDeps:a,fn:i,fnName:o,table:t,feature:e}):i}}function X(e,t,n,r){for(let[i,{fn:a,memoDeps:o}]of Object.entries(r)){let{fnKey:r,fnName:s}=cr(i);if(o){let i=`_memo_${r}`;t[r]=function(...t){if(!this[i]){let t=this;this[i]=sr({memoDeps:e=>o(t,e),fn:(...e)=>a(t,...e),fnName:s,objectId:t.id,table:n,feature:e})}return this[i](...t)}}else t[r]=function(...e){return a(this,...e)}}}function Z(e,t,n,...r){return e[t]?.(...r)??n(e,...r)}function lr(e){return e.row.getValue(e.column.id)}function ur(e){return e.getValue()??e.table.options.renderFallbackValue}function dr(e){return{table:e.table,column:e.column,row:e.row,cell:e,getValue:()=>e.getValue(),renderValue:()=>e.renderValue()}}var fr={assignCellPrototype:(e,t)=>{X(`coreCellsFeature`,e,t,{cell_getValue:{fn:e=>lr(e)},cell_renderValue:{fn:e=>ur(e)},cell_getContext:{fn:e=>dr(e),memoDeps:e=>[e]}})}};function pr(e){if(!e._columnPrototype){e._columnPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignColumnPrototype?.(e._columnPrototype,e)}return e._columnPrototype}function mr(e,t,n,r){let i={...e.getDefaultColumnDef(),...t},a=i.accessorKey,o=a===void 0?void 0:String(a),s=i.id??o?.replaceAll(`.`,`_`)??(typeof i.header==`string`?i.header:void 0),c;if(i.accessorFn)c=i.accessorFn;else if(a!==void 0){if(typeof a==`string`&&a.includes(`.`)){let e=a.split(`.`);c=t=>{let n=t;for(let t=0;t<e.length;t++){let r=e[t];n=n?.[r]}return n}}else c=e=>e[i.accessorKey]}if(!s)throw Error();let l=pr(e),u=Object.create(l);u.accessorFn=c,u.columnDef=i,u.columns=[],u.depth=n,u.id=`${String(s)}`,u.parent=r;let d=e._columnInstanceInitFns;for(let e=0;e<d.length;e++)d[e](u);return u}function hr(e){return e.getIsVisible?.()??!0}function Q(e){return e.getVisibleLeafColumns?.()??e.getAllLeafColumns()}function gr(e,t){let n=e,r=t;return n.getOrderColumnsFn?.()(r)??n._orderGroupedColumns?.(r)??t}function _r(e,t,n,r){return e._orderByColumnPinning?.(t,n,r)??t}function $(e,t){return e.getPinnedVisibleLeafColumns?.(t)??(t&&t!==`center`?[]:Q(e))}function vr(e,t){return e._expandRows?.(t)??t}function yr(e){e.autoResetExpanded?.()}function br(e){e.autoResetPageIndex?.()}function xr(e){e.autoResetSorting?.()}function Sr(e){e.autoResetCellSelection?.()}function Cr(e){return[e,...e.columns.flatMap(e=>e.getFlatColumns())]}function wr(e){if(e.columns.length){let t=e.columns.flatMap(e=>e.getLeafColumns());return gr(e.table,t)}return[e]}function Tr(e){return{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>e.renderValue()?.toString?.()??null,...Object.values(e._features).reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef?.()),{}),...e.options.defaultColumn}}function Er(e,t,n,r=0){let i=Array(t.length);for(let a=0;a<t.length;a++){if(!(a in t))continue;let o=t[a],s=mr(e,o,r,n),c=o;s.columns=c.columns?Er(e,c.columns,s,r+1):[],i[a]=s}return i}function Dr(e){return Er(e,e.options.columns)}function Or(e){return e.getAllColumns().flatMap(e=>e.getFlatColumns())}function kr(e){let t=J(),n=e.getAllFlatColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function Ar(e){return gr(e,e.getAllColumns().flatMap(e=>e.getLeafColumns()))}function jr(e){let t=J(),n=e.getAllLeafColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function Mr(e,t){return e.getAllFlatColumnsById()[t]}var Nr={assignColumnPrototype:(e,t)=>{X(`coreColumnsFeature`,e,t,{column_getFlatColumns:{fn:e=>Cr(e),memoDeps:e=>[e.table.options.columns]},column_getLeafColumns:{fn:e=>wr(e),memoDeps:e=>[e.table.atoms.columnOrder?.get(),e.table.atoms.grouping?.get(),e.table.options.columns,e.table.options.groupedColumnMode]}})},constructTableAPIs:e=>{Y(`coreColumnsFeature`,e,{table_getDefaultColumnDef:{fn:()=>Tr(e),memoDeps:()=>[e.options.defaultColumn]},table_getAllColumns:{fn:()=>Dr(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumns:{fn:()=>Or(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumnsById:{fn:()=>kr(e),memoDeps:()=>[e.options.columns]},table_getAllLeafColumns:{fn:()=>Ar(e),memoDeps:()=>[e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.options.columns,e.options.groupedColumnMode]},table_getAllLeafColumnsById:{fn:()=>jr(e),memoDeps:()=>[e.getAllLeafColumns()]},table_getColumn:{fn:t=>Mr(e,t)}})}};function Pr(e){if(!e._headerPrototype){e._headerPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignHeaderPrototype?.(e._headerPrototype,e)}return e._headerPrototype}function Fr(e,t,n){let r=Pr(e),i=Object.create(r);i.colSpan=0,i.column=t,i.depth=n.depth,i.headerGroup=null,i.id=n.id??t.id,i.index=n.index,i.isPlaceholder=!!n.isPlaceholder,i.placeholderId=n.placeholderId,i.rowSpan=0,i.subHeaders=[];let a=e._headerInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function Ir(e,t=1){let n=t;for(let r=0;r<e.length;r++){let i=e[r];hr(i)&&i.columns.length&&(n=Math.max(n,Ir(i.columns,t+1)))}return n}function Lr(e,t){return e?`${e}_${t}`:String(t)}function Rr(e,t,n,r){let i=e??``;return t&&(i=i?`${i}_${t}`:String(t)),n&&(i=i?`${i}_${n}`:n),r&&(i=i?`${i}_${r}`:r),i}function zr(e,t){let n=0;for(let r=0;r<e.length;r++)e[r].column===t&&n++;return n}function Br(e,t,n,r,i,a){let o={depth:t,id:Lr(r,t),headers:[]},s=[];for(let i=0;i<e.length;i++){if(!(i in e))continue;let a=e[i],c=s[s.length-1],l=a.column.depth===o.depth,u,d=!1;if(l&&a.column.parent?u=a.column.parent:(u=a.column,d=!0),c&&c.column===u)c.subHeaders.push(a);else{let e=Fr(n,u,{id:Rr(r,t,u.id,a.id),isPlaceholder:d,placeholderId:d?String(zr(s,u)):void 0,depth:t,index:s.length});e.subHeaders.push(a),s.push(e)}o.headers.push(a),a.headerGroup=o}for(let e=0;e<a.length;e++)a[e](o);i.push(o),t>0&&Br(s,t-1,n,r,i,a)}function Vr(e){for(let t=0;t<e.length;t++){let n=e[t];if(!hr(n.column))continue;let r=0;if(n.subHeaders.length){Vr(n.subHeaders);for(let e=0;e<n.subHeaders.length;e++){let t=n.subHeaders[e];hr(t.column)&&(r+=t.colSpan)}}else r=1;if(n.colSpan=r,n.isPlaceholder&&n.subHeaders.length===1&&n.subHeaders[0].column===n.column){let e=1,t=n.subHeaders[0];for(;t;)t.rowSpan=0,e++,t=t.subHeaders.length===1&&t.subHeaders[0].column===n.column?t.subHeaders[0]:void 0;n.rowSpan=e}else n.rowSpan=1}}function Hr(e,t,n,r){let i=Ir(e),a=[],o=n._headerGroupInstanceInitFns,s=Array(t.length);for(let e=0;e<t.length;e++)e in t&&(s[e]=Fr(n,t[e],{depth:i,index:e}));return Br(s,i-1,n,r,a,o),a.reverse(),Vr(a[0]?.headers??[]),a}function Ur(e,t){for(let n=0;n<e.subHeaders.length;n++)Ur(e.subHeaders[n],t);t.push(e)}function Wr(e){let t=[];return Ur(e,t),t}function Gr(e){return{column:e.column,header:e,table:e.column.table}}function Kr(e){return Hr(e.getAllColumns(),_r(e,Q(e),e=>e.id),e)}function qr(e){return[...e.getHeaderGroups()].reverse()}function Jr(e){let t=e.getHeaderGroups(),n=[];for(let e=0;e<t.length;e++){let r=t[e].headers;for(let e=0;e<r.length;e++)n.push(r[e])}return n}function Yr(e){let t=e.getHeaderGroups()[0]?.headers??[],n=[];for(let e=0;e<t.length;e++){let r=t[e].getLeafHeaders();for(let e=0;e<r.length;e++)n.push(r[e])}return n}var Xr={assignHeaderPrototype:(e,t)=>{X(`coreHeadersFeature`,e,t,{header_getLeafHeaders:{fn:e=>Wr(e),memoDeps:e=>[e.column.table.options.columns]},header_getContext:{fn:e=>Gr(e),memoDeps:e=>[e.column.table.options.columns]}})},constructTableAPIs:e=>{Y(`coreHeadersFeature`,e,{table_getHeaderGroups:{fn:()=>Kr(e),memoDeps:()=>[e.options.columns,e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.atoms.columnPinning?.get(),e.atoms.columnVisibility?.get(),e.options.groupedColumnMode]},table_getFooterGroups:{fn:()=>qr(e),memoDeps:()=>[e.getHeaderGroups()]},table_getFlatHeaders:{fn:()=>Jr(e),memoDeps:()=>[e.getHeaderGroups()]},table_getLeafHeaders:{fn:()=>Yr(e),memoDeps:()=>[e.getHeaderGroups()]}})}};function Zr(e){if(!e._rowPrototype){e._rowPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignRowPrototype?.(e._rowPrototype,e)}return e._rowPrototype}var Qr=(e,t,n,r,i,a,o)=>{let s=Zr(e),c=Object.create(s);c._displayIndexCache=-1,c._uniqueValuesCache=J(),c._valuesCache=J(),c.depth=i,c.id=t,c.index=r,c.original=n,c.parentId=o,c.subRows=a??[];let l=e._rowInstanceInitFns;for(let e=0;e<l.length;e++)l[e](c);return c};function $r(){return e=>sr({feature:`coreRowModelsFeature`,table:e,fnName:`table.getCoreRowModel`,memoDeps:()=>[e.options.data],fn:()=>ti(e,e.options.data),onAfterUpdate:or(()=>{yr(e),br(e),xr(e),Sr(e)})})}function ei(e,t,n,r=0,i){let a=[];for(let o=0;o<n.length;o++){let s=n[o],c=Qr(e,e.getRowId(s,o,i),s,o,r,void 0,i?.id);t.flatRows.push(c),t.rowsById[c.id]=c,a.push(c),e.options.getSubRows&&(c.originalSubRows=e.options.getSubRows(s,o),c.originalSubRows?.length&&(c.subRows=ei(e,t,c.originalSubRows,r+1,c)))}return a}function ti(e,t){let n={rows:[],flatRows:[],rowsById:J()};return n.rows=ei(e,n,t),n}function ni(e){return e._rowModels.coreRowModel||(e._rowModels.coreRowModel=e.options.features.coreRowModel?.(e)??$r()(e)),e._rowModels.coreRowModel()}function ri(e){return e.getCoreRowModel()}function ii(e){return e._rowModels.filteredRowModel||(e._rowModels.filteredRowModel=e.options.features.filteredRowModel?.(e)),e.options.manualFiltering||!e._rowModels.filteredRowModel?e.getPreFilteredRowModel():e._rowModels.filteredRowModel()}function ai(e){return e.getFilteredRowModel()}function oi(e){return e._rowModels.groupedRowModel||(e._rowModels.groupedRowModel=e.options.features.groupedRowModel?.(e)),e.options.manualGrouping||!e._rowModels.groupedRowModel?e.getPreGroupedRowModel():e._rowModels.groupedRowModel()}function si(e){return e.getGroupedRowModel()}function ci(e){return e._rowModels.sortedRowModel||(e._rowModels.sortedRowModel=e.options.features.sortedRowModel?.(e)),e.options.manualSorting||!e._rowModels.sortedRowModel?e.getPreSortedRowModel():e._rowModels.sortedRowModel()}function li(e){return e.getSortedRowModel()}function ui(e){return e._rowModels.expandedRowModel||(e._rowModels.expandedRowModel=e.options.features.expandedRowModel?.(e)),e.options.manualExpanding||!e._rowModels.expandedRowModel?e.getPreExpandedRowModel():e._rowModels.expandedRowModel()}function di(e){return e.getExpandedRowModel()}function fi(e){return e._rowModels.paginatedRowModel||(e._rowModels.paginatedRowModel=e.options.features.paginatedRowModel?.(e)),e.options.manualPagination||!e._rowModels.paginatedRowModel?e.getPrePaginatedRowModel():e._rowModels.paginatedRowModel()}function pi(e){return e.getPaginatedRowModel()}var mi={constructTableAPIs:e=>{Y(`coreRowModelsFeature`,e,{table_getCoreRowModel:{fn:()=>ni(e)},table_getPreFilteredRowModel:{fn:()=>ri(e)},table_getFilteredRowModel:{fn:()=>ii(e)},table_getPreGroupedRowModel:{fn:()=>ai(e)},table_getGroupedRowModel:{fn:()=>oi(e)},table_getPreSortedRowModel:{fn:()=>si(e)},table_getSortedRowModel:{fn:()=>ci(e)},table_getPreExpandedRowModel:{fn:()=>li(e)},table_getExpandedRowModel:{fn:()=>ui(e)},table_getPrePaginatedRowModel:{fn:()=>di(e)},table_getPaginatedRowModel:{fn:()=>fi(e)},table_getRowModel:{fn:()=>pi(e)}})}};function hi(e){if(!e._cellPrototype){e._cellPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignCellPrototype?.(e._cellPrototype,e)}return e._cellPrototype}function gi(e,t,n){let r=hi(n),i=Object.create(r);i.column=e,i.id=`${t.id}_${e.id}`,i.row=t;let a=n._cellInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function _i(e){let t=e.table.getRowsInDisplayOrder(),n=e._displayIndexCache;return t[n]===e?n:-1}function vi(e){let t=e.getPrePaginatedRowModel(),n=e.options.paginateExpandedRows===!1?vr(e,t).rows:t.rows;for(let e=0;e<n.length;e++)n[e]._displayIndexCache=e;return n}function yi(e,t){if(Xn(e._valuesCache,t))return e._valuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return e._valuesCache[t]=n.accessorFn(e.original,e.index),e._valuesCache[t]}function bi(e,t){if(Xn(e._uniqueValuesCache,t))return e._uniqueValuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return n.columnDef.getUniqueValues?(e._uniqueValuesCache[t]=n.columnDef.getUniqueValues(e.original,e.index),e._uniqueValuesCache[t]):(e._uniqueValuesCache[t]=[e.getValue(t)],e._uniqueValuesCache[t])}function xi(e,t){return e.getValue(t)??e.table.options.renderFallbackValue}function Si(e){return ir(e.subRows,e=>e.subRows)}function Ci(e){let t=e.getCoreRowModel().flatRows,n=0;for(let e=0;e<t.length;e++)n=Math.max(n,t[e].depth);return n}function wi(e){if(e.parentId)return e.table.getCoreRowModel().rowsById[e.parentId]??e.table.getRow(e.parentId,!0)}function Ti(e){let t=[],n=e;for(;;){let e=n.getParentRow();if(!e)break;t.push(e),n=e}return t.reverse()}function Ei(e){let t=e.table.getAllLeafColumns(),n=e._cellsCache;n||=e._cellsCache=new WeakMap;let r=Array(t.length);for(let i=0;i<t.length;i++){let a=t[i],o=n.get(a);o||(o=gi(a,e,e.table),n.set(a,o)),r[i]=o}return r}function Di(e){let t=J(),n=e.getAllCells();for(let e=0;e<n.length;e++){let r=n[e];t[r.column.id]=r}return t}function Oi(e,t,n,r){return t.options.getRowId?.(e,n,r)??(r?`${r.id}.${n}`:String(n))}function ki(e,t,n){let r=(n?e.getPrePaginatedRowModel():e.getRowModel()).rowsById[t];if(!r&&(r=e.getCoreRowModel().rowsById[t],!r))throw Error();return r}var Ai={assignRowPrototype:(e,t)=>{X(`coreRowsFeature`,e,t,{row_getDisplayIndex:{fn:e=>_i(e)},row_getAllCellsByColumnId:{fn:e=>Di(e),memoDeps:e=>[e.getAllCells()]},row_getAllCells:{fn:e=>Ei(e),memoDeps:e=>[e.table.getAllLeafColumns()]},row_getLeafRows:{fn:e=>Si(e),memoDeps:e=>[e.subRows]},row_getParentRow:{fn:e=>wi(e)},row_getParentRows:{fn:e=>Ti(e)},row_getUniqueValues:{fn:(e,t)=>bi(e,t)},row_getValue:{fn:(e,t)=>yi(e,t)},row_renderValue:{fn:(e,t)=>xi(e,t)}})},constructTableAPIs:e=>{Y(`coreRowsFeature`,e,{table_getRowsInDisplayOrder:{fn:()=>vi(e),memoDeps:()=>[e.getPrePaginatedRowModel().rows,e.options.paginateExpandedRows,e.options.paginateExpandedRows===!1?e.atoms.expanded?.get():void 0]},table_getRowId:{fn:(t,n,r)=>Oi(t,e,n,r)},table_getRow:{fn:(t,n)=>ki(e,t,n)},table_getMaxSubRowDepth:{fn:()=>Ci(e),memoDeps:()=>[e.getCoreRowModel()]}})}};function ji(e,t,n=(e,t)=>e===t){let r=t===void 0?e.options.state:t;e._reactivity.batch(()=>{if(r)for(let t in r){let i=e.baseAtoms[t];if(!i)continue;let a=r[t],o=a===void 0?e.initialState[t]:a;n(e._reactivity.untrack(()=>i.get()),o)||i.set(()=>o)}})}function Mi(e,t,n=(e,t)=>e===t){e._reactivity.batch(()=>{ji(e,t,n),e._reactivity.commit?.()})}function Ni(e){let t=q(e.initialState);e._reactivity.batch(()=>{let n=Object.keys(t);for(let r=0;r<n.length;r++){let i=n[r];e.baseAtoms[i].set(t[i])}});let n=Object.values(e._features);for(let t=0;t<n.length;t++)n[t].resetTableInstanceData?.(e)}function Pi(e,t){let{features:n,atoms:r,initialState:i}=e.options;if(!e.options.mergeOptions)return{...e.options,...t,features:n,atoms:r,initialState:i};let a=e.options.mergeOptions(e.options,t),o={...Object.getOwnPropertyDescriptors(a)};return Object.defineProperties(Object.create(Object.getPrototypeOf(a)),{...o,features:{value:n,enumerable:!0,configurable:!0,writable:!0},atoms:{value:r,enumerable:!0,configurable:!0,writable:!0},initialState:{value:i,enumerable:!0,configurable:!0,writable:!0}})}function Fi(e,t,n){let r=Pi(e,Jn(t,e.options));e.optionsStore?e.optionsStore.set(()=>r):e.options=r,n?.syncExternalState!==!1&&Mi(e,r.state??null)}var Ii={coreCellsFeature:fr,coreColumnsFeature:Nr,coreHeadersFeature:Xr,coreRowModelsFeature:mi,coreRowsFeature:Ai,coreTablesFeature:{constructTableAPIs:e=>{Y(`coreTablesFeature`,e,{table_reset:{fn:()=>Ni(e)},table_setOptions:{fn:t=>Fi(e,t)}})}}};function Li(e){return e}function Ri(e,t={}){return Object.values(e).forEach(e=>{t=e.getInitialState?.(t)??t}),q(t)}function zi(e){let t=e.features.coreReactivityFeature,{aggregationFns:n,columnMeta:r,coreRowModel:i,expandedRowModel:a,facetedMinMaxValues:o,facetedRowModel:s,facetedUniqueValues:c,filterFns:l,filterMeta:u,filteredRowModel:d,groupedRowModel:f,paginatedRowModel:p,sortFns:m,sortedRowModel:h,tableMeta:g,..._}=e.features,v={_cellInstanceInitFns:[],_columnInstanceInitFns:[],_features:{...Ii,..._},_headerGroupInstanceInitFns:[],_headerInstanceInitFns:[],_reactivity:t,_rowInstanceInitFns:[],_rowModelFns:{aggregationFns:n,filterFns:l,sortFns:m},_rowModels:{},atoms:{},baseAtoms:{}},y=Object.values(v._features),b={...y.reduce((e,t)=>Object.assign(e,t.getDefaultTableOptions?.(v)),{}),...e};if(t.wrapExternalAtoms&&b.atoms)for(let[e,n]of Object.entries(b.atoms)){let r=n,i=t.createWritableAtom(r.get(),{debugName:`externalAtom/${e}`});b.atoms[e]=i;let a=!1,o=r.subscribe(e=>{a||i.set(e)}),s=i.subscribe(e=>{a=!0,r.set(e),a=!1});t.addSubscription(o),t.addSubscription(s)}t.createOptionsStore?(v.optionsStore=t.createWritableAtom(b,{debugName:`table/optionsStore`}),Object.defineProperty(v,"options",{configurable:!0,enumerable:!0,get(){return v.optionsStore.get()},set(e){v.optionsStore.set(()=>e)}})):v.options=b,v.initialState=Ri(v._features,v.options.initialState);let x=Object.keys(v.initialState);for(let e=0;e<x.length;e++){let n=x[e];v.baseAtoms[n]=t.createWritableAtom(v.initialState[n],{debugName:`table/baseAtoms/${n}`}),v.atoms[n]=t.createReadonlyAtom(()=>{let e=v.options,t=e.atoms?.[n],r=t?t.get():v.baseAtoms[n].get();if(t)return r;let i=e.state;if(i&&Xn(i,n)){let e=i[n];return e===void 0?v.initialState[n]:e}return r},{debugName:`table/atoms/${n}`})}ji(v),v.store=Wn(t.createReadonlyAtom(()=>{let e={};for(let t=0;t<x.length;t++){let n=x[t];e[n]=v.atoms[n].get()}return e},{compare:Jt,debugName:`table/store`}));for(let e=0;e<y.length;e++){let t=y[e];t.initTableInstanceData?.(v),t.initCellInstanceData&&v._cellInstanceInitFns.push(t.initCellInstanceData.bind(t)),t.initColumnInstanceData&&v._columnInstanceInitFns.push(t.initColumnInstanceData.bind(t)),t.initHeaderGroupInstanceData&&v._headerGroupInstanceInitFns.push(t.initHeaderGroupInstanceData.bind(t)),t.initHeaderInstanceData&&v._headerInstanceInitFns.push(t.initHeaderInstanceData.bind(t)),t.initRowInstanceData&&v._rowInstanceInitFns.push(t.initRowInstanceData.bind(t)),t.constructTableAPIs?.(v)}return v}function Bi(){return J()}function Vi(){return{size:150,minSize:20,maxSize:2**53-1}}function Hi(e){let t=Vi(),n=e.table.atoms.columnSizing?.get(),r=n&&Xn(n,e.id)?n[e.id]:void 0;return Math.min(Math.max(e.columnDef.minSize??t.minSize,r??e.columnDef.size??t.size),e.columnDef.maxSize??t.maxSize)}function Ui(e){let t=J(),n=J(),r=Array(e.length),i=0;for(let n=0;n<e.length;n++){let a=e[n],o=Z(a,`getSize`,Hi);r[n]=o,t[a.id]=i,i+=o}let a=0;for(let t=e.length-1;t>=0;t--)n[e[t].id]=a,a+=r[t];return{starts:t,afters:n}}function Wi(e){return{all:Ui($(e)),center:Ui($(e,`center`)),start:Ui($(e,`start`)),end:Ui($(e,`end`))}}function Gi(e){return e===`start`?`start`:e===`end`?`end`:e===`center`?`center`:`all`}function Ki(e,t){return Z(e.table,`getColumnOffsets`,Wi)[Gi(t)].starts[e.id]??0}function qi(e,t){return Z(e.table,`getColumnOffsets`,Wi)[Gi(t)].afters[e.id]??0}function Ji(e){Qi(e.table,t=>{let n=J(),r=Object.keys(t);for(let i=0;i<r.length;i++){let a=r[i];a!==e.id&&(n[a]=t[a])}return n})}function Yi(e){if(!e.subHeaders.length)return Hi(e.column);let t=0;for(let n=0;n<e.subHeaders.length;n++)t+=Yi(e.subHeaders[n]);return t}function Xi(e){return Yi(e)}function Zi(e){if(e.index>0){let t=e.headerGroup?.headers[e.index-1];if(t)return Z(t,`getStart`,Zi)+Z(t,`getSize`,Xi)}return 0}function Qi(e,t){e.options.onColumnSizingChange?.(t)}function $i(e,t){Qi(e,t?J():Object.assign(J(),q(e.initialState.columnSizing??{})))}function ea(e){let t=0;for(let n=0;n<e.length;n++)t+=Z(e[n],`getSize`,Hi);return t}function ta(e){return e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+Xi(t),0)??0}function na(e){return ea($(e,`start`))}function ra(e){return ea($(e,`center`))}function ia(e){return ea($(e,`end`))}function aa(){return{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}}function oa(e){return(e.columnDef.enableResizing??!0)&&(e.table.options.enableColumnResizing??!0)}function sa(e){return e.table.atoms.columnResizing?.get()?.isResizingColumn===e.id}function ca(e,t){let n=e.table.getColumn(e.column.id),r=oa(n);return i=>{if(!r||pa(i)&&i.touches.length>1)return;let a=Xi(e),o=e.getLeafHeaders().map(e=>[e.column.id,Hi(e.column)]),s=pa(i)?Math.round(i.touches[0].clientX):i.clientX,c=J(),l=(e,t)=>{if(typeof t!=`number`)return;let r=n.table,i=r.options.columnResizeMode===`onChange`||e===`end`;r._reactivity.batch(()=>{la(r,e=>{let n=r.options.columnResizeDirection===`rtl`?-1:1,a=(t-(e.startOffset??0))*n,o=e.startSize??0,s=Math.max(o>0?a/o:0,-.999999);if(i){let t=e.columnSizingStart;for(let e=0;e<t.length;e++){let n=t[e],r=n[1];c[n[0]]=Math.round(Math.max(r>0?r+r*s:a/t.length,0)*100)/100}}return{...e,deltaOffset:a,deltaPercentage:s}}),i&&Qi(r,e=>Object.assign(J(),e,c))})},u=null,d=!1,f,p=()=>{d?(d=!1,l(`move`,f),u=requestAnimationFrame(p)):u=null},m=e=>{f=e,typeof requestAnimationFrame==`function`?u===null?(l(`move`,e),u=requestAnimationFrame(p)):d=!0:l(`move`,e)},h=e=>{u!==null&&(cancelAnimationFrame(u),u=null,d=!1),n.table._reactivity.batch(()=>{l(`end`,e??f),la(n.table,e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))})},g=t||(typeof document<`u`?document:null),_={moveHandler:e=>m(e.clientX),upHandler:e=>{g?.removeEventListener(`mousemove`,_.moveHandler),g?.removeEventListener(`mouseup`,_.upHandler),h(e.clientX)}},v={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),m(e.touches[0].clientX),!1),upHandler:e=>{y(),e.cancelable&&(e.preventDefault(),e.stopPropagation()),h(e.touches[0]?.clientX)},cancelHandler:()=>{y(),h()}},y=()=>{g?.removeEventListener(`touchmove`,v.moveHandler),g?.removeEventListener(`touchend`,v.upHandler),g?.removeEventListener(`touchcancel`,v.cancelHandler)},b=fa()?{passive:!1}:!1;pa(i)?(g?.addEventListener(`touchmove`,v.moveHandler,b),g?.addEventListener(`touchend`,v.upHandler,b),g?.addEventListener(`touchcancel`,v.cancelHandler,b)):(g?.addEventListener(`mousemove`,_.moveHandler,b),g?.addEventListener(`mouseup`,_.upHandler,b)),la(n.table,e=>({...e,startOffset:s,startSize:a,deltaOffset:0,deltaPercentage:0,columnSizingStart:o,isResizingColumn:n.id}))}}function la(e,t){e.options.onColumnResizingChange?.(t)}function ua(e,t){la(e,t?aa():q(e.initialState.columnResizing??aa()))}var da=null;function fa(){if(typeof da==`boolean`)return da;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return da=e,da}function pa(e){return e.type===`touchstart`}var ma={getInitialState:e=>({columnResizing:aa(),...e}),getDefaultTableOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnResizingChange:Zn(`columnResizing`,e)}),assignColumnPrototype:(e,t)=>{X(`columnResizingFeature`,e,t,{column_getCanResize:{fn:e=>oa(e)},column_getIsResizing:{fn:e=>sa(e)}})},assignHeaderPrototype:(e,t)=>{X(`columnResizingFeature`,e,t,{header_getResizeHandler:{fn:(e,t)=>ca(e,t)}})},constructTableAPIs:e=>{Y(`columnResizingFeature`,e,{table_setColumnResizing:{fn:t=>la(e,t)},table_resetHeaderSizeInfo:{fn:t=>ua(e,t)}})}},ha={getInitialState:e=>({columnSizing:Bi(),...e}),getDefaultColumnDef:()=>Vi(),getDefaultTableOptions:e=>({onColumnSizingChange:Zn(`columnSizing`,e)}),assignColumnPrototype:(e,t)=>{X(`columnSizingFeature`,e,t,{column_getSize:{fn:e=>Hi(e),memoDeps:e=>[t.options.columns,t.atoms.columnSizing?.get()?.[e.id]]},column_getStart:{fn:(e,t)=>Ki(e,t)},column_getAfter:{fn:(e,t)=>qi(e,t)},column_resetSize:{fn:e=>Ji(e)}})},assignHeaderPrototype:(e,t)=>{X(`columnSizingFeature`,e,t,{header_getSize:{fn:e=>Xi(e),memoDeps:e=>[t.options.columns,e.column.columns.length>0?t.atoms.columnSizing?.get():t.atoms.columnSizing?.get()?.[e.column.id]]},header_getStart:{fn:e=>Zi(e),memoDeps:()=>[t.options.columns,t.atoms.columnSizing?.get(),t.atoms.columnOrder?.get(),t.atoms.columnPinning?.get(),t.atoms.columnVisibility?.get(),t.atoms.grouping?.get(),t.options.groupedColumnMode]}})},constructTableAPIs:e=>{Y(`columnSizingFeature`,e,{table_getColumnOffsets:{fn:()=>Wi(e),memoDeps:()=>[e.options.columns,e.atoms.columnSizing?.get(),e.atoms.columnOrder?.get(),e.atoms.columnPinning?.get(),e.atoms.columnVisibility?.get(),e.atoms.grouping?.get(),e.options.groupedColumnMode]},table_setColumnSizing:{fn:t=>Qi(e,t)},table_resetColumnSizing:{fn:t=>$i(e,t)},table_getTotalSize:{fn:()=>ta(e),memoDeps:()=>[e.atoms.columnSizing?.get(),e.getHeaderGroups()]},table_getStartTotalSize:{fn:()=>na(e),memoDeps:()=>[e.atoms.columnSizing?.get(),e.getHeaderGroups()]},table_getCenterTotalSize:{fn:()=>ra(e),memoDeps:()=>[e.atoms.columnSizing?.get(),e.getHeaderGroups()]},table_getEndTotalSize:{fn:()=>ia(e),memoDeps:()=>[e.atoms.columnSizing?.get(),e.getHeaderGroups()]}})}};function ga(){return J()}function _a(e,t){ya(e)&&Ta(e.table,n=>{let r=Object.assign(J(),n),i=t??!Z(e,`getIsVisible`,va),a=e.getLeafColumns();for(let e=0;e<a.length;e++){let t=a[e];ya(t)&&(r[t.id]=i)}return r})}function va(e){let t=e.table.atoms.columnVisibility?.get();if(!t)return!0;let n=e.columns;return n.length?n.some(e=>Z(e,`getIsVisible`,va)):(Xn(t,e.id)?t[e.id]:void 0)??!0}function ya(e){return(e.columnDef.enableHiding??!0)&&(e.table.options.enableHiding??!0)}function ba(e){return t=>{_a(e,t.target.checked)}}function xa(e){let t=e.getAllCells(),n=[];for(let e=0;e<t.length;e++){let r=t[e];Z(r.column,`getIsVisible`,va)&&n.push(r)}return _r(e.table,n,e=>e.column.id,()=>Z(e,`getVisibleCellsByColumnId`,Sa))}function Sa(e){let t=J(),n=e.getAllCells();for(let e=0;e<n.length;e++){let r=n[e];Z(r.column,`getIsVisible`,va)&&(t[r.column.id]=r)}return t}function Ca(e){return e.getAllFlatColumns().filter(e=>Z(e,`getIsVisible`,va))}function wa(e){return e.getAllLeafColumns().filter(e=>Z(e,`getIsVisible`,va))}function Ta(e,t){rr(e,`columnVisibility`,t)}function Ea(e,t){Ta(e,t?J():Object.assign(J(),q(e.initialState.columnVisibility??{})))}function Da(e,t){t??=!Oa(e);let n=J(),r=e.getAllLeafColumns();for(let e=0;e<r.length;e++){let i=r[e];n[i.id]=t||!ya(i)}Ta(e,n)}function Oa(e){return!e.getAllLeafColumns().some(e=>!Z(e,`getIsVisible`,va))}function ka(e){return e.getAllLeafColumns().some(e=>Z(e,`getIsVisible`,va))}function Aa(e){return t=>{Da(e,t.target.checked)}}var ja={getInitialState:e=>({columnVisibility:ga(),...e}),getDefaultTableOptions:e=>({onColumnVisibilityChange:Zn(`columnVisibility`,e)}),assignColumnPrototype:(e,t)=>{X(`columnVisibilityFeature`,e,t,{column_getIsVisible:{fn:e=>va(e),memoDeps:e=>[t.options.columns,t.atoms.columnVisibility?.get(),e.columns]},column_getCanHide:{fn:e=>ya(e)},column_getToggleVisibilityHandler:{fn:e=>ba(e)},column_toggleVisibility:{fn:(e,t)=>_a(e,t)}})},assignRowPrototype:(e,t)=>{X(`columnVisibilityFeature`,e,t,{row_getVisibleCells:{fn:e=>xa(e),memoDeps:e=>[e.getAllCells(),t.atoms.columnPinning?.get(),t.atoms.columnVisibility?.get()]},row_getVisibleCellsByColumnId:{fn:e=>Sa(e),memoDeps:e=>[e.getAllCells(),t.atoms.columnVisibility?.get()]}})},constructTableAPIs:e=>{Y(`columnVisibilityFeature`,e,{table_getVisibleFlatColumns:{fn:()=>Ca(e),memoDeps:()=>[e.atoms.columnVisibility?.get(),e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.options.columns,e.options.groupedColumnMode]},table_getVisibleLeafColumns:{fn:()=>wa(e),memoDeps:()=>[e.atoms.columnVisibility?.get(),e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.options.columns,e.options.groupedColumnMode]},table_setColumnVisibility:{fn:t=>Ta(e,t)},table_resetColumnVisibility:{fn:t=>Ea(e,t)},table_toggleAllColumnsVisible:{fn:t=>Da(e,t)},table_getIsAllColumnsVisible:{fn:()=>Oa(e)},table_getIsSomeColumnsVisible:{fn:()=>ka(e)},table_getToggleAllColumnsVisibilityHandler:{fn:()=>Aa(e)}})}};function Ma(){return J()}function Na(e,t){e.options.onRowSelectionChange?.(t)}function Pa(e,t){e._lastSelectedRowId=null,Na(e,t?J():Object.assign(J(),q(e.initialState.rowSelection??{})))}function Fa(e,t,n){e._lastSelectedRowId=null,Na(e,r=>{if(t=t===void 0?!Z(e,`getIsAllRowsSelected`,Ha):t,n?.deselectAll&&!t)return J();let i=Object.assign(J(),r),a=e.getPreGroupedRowModel().flatRows;if(t){let e=new Map;a.forEach(t=>{io(t,e)&&(i[t.id]=!0)})}else a.forEach(e=>{Qa(e)&&delete i[e.id]});return i})}function Ia(e,t,n){e._lastSelectedRowId=null,Na(e,r=>{let i=t===void 0?!Z(e,`getIsAllPageRowsSelected`,Ua):t;if(n?.deselectAll&&!i)return J();let a=Object.assign(J(),r);return e.getRowModel().rows.forEach(t=>{ro(a,t.id,i,!0,e,!0)}),a})}function La(e){return e.getCoreRowModel()}function Ra(e){let t=e.getCoreRowModel();return Z(e,`getIsSomeRowsSelected`,Wa)?so(t,e):{rows:[],flatRows:[],rowsById:J()}}function za(e){let t=e.getFilteredRowModel();return Z(e,`getIsSomeRowsSelected`,Wa)?so(t,e):{rows:[],flatRows:[],rowsById:J()}}function Ba(e){let t=e.getSortedRowModel();return Z(e,`getIsSomeRowsSelected`,Wa)?so(t,e):{rows:[],flatRows:[],rowsById:J()}}function Va(e){return Object.keys(e.atoms.rowSelection?.get()??{})}function Ha(e){let t=e.getFilteredRowModel().flatRows,n=e.atoms.rowSelection?.get()??{},r=!!(t.length&&Object.keys(n).length);if(r){let e=new Map;t.some(t=>!co(t,n)&&io(t,e))&&(r=!1)}return r}function Ua(e){let t=e.getPaginatedRowModel().flatRows,n=e.atoms.rowSelection?.get()??{},r=new Map,i=!1;for(let e=0;e<t.length;e++){let a=t[e];if(co(a,n))!i&&io(a,r)&&(i=!0);else if(io(a,r))return!1}return i}function Wa(e){return Z(e,`getSelectedRowIds`,Va).length>0}function Ga(e){return e.getPaginatedRowModel().flatRows.filter(e=>Qa(e)).some(e=>Ya(e)||Z(e,`getIsSomeSelected`,Xa))}function Ka(e){return t=>{Fa(e,t.target.checked)}}function qa(e){return t=>{Ia(e,t.target.checked)}}function Ja(e,t,n){let r=Ya(e);Na(e.table,i=>{t=t===void 0?!r:t;let a=Object.assign(J(),i);return ro(a,e.id,t,(n?.selectChildren??!0)&&eo(e),e.table),!t&&n?.deselectParents&&ao(a,e),a})}function Ya(e){return co(e,e.table.atoms.rowSelection?.get()??{})}function Xa(e){return lo(e)===`some`}function Za(e){return lo(e)===`all`}function Qa(e){let t=e.table.options;return typeof t.enableRowSelection==`function`?t.enableRowSelection(e):t.enableRowSelection??!0}function $a(e){let t=e.table.options;return typeof t.enableSubRowSelection==`function`?t.enableSubRowSelection(e):t.enableSubRowSelection??!0}function eo(e){let t=e.table.options;return typeof t.enableMultiRowSelection==`function`?t.enableMultiRowSelection(e):t.enableMultiRowSelection??!0}function to(e,t){let n=Qa(e);return r=>{if(!n)return;let i=r,a=e.table,o=i.target.checked,s=a._lastSelectedRowId;(!(a.options.enableRowRangeSelection!==!1&&s!==null&&eo(e)&&(a.options.isRowRangeSelectionEvent?.(r)??!1))||!no(e,s,o,t))&&Ja(e,o,t),a._lastSelectedRowId=e.id}}function no(e,t,n,r){let i=r?.selectChildren??!0,a=e.table,o=a.getRowsInDisplayOrder(),s=a.getPrePaginatedRowModel().rowsById[t]??a.getCoreRowModel().rowsById[t];if(!s)return!1;let c=s.getDisplayIndex(),l=e.getDisplayIndex(),u=o[c],d=o[l];if(c<0||l<0||c>=o.length||l>=o.length||u?.id!==s.id||d?.id!==e.id||!eo(s)||!eo(e))return!1;let f=Math.min(c,l),p=Math.max(c,l);return Na(a,e=>{let t=Object.assign(J(),e);for(let e=f;e<=p;e++){let s=o[e];Qa(s)&&eo(s)&&(ro(t,s.id,n,i,a),!n&&r?.deselectParents&&ao(t,s))}return t}),!0}function ro(e,t,n,r,i,a){let o=i.getRow(t,!0);n?(eo(o)||Object.keys(e).forEach(t=>delete e[t]),Qa(o)&&(e[t]=!0)):(!a||Qa(o))&&delete e[t],r&&o.subRows.length&&$a(o)&&o.subRows.forEach(t=>ro(e,t.id,n,r,i,a))}function io(e,t){if(!Qa(e))return!1;let n=e.table;if(n.options.enableSubRowSelection===!0)return!0;let r=e.parentId;if(r===void 0)return!0;let i=t.get(r);if(i!==void 0)return i;let a=n.getCoreRowModel().rowsById,o=[],s=!0,c=r;for(;c!==void 0;){let e=t.get(c);if(e!==void 0){s=e;break}o.push(c);let r=a[c]??n.getRow(c,!0);if(!$a(r)){s=!1;break}c=r.parentId}return o.forEach(e=>t.set(e,s)),s}function ao(e,t){let n=t.table.getCoreRowModel().rowsById,r=t.parentId;for(;r!==void 0;)delete e[r],r=(n[r]??t.table.getRow(r,!0)).parentId}function oo(e,t,n,r){let i=[];for(let a=0;a<e.length;a++){let o=e[a],s=co(o,t);if(s&&(n.push(o),r[o.id]=o),o.subRows.length){let e=oo(o.subRows,t,n,r);if(s){let t=Object.create(Object.getPrototypeOf(o));Yn(t,o),t.subRows=e,i.push(t)}}else s&&i.push(o)}return i}function so(e,t){let n=[],r=J(),i=t.atoms.rowSelection?.get()??{};return{rows:oo(e.rows,i,n,r),flatRows:n,rowsById:r}}function co(e,t){return!!(Xn(t,e.id)&&t[e.id])}function lo(e){if(!e.subRows.length)return!1;let t=e.table.atoms.rowSelection?.get()??{},n=!1,r=!0,i=!1;for(let a=0;a<e.subRows.length;a++){let o=e.subRows[a];if(n&&!r)break;if(Qa(o)&&(i=!0,co(o,t)?n=!0:r=!1),o.subRows.length){let e=lo(o);e===`all`?(n=!0,i=!0):e===`some`?(n=!0,r=!1,i=!0):r=!1}}return i?r?`all`:n?`some`:!1:!1}var uo={initTableInstanceData:e=>{e._lastSelectedRowId=null},resetTableInstanceData:e=>{e._lastSelectedRowId=null},getInitialState:e=>({rowSelection:Ma(),...e}),getDefaultTableOptions:e=>({onRowSelectionChange:Zn(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableRowRangeSelection:!0,enableSubRowSelection:!0,isRowRangeSelectionEvent:e=>{let t=e;return!!(t.shiftKey||t.nativeEvent?.shiftKey)}}),assignRowPrototype:(e,t)=>{X(`rowSelectionFeature`,e,t,{row_toggleSelected:{fn:(e,t,n)=>Ja(e,t,n)},row_getIsSelected:{fn:e=>Ya(e)},row_getIsSomeSelected:{fn:e=>Xa(e),memoDeps:e=>[e.subRows,e.table.atoms.rowSelection?.get(),e.table.options.enableRowSelection]},row_getIsAllSubRowsSelected:{fn:e=>Za(e),memoDeps:e=>[e.subRows,e.table.atoms.rowSelection?.get(),e.table.options.enableRowSelection]},row_getCanSelect:{fn:e=>Qa(e)},row_getCanSelectSubRows:{fn:e=>$a(e)},row_getCanMultiSelect:{fn:e=>eo(e)},row_getToggleSelectedHandler:{fn:(e,t)=>to(e,t)}})},constructTableAPIs:e=>{Y(`rowSelectionFeature`,e,{table_setRowSelection:{fn:t=>Na(e,t)},table_resetRowSelection:{fn:t=>Pa(e,t)},table_toggleAllRowsSelected:{fn:(t,n)=>Fa(e,t,n)},table_toggleAllPageRowsSelected:{fn:(t,n)=>Ia(e,t,n)},table_getPreSelectedRowModel:{fn:()=>La(e)},table_getSelectedRowModel:{fn:()=>Ra(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getCoreRowModel()]},table_getFilteredSelectedRowModel:{fn:()=>za(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getFilteredRowModel()]},table_getGroupedSelectedRowModel:{fn:()=>Ba(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getSortedRowModel()]},table_getSelectedRowIds:{fn:()=>Va(e),memoDeps:()=>[e.atoms.rowSelection?.get()]},table_getIsAllRowsSelected:{fn:()=>Ha(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getFilteredRowModel(),e.options.enableRowSelection,e.options.enableSubRowSelection]},table_getIsAllPageRowsSelected:{fn:()=>Ua(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getPaginatedRowModel(),e.options.enableRowSelection,e.options.enableSubRowSelection]},table_getIsSomeRowsSelected:{fn:()=>Wa(e),memoDeps:()=>[e.atoms.rowSelection?.get()]},table_getIsSomePageRowsSelected:{fn:()=>Ga(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getPaginatedRowModel(),e.options.enableRowSelection]},table_getToggleAllRowsSelectedHandler:{fn:()=>Ka(e)},table_getToggleAllPageRowsSelectedHandler:{fn:()=>qa(e)}})}},fo=typeof window>`u`?W.useEffect:W.useLayoutEffect;function po(e,t){let[{table:n,rootSource:r}]=(0,W.useState)(()=>{let t=zi({...e,features:{coreReactivityFeature:qn(),...e.features}});return t.Subscribe=(e=>Un({...e,source:e.source??t.store})),t.FlexRender=K,{table:t,rootSource:Kn(t.store,Jt)}}),i=n;Fi(i,t=>({...t,...e}),{syncExternalState:!1});let a=i.options.state,o=r.get(),s=at(r,t,{compare:Jt});return fo(()=>{r.markCommitted(o),Mi(i,a??null,Jt)}),(0,W.useMemo)(()=>({...n,options:e,state:s}),[n,e,s])}var mo=`max-sm:hidden`,ho=100;function go({selected:e,total:t,collection:n,onClear:r}){let o=fe(`bulk_update_tickets`),s=fe(`bulk_delete_tickets`),c=ye(),[l,u]=(0,W.useState)(!1),[d,f]=(0,W.useState)(null),p=e[0]?.projectId,m=Te(p??``,!!p),g=Et(p);if(!p)return null;let _=e.map(e=>({ticketId:e.id,expectedVersion:e.version}));async function v(e){u(!0);try{await e()}catch(e){throw await c.invalidateQueries({queryKey:[`kanvil`]}),e}finally{u(!1)}}let x=e=>v(async()=>{for(let t=0;t<_.length;t+=ho)await o.mutateAsync({projectId:p,tickets:_.slice(t,t+ho),changes:e}).catch(e=>{throw t&&ee.warning(a(`ticket.selection.partlyApplied`,{done:t,count:_.length})),e})});function S(t,n){l||x(t).then(()=>{ee.success(a(`ticket.selection.applied`,{label:n,count:e.length})),r()}).catch(he)}let C=e.every(e=>e.status===`backlog`&&!e.archived),w=e.every(e=>e.archived),te=A(e,e=>e.labels.toSorted()),ae=A(e,e=>e.dueAt);return(0,G.jsx)(`div`,{className:`pointer-events-none fixed right-4 bottom-4 z-40 w-[100cqw] max-w-none md:right-10`,children:(0,G.jsxs)(`div`,{className:`pointer-events-auto mx-auto flex w-fit max-w-full flex-wrap items-center justify-center gap-1 rounded-xl border bg-popover p-1.5 text-popover-foreground shadow-lg animate-in fade-in-0 slide-in-from-bottom-4 duration-200`,role:`region`,"aria-label":a(`ticket.selection.region`),children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-1 pr-1`,children:[(0,G.jsx)(ie,{label:a(`ticket.selection.clear`),size:`icon-sm`,disabled:l,onClick:r,children:(0,G.jsx)(b,{})}),(0,G.jsx)(`span`,{className:`text-xs font-medium whitespace-nowrap tabular-nums`,role:`status`,children:e.length===t?a(`ticket.selection.selected`,{count:e.length}):(0,G.jsx)(k,{i18nKey:`ticket.selection.selectedOf`,count:e.length,values:{total:t},components:{wide:(0,G.jsx)(`span`,{className:mo})}})}),l&&(0,G.jsx)(ue,{className:`size-3.5`})]}),(0,G.jsx)(me,{orientation:`vertical`,className:`hidden h-5! sm:block`}),At.map(t=>{let n=Ot[t],{value:r,mixed:i}=A(e,e=>St(e,t));return(0,G.jsxs)(P,{property:t,projectId:p,value:r,mixed:i,disabled:l,align:`end`,onChange:e=>S(Tt(t,e),M[t]),children:[(0,G.jsx)(n,{className:`size-3.5 text-muted-foreground`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:mo,children:M[t]})]},t)}),(0,G.jsx)(kt,{replace:!0,value:te.value,mixed:te.mixed,disabled:l,textClassName:mo,onChange:e=>S({labels:e},a(`ticket.tags.labels`))}),(0,G.jsx)(_t,{variant:`pill`,label:a(`ticket.date.due`),placeholder:ae.mixed?a(`ticket.selection.mixedDue`):a(`ticket.date.due`),value:!ae.mixed&&ae.value?new Date(ae.value):null,mixed:ae.mixed,disabled:l,textClassName:mo,onChange:e=>S({dueAt:e?pt(e):null},a(`ticket.date.due`))}),!!g.data?.length&&(0,G.jsxs)(h,{children:[(0,G.jsxs)(ne,{disabled:l,render:(0,G.jsx)(E,{variant:`ghost`,size:`sm`,className:`h-7 px-2`,"aria-label":a(`ticket.selection.fields`)}),children:[(0,G.jsx)(yt,{className:`size-3.5 text-muted-foreground`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:mo,children:a(`ticket.selection.fields`)})]}),(0,G.jsx)(y,{align:`end`,className:`w-[min(22rem,calc(100vw-2rem))] gap-1 p-2`,children:g.data.map(t=>{let{value:n,mixed:r}=A(e,e=>e.customFields[t.id]??null);return(0,G.jsx)(lt,{variant:`row`,field:t,value:n,mixed:r,disabled:l,align:`end`,onChange:e=>S({customFields:{[t.id]:e}},t.name)},t.id)})})]}),(0,G.jsx)(me,{orientation:`vertical`,className:`hidden h-5! sm:block`}),(0,G.jsxs)(ze,{children:[(0,G.jsx)(Dt,{render:(0,G.jsx)(ie,{label:a(`ticket.selection.more`),disabled:l}),children:(0,G.jsx)(Fe,{})}),(0,G.jsxs)(ot,{align:`end`,className:`w-52`,children:[C&&(0,G.jsxs)(it,{onClick:()=>S({status:`todo`},i.todo),children:[(0,G.jsx)(Gt,{}),a(`ticket.selection.moveTo`,{status:i.todo})]}),w?(0,G.jsxs)(it,{onClick:()=>S({archived:!1},a(`ticket.selection.restoreChange`)),children:[(0,G.jsx)(je,{}),a(`ticket.selection.restore`)]}):(0,G.jsxs)(it,{onClick:()=>f(`archive`),children:[(0,G.jsx)(O,{}),a(`ticket.selection.archive`)]}),m.canDelete&&(0,G.jsxs)(it,{variant:`destructive`,disabled:e.length>ho,onClick:()=>f(`delete`),children:[(0,G.jsx)(Ne,{}),e.length>ho?a(`ticket.selection.deleteLimit`,{limit:ho}):a(`ticket.selection.delete`)]})]})]}),(0,G.jsx)(re,{label:a(`ticket.selection.archive`),trigger:!1,open:d===`archive`,onOpenChange:e=>f(e?`archive`:null),description:a(`ticket.selection.archiveConfirm`,{count:e.length,collection:n}),onConfirm:async()=>{await x({archived:!0}),r()}}),(0,G.jsx)(re,{danger:!0,label:a(`ticket.selection.delete`),trigger:!1,open:d===`delete`,onOpenChange:e=>f(e?`delete`:null),description:a(`ticket.selection.deleteConfirm`,{count:e.length,collection:n}),onConfirm:()=>v(async()=>{await s.mutateAsync({projectId:p,tickets:_}),ee.success(a(`ticket.selection.deleted`,{count:e.length})),r()})})]})})}var _o=3,vo=()=>o({dateStyle:`full`}),yo=()=>o({dateStyle:`medium`}),bo=()=>o({month:`long`,year:`numeric`}),xo=()=>o({weekday:`long`}),So=()=>o({weekday:`short`}),Co=()=>o({weekday:`narrow`}),wo=()=>o({month:`short`}),To=e=>e+2,Eo=({start:e,end:t})=>e.getTime()===t.getTime()?yo().format(e):a(`ticket.schedule.range`,{from:yo().format(e),to:yo().format(t)});function Do({layout:e,tickets:t,anchor:n,range:r,onAnchor:i}){let[o]=(0,W.useState)(et),s=t.flatMap(e=>{let t=en(e);return t&&t.end>=r.from&&t.start<r.to?[{ticket:e,...t}]:[]}).toSorted((e,t)=>e.start.getTime()-t.start.getTime()||e.ticket.number-t.ticket.number),c=tt(r.to,-1),l=e===`calendar`?bo().format(n):a(`ticket.schedule.range`,{from:yo().format(r.from),to:yo().format(c)}),u=e===`calendar`;return(0,G.jsxs)(`section`,{"aria-label":a(u?`ticket.schedule.calendar`:`ticket.schedule.timeline`),className:`@container flex min-h-0 flex-1 flex-col animate-in fade-in-0`,children:[(0,G.jsxs)(`div`,{className:`flex min-h-11 items-center gap-1 py-1`,children:[(0,G.jsx)(`h2`,{className:`m-0 mr-auto text-sm font-medium`,"aria-live":`polite`,children:l}),(0,G.jsx)(E,{variant:`ghost`,size:`sm`,onClick:()=>i(null),children:a(`ticket.schedule.today`)}),(0,G.jsx)(ie,{label:a(u?`ticket.schedule.previousMonth`:`ticket.schedule.previousWeeks`),onClick:()=>i(I(e,n,-1)),children:(0,G.jsx)(N,{})}),(0,G.jsx)(ie,{label:a(u?`ticket.schedule.nextMonth`:`ticket.schedule.nextWeeks`),onClick:()=>i(I(e,n,1)),children:(0,G.jsx)(Ct,{})})]}),u?(0,G.jsx)(ko,{spans:s,anchor:n,range:r,title:l,today:o}):s.length?(0,G.jsx)(jo,{spans:s,range:r,today:o}):(0,G.jsx)(Se,{title:a(`ticket.schedule.emptyWeeks`)})]})}function Oo({ticket:e,wrap:t=!1}){return(0,G.jsxs)(ft,{projectId:e.projectId,ticketId:e.id,className:g(`flex min-w-0 items-baseline gap-1.5 rounded-sm px-1 text-[11.5px] leading-5 hover:bg-muted`,!t&&`truncate`),children:[(0,G.jsx)(`span`,{"aria-hidden":`true`,className:g(`size-1.5 shrink-0 rounded-full bg-current`,t?`mt-[7px] self-start`:`self-center`,xe(e.status))}),(0,G.jsx)(`span`,{className:`shrink-0 font-mono text-[10.5px] text-muted-foreground`,children:e.key}),(0,G.jsx)(`span`,{dir:`auto`,className:g(`min-w-0`,t?`wrap-anywhere`:`truncate`),children:e.title})]})}function ko({spans:e,anchor:t,range:n,title:r,today:i}){let o=Array.from({length:Le(n.to,n.from)},(e,t)=>tt(n.from,t)),s=Array.from({length:o.length/7},(e,t)=>o.slice(t*7,t*7+7));return(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto overscroll-contain pb-4`,children:(0,G.jsxs)(`table`,{className:`w-full table-fixed border-collapse`,"aria-label":a(`ticket.schedule.monthTickets`,{title:r}),children:[(0,G.jsx)(`thead`,{className:`sticky top-0 z-10 bg-background`,children:(0,G.jsx)(`tr`,{children:(s[0]??[]).map(e=>(0,G.jsx)(`th`,{scope:`col`,className:`h-8 px-2 text-left text-[10.5px] font-medium tracking-[0.08em] text-muted-foreground uppercase`,children:(0,G.jsxs)(`abbr`,{title:xo().format(e),className:`no-underline`,children:[(0,G.jsx)(`span`,{className:`@max-[600px]:hidden`,children:So().format(e)}),(0,G.jsx)(`span`,{className:`@min-[601px]:hidden`,children:Co().format(e)})]})},e.getDay()))})}),(0,G.jsx)(`tbody`,{children:s.map(n=>(0,G.jsx)(`tr`,{children:n.map(n=>(0,G.jsx)(Ao,{day:n,outside:!Ye(n,t),today:Qe(n,i),spans:e.filter(e=>e.start<=n&&n<=e.end)},n.toISOString()))},n[0]?.toISOString()))})]})})}function Ao({day:e,outside:t,today:n,spans:r}){let i=r.length-_o,o=vo().format(e);return(0,G.jsxs)(`td`,{className:g(`h-28 border border-border p-1 align-top @max-[600px]:h-16`,t&&`bg-muted/40 text-muted-foreground`),children:[(0,G.jsx)(`time`,{dateTime:Re(e,`yyyy-MM-dd`),"aria-label":o,"aria-current":n?`date`:void 0,className:g(`mb-0.5 grid size-6 place-items-center rounded-full text-xs tabular-nums`,n&&`bg-primary font-medium text-primary-foreground`),children:e.getDate()}),r.length>0&&(0,G.jsx)(`ul`,{className:`m-0 grid list-none gap-px p-0 @max-[600px]:hidden`,children:r.slice(0,_o).map(({ticket:e})=>(0,G.jsx)(`li`,{className:`min-w-0`,children:(0,G.jsx)(Oo,{ticket:e})},e.id))}),r.length>0&&(0,G.jsxs)(h,{children:[(0,G.jsxs)(ne,{render:(0,G.jsx)(E,{variant:`ghost`,size:`sm`,"aria-label":a(`ticket.schedule.showDay`,{count:r.length,day:o}),className:g(`h-6 px-1 text-[11px] text-muted-foreground`,i<=0&&`@min-[601px]:hidden`)}),children:[(0,G.jsx)(`span`,{className:`@max-[600px]:hidden`,children:a(`ticket.schedule.more`,{count:i})}),(0,G.jsx)(`span`,{className:`@min-[601px]:hidden`,children:r.length})]}),(0,G.jsxs)(y,{align:`start`,className:`w-[min(20rem,calc(100vw-2rem))] gap-2 p-3`,children:[(0,G.jsx)(C,{className:`text-xs font-medium`,children:o}),(0,G.jsx)(`ul`,{className:`m-0 grid list-none gap-1 p-0`,children:r.map(({ticket:e})=>(0,G.jsx)(`li`,{children:(0,G.jsx)(Oo,{ticket:e,wrap:!0})},e.id))})]})]})]})}function jo({spans:e,range:t,today:n}){let r=Le(t.to,t.from),i=Array.from({length:r},(e,n)=>tt(t.from,n)),o=Le(n,t.from);return(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto overscroll-contain pb-4`,children:(0,G.jsxs)(`div`,{className:`grid min-w-max [--rail:18rem] @max-[600px]:[--rail:9rem]`,style:{gridTemplateColumns:`var(--rail) repeat(${r}, 2rem)`},children:[(0,G.jsxs)(`div`,{"aria-hidden":`true`,className:`sticky top-0 z-20 col-span-full grid grid-cols-subgrid`,children:[(0,G.jsx)(`div`,{className:`sticky left-0 z-10 flex items-end border-b bg-background px-3 pb-1 text-[10.5px] font-medium tracking-[0.08em] text-muted-foreground uppercase`,children:a(`ticket.schedule.ticketColumn`)}),i.map((e,t)=>(0,G.jsxs)(`div`,{className:g(`flex flex-col items-center border-b bg-background pt-1 pb-1 text-[10.5px] leading-4 tabular-nums text-muted-foreground`,t===o&&`text-primary`),children:[(0,G.jsx)(`span`,{className:`h-4 font-medium text-foreground`,children:t===0||e.getDate()===1?wo().format(e):``}),(0,G.jsx)(`span`,{children:Co().format(e)}),(0,G.jsx)(`span`,{className:g(`grid size-5 place-items-center rounded-full`,t===o&&`bg-primary text-primary-foreground`),children:e.getDate()})]},e.toISOString()))]}),(0,G.jsx)(`ul`,{"aria-label":a(`ticket.schedule.scheduledTickets`),className:`col-span-full m-0 grid list-none grid-cols-subgrid p-0`,children:e.map(e=>{let n=Math.max(0,Le(e.start,t.from)),i=Math.min(r-1,Le(e.end,t.from));return(0,G.jsxs)(`li`,{className:`col-span-full grid grid-cols-subgrid border-b`,children:[(0,G.jsxs)(`div`,{className:`sticky left-0 z-10 row-start-1 bg-background px-2 py-1.5 [grid-column:1]`,children:[(0,G.jsx)(Oo,{ticket:e.ticket,wrap:!0}),(0,G.jsxs)(`span`,{className:`sr-only`,children:[`, `,Eo(e)]})]}),o>=0&&o<r&&(0,G.jsx)(`div`,{"aria-hidden":`true`,className:`row-start-1 bg-primary/8`,style:{gridColumn:To(o)}}),(0,G.jsx)(`div`,{"aria-hidden":`true`,title:Eo(e),className:g(`row-start-1 mx-0.5 h-5 self-center rounded-md border border-current/60 bg-current/25`,xe(e.ticket.status),e.start<t.from&&`ml-0 rounded-l-none border-l-0`,e.end>=t.to&&`mr-0 rounded-r-none border-r-0`),style:{gridColumn:`${To(n)} / ${To(i)+1}`}})]},e.ticket.id)})})]})})}var Mo=Li({columnSizingFeature:ha,columnResizingFeature:ma,rowSelectionFeature:uo,columnVisibilityFeature:ja}),No=[],Po={},Fo=100,Io=e=>e.id;function Lo({section:e,collapsed:t,onToggle:n,selection:r}){return(0,G.jsxs)(`div`,{className:`flex items-center`,children:[r&&(0,G.jsx)(`div`,{className:`flex w-11 shrink-0 justify-center pl-3 @max-[850px]:w-8 @max-[850px]:justify-start @max-[850px]:pl-0`,children:(0,G.jsx)(v,{label:a(`ticket.list.selectSection`,{section:e.label}),className:`sr-checkbox`,...r})}),(0,G.jsxs)(E,{variant:`ghost`,className:`flex-1 justify-start gap-2 rounded-none px-3`,"aria-label":a(t?`ticket.list.expandSection`:`ticket.list.collapseSection`,{section:e.label}),"aria-expanded":!t,onClick:n,children:[(0,G.jsx)(Ce,{className:g(`size-3 transition-transform duration-200`,t&&`-rotate-90`)}),e.heading,(0,G.jsx)(`span`,{className:`text-xs tabular-nums text-muted-foreground`,children:e.total})]})]})}var Ro=(0,W.memo)(function({ticket:e,property:t,value:n,iconOnly:r=!1}){let i=Te(e.projectId),{change:a,pending:o}=wt(e);return i.canWrite?(0,G.jsx)(P,{variant:`cell`,property:t,value:n,projectId:e.projectId,iconOnly:r,disabled:o,onChange:e=>void a({[t]:e})}):(0,G.jsx)(ht,{...bt(t,n),projectId:e.projectId,iconOnly:r})}),zo=e=>[{id:`select`,size:44,enableResizing:!1,enableHiding:!1,header:({table:e})=>(0,G.jsx)(v,{label:a(`ticket.list.selectAll`),className:`sr-checkbox`,checked:e.getIsAllRowsSelected(),indeterminate:e.getIsSomeRowsSelected()&&!e.getIsAllRowsSelected(),onCheckedChange:t=>e.toggleAllRowsSelected(t)}),cell:({row:e})=>(0,G.jsx)(v,{label:a(`ticket.list.selectTicket`,{key:e.original.key}),className:`sr-checkbox`,checked:e.getIsSelected(),onCheckedChange:t=>e.toggleSelected(t)})},{accessorKey:`key`,header:D.key,size:100,minSize:90},{accessorKey:`title`,header:a(`ticket.list.title`,{lng:e}),size:400,enableHiding:!1,minSize:200,cell:({row:e})=>(0,G.jsx)(Be,{dir:`auto`,className:`ticket-title block text-[13px] leading-5 font-normal whitespace-normal wrap-anywhere text-foreground hover:text-primary`,to:`/projects/$projectId/tickets/$ticketId`,params:{projectId:e.original.projectId,ticketId:e.original.id},children:e.original.title})},...[`labels`,`scopes`].map(e=>({accessorKey:e,header:D[e],size:140,minSize:120,cell:({row:t})=>(0,G.jsx)(Ae,{tags:t.original[e],label:a(e===`labels`?`ticket.tags.labels`:`ticket.tags.scopes`),variant:e===`labels`?`secondary`:`outline`})})),{accessorKey:`status`,header:D.status,size:115,minSize:105,cell:({row:e})=>(0,G.jsx)(Ro,{ticket:e.original,property:`status`,value:gt(e.original)})},{accessorKey:`priority`,header:D.priority,size:96,minSize:64,cell:({row:e})=>(0,G.jsx)(Ro,{ticket:e.original,property:`priority`,value:e.original.priority,iconOnly:!0})},{accessorKey:`difficulty`,header:D.difficulty,size:106,minSize:85,cell:({row:e})=>(0,G.jsx)(Ro,{ticket:e.original,property:`difficulty`,value:e.original.difficulty})},{accessorKey:`kind`,header:D.kind,size:110,cell:({row:e})=>(0,G.jsx)(Ro,{ticket:e.original,property:`kind`,value:e.original.kind})},{accessorKey:`assigneeId`,header:D.assigneeId,size:160,cell:({row:e})=>(0,G.jsx)(Ro,{ticket:e.original,property:`assignee`,value:e.original.assigneeId})},{accessorKey:`startAt`,header:D.startAt,size:100,minSize:90,cell:({row:e})=>(0,G.jsx)(S,{value:e.original.startAt,open:!1})},{accessorKey:`dueAt`,header:D.dueAt,size:100,minSize:90,cell:({row:e})=>(0,G.jsx)(S,{value:e.original.dueAt,open:!l.some(t=>t===e.original.status)})}],Bo=()=>[`createdAt`,`updatedAt`].map(e=>({accessorKey:e,header:D[e],size:130,cell:({row:t})=>(0,G.jsx)(ve,{value:t.original[e],className:`text-muted-foreground`})}));function Vo({ticket:e,field:t}){let n=Te(e.projectId),{change:r,pending:i}=wt(e),a=e.customFields[t.id];return n.canWrite?(0,G.jsx)(lt,{variant:`cell`,field:t,value:a,disabled:i,onChange:e=>void r({customFields:{[t.id]:e}})}):a===void 0?null:(0,G.jsx)(j,{field:t,value:a})}var Ho=e=>({id:we(e.id),header:()=>(0,G.jsx)(`span`,{className:`block truncate px-3 text-[10.5px] font-medium tracking-[0.08em] text-muted-foreground uppercase`,children:e.name}),size:140,minSize:90,cell:({row:t})=>(0,G.jsx)(Vo,{ticket:t.original,field:e})}),Uo={key:`number`,title:`title`,labels:`labels`,status:`status`,priority:`priority`,difficulty:`difficulty`,kind:`kind`,assigneeId:`assignee`,startAt:`start`,dueAt:`due`,createdAt:`created`,updatedAt:`updated`},Wo=(e,t)=>t===(t.includes(`:`)?gt(e):e.status),Go=()=>({id:`all`,label:a(`ticket.list.all`),heading:null,has:()=>!0}),Ko=()=>[{id:`planned`,label:a(`ticket.list.planned`),heading:(0,G.jsx)(`span`,{className:`text-xs`,children:a(`ticket.list.planned`)}),status:`backlog`,archived:`exclude`,has:e=>!e.archived&&e.status===`backlog`},{id:`archived`,label:a(`ticket.list.archived`),heading:(0,G.jsx)(`span`,{className:`text-xs`,children:a(`ticket.list.archived`)}),archived:`only`,has:e=>e.archived}],qo=`a, button, input, label, [role=checkbox], [role=combobox], [role=menu]`,Jo=`ticket-row cursor-pointer data-[fresh=true]:animate-row-in data-[selected=true]:bg-primary/5 data-[active=true]:bg-muted/60`,Yo=`data-[density=comfortable]:[&_[data-priority]_svg]:size-5! data-[density=comfortable]:[&_[data-slot=badge]]:h-6 data-[density=comfortable]:[&_[data-slot=badge]]:px-2 data-[density=comfortable]:[&_[data-slot=badge]]:text-xs data-[density=comfortable]:[&_.status]:text-sm data-[density=comfortable]:[&_[data-slot=checkbox]]:size-5 data-[density=comfortable]:[&_.ticket-title]:text-[15px] data-[density=comfortable]:[&_.ticket-title]:leading-6`,Xo=`min-w-full table-fixed @min-[1051px]:w-(--table-width)`,Zo=(0,W.memo)(function({row:e,render:t}){return(0,G.jsx)(G.Fragment,{children:e.getVisibleCells().map(e=>(0,G.jsx)(Bt,{className:g(`px-3 py-2 align-middle text-xs whitespace-normal in-data-[density=comfortable]:py-4`,e.column.id===`key`&&`font-mono text-[11px] text-muted-foreground`),role:`cell`,"data-column":e.column.id,"data-label":typeof e.column.columnDef.header==`string`?e.column.columnDef.header:void 0,children:(0,G.jsx)(t,{cell:e})},e.id))})},(e,t)=>e.row===t.row&&e.render===t.render&&e.selected===t.selected&&e.visibility===t.visibility&&e.columns===t.columns);function Qo({leaves:e}){return(0,G.jsx)(`colgroup`,{children:e.map(e=>(0,G.jsx)(`col`,{"data-column":e.id,style:{width:e.getSize()}},e.id))})}function $o({scope:e,search:t,onSearch:n}){let{peek:o,peekProject:l,period:u,...h}=t,y=JSON.stringify(h),[b]=(0,W.useState)(()=>on()),S=(0,W.useMemo)(()=>{let{peek:e,peekProject:t,period:n,...r}=de.parse(JSON.parse(y));return r},[y]),C=`project`in e?e.project:void 0,ne=Te(C?.id??``,!!C),T=!!C&&ne.canWrite,ue=_e(),me=le(),ve=Je(),[D]=Nt(Pt.grouping),[xe]=Nt(Pt.workGrouping),[Ae]=Nt(Pt.layout),[je]=Nt(Pt.backgrounds),O=`project`in e&&!!e.planning,k=!!C&&!O&&Ae===`board`,Fe=C&&!O&&(Ae===`calendar`||Ae===`timeline`)?Ae:void 0,[Le]=Nt(Pt.weekStart),Ke=u?We(u):void 0,Ye=Ke&&Ie(Ke)?Ke:et(),Qe=Fe?$t(Fe,Ye,rt[Le]):void 0,A=O?`planning`:k?`status`:Fe?`none`:C?D:xe,[tt]=Nt(Pt.labelDisplay),[at]=Nt(Pt.density),[ct,lt]=Nt(Pt.columns),j=JSON.stringify({...S,offset:0,grouping:A,range:Qe}),[ft,pt]=(0,W.useState)({filterKey:j,pages:{}}),[M,_t]=(0,W.useState)(()=>new Set),[N,yt]=(0,W.useState)(),bt=ft.filterKey===j?ft.pages:Po,St=vt(C?.id??``),Ct=St.data??No,wt=!!C&&A===`status`&&St.isPending,P=(0,W.useMemo)(()=>A===`planning`?Ko().filter(e=>!e.status||Ee(S,`status`,e.status)):wt?[]:A===`status`&&C&&Ct.length?Ct.filter(e=>Ee(S,`status`,e.category)).map(e=>({id:e.id,label:e.name,heading:(0,G.jsx)(ht,{property:`status`,value:mt(e),projectId:C.id}),status:e.category,stateId:e.id,has:t=>t.stateId===e.id})):A===`status`?r.filter(e=>Ee(S,`status`,e)).map(e=>({id:e,label:i[e],heading:(0,G.jsx)(be,{property:`status`,value:e}),status:e,has:t=>t.status===e})):[Go()],[A,S,wt,C,Ct]),Ot=(0,W.useMemo)(()=>P.flatMap(e=>Array.from({length:bt[e.id]??1},(t,n)=>({entry:e,offset:n*Fo}))),[P,bt]),kt=De({combine:b,queries:Ot.map(({entry:t,offset:n})=>C?_.query(`list_tickets`,{projectId:C.id,...S,view:`full`,...t.status?{status:t.status,statusNot:void 0}:{},...t.stateId?{stateId:t.stateId}:{},...Qe?{scheduledFrom:Qe.from.toISOString(),scheduledTo:Qe.to.toISOString(),sort:`start`,order:`asc`}:{},archived:t.archived??S.archived,offset:n,limit:Fo}):_.query(`list_my_work`,{workspaceId:`workspaceId`in e?e.workspaceId:void 0,q:S.q,sort:S.sort,order:S.order,offset:n,limit:Fo}))}),At=kt.states,Bt=kt.pages,[F,Wt]=(0,W.useState)({filterKey:j,ids:null,fresh:new Set}),Gt=(0,W.useMemo)(()=>new Map(P.map(e=>[e.id,Bt[Ot.findIndex(t=>t.entry.id===e.id)]?.total??0])),[P,Ot,Bt]),Kt=Object.fromEntries(P.map(e=>[e.id,Math.max(1,Math.ceil((Gt.get(e.id)??0)/Fo))])),Jt=P.some(e=>(bt[e.id]??1)<(Kt[e.id]??1));Jt&&pt({filterKey:j,pages:Kt});let Yt=wt||Jt||At.some(e=>e.isPending),Xt=At.some(e=>e.error),Zt=F.filterKey===j&&F.ids!==null||!Yt&&!Xt,Qt=(0,W.useMemo)(()=>P.map(e=>({entry:e,data:{items:Zt?Ot.flatMap((t,n)=>t.entry.id===e.id?Bt[n]?.items??[]:[]):[],total:Gt.get(e.id)??0}})),[P,Ot,Bt,Zt,Gt]),I=(0,W.useMemo)(()=>{let e=new Map;for(let t of Qt)for(let n of t.data?.items??[]){let t=e.get(n.id);(!t||n.version>t.version)&&e.set(n.id,n)}let t=N&&e.get(N.id);return N?.status&&t&&e.set(t.id,{...t,...Tt(`status`,N.status)}),e},[Qt,N]),en=(0,W.useMemo)(()=>[...I.keys()].join(`
|
|
2
|
+
`),[I]);if(F.filterKey!==j)Wt({filterKey:j,ids:null,fresh:new Set});else if(F.ids===null)!Yt&&!Xt&&Wt({filterKey:j,ids:en,fresh:new Set});else if(F.ids!==en){let e=new Set(F.ids.split(`
|
|
3
|
+
`));Wt({filterKey:j,ids:en,fresh:new Set([...I.keys()].filter(t=>!e.has(t)))})}let an=(0,W.useMemo)(()=>N?.anchor?Ue([...I.values()],N.id,N.anchor,!!N.below):[...I.values()],[I,N]),sn=Qt.reduce((e,t)=>e+(t.data?.total??0),0),[cn,ln]=(0,W.useState)(()=>Date.now());(0,W.useEffect)(()=>{let e=window.setInterval(()=>{A===`due`&&ln(Date.now())},6e4);return()=>window.clearInterval(e)},[A]);let L=(0,W.useMemo)(()=>A===`project`?[...new Set(an.map(e=>e.projectId))].map(e=>({id:e,owner:ue.data?.find(t=>t.id===e)})).toSorted((e,t)=>(e.owner?.name??``).localeCompare(t.owner?.name??``)).map(({id:e,owner:t})=>({id:e,label:t?.name??a(`ticket.project.label`),heading:(0,G.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-xs`,children:[t&&(0,G.jsx)(ke,{project:t,className:`size-4`}),(0,G.jsx)(`span`,{dir:t?`auto`:void 0,className:`truncate`,children:t?.name??a(`ticket.project.label`)})]}),total:an.filter(t=>t.projectId===e).length,has:t=>t.projectId===e})):A===`due`?[...tn.map(([e])=>e),`none`].flatMap(e=>{let t=an.filter(t=>nn(t,cn)===e).length,n=rn(e);return t?[{id:e,label:n,heading:(0,G.jsx)(`span`,{className:`text-xs`,children:n}),total:t,has:t=>nn(t,cn)===e}]:[]}):Qt.flatMap(({entry:{id:e,label:t,heading:n,has:r},data:i})=>i.total>0||k?[{id:e,label:t,heading:n,has:r,total:i.total}]:[]),[A,an,ue.data,cn,Qt,k]),R=A!==`none`,un=e=>R&&!k&&M.has(e),dn=(0,W.useMemo)(()=>an.filter(e=>!L.some(t=>R&&!k&&M.has(t.id)&&t.has(e))),[an,L,R,k,M]),z={isPending:Yt&&(F.filterKey!==j||F.ids===null),error:At.find(e=>e.error)?.error,data:{items:dn,total:sn}},fn=m({..._.query(`list_views`,{projectId:C?.id??``}),enabled:!!C}),pn=fe(`save_view`),mn=fe(`delete_view`),[hn,B]=(0,W.useState)(!1),[gn,_n]=(0,W.useState)(``),[vn,V]=(0,W.useState)(!1),[yn,bn]=(0,W.useState)(null),xn=ge(S),Sn=xn===ge({}),Cn=fn.data?.find(e=>ge(e.filters)===xn),wn=Cn?.name??a(Sn?`ticket.list.allTickets`:`ticket.list.customView`),Tn=Et(C?.id),En=d(),Dn=(0,W.useMemo)(()=>[...zo(En),...(Tn.data??[]).map(Ho),...Bo()],[Tn.data,En]),On=(0,W.useMemo)(()=>({...Object.fromEntries((Tn.data??[]).map(e=>[we(e.id),!1])),...ct,title:!0,select:T}),[Tn.data,ct,T]),H=po({features:Mo,columns:Dn,data:z.data?.items??[],getRowId:Io,columnResizeMode:`onChange`,enableRowSelection:T,state:{columnVisibility:On},onColumnVisibilityChange:e=>lt(typeof e==`function`?e(ct):e)}),kn=H.getSelectedRowModel().rows,An=(0,W.useMemo)(()=>kn.map(e=>e.original),[kn]),jn=H.getRowModel().rows,Mn=(0,W.useMemo)(()=>new Map(L.map(e=>[e.id,jn.filter(t=>e.has(t.original))])),[L,jn]),Nn=e=>Mn.get(e.id)??[],U=(0,W.useMemo)(()=>L.flatMap(e=>R&&!k&&M.has(e.id)?[]:(Mn.get(e.id)??[]).map(e=>e.id)),[L,Mn,R,k,M]),Pn=(0,W.useMemo)(()=>new Map(U.map((e,t)=>[e,t])),[U]),Fn=(0,W.useMemo)(()=>U.join(`
|
|
4
|
+
`),[U]),In=(0,W.useMemo)(()=>{let e=new Map,t=2;for(let n of L)e.set(n.id,t),t+=+!!R+(R&&!k&&M.has(n.id)?0:Mn.get(n.id)?.length??0);return e},[L,Mn,R,k,M]),Ln=(0,W.useMemo)(()=>{let e=new Set(kn.map(e=>e.id));return new Map([...Mn].map(([t,n])=>[t,e.size?n.reduce((t,n)=>t+Number(e.has(n.id)),0):0]))},[kn,Mn]),zn=e=>{let t=Nn(e),n=Ln.get(e.id)??0;return{checked:n>0&&n===t.length,indeterminate:n>0&&n<t.length,disabled:!t.length,onCheckedChange:e=>H.setRowSelection(n=>{let r={...n};for(let n of t)e?r[n.id]=!0:delete r[n.id];return r})}},Bn=R?s(L.flatMap(e=>{let t=An.filter(e.has).length;return t?[a(`ticket.list.sectionCount`,{n:t,section:e.label})]:[]})):``,Vn=C&&(O?a(`ticket.list.planning`,{project:C.name}):C.name),Hn=Vn?Bn?a(`ticket.list.collection`,{source:Vn,sections:Bn}):Vn:``;(0,W.useEffect)(()=>{!Yt&&C&&Ze(C.id,Fn?Fn.split(`
|
|
5
|
+
`):[])},[Yt,C,Fn]);let[K,Un]=(0,W.useState)(o??null),[Wn,Gn]=(0,W.useState)(null),[Kn,qn]=(0,W.useState)(o);o&&o!==Kn&&(qn(o),Un(o));let Jn=Mt(),q=e=>{Un(e),Jn?.open({ticketId:e,projectId:C?.id??I.get(e)?.projectId})};Ve(U,q,()=>Kn?document.querySelector(`.ticket-row[data-id="${CSS.escape(Kn)}"] .ticket-title`):null),(0,W.useEffect)(()=>{K&&document.querySelector(`.ticket-row[data-id="${CSS.escape(K)}"]`)?.scrollIntoView({block:`nearest`})},[K]);let Yn=e=>{if(!U.length)return;let t=K?Pn.get(K)??-1:-1,n=t<0?e>0?0:U.length-1:Math.min(U.length-1,Math.max(0,t+e));Un(U[n]??null)},J={enabled:!hn&&!o&&!Fe},Xn={...J,guard:e=>!(e.target instanceof Element&&e.target.closest(qo)&&!e.target.closest(`.ticket-row[data-active=true]`))};w(`j`,()=>Yn(1),J),w(`ArrowDown`,()=>Yn(1),Xn),w(`k`,()=>Yn(-1),J),w(`ArrowUp`,()=>Yn(-1),Xn),w(`Enter`,()=>{let e=K?I.get(K):void 0;e&&ve({to:`/projects/$projectId/tickets/$ticketId`,params:{projectId:e.projectId,ticketId:e.id}})},Xn),w(` `,()=>{K&&I.has(K)&&q(K)},{...J,guard:e=>{let t=e.target instanceof Element&&e.target.closest(qo);return!t||t.matches(`.ticket-row[data-active=true] .ticket-title`)}}),w(`x`,()=>{K&&T&&H.getRowModel().rowsById[K]?.toggleSelected()},J);let Zn=e=>{K&&document.querySelector(`.ticket-row[data-id="${CSS.escape(K)}"] [data-column="${e}"] [role=combobox]`)?.click()};w(`s`,()=>Zn(`status`),J),w(`p`,()=>Zn(`priority`),J),w(`a`,()=>Zn(`assigneeId`),J);let Qn=e=>{H.resetRowSelection(),_t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},$n=e=>{H.resetRowSelection(),pt({filterKey:JSON.stringify({...e,offset:0,grouping:A,range:Qe}),pages:{}}),n({...e,period:u})};w(`c`,()=>{T&&B(!0)},{enabled:!hn});let er=S.sort===`manual`,tr=T&&er,nr=(S.order??p[S.sort])===`desc`,rr=fe(`move_ticket`,e=>{X.current.set(e.id,e.version);let t=Y.current;Y.current=void 0,t?.()}),ir=ye(),[ar,or]=(0,W.useState)(``),sr=(0,W.useRef)(!1),cr=(0,W.useRef)(Promise.resolve()),Y=(0,W.useRef)(void 0),X=(0,W.useRef)(new Map),Z=e=>{let{status:t,stateId:n}=dt(e);return Ct.find(e=>e.id===n)?.name??i[t]},lr=(e,{anchor:t,below:n=!1,status:r})=>{let i=r&&!Wo(e,r)?r:void 0,o=t?I.get(t):void 0;if(!o&&!i)return;let s={id:e.id,below:n,...o?{anchor:o.id}:{},...i?{status:i}:{}};yt(s);let c={key:e.key,neighbor:o?.key,status:i&&Z(i)};or(a(o?i?n?`ticket.list.movedToBelow`:`ticket.list.movedToAbove`:n?`ticket.list.movedBelow`:`ticket.list.movedAbove`:i?`ticket.list.movedTo`:`ticket.list.moved`,c));let l=n!==nr;cr.current=cr.current.then(()=>new Promise(t=>{Y.current=t,rr.mutateAsync({projectId:e.projectId,ticketId:e.id,expectedVersion:Math.max(e.version,X.current.get(e.id)??0),...o?l?{after:o.id}:{before:o.id}:{},...i?Tt(`status`,i):{}}).catch(e=>{ir.invalidateQueries({queryKey:[`kanvil`]}),he(e)}).finally(()=>{Y.current===t&&(Y.current=void 0),t(),yt(e=>e===s?void 0:e)})}))},ur=e=>L.find(t=>t.has(e)),dr=(e,t)=>{if(t===`previous`||t===`next`){let n=Ct.length?Ct.map(mt):[...r],i=n[n.indexOf(Ct.length?gt(e):e.status)+(t===`next`?1:-1)];if(!i)return;let a=ur({...e,...Tt(`status`,i)}),o=er&&a?Nn(a).find(t=>t.id!==e.id)?.id:void 0;return{status:i,...o?{anchor:o}:{}}}let n=ur(e);return tr&&n?$e(Nn(n).map(e=>e.id),e.id,t):void 0},fr=(e,t)=>{sr.current=!0,lr(e,t)},pr=e=>C?T:f(ue.data?.find(t=>t.id===e.projectId)??{role:null}).includes(`ticket.write`),mr=e=>{let t=K?I.get(K):void 0,n=t&&pr(t)&&dr(t,e);t&&n&&fr(t,n)},hr=e=>Ft.filter(e=>er||e===`previous`||e===`next`).map(t=>{let n=dr(e,t);return{command:t,run:n&&(()=>fr(e,n))}});w(`ArrowUp`,()=>mr(`up`),{...J,alt:!0,shift:!1}),w(`ArrowDown`,()=>mr(`down`),{...J,alt:!0,shift:!1}),w(`ArrowUp`,()=>mr(`top`),{...J,alt:!0,shift:!0}),w(`ArrowDown`,()=>mr(`bottom`),{...J,alt:!0,shift:!0}),w(`[`,()=>mr(`previous`),J),w(`]`,()=>mr(`next`),J),(0,W.useEffect)(()=>{sr.current&&K&&Fn.includes(K)&&(sr.current=!1,document.querySelector(`.ticket-row[data-id="${CSS.escape(K)}"]`)?.scrollIntoView({block:`nearest`}))},[Fn,K]);let Q=ut((e,t,n)=>{let r=I.get(e),i=I.get(t);r&&i&&lr(r,{anchor:t,below:n,...A===`status`&&{status:gt(i)}})}),gr=e=>{let t=Q.dragging?I.get(Q.dragging):void 0;return er&&(A===`status`||!t||e.has(t))},[_r,$]=(0,W.useState)(null),vr=e=>{let t=Q.dragging?I.get(Q.dragging):void 0,n=Ct.find(t=>t.id===e.id),i=n?mt(n):r.find(t=>t===e.id);Q.end(),$(null);let a=er?Nn(e).findLast(e=>e.id!==t?.id)?.id:void 0;t&&i&&lr(t,{status:i,...a?{anchor:a,below:!0}:{}})},yr=(e,t)=>{t.defaultPrevented||t.target instanceof Node&&t.currentTarget.contains(t.target)&&(t.target instanceof Element&&t.target.closest(qo)||window.getSelection()?.toString()||ve({to:`/projects/$projectId/tickets/$ticketId`,params:{projectId:e.projectId,ticketId:e.id}}))},br=!z.error&&z.data.total===0&&(0,G.jsx)(Se,{title:!Sn||S.q?a(`ticket.list.emptyFiltered`):a(O?`ticket.list.emptyPlanning`:C?`ticket.list.emptyProject`:`ticket.list.emptyWork`),children:Sn?T&&(0,G.jsxs)(E,{variant:`default`,onClick:()=>B(!0),children:[(0,G.jsx)(Oe,{}),a(`ticket.list.createFirst`)]}):(0,G.jsx)(E,{onClick:()=>$n(de.parse({})),children:a(`ticket.filter.clear`)})});return(0,G.jsxs)(G.Fragment,{children:[C?.background&&je===`show`&&(0,G.jsx)(`img`,{src:C.background,alt:``,"aria-hidden":`true`,className:`project-background pointer-events-none absolute inset-0 -z-10 size-full object-cover opacity-15 mask-[linear-gradient(to_bottom,black,transparent_90%)] dark:opacity-20`}),C&&(0,G.jsx)(Me,{project:C}),(0,G.jsx)(Pe,{projectId:C?.id,archivedFilter:!O,search:S,onSearch:$n,view:C?O?(0,G.jsxs)(E,{variant:`ghost`,size:`sm`,className:`text-muted-foreground`,render:(0,G.jsx)(Be,{to:`/projects/$projectId`,params:{projectId:C.id}}),children:[(0,G.jsx)(jt,{}),a(`ticket.list.activeWork`)]}):(0,G.jsxs)(ze,{children:[(0,G.jsxs)(Dt,{render:(0,G.jsx)(E,{variant:`ghost`,"aria-label":a(`ticket.list.views`),title:wn,className:`max-w-full min-w-0 justify-start`}),children:[(0,G.jsx)(`span`,{className:`truncate`,children:wn}),(0,G.jsx)(Ce,{className:`size-3 shrink-0`})]}),(0,G.jsxs)(ot,{align:`start`,className:`max-h-[70dvh] w-60 overflow-y-auto`,children:[(0,G.jsx)(qe,{children:(0,G.jsx)(st,{value:Cn?.id??(Sn?`all`:`custom`),onValueChange:e=>{let t=fn.data?.find(t=>t.id===e);e===`all`?$n(de.parse({})):t&&$n({...t.filters,offset:0})},children:[{id:`all`,name:a(`ticket.list.allTickets`)},...fn.data??[]].map(e=>(0,G.jsx)(Ge,{value:e.id,closeOnClick:!0,children:e.name},e.id))})}),(0,G.jsx)(Xe,{}),(0,G.jsxs)(qe,{children:[T&&!Fe&&(0,G.jsx)(it,{onClick:()=>H.toggleAllRowsSelected(!H.getIsAllRowsSelected()),children:H.getIsAllRowsSelected()?a(`ticket.selection.clear`):a(`ticket.list.selectAll`)}),(0,G.jsxs)(it,{onClick:()=>V(!0),children:[(0,G.jsx)(Ut,{}),a(`ticket.list.saveCurrentView`)]}),Cn&&(0,G.jsxs)(it,{onClick:()=>bn(Cn),children:[(0,G.jsx)(Ne,{}),a(`ticket.list.deleteView`,{name:Cn.name})]})]})]})]}):null,actions:C&&(0,G.jsxs)(G.Fragment,{children:[!O&&(0,G.jsx)(ie,{label:a(`ticket.list.planningLink`),render:(0,G.jsx)(Be,{to:`/projects/$projectId/planning`,params:{projectId:C.id}}),children:(0,G.jsx)(qt,{})}),(0,G.jsx)(ie,{label:a(`ticket.menu.newTicket`),title:a(`ticket.list.newTicketShortcut`,{shortcut:`C`}),variant:`default`,disabled:!T,onClick:()=>B(!0),children:(0,G.jsx)(Oe,{})})]}),onReset:()=>{nt(me.id,He),$n({...S,sort:`priority`,order:void 0,offset:0})}}),(0,G.jsx)(pe,{title:a(`ticket.list.saveView`),open:vn,onOpenChange:V,busy:pn.isPending,children:(0,G.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),C&&pn.mutateAsync({projectId:C.id,name:gn,filters:c.parse(Object.fromEntries(Object.entries(S).filter(([e])=>e!==`offset`)))}).then(()=>{V(!1),_n(``),ee.success(a(`ticket.list.viewSaved`))}).catch(()=>{})},children:[(0,G.jsx)(ce,{label:a(`ticket.list.viewName`),required:!0,maxLength:80,value:gn,onChange:e=>_n(e.target.value)}),(0,G.jsx)(oe,{error:pn.error,pending:pn.isPending,submitLabel:a(`ticket.list.saveView`),onCancel:()=>V(!1)})]})}),yn&&(0,G.jsx)(re,{label:a(`ticket.list.deleteView`,{name:yn.name}),description:a(`ticket.list.deleteViewConfirm`,{name:yn.name}),trigger:!1,open:!0,onOpenChange:e=>{e||bn(null)},onConfirm:async()=>{C&&await mn.mutateAsync({projectId:C.id,viewId:yn.id}),bn(null)}}),(0,G.jsx)(x,{error:z.error??mn.error}),T&&An.length>0&&(0,G.jsx)(go,{selected:An,total:U.length,collection:Hn,onClear:()=>H.resetRowSelection()}),z.error?(0,G.jsx)(E,{disabled:At.some(e=>e.error&&e.isFetching),onClick:()=>{for(let e of At)e.error&&e.refetch()},children:a(`ticket.list.retry`)}):z.isPending?(0,G.jsx)(te,{}):k?(0,G.jsx)(`div`,{role:`region`,"aria-label":a(`ticket.list.board`),className:g(`ticket-board relative min-h-0 min-w-0 flex-1 overflow-auto overscroll-contain`,Yo),"data-density":at,"data-label-display":tt,children:br||(0,G.jsx)(`div`,{className:`flex min-h-full w-max gap-5 pb-4`,children:L.map(e=>(0,G.jsxs)(`section`,{"aria-label":a(`ticket.list.sectionTickets`,{section:e.label}),"data-status":e.id,"data-drop":_r===e.id||void 0,className:`flex w-[min(19rem,calc(100vw-3.5rem))] shrink-0 flex-col transition-colors data-[drop=true]:bg-primary/5`,onDragOver:t=>{Q.dragging&&(t.preventDefault(),t.dataTransfer.dropEffect=`move`,$(e.id))},onDragLeave:t=>{(!(t.relatedTarget instanceof Node)||!t.currentTarget.contains(t.relatedTarget))&&$(t=>t===e.id?null:t)},onDrop:t=>{t.preventDefault(),vr(e)},children:[(0,G.jsxs)(`h2`,{className:`sticky top-0 z-10 mb-0 flex h-9 items-center gap-2 border-b bg-background px-2 text-xs font-normal`,children:[T&&(0,G.jsx)(v,{label:a(`ticket.list.selectSection`,{section:e.label}),className:`sr-checkbox`,...zn(e)}),e.heading,(0,G.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:e.total})]}),(0,G.jsx)(`ul`,{className:`m-0 flex flex-1 list-none flex-col p-0`,children:(0,G.jsx)(Rn,{rows:Nn(e),board:!0,pins:[K,Kn,Q.dragging,Wn],children:(t,n,r)=>{let i=t.getVisibleCells(),a=e=>i.find(t=>t.column.id===e),o=a(`select`),s=a(`key`),c=a(`title`);return(0,G.jsx)(xt,{ticket:t.original,onPreview:()=>q(t.id),moves:pr(t.original)?()=>hr(t.original):void 0,children:(0,G.jsxs)(`li`,{...r,"aria-setsize":e.total,"aria-posinset":n+1,onFocusCapture:()=>Gn(t.id),onContextMenu:()=>Gn(t.id),className:g(Jo,`flex flex-col gap-1.5 border-b px-2 py-2.5 transition-colors hover:bg-muted/40 data-[active=true]:shadow-[inset_2px_0_0_var(--primary)] data-[dragging=true]:opacity-50 data-[drop=after]:shadow-[inset_0_-2px_0_var(--primary)] data-[drop=before]:shadow-[inset_0_2px_0_var(--primary)] in-data-[density=comfortable]:gap-2.5 in-data-[density=comfortable]:py-4`),"data-id":t.id,"data-selected":t.getIsSelected(),"data-active":K===t.id||void 0,"data-fresh":F.fresh.has(t.id)||void 0,...Q.item(t.id,{draggable:T,accepts:gr(e)}),onDragEnd:()=>{Q.end(),$(null)},onClick:e=>yr(t.original,e),children:[(0,G.jsxs)(`div`,{className:`flex min-h-6 items-center gap-2`,children:[o&&(0,G.jsx)(H.FlexRender,{cell:o}),s&&(0,G.jsx)(`span`,{"data-column":`key`,className:`font-mono text-[11px] text-muted-foreground`,children:(0,G.jsx)(H.FlexRender,{cell:s})}),(0,G.jsx)(`span`,{"data-column":`status`,className:`ml-auto`,children:(0,G.jsx)(Ro,{ticket:t.original,property:`status`,value:gt(t.original),iconOnly:!0})})]}),c&&(0,G.jsx)(H.FlexRender,{cell:c}),(0,G.jsx)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 text-xs empty:hidden`,children:i.filter(e=>![`select`,`key`,`title`,`status`].includes(e.column.id)).map(e=>(0,G.jsx)(`span`,{"data-column":e.column.id,className:`min-w-0 max-w-full empty:hidden`,children:(0,G.jsx)(H.FlexRender,{cell:e})},e.id))})]})},t.id)}})})]},e.id))})}):Fe&&Qe?(0,G.jsx)(Do,{layout:Fe,tickets:an,anchor:Ye,range:Qe,onAnchor:e=>n({...t,period:e?Re(e,`yyyy-MM-dd`):void 0})}):(0,G.jsxs)(`div`,{className:`table-scroll min-h-0 min-w-0 flex-1 overflow-auto overscroll-contain [&_[data-slot=table-container]]:overflow-visible`,children:[(0,G.jsxs)(`div`,{role:`table`,"aria-rowcount":U.length+(R?L.length:0)+1,"aria-label":a(`ticket.list.tickets`),className:g(`ticket-table`,Yo,`data-[density=comfortable]:[&_td]:text-sm data-[density=comfortable]:[&_td_svg]:size-4 data-[density=comfortable]:[&_td[data-column=key]]:text-xs`),"data-density":at,"data-label-display":tt,style:{"--table-width":`${H.getTotalSize()}px`},children:[(0,G.jsx)(`div`,{className:`sticky top-0 z-20 bg-background`,children:(0,G.jsxs)(Vt,{role:`presentation`,className:Xo,children:[(0,G.jsx)(Qo,{leaves:H.getVisibleLeafColumns()}),(0,G.jsx)(It,{role:`rowgroup`,children:H.getHeaderGroups().map(e=>(0,G.jsx)(zt,{role:`row`,"aria-rowindex":1,className:`hover:bg-transparent`,children:e.headers.map(e=>{let t=Uo[e.column.id],n=t!==void 0&&S.sort===t,r=n?S.order??p[t]:void 0;return(0,G.jsxs)(Lt,{role:`columnheader`,scope:`col`,"data-column":e.column.id,"aria-sort":r===`asc`?`ascending`:r===`desc`?`descending`:void 0,className:g(`relative h-8 overflow-hidden bg-transparent px-3 text-[10.5px] font-medium tracking-[0.08em] text-ellipsis text-muted-foreground uppercase`,t&&`p-0`),style:{width:e.getSize()},children:[t?(0,G.jsxs)(E,{variant:`ghost`,title:typeof e.column.columnDef.header==`string`?e.column.columnDef.header:void 0,className:g(`h-8 w-full justify-start gap-1 rounded-none pr-2 pl-3 text-[10.5px] font-medium tracking-[0.08em] text-muted-foreground uppercase hover:text-foreground`,n&&`text-foreground`),onClick:()=>$n({...S,sort:t,order:n?r===`asc`?`desc`:`asc`:void 0,offset:0}),children:[(0,G.jsx)(`span`,{className:`min-w-0 truncate`,children:(0,G.jsx)(H.FlexRender,{header:e})}),r===`asc`&&(0,G.jsx)(se,{className:`size-3 shrink-0`}),r===`desc`&&(0,G.jsx)(ae,{className:`size-3 shrink-0`})]}):(0,G.jsx)(H.FlexRender,{header:e}),e.column.getCanResize()&&(0,G.jsx)(E,{variant:`ghost`,className:`resizer absolute top-2 right-0 bottom-2 h-auto w-2 min-w-0 cursor-col-resize touch-none rounded-none border-r bg-transparent p-0 hover:border-primary hover:bg-transparent`,"aria-label":a(`ticket.list.resizeColumn`,{column:Tn.data?.find(t=>we(t.id)===e.id)?.name??e.id}),onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),onKeyDown:t=>{(t.key===`ArrowLeft`||t.key===`ArrowRight`)&&(t.preventDefault(),H.setColumnSizing(n=>({...n,[e.column.id]:Math.max(e.column.columnDef.minSize??60,e.column.getSize()+(t.key===`ArrowRight`?20:-20))})))}})]},e.id)})},e.id))})]})}),L.map(e=>(0,G.jsxs)(Vt,{role:`presentation`,className:Xo,children:[(0,G.jsx)(Qo,{leaves:H.getVisibleLeafColumns()}),(0,G.jsxs)(Rt,{role:`rowgroup`,"aria-label":R?a(`ticket.list.sectionTickets`,{section:e.label}):a(`ticket.list.tickets`),children:[R&&(0,G.jsx)(zt,{"aria-rowindex":In.get(e.id),className:`ticket-status-heading hover:bg-transparent`,"data-status":A===`status`?e.id:void 0,children:(0,G.jsx)(Lt,{scope:`rowgroup`,className:`sticky top-8 z-10 border-b bg-[color-mix(in_oklab,var(--muted)_50%,var(--background))] p-0`,colSpan:H.getAllLeafColumns().filter(e=>e.getIsVisible()).length,children:(0,G.jsx)(Lo,{section:e,collapsed:M.has(e.id),onToggle:()=>Qn(e.id),selection:T?zn(e):void 0})})}),!un(e.id)&&(0,G.jsx)(Rn,{rows:Nn(e),columns:H.getVisibleLeafColumns().length,pins:[K,Kn,Q.dragging,Wn],children:(t,n,r)=>(0,G.jsx)(xt,{ticket:t.original,onPreview:()=>q(t.id),moves:pr(t.original)?()=>hr(t.original):void 0,children:(0,G.jsx)(zt,{...r,"aria-rowindex":(In.get(e.id)??2)+ +!!R+n,onFocusCapture:()=>Gn(t.id),onContextMenu:()=>Gn(t.id),className:g(Jo,`data-[active=true]:[&>td:first-child]:shadow-[inset_2px_0_0_var(--primary)] data-[dragging=true]:opacity-50 data-[drop=after]:[&>td]:shadow-[inset_0_-2px_0_var(--primary)] data-[drop=before]:[&>td]:shadow-[inset_0_2px_0_var(--primary)]`),role:`row`,"data-id":t.id,"data-selected":t.getIsSelected(),"data-active":K===t.id||void 0,"data-fresh":F.fresh.has(t.id)||void 0,...Q.item(t.id,{draggable:tr,accepts:gr(e)}),onClick:e=>yr(t.original,e),children:(0,G.jsx)(Zo,{row:t,render:H.FlexRender,columns:Dn,selected:t.getIsSelected(),visibility:H.getVisibleLeafColumns().map(e=>e.id).join(`
|
|
6
|
+
`)})})},t.id)})]})]},e.id))]}),br]}),!z.isPending&&!z.error&&(0,G.jsx)(`footer`,{className:`shrink-0 py-2 text-xs text-muted-foreground`,children:a(Fe?`ticket.list.scheduledCount`:`ticket.list.count`,{count:z.data.total})}),(0,G.jsx)(`span`,{role:`status`,className:`sr-only`,children:ar}),(0,G.jsx)(pe,{size:`composer`,title:a(`ticket.menu.newTicket`),open:hn,onOpenChange:B,children:hn&&C&&(0,G.jsx)(Ht,{projectId:C.id,onSaved:()=>B(!1)})})]})}export{$o as TicketList};
|