@nightkatana/kronosys-app 1.0.0-beta.47 → 1.0.0-beta.49

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.
Files changed (50) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/build-manifest.json +2 -2
  4. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/api/action/route.js +2 -2
  15. package/.next/standalone/.next/server/app/changelog/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/guide/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/implementation/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/licenses/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/page.js +2 -2
  21. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/reporting/page.js +2 -2
  23. package/.next/standalone/.next/server/app/reporting/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/settings/page.js +1 -1
  25. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/chunks/23.js +1 -1
  27. package/.next/standalone/.next/server/chunks/277.js +1 -1
  28. package/.next/standalone/.next/server/chunks/752.js +1 -1
  29. package/.next/standalone/.next/server/chunks/833.js +4 -4
  30. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  31. package/.next/standalone/.next/server/pages/500.html +1 -1
  32. package/.next/standalone/.next/static/chunks/{263-03252f2d2bb890f6.js → 263-ac204e69a784c66c.js} +4 -4
  33. package/.next/standalone/.next/static/chunks/400-cac6dc0640f386c4.js +1 -0
  34. package/.next/standalone/.next/static/chunks/569-c51ef642c85ebfa7.js +1 -0
  35. package/.next/standalone/.next/static/chunks/840-28f9828e00e2f8c3.js +1 -0
  36. package/.next/standalone/.next/static/chunks/app/{page-c5be0f23f5bc42fd.js → page-1766656a21070335.js} +2 -2
  37. package/.next/standalone/.next/static/chunks/app/reporting/page-0615e693da39c7c7.js +1 -0
  38. package/.next/standalone/.next/static/chunks/app/settings/page-4c3075515a042cab.js +1 -0
  39. package/.next/standalone/.next/static/css/4405bf3014ccb6d4.css +1 -0
  40. package/.next/standalone/kronosys-package-meta.json +1 -1
  41. package/.next/standalone/package.json +1 -1
  42. package/package.json +1 -1
  43. package/.next/standalone/.next/static/chunks/400-0712be036ac1563b.js +0 -1
  44. package/.next/standalone/.next/static/chunks/569-888194622184e2b5.js +0 -1
  45. package/.next/standalone/.next/static/chunks/840-83aa65cc3eee5ac5.js +0 -1
  46. package/.next/standalone/.next/static/chunks/app/reporting/page-1738eebf3ccd3c9b.js +0 -1
  47. package/.next/standalone/.next/static/chunks/app/settings/page-6bc04b3bf71dae02.js +0 -1
  48. package/.next/standalone/.next/static/css/41cda4997910c076.css +0 -1
  49. /package/.next/standalone/.next/static/{avcm-ovgKMfMptYtGWnMT → 3fUAt3ojvE1CqWQDFTi7g}/_buildManifest.js +0 -0
  50. /package/.next/standalone/.next/static/{avcm-ovgKMfMptYtGWnMT → 3fUAt3ojvE1CqWQDFTi7g}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[263],{1275:(e,t,a)=>{function n(e){let t=e.trim();if(!t)return;let a=new Date(t);return Number.isNaN(a.getTime())?void 0:a}function r(e,t,a,r){let i=n(e),s=n(t);if(!i)return null;let l=new Intl.DateTimeFormat("fr"===a?"fr-CA":"en-CA",{dateStyle:"short",timeStyle:"short",hour12:!r});return s?`${l.format(i)} → ${l.format(s)}`:l.format(i)}a.d(t,{T:()=>r}),a(2934),a(1555)},1329:(e,t,a)=>{a.d(t,{_:()=>i});var n=a(5155),r=a(4539);function i({label:e,fallbackLabel:t,rangeValid:a,durationValid:s,ariaLabel:l,onClick:o,disabled:d=!1,className:c="w-full"}){return(0,n.jsxs)("button",{type:"button",disabled:d,className:`flex min-w-0 items-center justify-center gap-2 rounded-lg border px-3 py-2 text-left text-sm transition-colors disabled:cursor-default disabled:opacity-70 ${c} ${a&&s?"border-zinc-200/90 bg-zinc-50/80 text-zinc-700 hover:border-violet-400/45 hover:bg-violet-50/40 dark:border-zinc-700/80 dark:bg-zinc-900/45 dark:text-zinc-300 dark:hover:border-violet-400/45 dark:hover:bg-violet-950/25":"border-amber-500/45 bg-amber-50/50 text-amber-900 hover:bg-amber-50/80 dark:border-amber-500/40 dark:bg-amber-950/20 dark:text-amber-200 dark:hover:bg-amber-950/35"}`,"aria-label":l,onClick:o,children:[(0,n.jsx)(r.A,{className:"h-3.5 w-3.5 shrink-0 opacity-70",strokeWidth:1.75,"aria-hidden":!0}),(0,n.jsx)("span",{className:"min-w-0 truncate tabular-nums",children:e??t})]})}},1421:(e,t,a)=>{a.d(t,{E:()=>x});var n=a(5155),r=a(8426),i=a(2957);let s="rounded bg-zinc-200/70 px-1 py-0.5 font-mono text-[0.85em] dark:bg-zinc-700/80";function l({children:e,href:t}){if(!t||!(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("mailto:")||t.startsWith("/")||t.startsWith("#")))return(0,n.jsx)("span",{children:e});let a=t.startsWith("http://")||t.startsWith("https://");return(0,n.jsx)("a",{href:t,className:"text-violet-700 underline decoration-violet-400/80 underline-offset-2 hover:text-violet-900 dark:text-violet-300 dark:decoration-violet-500/60 dark:hover:text-violet-200",...a?{target:"_blank",rel:"noopener noreferrer"}:{},children:e})}function o({src:e,alt:t}){return e&&(e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/"))?(0,n.jsx)("img",{src:e,alt:t??"",className:"my-1 max-h-48 max-w-full rounded-md border border-zinc-200 object-contain dark:border-zinc-700",loading:"lazy"}):null}let d="break-words border border-zinc-200 px-2 py-1 align-top dark:border-zinc-700",c=`${d} bg-zinc-100 font-semibold dark:bg-zinc-800/80`,u={p:({children:e})=>(0,n.jsx)("span",{children:e}),strong:({children:e})=>(0,n.jsx)("strong",{className:"font-semibold",children:e}),em:({children:e})=>(0,n.jsx)("em",{className:"italic",children:e}),del:({children:e})=>(0,n.jsx)("del",{className:"line-through opacity-80",children:e}),a:({children:e,href:t})=>(0,n.jsx)(l,{href:t,children:e}),code:({children:e})=>(0,n.jsx)("code",{className:s,children:e}),img:({src:e,alt:t})=>(0,n.jsx)(o,{src:"string"==typeof e?e:void 0,alt:t})},m={...u,p:({children:e})=>(0,n.jsx)("p",{className:"mb-2 last:mb-0",children:e}),ul:({children:e})=>(0,n.jsx)("ul",{className:"mb-2 list-disc space-y-0.5 pl-5 last:mb-0 [&_li:has(input[type=checkbox])]:list-none [&_li:has(input[type=checkbox])]:pl-0",children:e}),ol:({children:e})=>(0,n.jsx)("ol",{className:"mb-2 list-decimal space-y-0.5 pl-5 last:mb-0",children:e}),li:({children:e,className:t})=>(0,n.jsx)("li",{className:[t,"leading-snug [&>input[type=checkbox]]:mr-1.5 [&>input[type=checkbox]]:align-middle"].filter(Boolean).join(" "),children:e}),h1:({children:e})=>(0,n.jsx)("p",{className:"mb-2 text-base font-semibold last:mb-0",children:e}),h2:({children:e})=>(0,n.jsx)("p",{className:"mb-2 text-sm font-semibold last:mb-0",children:e}),h3:({children:e})=>(0,n.jsx)("p",{className:"mb-2 text-sm font-medium last:mb-0",children:e}),h4:({children:e})=>(0,n.jsx)("p",{className:"mb-1 text-sm font-medium last:mb-0",children:e}),h5:({children:e})=>(0,n.jsx)("p",{className:"mb-1 text-sm font-medium last:mb-0",children:e}),h6:({children:e})=>(0,n.jsx)("p",{className:"mb-1 text-sm font-medium last:mb-0",children:e}),blockquote:({children:e})=>(0,n.jsx)("blockquote",{className:"mb-2 border-l-2 border-zinc-300 pl-3 text-zinc-600 last:mb-0 dark:border-zinc-600 dark:text-zinc-400",children:e}),pre:({children:e})=>(0,n.jsx)("pre",{className:"mb-2 overflow-x-hidden whitespace-pre-wrap break-words rounded-md bg-zinc-100 p-2 font-mono text-xs last:mb-0 dark:bg-zinc-800/90",children:e}),code:({className:e,children:t})=>e?.includes("language-")?(0,n.jsx)("code",{className:e,children:t}):(0,n.jsx)("code",{className:s,children:t}),hr:()=>(0,n.jsx)("hr",{className:"my-2 border-zinc-200 dark:border-zinc-700","aria-hidden":!0}),table:({children:e})=>(0,n.jsx)("div",{className:"mb-2 last:mb-0",children:(0,n.jsx)("table",{className:"mb-2 w-full min-w-[12rem] border-collapse text-left text-[0.85em] last:mb-0",children:e})}),thead:({children:e})=>(0,n.jsx)("thead",{children:e}),tbody:({children:e})=>(0,n.jsx)("tbody",{children:e}),tr:({children:e})=>(0,n.jsx)("tr",{children:e}),th:({children:e})=>(0,n.jsx)("th",{className:c,children:e}),td:({children:e})=>(0,n.jsx)("td",{className:d,children:e}),input:({type:e,checked:t,disabled:a})=>"checkbox"!==e?null:(0,n.jsx)("input",{type:"checkbox",checked:t,disabled:a??!0,readOnly:!0,"aria-readonly":"true",className:"size-3.5 shrink-0 rounded border-zinc-400 accent-violet-600 dark:border-zinc-500"})},b=[i.A];function x({source:e,variant:t="block",className:a}){let i=e.trim();return i?(0,n.jsx)("div",{className:["min-w-0 break-words [overflow-wrap:anywhere]",a].filter(Boolean).join(" "),children:(0,n.jsx)(r.oz,{remarkPlugins:b,components:"inline"===t?u:m,children:i})}):null}},1422:(e,t,a)=>{a.d(t,{E:()=>ee});var n=a(5155),r=a(2115),i=a(2298),s=a(9314),l=a(7625),o=a(1402),d=a(5738),c=a(8342),u=a(9267),m=a(6619),b=a(4962),x=a(2934),p=a(1555),h=a(5486),k=a(8577),f=a(6969),g=a(6749),v=a(1275),y=a(5172),j=a(1329),z=a(1421),N=a(5865),w=a(149),T=a(4923),M=a(7256),S=a(9768),C=a(8274),D=a(4088),L=a(2363),$=a(1532);function E({durationMs:e,isTracking:t,className:a}){let r=Math.max(0,Math.floor(e)),i=(0,$.F)(r,t),s=(0,h.Td)(i);return(0,n.jsx)("span",{className:a,title:s,children:s})}let A="min-w-[6.25rem] shrink-0 text-right text-[0.65rem] font-medium leading-none tracking-tight text-zinc-400 dark:text-zinc-500";function I({durationMs:e,isTracking:t,enableSubtaskTimer:a,subtaskDone:r,subtasksReadOnly:i,t:s}){let l=Math.max(0,Math.floor(e??0));return l>0||t?(0,n.jsx)(E,{durationMs:l,isTracking:t,className:`shrink-0 font-mono tabular-nums text-[0.7rem] tracking-tight ${t?"font-semibold text-emerald-700 dark:text-emerald-400":"text-zinc-500"}`}):a?(0,n.jsx)("span",{className:A,title:s.subtaskDurationTooltipNotMeasured,children:s.subtaskDurationNotMeasured}):i&&r?(0,n.jsx)("span",{className:A,title:s.subtaskDurationTooltipNotShown,children:s.subtaskDurationNotShown}):(0,n.jsx)("span",{className:A,title:s.subtaskDurationTooltipNotRecorded,children:s.subtaskDurationNotRecorded})}function P({draft:e,setDraft:t,taskId:a,send:r,t:i,autoFocus:s,onDismissIfEmpty:l}){return(0,n.jsx)("input",{autoFocus:s,className:w.ID,placeholder:i.addSubtaskPlaceholder,value:e,onChange:e=>t(e.target.value),onBlur:()=>{e.trim()||l?.()},onKeyDown:n=>{"Enter"===n.key&&e.trim()&&(n.preventDefault(),r({type:"addSubtask",taskId:a,title:e.trim()}),t("")),"Escape"===n.key&&(t(""),l?.())},"aria-label":i.addSubtaskPlaceholder})}let F="h-4 w-4 shrink-0 cursor-pointer rounded border-zinc-400 bg-white text-violet-600 accent-violet-600 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-violet-500/70 dark:border-zinc-500 dark:bg-zinc-900 dark:text-violet-500 dark:accent-violet-500",B="text-zinc-400 line-through decoration-zinc-500/[0.35] decoration-[1.5px]",R="rounded-md px-1.5 -mx-1.5 py-0.5 -my-0.5 transition-colors duration-150 hover:bg-violet-100 hover:ring-1 hover:ring-violet-400/75 dark:hover:bg-violet-950/65 dark:hover:ring-violet-500/55";function _({st:e,ord:t,isTracking:a,enableSubtaskTimer:r,subtasksReadOnly:i,showReorderGutter:s,t:l}){return(0,n.jsxs)("div",{className:"pointer-events-none flex min-h-10 max-w-[min(100vw-2rem,36rem)] cursor-grabbing items-center gap-1.5 rounded-lg border-2 border-violet-600 bg-white px-2 py-1.5 shadow-xl ring-2 ring-violet-500/30 dark:border-violet-400 dark:bg-zinc-900 dark:ring-violet-400/25 sm:gap-2",children:[(0,n.jsx)(C.A,{className:"size-4 shrink-0 text-violet-600 dark:text-violet-400","aria-hidden":!0}),s?(0,n.jsxs)("span",{className:"flex w-[1.125rem] shrink-0 flex-col items-center justify-center gap-0 opacity-40","aria-hidden":!0,children:[(0,n.jsx)(D.A,{className:"size-3.5",strokeWidth:2.5}),(0,n.jsx)(L.A,{className:"size-3.5",strokeWidth:2.5})]}):null,(0,n.jsxs)("span",{className:"w-6 shrink-0 text-right font-mono text-[0.7rem] font-semibold tabular-nums text-zinc-500 dark:text-zinc-400",children:[t,"."]}),(0,n.jsx)("input",{type:"checkbox",readOnly:!0,checked:e.done,className:F,tabIndex:-1}),(0,n.jsx)("span",{className:`min-w-0 flex-1 truncate text-left text-base font-medium leading-snug ${e.done?B:"text-zinc-900 dark:text-zinc-100"}`,children:e.title}),(0,n.jsx)(I,{durationMs:e.durationMs,isTracking:a,enableSubtaskTimer:r,subtaskDone:e.done,subtasksReadOnly:i,t:l})]})}function W({st:e,index:t,showOrdinal:a,activeDragId:r,taskId:i,enableSubtaskTimer:s,activeSubtaskTimerId:l,subtasksReadOnly:o,t:c,editingId:b,editVal:x,setEditingId:p,setEditVal:h,send:k,dragLabel:f,listLength:g,onReorderStep:v}){let{attributes:y,listeners:j,setNodeRef:z,transform:N,transition:T,isDragging:$}=(0,M.gl)({id:e.id}),E=s&&String(l??"").trim()===String(e.id).trim(),A=t+1,P={transform:S.Ks.Transform.toString(N),transition:T},_=!!(r&&r!==e.id);return(0,n.jsxs)("li",{ref:z,style:P,className:`relative z-[1] flex min-h-10 items-center gap-1.5 py-1.5 first:pt-0 sm:gap-2 ${R} ${_?"opacity-[0.22] saturate-[0.65]":""} ${$?"z-10 opacity-0":""}`,children:[(0,n.jsx)("button",{type:"button",className:"shrink-0 cursor-grab rounded p-0.5 text-zinc-500 touch-none hover:bg-violet-200/60 hover:text-violet-900 active:cursor-grabbing dark:text-zinc-400 dark:hover:bg-violet-900/50 dark:hover:text-violet-100",title:f,"aria-label":f,...y,...j,children:(0,n.jsx)(C.A,{size:16,strokeWidth:2,"aria-hidden":!0})}),!o&&g>1?(0,n.jsxs)("span",{className:"flex w-[1.125rem] shrink-0 flex-col items-center justify-center gap-0",children:[(0,n.jsx)("button",{type:"button",disabled:0===t,className:"rounded p-0.5 text-zinc-600 hover:bg-violet-100 hover:text-violet-900 disabled:pointer-events-none disabled:opacity-25 dark:text-zinc-400 dark:hover:bg-violet-900/45 dark:hover:text-violet-100",title:c.subtaskMoveUp,"aria-label":c.subtaskMoveUp,onClick:()=>v(t,-1),children:(0,n.jsx)(D.A,{size:14,strokeWidth:2.5,"aria-hidden":!0})}),(0,n.jsx)("button",{type:"button",disabled:t>=g-1,className:"rounded p-0.5 text-zinc-600 hover:bg-violet-100 hover:text-violet-900 disabled:pointer-events-none disabled:opacity-25 dark:text-zinc-400 dark:hover:bg-violet-900/45 dark:hover:text-violet-100",title:c.subtaskMoveDown,"aria-label":c.subtaskMoveDown,onClick:()=>v(t,1),children:(0,n.jsx)(L.A,{size:14,strokeWidth:2.5,"aria-hidden":!0})})]}):null,(0,n.jsx)("span",{className:"w-6 shrink-0 text-right font-mono text-[0.7rem] font-semibold tabular-nums text-zinc-500 dark:text-zinc-500","aria-hidden":!a,children:a?`${A}.`:""}),(0,n.jsx)("input",{type:"checkbox",className:o?`${F} cursor-not-allowed opacity-50`:F,checked:e.done,disabled:o,onChange:()=>{o||k({type:"toggleSubtask",taskId:i,subtaskId:e.id})},title:e.done?c.subtaskMarkUndone:c.subtaskMarkDone,"aria-label":e.done?c.subtaskMarkUndone:c.subtaskMarkDone}),b!==e.id||o?o?(0,n.jsx)("span",{className:`min-w-0 flex-1 truncate text-left text-base font-medium leading-snug ${e.done?B:"text-zinc-900 dark:text-zinc-200"}`,children:e.title}):(0,n.jsx)("button",{type:"button",className:`min-w-0 flex-1 truncate text-left text-base font-medium leading-snug outline-none hover:text-violet-800 focus-visible:ring-2 focus-visible:ring-violet-500/50 rounded-sm dark:hover:text-zinc-100 ${e.done?B:"text-zinc-900 dark:text-zinc-200"}`,onClick:()=>{p(e.id),h(e.title)},children:e.title}):(0,n.jsx)("input",{autoFocus:!0,className:`${w.rw} min-w-0 flex-1`,value:x,onChange:e=>h(e.target.value),onBlur:()=>{x.trim()&&x.trim()!==e.title&&k({type:"updateSubtaskTitle",taskId:i,subtaskId:e.id,title:x.trim()}),p(null)},onKeyDown:e=>{"Enter"===e.key&&e.target.blur(),"Escape"===e.key&&p(null)},"aria-label":c.subtasksHeading}),(0,n.jsx)(I,{durationMs:e.durationMs,isTracking:E,enableSubtaskTimer:s,subtaskDone:e.done,subtasksReadOnly:o,t:c}),(0,n.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5",children:[s&&!e.done&&!o&&(0,n.jsx)("button",{type:"button",className:`rounded p-1.5 ${E?"bg-emerald-200 text-emerald-900 dark:bg-emerald-600/30 dark:text-emerald-300":"text-zinc-600 hover:bg-zinc-200/90 dark:text-zinc-400 dark:hover:bg-zinc-800"}`,title:E?c.subtaskTimerStop:c.subtaskTimerStart,"aria-label":E?c.subtaskTimerStop:c.subtaskTimerStart,onClick:()=>void k({type:"setActiveSubtaskTimer",taskId:i,subtaskId:E?null:e.id}),children:E?(0,n.jsx)(u.A,{size:14}):(0,n.jsx)(m.A,{size:14})}),o?null:(0,n.jsx)("button",{type:"button",className:"rounded p-1.5 text-zinc-600 hover:bg-red-100 hover:text-red-800 dark:text-zinc-500 dark:hover:bg-red-950/50 dark:hover:text-red-400",title:c.subtaskDelete,"aria-label":c.subtaskDelete,onClick:()=>void k({type:"deleteSubtask",taskId:i,subtaskId:e.id}),children:(0,n.jsx)(d.A,{size:14})})]})]})}function H({st:e,index:t,taskId:a,enableSubtaskTimer:r,activeSubtaskTimerId:i,subtasksReadOnly:s,t:l,editingId:o,editVal:c,setEditingId:b,setEditVal:x,send:p}){let h=r&&String(i??"").trim()===String(e.id).trim();return(0,n.jsxs)("li",{className:`relative flex min-h-10 items-center gap-1.5 py-1.5 first:pt-0 sm:gap-2 ${R}`,children:[(0,n.jsx)("span",{className:"w-4 shrink-0 sm:w-[1.125rem]","aria-hidden":!0}),(0,n.jsxs)("span",{className:"w-6 shrink-0 text-right font-mono text-[0.7rem] font-semibold tabular-nums text-zinc-500 dark:text-zinc-500","aria-hidden":!0,children:[t+1,"."]}),(0,n.jsx)("input",{type:"checkbox",className:s?`${F} cursor-not-allowed opacity-50`:F,checked:e.done,disabled:s,onChange:()=>{s||p({type:"toggleSubtask",taskId:a,subtaskId:e.id})},title:e.done?l.subtaskMarkUndone:l.subtaskMarkDone,"aria-label":e.done?l.subtaskMarkUndone:l.subtaskMarkDone}),o!==e.id||s?s?(0,n.jsx)("span",{className:`min-w-0 flex-1 truncate text-left text-base font-medium leading-snug ${e.done?B:"text-zinc-900 dark:text-zinc-200"}`,children:e.title}):(0,n.jsx)("button",{type:"button",className:`min-w-0 flex-1 truncate text-left text-base font-medium leading-snug outline-none hover:text-violet-800 focus-visible:ring-2 focus-visible:ring-violet-500/50 rounded-sm dark:hover:text-zinc-100 ${e.done?B:"text-zinc-900 dark:text-zinc-200"}`,onClick:()=>{b(e.id),x(e.title)},children:e.title}):(0,n.jsx)("input",{autoFocus:!0,className:`${w.rw} min-w-0 flex-1`,value:c,onChange:e=>x(e.target.value),onBlur:()=>{c.trim()&&c.trim()!==e.title&&p({type:"updateSubtaskTitle",taskId:a,subtaskId:e.id,title:c.trim()}),b(null)},onKeyDown:e=>{"Enter"===e.key&&e.target.blur(),"Escape"===e.key&&b(null)},"aria-label":l.subtasksHeading}),(0,n.jsx)(I,{durationMs:e.durationMs,isTracking:h,enableSubtaskTimer:r,subtaskDone:e.done,subtasksReadOnly:s,t:l}),(0,n.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5",children:[r&&!e.done&&!s&&(0,n.jsx)("button",{type:"button",className:`rounded p-1.5 ${h?"bg-emerald-200 text-emerald-900 dark:bg-emerald-600/30 dark:text-emerald-300":"text-zinc-600 hover:bg-zinc-200/90 dark:text-zinc-400 dark:hover:bg-zinc-800"}`,title:h?l.subtaskTimerStop:l.subtaskTimerStart,"aria-label":h?l.subtaskTimerStop:l.subtaskTimerStart,onClick:()=>void p({type:"setActiveSubtaskTimer",taskId:a,subtaskId:h?null:e.id}),children:h?(0,n.jsx)(u.A,{size:14}):(0,n.jsx)(m.A,{size:14})}),s?null:(0,n.jsx)("button",{type:"button",className:"rounded p-1.5 text-zinc-600 hover:bg-red-100 hover:text-red-800 dark:text-zinc-500 dark:hover:bg-red-950/50 dark:hover:text-red-400",title:l.subtaskDelete,"aria-label":l.subtaskDelete,onClick:()=>void p({type:"deleteSubtask",taskId:a,subtaskId:e.id}),children:(0,n.jsx)(d.A,{size:14})})]})]})}function O({taskId:e,sessionId:t,subtasks:a,enableSubtaskTimer:i=!1,activeSubtaskTimerId:s,allowAddSubtasks:l=!1,subtasksReadOnly:o=!1,t:d,post:c}){let[u,m]=(0,r.useState)(""),[b,x]=(0,r.useState)(null),[p,h]=(0,r.useState)(""),[k,f]=(0,r.useState)(!1),[g,v]=(0,r.useState)(null),[y,j]=(0,r.useState)(null),[z,N]=(0,r.useState)(1),w=a??[],S=(0,T.FR)((0,T.MS)(T.AN,{activationConstraint:{distance:6}}),(0,T.MS)(T.uN,{coordinateGetter:M.JR}));(0,r.useEffect)(()=>{o&&(x(null),m(""),f(!1))},[o]),(0,r.useEffect)(()=>{x(null),m(""),f(!1)},[e]);let C=async e=>{await c({...e,...t?{sessionId:t}:{}})},D=w.length>0,L=l&&!o,$=L&&!D&&!k,E=L&&(D||k),A=!o&&w.length>1;if(!D&&!L)return null;if($)return(0,n.jsx)("button",{type:"button",className:"text-left text-[0.7rem] font-medium text-zinc-600 underline decoration-zinc-400/70 underline-offset-2 hover:text-zinc-900 dark:text-zinc-400 dark:decoration-zinc-500/70 dark:hover:text-zinc-200",onClick:()=>f(!0),children:d.addSubtaskLinkBtn});let I=w.map(e=>e.id),F=!g,B=(t,a)=>{let n=t+a;n<0||n>=w.length||C({type:"reorderSubtasks",taskId:e,orderedSubtaskIds:(0,M.be)(w,t,n).map(e=>e.id)})},R=A?(0,n.jsxs)(T.Mp,{sensors:S,collisionDetection:T.fp,onDragStart:e=>{let t=String(e.active.id);v(t);let a=w.findIndex(e=>e.id===t),n=w[a];n&&(j(n),N(a+1))},onDragOver:e=>{let{over:t}=e;if(!t)return;let a=w.findIndex(e=>e.id===String(t.id));a>=0&&N(a+1)},onDragEnd:t=>{let{active:a,over:n}=t;if(v(null),j(null),!n||a.id===n.id)return;let r=w.findIndex(e=>e.id===a.id),i=w.findIndex(e=>e.id===n.id);r<0||i<0||C({type:"reorderSubtasks",taskId:e,orderedSubtaskIds:(0,M.be)(w,r,i).map(e=>e.id)})},onDragCancel:()=>{v(null),j(null)},children:[(0,n.jsx)("div",{className:`relative rounded-lg px-0 py-0.5 transition-[background-color,box-shadow] duration-200 ${g?"bg-zinc-500/20 shadow-inner ring-1 ring-zinc-500/45 dark:bg-black/55 dark:ring-zinc-600/55":""}`,children:(0,n.jsx)(M.gB,{items:I,strategy:M._G,children:(0,n.jsx)("ul",{className:"divide-y divide-zinc-200 dark:divide-zinc-800/90",children:w.map((t,a)=>(0,n.jsx)(W,{st:t,index:a,showOrdinal:F,activeDragId:g,taskId:e,enableSubtaskTimer:i,activeSubtaskTimerId:s,subtasksReadOnly:o,t:d,editingId:b,editVal:p,setEditingId:x,setEditVal:h,send:C,dragLabel:d.subtaskDragReorderHandle,listLength:w.length,onReorderStep:B},t.id))})})}),(0,n.jsx)(T.Hd,{dropAnimation:{duration:220,easing:"cubic-bezier(0.22, 1, 0.36, 1)"},children:y?(0,n.jsx)(_,{st:y,ord:z,isTracking:i&&String(s??"").trim()===String(y.id).trim(),enableSubtaskTimer:i,subtasksReadOnly:o,showReorderGutter:!0,t:d}):null})]}):(0,n.jsx)("ul",{className:"divide-y divide-zinc-200 dark:divide-zinc-800/90",children:w.map((t,a)=>(0,n.jsx)(H,{st:t,index:a,taskId:e,enableSubtaskTimer:i,activeSubtaskTimerId:s,subtasksReadOnly:o,t:d,editingId:b,editVal:p,setEditingId:x,setEditVal:h,send:C},t.id))});return(0,n.jsxs)("div",{className:D?"mt-4 border-l border-zinc-300 pl-3 ml-0.5 dark:border-zinc-700/55":void 0,children:[D?(0,n.jsx)("div",{className:"mb-1.5 text-[0.65rem] font-semibold uppercase tracking-wide text-zinc-500 dark:text-zinc-500",children:d.subtasksHeading}):null,D?R:null,E?(0,n.jsx)("div",{className:D?"mt-2 border-t border-zinc-200 pt-2 dark:border-zinc-800/80":void 0,children:(0,n.jsx)(P,{draft:u,setDraft:m,taskId:e,send:C,t:d,autoFocus:k&&!D,onDismissIfEmpty:()=>f(!1)})}):null]})}var q=a(8783),K=a(7018),U=a(9474),G=a(8949);let V=`inline-flex ${w.ts} w-[1.875rem] shrink-0 items-center justify-center rounded-md border border-zinc-300/90 bg-white/80 text-zinc-600 hover:bg-zinc-100 dark:border-zinc-600/90 dark:bg-zinc-900/40 dark:text-zinc-400 dark:hover:bg-zinc-800`;function Y({colorKey:e,pressed:t,label:a,onPick:r}){return(0,n.jsx)("button",{type:"button",title:a,"aria-label":a,"aria-pressed":t,onClick:r,className:`size-4 shrink-0 rounded-full border transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-violet-500/60 ${null===e?t?"border-violet-500/70 bg-zinc-100 ring-1 ring-violet-500/35 dark:bg-zinc-800":"border-dashed border-zinc-400/80 bg-zinc-50 dark:border-zinc-500/80 dark:bg-zinc-900/60":`${G.le[e]} ${t?"border-white ring-1 ring-violet-500/55 dark:border-zinc-900":"border-transparent opacity-80 hover:opacity-100"}`}`})}function Z({value:e,onChange:t,t:a,disabled:i=!1,size:s="default"}){let[l,o]=(0,r.useState)(!1),d=(0,r.useRef)(null),c=(0,r.useId)(),u=(0,G.dM)(e),m=void 0===u?null:u;(0,r.useEffect)(()=>{if(!l)return;let e=e=>{d.current?.contains(e.target)||o(!1)},t=e=>{"Escape"===e.key&&o(!1)};return document.addEventListener("pointerdown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",t)}},[l]);let b=e=>{t(e),o(!1)},x=null===m?a.ganttColorPickerAuto:a.ganttColorPickerSwatch.replace("{color}",m);return(0,n.jsxs)("div",{ref:d,className:"relative",children:[(0,n.jsx)("button",{type:"button",disabled:i,className:`${"compact"===s?V:"inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-lg border border-zinc-300/90 bg-white/80 text-zinc-600 hover:bg-zinc-100 dark:border-zinc-600/90 dark:bg-zinc-900/40 dark:text-zinc-400 dark:hover:bg-zinc-800"} disabled:opacity-40`,title:a.taskGanttColorLabel,"aria-label":x,"aria-expanded":l,"aria-controls":l?c:void 0,onClick:()=>o(e=>!e),children:(0,n.jsx)("span",{className:`${"compact"===s?"size-2.5 rounded-full":"size-3.5 rounded-full"} ${null===m?"border border-dashed border-zinc-400/90 bg-zinc-200/50 dark:border-zinc-500/90 dark:bg-zinc-700/40":`${G.le[m]} ring-1 ring-black/10 dark:ring-white/15`}`,"aria-hidden":!0})}),l?(0,n.jsxs)("div",{id:c,role:"group","aria-label":a.ganttColorPickerAria,className:"absolute right-0 top-[calc(100%+0.25rem)] z-30 flex items-center gap-0.5 rounded-lg border border-zinc-200/90 bg-white/95 p-1 shadow-md shadow-zinc-900/10 backdrop-blur-sm dark:border-zinc-700/90 dark:bg-zinc-900/95 dark:shadow-black/30",children:[(0,n.jsx)(Y,{colorKey:null,pressed:null===m,label:a.ganttColorPickerAuto,onPick:()=>b(null)}),G.e$.map(e=>(0,n.jsx)(Y,{colorKey:e,pressed:m===e,label:a.ganttColorPickerSwatch.replace("{color}",e),onPick:()=>b(e)},e))]}):null]})}var X=a(2047);let Q="kronosys_finish_task_subtasks_warn_dismiss_v1";function J(e){let t,a=Array.isArray(t=e.taskTimerLaps)&&0!==t.length?t.reduce((e,t)=>{let a="number"==typeof t?.durationMs&&Number.isFinite(t.durationMs)?Math.max(0,Math.floor(t.durationMs)):NaN;if(Number.isFinite(a)&&a>0)return e+a;let n="string"==typeof t?.startTime?t.startTime.trim():"",r="string"==typeof t?.endTime?t.endTime.trim():"";return n&&r?e+Math.max(0,Date.parse(r)-Date.parse(n)):e},0):0;if(a>0)return a;let n=e.durationMs;if("number"==typeof n&&Number.isFinite(n)&&n>0)return Math.max(0,Math.floor(n));let r="string"==typeof e.startTime?new Date(e.startTime).getTime():NaN,i="string"==typeof e.endTime?new Date(e.endTime).getTime():NaN;return Number.isFinite(r)&&Number.isFinite(i)&&i>=r?Math.max(0,Math.floor(i-r)):0}function ee({task:e,lang:t,displayTimeZone:a=p.GB,use24HourClock:T=!0,calendarWeekStartsOn:M="sunday",isInspecting:S,inspectingId:C,knownTags:D,knownProjects:L,knownPersonalProjects:E=[],post:A,t:I,confirmDeleteTask:P,kronoFocusIsRunningOrPaused:F,showKronoFocusTaskActions:B=!0,startKronoFocusFromTask:R,onDuplicateTask:_,onSaveAsTemplate:W,isAlreadyTemplate:H=!1,pausePlayMode:G,onPausePlay:V,anchorId:Y,variant:et="card",allowTaskStartTimeEdit:ea=!0,allowTaskEndTimeEdit:en=!0,showTaskActionButtons:er=!0,allowAddSubtasks:ei=!0,showLiveTimerWhenInspecting:es=!1,deriveLiveTimerFromStartTime:el=!0,temporalPlanned:eo=!1,taskMinimumDurationMinutes:ed=30,reopenTaskContext:ec}){let eu,em=(0,r.useId)(),[eb,ex]=(0,r.useState)(!1),[ep,eh]=(0,r.useState)(!1),[ek,ef]=(0,r.useState)(!1),[eg,ev]=(0,r.useState)(""),[ey,ej]=(0,r.useState)(()=>"string"==typeof e.note?e.note:""),[ez,eN]=(0,r.useState)(""),[ew,eT]=(0,r.useState)(null),[eM,eS]=(0,r.useState)(null),[eC,eD]=(0,r.useState)(""),[eL,e$]=(0,r.useState)([]),[eE,eA]=(0,r.useState)(null),[eI,eP]=(0,r.useState)(null),[eF,eB]=(0,r.useState)(!1),[eR,e_]=(0,r.useState)(null),[eW,eH]=(0,r.useState)("0"),[eO,eq]=(0,r.useState)("0"),[eK,eU]=(0,r.useState)("0"),eG=(0,r.useRef)(!1),[eV,eY]=(0,r.useState)("0"),[eZ,eX]=(0,r.useState)("0"),[eQ,eJ]=(0,r.useState)("0"),e0=(0,r.useRef)(!1),[e1,e5]=(0,r.useState)(!1),[e2,e4]=(0,r.useState)("keep"),[e6,e9]=(0,r.useState)("align_start"),e3=(0,r.useId)(),[e8,e7]=(0,r.useState)("0"),[te,tt]=(0,r.useState)("0"),[ta,tn]=(0,r.useState)("0"),[tr,ti]=(0,r.useState)(null),ts=(0,r.useRef)(null),tl=(0,r.useRef)(!1),to=(0,r.useRef)(!1),[td,tc]=(0,r.useState)(!1),[tu,tm]=(0,r.useState)(()=>Date.now()),[tb,tx]=(0,r.useState)(()=>Date.now()),[tp,th]=(0,r.useState)(!1),[tk,tf]=(0,r.useState)("paused"),[tg,tv]=(0,r.useState)("0"),[ty,tj]=(0,r.useState)("0"),[tz,tN]=(0,r.useState)("0"),[tw,tT]=(0,r.useState)(!1),[tM,tS]=(0,r.useState)(!1),tC=(0,r.useRef)(!1),tD=(0,r.useId)(),tL=ec?.canResumeTimer===!0,t$=ec?.otherRunningTaskIds??[];(0,r.useEffect)(()=>{tC.current=tM},[tM]);let tE=(0,h.hk)(e.name,e.tags),tA=e.project?.trim()??"",tI=!0===e.personalProject,tP=(0,h.ZW)(e.name),tF=(0,h.I6)(e.name),tB=(0,h.jN)(e.name),tR=!0===e.isDone,t_=!tR&&"resume"===G,tW=!tR&&"pause"===G,tH=!eo&&!tR&&(!S||es)&&"pause"===G,tO=null!==ew?ew:null!==eM?eM:tR?J(e):eo?0:Math.max(0,e.durationMs??0),tq=(0,$.F)(tO,tH),tK=tH?"text-emerald-700 dark:text-emerald-400":eo?"text-sky-700 dark:text-sky-300/90":tR?"text-zinc-600 dark:text-zinc-400":"text-zinc-700 dark:text-zinc-300",tU=(0,n.jsx)("span",{className:`block font-mono text-lg font-bold leading-none tabular-nums tracking-tight sm:text-xl ${tK}`,"aria-live":tH?"polite":void 0,title:(0,h.Td)(tq),children:(0,h.Td)(tq)}),tG="string"==typeof e.startTime?(0,x._)(e.startTime,t,a,T):null,tV="string"==typeof e.endTime&&""!==e.endTime.trim()?e.endTime:"string"==typeof e.scheduledEndAt&&""!==e.scheduledEndAt.trim()?e.scheduledEndAt:void 0,tY="string"==typeof tV?(0,x._)(tV,t,a,T):null,tZ=tR?null!==eI?eI:(eu=J(e))>0?eu/6e4:null:null,tX=null!==tZ?(0,h.a3)(tZ):null,tQ="string"==typeof e.startTime&&""!==e.startTime.trim(),tJ="string"==typeof tV&&""!==tV.trim(),t0=Array.isArray(e.taskTimerLaps)?e.taskTimerLaps.map((n,r)=>{let i="string"==typeof n?.startTime?n.startTime.trim():"",s="string"==typeof n?.endTime?n.endTime.trim():"";if(!i||!s)return null;let l="number"==typeof n?.durationMs&&Number.isFinite(n.durationMs)?Math.max(0,Math.floor(n.durationMs)):Math.max(0,Date.parse(s)-Date.parse(i));if(l<1e3)return null;let o=(0,x._)(i,t,a,T),d=(0,x._)(s,t,a,T);return{id:`${e.id}-lap-${r}-${i}`,lapIndex:r,startLabel:o,endLabel:d,durationLabel:(0,h.Td)(l)}}).filter(e=>null!==e).map((e,t)=>({...e,index:t+1})):[],t1=e.taskCurrentLapStartedAt,t5="string"==typeof t1?Date.parse(t1):"number"==typeof t1&&Number.isFinite(t1)?t1:NaN,t2=tW&&Number.isFinite(t5)?{id:`${e.id}-lap-running-${t5}`,index:t0.length+1,startLabel:(0,x._)(new Date(t5).toISOString(),t,a,T),endLabel:I.taskTimerLapRunningLabel,durationLabel:(0,h.Td)(Math.max(0,tb-t5)),isRunning:!0}:null,t4=null!==t2?[...t0,t2]:t0,t6=(!!tR||ea)&&tQ,t9=(!!tR||en)&&(tQ||tJ),t3=t6||t9||null!==tG||null!==tY||tR&&null!==tX,t8=!!tR||ea,t7=t6||t9,ae=(0,g.L)(ez,eC),at=(0,g.s1)(ez,eC,eV,eZ,eQ),aa=(0,g.t6)(ez,eC,eV,eZ,eQ),an=(0,r.useMemo)(()=>Array.isArray(e.taskTimerLaps)&&e.taskTimerLaps.length>0,[e.taskTimerLaps])&&tH?"fr"===t?"Cette t\xe2che a des laps enregistr\xe9s. La modification du d\xe9but peut cr\xe9er un chevauchement avec le lap en cours.":"This task has recorded laps. Changing the start time may create overlap with the running lap.":"",ar=(0,v.T)(ez,eC,t,T),ai=null!==eR?eL[eR]?.start??"":"",as=null!==eR?eL[eR]?.end??"":"",al=(0,r.useMemo)(()=>{if(null===eR)return"";let a=ai.trim(),n=as.trim();if(!a||!n)return"";let r=Date.parse(a),i=Date.parse(n);if(!Number.isFinite(r)||!Number.isFinite(i))return"";let s=Array.isArray(e.taskTimerLaps)?e.taskTimerLaps:[];if(eR>0){let e=s[eR-1],a="string"==typeof e?.endTime?Date.parse(e.endTime):NaN;if(Number.isFinite(a)&&r<a)return"fr"===t?`Le d\xe9but chevauche le lap #${eR} (fin \xe0 ${new Date(a).toLocaleTimeString()})`:`Start overlaps lap #${eR} (ends at ${new Date(a).toLocaleTimeString()})`}if(eR<s.length-1){let e=s[eR+1],a="string"==typeof e?.startTime?Date.parse(e.startTime):NaN;if(Number.isFinite(a)&&i>a)return"fr"===t?`La fin chevauche le lap #${eR+2} (d\xe9but \xe0 ${new Date(a).toLocaleTimeString()})`:`End overlaps lap #${eR+2} (starts at ${new Date(a).toLocaleTimeString()})`}return""},[eR,ai,as,e.taskTimerLaps,t]),ao=null!==eR&&(0,g.t6)(ai,as,eW,eO,eK,{requireEnd:!0})&&!al,ad=[tG?`${I.archiveTaskStartLabel} ${tG}`:"",tY?`${I.archiveTaskEndLabel} ${tY}`:"",tX?`${I.taskTimingDurationLabel} ${tX}`:""].filter(Boolean).join(", "),ac="string"==typeof e.scheduledEndAt&&""!==e.scheduledEndAt.trim()?Date.parse(e.scheduledEndAt):NaN,au=Number.isFinite(ac)?ac-tu:NaN;(0,r.useEffect)(()=>{ef(!1)},[e.id]),(0,r.useEffect)(()=>{if("string"!=typeof tV||""===tV.trim()||tR)return;let e=globalThis.setInterval(()=>{tm(Date.now())},1e3);return()=>globalThis.clearInterval(e)},[tV,tR,e.id]),(0,r.useEffect)(()=>{if(!tW||!Number.isFinite(t5))return;let e=globalThis.setInterval(()=>{tx(Date.now())},1e3);return()=>globalThis.clearInterval(e)},[tW,t5,e.id]),(0,r.useEffect)(()=>{ej("string"==typeof e.note?e.note:"")},[e.id,e.note]),(0,r.useEffect)(()=>{if(!tR){to.current=!1;return}if(to.current)return;let t="string"==typeof e.endTime?Date.parse(e.endTime):NaN;if(!Number.isFinite(t)||Math.abs(Date.now()-t)>2600)return;to.current=!0,tc(!0);let a=globalThis.setTimeout(()=>tc(!1),750);return()=>globalThis.clearTimeout(a)},[e.id,tR,e.endTime]),(0,r.useEffect)(()=>{let t="string"==typeof e.startTime?e.startTime.trim():"",a=t?new Date(t):null;!a||Number.isNaN(a.getTime())?eN(""):eN((0,U.Pw)(a))},[e.id,e.startTime]),(0,r.useEffect)(()=>{let t="string"==typeof e.endTime&&""!==e.endTime.trim()?e.endTime.trim():"string"==typeof e.scheduledEndAt?e.scheduledEndAt.trim():"",a=t?new Date(t):null;!a||Number.isNaN(a.getTime())?eD(""):eD((0,U.Pw)(a))},[e.id,e.endTime,e.scheduledEndAt]),(0,r.useEffect)(()=>{e$((Array.isArray(e.taskTimerLaps)?e.taskTimerLaps:[]).map(e=>{let t="string"==typeof e?.startTime?Date.parse(e.startTime):NaN,a="string"==typeof e?.endTime?Date.parse(e.endTime):NaN;return{start:Number.isFinite(t)?(0,U.Pw)(new Date(t)):"",end:Number.isFinite(a)?(0,U.Pw)(new Date(a)):""}}))},[e.id,e.taskTimerLaps]),(0,r.useEffect)(()=>{eT(null)},[e.id,e.durationMs]),(0,r.useEffect)(()=>{eP(null)},[e.id,e.durationMs,e.endTime]),(0,r.useEffect)(()=>{let t=Math.max(0,Math.floor((e.durationMs??0)/1e3));t>=3600&&(t=60*Math.floor(t/60));let a=Math.floor(t/3600),n=Math.floor(t%3600/60),r=t%60;e7(String(a)),tt(String(n)),tn(String(r))},[e.id,e.durationMs]),(0,r.useEffect)(()=>{let t=ez.trim()?new Date(ez).getTime():NaN,a=eC.trim()?new Date(eC).getTime():NaN;if(!Number.isFinite(t)||!Number.isFinite(a)||a<=t)return;let n=a-t,r=tR&&"number"==typeof e.durationMs?Math.min(Math.max(0,e.durationMs),n):n,i=(0,g.hE)(r/1e3);eY(i.h),eX(i.m),eJ(i.s)},[ez,eC,tR,e.durationMs,e.id]),(0,r.useEffect)(()=>{if(!tH||!el||eo)return void eS(null);let t=(Array.isArray(e.taskTimerLaps)?e.taskTimerLaps:[]).reduce((e,t)=>e+Math.max(0,t.durationMs??0),0),a=t>0?t:Math.max(0,e.durationMs??0),n="string"==typeof e.activeSubtaskTimerId&&""!==e.activeSubtaskTimerId.trim()?e.subtaskTimerStartedAt:e.mainTimerSegmentStartedAt,r="string"==typeof n?Date.parse(n):"number"==typeof n&&Number.isFinite(n)?n:NaN;if(!Number.isFinite(r))return void eS(null);let i="string"==typeof e.startTime?e.startTime.trim():"",s=i?Date.parse(i):NaN,l=Number.isFinite(s)&&r<s?s:r,o=Math.max(0,Date.now()-l);Number.isFinite(s)&&l<=s+2e3?eS(a+Math.min(o,2e3)):eS(a+o)},[el,tH,e.durationMs,e.startTime,e.activeSubtaskTimerId,e.subtaskTimerStartedAt,e.mainTimerSegmentStartedAt,e.id,e.taskTimerLaps,eo]),(0,r.useEffect)(()=>{if(ek&&ts.current){let e=ts.current;e.focus();let t=e.value.length;e.setSelectionRange(t,t)}},[ek]);let am=(0,r.useCallback)(()=>{ev(tB),ef(!0)},[tB]),ab=(0,r.useCallback)(()=>{let t=eg.trim();if(ef(!1),""===t||t===tB)return;let a=/[@!]/.test(t),n=(0,h.H_)(t),r=(0,h.hk)(t,tE),i=a?(0,h.jM)(t):void 0,s=a?(0,h.v8)(t):void 0,l=void 0!==i?i:e.project??null,o=(0,h.Ds)(r,l),d=n.name.trim();if(d||(d=a&&n.project&&tB.trim()?tB.trim():(0,h.xm)(t,o,l??void 0)),!d.trim()&&0===o.length&&!l)return;let c={type:"updateTask",taskId:e.id,name:d,tags:o};C&&(c.sessionId=C),void 0!==i&&(c.project=i),void 0!==s&&(c.personalProject=s),A(c)},[eg,tB,e.id,e.project,tE,C,A]),ax=(0,r.useCallback)(()=>{tl.current=!0,ev(tB),ef(!1)},[tB]),ap=(0,r.useCallback)(()=>{A({type:"finishTask",taskId:e.id})},[A,e.id]),ah=(0,r.useCallback)(t=>{let a={type:"updateTask",taskId:e.id,name:e.name,tags:e.tags??[],ganttColor:t};void 0!==e.project&&(a.project=e.project),!0===e.personalProject&&(a.personalProject=!0),C&&(a.sessionId=C),A(a)},[C,A,e.id,e.name,e.personalProject,e.project,e.tags]),ak=(0,r.useCallback)(()=>{if(tR)return;let t=e.subtasks;if((Array.isArray(t)?t.filter(e=>!e.done).length:0)>0&&!function(){try{return globalThis.localStorage?.getItem(Q)==="1"}catch{return!1}}()){eh(!1),ex(!0);return}ap()},[tR,e.subtasks,ap]),af=(0,r.useCallback)(()=>{let t=Math.max(0,Math.floor(e.durationMs??0)),a=Math.floor(t/36e5),n=Math.floor(t%36e5/6e4),r=Math.floor(t%6e4/1e3);tv(String(a)),tj(String(n)),tN(String(r))},[e.durationMs]),ag=(0,r.useCallback)(async t=>{let a={type:"reopenTask",taskId:e.id,timerMode:tk,parallelTimer:t};"manual"===tk&&(a.manualDurationMs=(3600*Math.max(0,Math.floor(Number(tg)||0))+60*Math.max(0,Math.floor(Number(ty)||0))+Math.max(0,Math.floor(Number(tz)||0)))*1e3),C&&(a.sessionId=C),th(!1),tT(!1),await A(a)},[C,A,tg,ty,tz,tk,e.id]),av=(0,r.useCallback)(async(e,t)=>{t&&K.n.getState().setConcurrentTaskStartPreference(e),tT(!1),tS(!1);try{if("parallel"!==e)for(let t of t$){let a={taskId:t};C&&(a.sessionId=C),"pause"===e?await A({...a,type:"setTaskTimerPaused",paused:!0}):await A({...a,type:"finishTask"})}await ag("parallel"===e)}finally{th(!1)}},[ag,C,t$,A]),ay=(0,r.useCallback)(()=>{if("resume"===tk&&tL&&t$.length>0){let e=K.n.getState().concurrentTaskStartPreference;return(th(!1),"pause"===e)?void av("pause",!1):"finish"===e?void av("finish",!1):"parallel"===e?void av("parallel",!1):(tS(!1),void tT(!0))}ag(!1)},[tL,ag,t$.length,tk,av]),aj=(0,r.useCallback)(()=>{tf("paused"),af(),th(!0)},[af]),az=(0,n.jsx)("button",{type:"button",className:w.XO,title:I.reopenTaskBtn,"aria-label":I.reopenTaskBtn,onClick:aj,children:(0,n.jsx)(i.A,{size:14})}),aN=(0,r.useCallback)(e=>{eN(e)},[]),aw=(0,r.useCallback)(e=>{e0.current=!0,eD(e)},[]);(0,r.useEffect)(()=>{if(tR)return;if(e0.current){e0.current=!1;return}let t=ez.trim();if(!t)return;let a=Date.parse(t);if(!Number.isFinite(a)||("string"!=typeof e.endTime||""===e.endTime.trim())&&("string"!=typeof e.scheduledEndAt||""===e.scheduledEndAt.trim()))return;let n=(0,X.QF)(a,ed);eD((0,U.Pw)(new Date(n)))},[tR,ed,ez,e.endTime,e.scheduledEndAt]);let aT=(0,r.useCallback)(async(t,a,n)=>{let r="string"==typeof e.scheduledEndAt&&""!==e.scheduledEndAt.trim()||"string"==typeof e.endTime&&""!==e.endTime.trim(),i={type:"setTaskStartTime",taskId:e.id,startTime:t,durationAdjustMode:r?"from_bounds":"keep"};n?.lapAdjustMode&&(i.lapAdjustMode=n.lapAdjustMode),C&&(i.sessionId=C),tH&&eT(Math.max(0,Date.now()-a)),await A(i)},[C,tR,A,tH,e.endTime,e.id,e.scheduledEndAt,ed]),aM=(0,r.useCallback)(async()=>{if(!aa)return;let t=new Date(ez).getTime(),a=""!==eC.trim(),n=a?new Date(eC).getTime():NaN,r=a?(0,g.ir)(eV,eZ,eQ):0,i=new Date(t).toISOString(),s=a?new Date(n).toISOString():"",l="string"==typeof e.startTime?e.startTime.trim():"",o="string"==typeof e.endTime&&""!==e.endTime.trim()?e.endTime.trim():"string"==typeof e.scheduledEndAt?e.scheduledEndAt.trim():"",d=t6&&i!==l,c=t9&&a&&s!==o;if(tR){if(d){let t={type:"setTaskStartTime",taskId:e.id,startTime:i,durationAdjustMode:"manual",manualDurationMs:r};C&&(t.sessionId=C),await A(t)}if(a&&(c||!d&&r!==(e.durationMs??0))){let t={type:"setTaskEndTime",taskId:e.id,endTime:s,durationAdjustMode:"manual",manualDurationMs:r};C&&(t.sessionId=C),await A(t),eP(r/6e4)}return}if(d&&await aT(i,t),c&&a){let a=r!==n-t,i={type:"setTaskEndTime",taskId:e.id,endTime:s,durationAdjustMode:a?"manual":"from_bounds"};a&&(i.manualDurationMs=r),C&&(i.sessionId=C),await A(i)}},[t9,t6,C,tR,A,aT,e.durationMs,e.endTime,e.id,e.scheduledEndAt,e.startTime,eC,ez,aa,eV,eZ,eQ]),aS=(0,r.useCallback)((e,t,a)=>{e$(n=>{let r=[...n];return r[e]?(r[e]={...r[e],[t]:a},r):n})},[]),aC=(0,r.useCallback)(t=>{if(!t8)return;let a=(Array.isArray(e.taskTimerLaps)?e.taskTimerLaps:[])[t],n=eL[t];if(!a||!n)return;let r=Date.parse(n.start),i=Date.parse(n.end);if(!Number.isFinite(r)||!Number.isFinite(i))return;let s=new Date(r).toISOString(),l=new Date(i).toISOString(),o="string"==typeof a.startTime?a.startTime.trim():"",d="string"==typeof a.endTime?a.endTime.trim():"";if(s===o&&l===d)return;let c={type:"setTaskTimerLap",taskId:e.id,lapIndex:t,startTime:s,endTime:l};C&&(c.sessionId=C),A(c)},[t8,C,eL,A,e.id,e.taskTimerLaps]),aD=(0,r.useCallback)(e=>{null!==eR&&aS(eR,"start",e)},[eR,aS]),aL=(0,r.useCallback)(e=>{null!==eR&&(eG.current=!0,aS(eR,"end",e))},[eR,aS]);(0,r.useEffect)(()=>{if(null===eR)return;let e=ai.trim()?new Date(ai).getTime():NaN,t=as.trim()?new Date(as).getTime():NaN;if(!Number.isFinite(e)||!Number.isFinite(t)||t<=e)return;let a=(0,g.hE)((t-e)/1e3);eH(a.h),eq(a.m),eU(a.s)},[as,ai,eR]),(0,r.useEffect)(()=>{if(null===eR)return;let e=as.trim(),t=ai.trim();if(!t||e)return;if(eG.current){eG.current=!1;return}let a=Date.parse(t);if(!Number.isFinite(a))return;let n=(0,X.QF)(a,ed);aS(eR,"end",(0,U.Pw)(new Date(n)))},[ai,as,eR,ed,aS]);let a$=(0,r.useCallback)(()=>{null===eR||ao&&aC(eR)},[aC,ao,eR]),aE=(0,r.useCallback)(()=>{if(null===eE)return;let t={type:"deleteTaskTimerLap",taskId:e.id,lapIndex:eE};C&&(t.sessionId=C),A(t),eA(null)},[eE,C,A,e.id]),aA=(0,r.useCallback)(()=>{if(!tr)return void e5(!1);if("start"===tr.kind){aT(tr.nextIso,tr.startMs,{lapAdjustMode:tr.needsLapAdjust?e6:void 0}),e5(!1),ti(null);return}let t={type:"setTaskEndTime",taskId:e.id,durationAdjustMode:e2,endTime:tr.nextIso};"manual"===e2&&(t.manualDurationMs=(3600*Math.max(0,Math.floor(Number(e8)||0))+60*Math.max(0,Math.floor(Number(te)||0))+Math.max(0,Math.floor(Number(ta)||0)))*1e3),C&&(t.sessionId=C),"from_bounds"===e2&&null!==tr.endMs&&eP((tr.endMs-tr.startMs)/6e4),e5(!1),ti(null),A(t)},[C,e8,te,ta,tr,A,aT,e2,e6]),aI="string"==typeof e.startTime?Date.parse(e.startTime):NaN,aP="string"==typeof tV?Date.parse(tV):NaN,aF=null!==tY&&Number.isFinite(aI)&&Number.isFinite(aP)&&aP>aI,aB=aF?tR?100:Math.min(100,Math.max(0,(tu-aI)/(aP-aI)*100)):0,aR="fr"===t?`Progression vers la fin : ${Math.round(aB)} %`:`Progress toward end: ${Math.round(aB)}%`,a_="rounded-xl border border-zinc-200/90 bg-white p-5 shadow-sm shadow-zinc-900/5 dark:border-zinc-800 dark:bg-black/20 dark:shadow-none sm:p-6",aW=Y?`scroll-mt-24 ${a_}`:a_,aH=eo?"plain"===et?"text-sky-900 dark:text-sky-100":"text-sky-950 dark:text-sky-50":tR?"plain"===et?"text-zinc-500 line-through decoration-zinc-400/[0.35] decoration-[1.5px] dark:text-zinc-400 dark:decoration-zinc-500/[0.35]":"text-zinc-500 line-through decoration-zinc-400/[0.35] decoration-[1.5px] dark:text-zinc-300 dark:decoration-zinc-500/[0.35]":"plain"===et?"text-zinc-900 dark:text-zinc-100":"text-zinc-950 dark:text-zinc-50",aO=H?w._L:w.VY,aq=H?I.taskAlreadyTemplateBtn:I.taskSaveTemplateBtn,aK=()=>{let t={type:"updateTask",taskId:e.id,name:e.name,tags:e.tags??[],project:null,personalProject:!1};C&&(t.sessionId=C),A(t)},aU=tA?(0,n.jsxs)("span",{role:"button",tabIndex:0,className:`${tI?w.t:w.W1} max-w-full`,title:(0,h.Bf)(tA,{personal:tI}),onClick:aK,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),aK())},children:[(0,n.jsx)("span",{className:w.Yu,children:(0,h.Bf)(tA,{personal:tI})}),(0,n.jsx)("span",{className:"pointer-events-none shrink-0 text-[0.625rem] leading-none font-normal text-zinc-400 dark:text-zinc-500",children:"\xd7"})]}):null,aG=tE.length>0?(0,n.jsx)(k.Z,{variant:"applied",differentiateProjectScopedTags:!0,className:"flex min-w-0 max-w-full flex-wrap items-center justify-end gap-x-1.5 gap-y-1.5",tags:tE,defaultTagBucketLabel:I.taskTagDefaultBucket,taskProject:e.project??null,taskPersonalProject:!0===e.personalProject,onRemove:t=>{let a=tE.filter(e=>(0,h.$U)(e)!==(0,h.$U)(t)),n=(0,h.Ds)(a,e.project??null),r={type:"updateTask",taskId:e.id,name:e.name,tags:n};void 0!==e.project&&(r.project=e.project),!0===e.personalProject&&(r.personalProject=!0),C&&(r.sessionId=C),A(r)}}):null,aV=er&&S?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(Z,{value:e.ganttColor,onChange:ah,t:I,size:"compact"}),(0,n.jsx)("button",{type:"button",className:w.VY,title:I.taskDuplicateTooltip,"aria-label":I.taskDuplicateBtn,onClick:()=>_(e),children:(0,n.jsx)(s.A,{size:14})}),W?(0,n.jsx)("button",{type:"button",className:aO,title:aq,"aria-label":aq,onClick:()=>W(e),children:H?(0,n.jsx)(l.A,{size:14}):(0,n.jsx)(o.A,{size:14})}):null,tR?az:null,(0,n.jsx)("button",{type:"button",className:w.Pe,title:I.taskDeleteBtn,"aria-label":I.taskDeleteBtn,onClick:()=>P(e.id),children:(0,n.jsx)(d.A,{size:14})})]}):null,aY=er&&!S?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(Z,{value:e.ganttColor,onChange:ah,t:I,size:"compact"}),!tR&&B?(0,n.jsx)("button",{type:"button",className:`${w.Vd} ${F?"border-violet-500/55 bg-violet-100 dark:border-violet-500/55 dark:bg-violet-950/45":""}`,title:I.startKronoFocusFromActiveTask,"aria-label":I.startKronoFocusFromActiveTask,onClick:()=>void R(),children:(0,n.jsx)(c.A,{size:14})}):null,tR?az:null===G?(0,n.jsx)("span",{className:"inline-flex h-[1.875rem] w-[1.875rem] shrink-0","aria-hidden":!0}):(0,n.jsx)("button",{type:"button",className:w.VY,title:"pause"===G?I.pauseTaskBtn:I.resumeTaskBtn,"aria-label":"pause"===G?I.pauseTaskBtn:I.resumeTaskBtn,onClick:V,children:"pause"===G?(0,n.jsx)(u.A,{size:14}):(0,n.jsx)(m.A,{size:14,className:"ml-px"})}),tR?null:(0,n.jsx)("button",{type:"button",className:w.kY,title:I.finishTaskBtn,"aria-label":I.finishTaskBtn,onClick:()=>ak(),children:(0,n.jsx)(b.A,{size:14})}),(0,n.jsx)("button",{type:"button",className:w.VY,title:I.taskDuplicateTooltip,"aria-label":I.taskDuplicateBtn,onClick:()=>_(e),children:(0,n.jsx)(s.A,{size:14})}),W?(0,n.jsx)("button",{type:"button",className:aO,title:aq,"aria-label":aq,onClick:()=>W(e),children:H?(0,n.jsx)(l.A,{size:14}):(0,n.jsx)(o.A,{size:14})}):null,(0,n.jsx)("button",{type:"button",className:w.Pe,title:I.taskDeleteBtn,"aria-label":I.taskDeleteBtn,onClick:()=>P(e.id),children:(0,n.jsx)(d.A,{size:14})})]}):null,aZ=aU||aV||aY?(0,n.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-1.5",children:[aU,aV,aY]}):null,aX=!!(aZ||aG),aQ=(0,n.jsxs)("div",{className:"flex min-w-0 items-start justify-between gap-4",children:[(0,n.jsx)("div",{className:"min-w-0 shrink-0 self-center",children:tU}),aX?(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col items-end gap-1.5",children:[aZ,aG]}):null]});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{id:Y,className:[aW,eo?"border-sky-400/85 bg-sky-50/80 dark:border-sky-500/55 dark:bg-sky-950/35":"",tW&&!eo?"kronosys-task-running-pulse":"",t_?"kronosys-task-paused-blink":"",td?"kronosys-task-finish-celebrate":""].filter(Boolean).join(" "),children:(0,n.jsxs)("div",{className:"flex min-w-0 flex-col gap-2.5",children:[aQ,tR&&t0.length>0?(()=>{let a="string"==typeof e.startTime?Date.parse(e.startTime):NaN,r="string"==typeof e.endTime?Date.parse(e.endTime):NaN,i="";if(Number.isFinite(a)&&Number.isFinite(r)&&r>a){let e=t0.reduce((e,t)=>e+("number"==typeof t.durationMs?Math.max(0,Math.floor(t.durationMs)):0),0),n=Math.floor(r-a);if(e>n){let a=(0,h.a3)(Math.round((e-n)/6e4));i="fr"===t?`Laps (${(0,h.a3)(Math.round(e/6e4))}) d\xe9passent la plage ${(0,h.a3)(Math.round(n/6e4))} de ${a}`:`Laps (${(0,h.a3)(Math.round(e/6e4))}) exceed bounds ${(0,h.a3)(Math.round(n/6e4))} by ${a}`}if(!i&&t0.length>0){let e=t0[t0.length-1],a="string"==typeof e.endTime?Date.parse(e.endTime):NaN;Number.isFinite(a)&&Math.abs(a-r)>6e4&&(i="fr"===t?`Dernier lap finit \xe0 ${(0,x._)(new Date(a).toISOString(),t)} au lieu de ${(0,x._)(new Date(r).toISOString(),t)}`:`Last lap ends at ${(0,x._)(new Date(a).toISOString(),t)} instead of ${(0,x._)(new Date(r).toISOString(),t)}`)}if(!i&&t0.length>1)for(let e=1;e<t0.length;e++){let a=t0[e-1],n=t0[e],r="string"==typeof a.endTime?Date.parse(a.endTime):NaN,s="string"==typeof n.startTime?Date.parse(n.startTime):NaN;if(Number.isFinite(r)&&Number.isFinite(s)&&s<r){i="fr"===t?`Lap #${e} et #${e+1} se chevauchent`:`Lap #${e} and #${e+1} overlap`;break}}}return i?(0,n.jsxs)("div",{className:"flex items-center gap-1.5 rounded-md border border-amber-300/70 bg-amber-50/90 px-2 py-1 dark:border-amber-700/60 dark:bg-amber-950/40",children:[(0,n.jsx)("span",{className:"size-1.5 rounded-full bg-amber-500 animate-pulse shrink-0","aria-hidden":!0}),(0,n.jsx)("span",{className:"text-[0.6rem] font-medium text-amber-800 dark:text-amber-200",children:i})]}):null})():null,(0,n.jsx)("div",{className:`flex min-h-10 min-w-0 flex-col justify-center bg-transparent ${"plain"===et?"border-b border-zinc-300 dark:border-zinc-600":"border-b border-zinc-300 bg-transparent dark:border-zinc-600"}`,children:ek?(0,n.jsx)(f.V,{inputRef:ts,type:"text",commitOnEnter:!0,className:w.zo,value:eg,onChange:ev,knownTags:D,knownProjects:L,knownPersonalProjects:E,usageTasks:[e],t:I,onBlur:()=>{if(tl.current){tl.current=!1;return}ab()},onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),tl.current=!0,ab()),"Escape"===e.key&&(e.preventDefault(),ax())},"aria-label":I.activeTaskTitleInputAria}):(0,n.jsx)("div",{role:"button",tabIndex:0,className:`flex h-full min-h-10 min-w-0 flex-1 cursor-pointer items-center rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-zinc-500/40 ${"plain"===et?"hover:bg-zinc-200/60 dark:hover:bg-zinc-800/40":"hover:bg-zinc-200/70 dark:hover:bg-zinc-800/40"}`,onClick:()=>am(),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),am())},title:I.activeTaskTitleEditHint,"aria-label":I.activeTaskTitleEditHint,children:(0,n.jsx)("div",{className:`flex h-full min-h-0 min-w-0 flex-1 flex-wrap items-center overflow-x-auto overflow-y-hidden ${w.O6} ${aH}`,children:tF.trim()?(0,n.jsx)(z.E,{source:tF,variant:"inline"}):(0,n.jsx)("span",{children:tP||"—"})})})}),t3?(0,n.jsxs)("div",{className:"space-y-1.5","aria-label":ad||void 0,children:[(0,n.jsx)(j._,{label:ar,fallbackLabel:I.pastTaskTimingEditBtn,rangeValid:ae,durationValid:""===eC.trim()?ae:at,ariaLabel:I.pastTaskTimingSummaryAria,disabled:!t7,onClick:()=>{t7&&eB(!0)}}),aF?(0,n.jsx)("div",{className:"flex min-w-0 w-full max-w-full items-center",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(aB),"aria-label":aR,children:(0,n.jsx)("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-zinc-200/90 dark:bg-zinc-700/80",children:(0,n.jsx)("div",{className:`h-full rounded-full bg-emerald-500/80 transition-[width] duration-1000 ease-linear dark:bg-emerald-400/75 ${Number.isFinite(au)&&au>0&&au<=3e5?"kronosys-end-time-alert-fast":Number.isFinite(au)&&au>0&&au<=9e5?"kronosys-end-time-alert-slow":""}`,style:{width:`${aB}%`}})})}):null]}):null,t4.length>0?(0,n.jsxs)("div",{className:"space-y-2.5 border-t border-zinc-200/80 pt-3 dark:border-zinc-700/70",children:[(0,n.jsx)("div",{className:"text-[0.65rem] font-semibold uppercase tracking-wide text-zinc-500 dark:text-zinc-400",children:I.taskTimerLapsHeading}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[t0.map(e=>{let a=eL[e.lapIndex],r=(0,v.T)(a?.start??"",a?.end??"",t,T)??(e.startLabel&&e.endLabel?`${e.startLabel} → ${e.endLabel}`:null),i=(0,g.L)(a?.start??"",a?.end??"",{requireEnd:!0});return(0,n.jsxs)("div",{className:"flex min-w-0 items-center gap-2 text-[0.72rem] leading-tight text-zinc-700 dark:text-zinc-300",children:[(0,n.jsxs)("span",{className:"w-6 shrink-0 tabular-nums font-semibold text-zinc-500 dark:text-zinc-400",children:["#",e.index]}),(0,n.jsx)(j._,{className:"min-w-0 flex-1 text-xs",label:r,fallbackLabel:I.pastTaskTimingEditBtn,rangeValid:i,durationValid:i,ariaLabel:`${I.pastTaskTimingSummaryAria} #${e.index}`,disabled:!t8,onClick:()=>{t8&&e_(e.lapIndex)}}),(0,n.jsx)("span",{className:"shrink-0 tabular-nums font-medium text-zinc-900 dark:text-zinc-100",children:e.durationLabel}),t8?(0,n.jsx)("button",{type:"button",className:w.Pe,title:I.taskTimerLapDeleteBtn,"aria-label":I.taskTimerLapDeleteBtn,onClick:()=>eA(e.lapIndex),children:(0,n.jsx)(d.A,{size:14})}):null]},e.id)}),t2?(0,n.jsxs)("div",{className:"flex min-w-0 items-center gap-2 text-[0.72rem] leading-tight text-zinc-700 dark:text-zinc-300",children:[(0,n.jsxs)("span",{className:"w-6 shrink-0 tabular-nums font-semibold text-zinc-500 dark:text-zinc-400",children:["#",t2.index]}),(0,n.jsx)(j._,{className:"min-w-0 flex-1 text-xs",label:t2.startLabel?`${t2.startLabel} → ${t2.endLabel}`:null,fallbackLabel:I.pastTaskTimingEditBtn,rangeValid:!0,durationValid:!0,ariaLabel:`${I.pastTaskTimingSummaryAria} #${t2.index}`,disabled:!0,onClick:()=>{}}),(0,n.jsx)("span",{className:"shrink-0 tabular-nums font-medium text-emerald-700 dark:text-emerald-400",children:t2.durationLabel})]}):null]})]}):null,(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)(N.a,{t:I,resetKey:e.id,value:ey,onChange:ej,onCommit:()=>{if(ey===("string"==typeof e.note?e.note:""))return;let t={type:"updateTask",taskId:e.id,note:ey};C&&(t.sessionId=C),A(t)}}),(0,n.jsx)(O,{taskId:e.id,sessionId:C,subtasks:e.subtasks,enableSubtaskTimer:!S&&!tR,activeSubtaskTimerId:e.activeSubtaskTimerId,allowAddSubtasks:ei&&!tR,subtasksReadOnly:tR,t:I,post:A})]})]})}),(0,n.jsx)(y.v,{open:eF,onClose:()=>eB(!1),onConfirm:()=>{aM()},lang:t,t:I,calendarWeekStartsOn:M,pastStartLocal:ez,onPastStartChange:aN,pastEndLocal:eC,onPastEndChange:aw,pastManualHours:eV,onPastManualHoursChange:eY,pastManualMinutes:eZ,onPastManualMinutesChange:eX,pastManualSeconds:eQ,onPastManualSecondsChange:eJ,canConfirm:aa,lapTimingConflictMessage:an||void 0}),(0,n.jsx)(y.v,{open:null!==eR,onClose:()=>e_(null),onConfirm:a$,lang:t,t:I,calendarWeekStartsOn:M,pastStartLocal:ai,onPastStartChange:aD,pastEndLocal:as,onPastEndChange:aL,pastManualHours:eW,onPastManualHoursChange:eH,pastManualMinutes:eO,onPastManualMinutesChange:eq,pastManualSeconds:eK,onPastManualSecondsChange:eU,canConfirm:ao,lapTimingConflictMessage:al||void 0}),(0,n.jsx)(q.qR,{open:null!==eE,title:I.taskTimerLapDeleteConfirmTitle,message:I.taskTimerLapDeleteConfirmMessage,cancelLabel:I.dialogCancelBtn,confirmLabel:I.taskTimerLapDeleteBtn,onCancel:()=>eA(null),onConfirm:aE}),(0,n.jsx)(q.qR,{open:eb,title:I.finishTaskOpenSubtasksWarnTitle,message:I.finishTaskOpenSubtasksWarnBody,cancelLabel:I.dialogCancelBtn,confirmLabel:I.finishTaskBtn,dismissCheckbox:{label:I.sessionArchiveDontShowAgain,checked:ep,onChange:eh},onCancel:()=>{ex(!1),eh(!1)},onConfirm:()=>{ep&&function(){try{globalThis.localStorage?.setItem(Q,"1")}catch{}}(),ex(!1),ap()}}),(0,n.jsx)(q.qR,{open:e1,title:I.taskTimingAdjustModalTitle,message:tr?.kind==="start"&&tr.needsLapAdjust?I.taskTimingAdjustModalMessageRunning:I.taskTimingAdjustModalMessage,cancelLabel:I.dialogCancelBtn,confirmLabel:I.dialogConfirmBtn,onCancel:()=>{e5(!1),ti(null)},onConfirm:aA,extra:(0,n.jsxs)("div",{className:"space-y-3 text-sm",children:[tr?.kind==="start"&&tr.needsLapAdjust?(0,n.jsxs)("div",{className:"space-y-2 rounded-lg border border-zinc-200 bg-zinc-50/90 p-3 dark:border-zinc-700 dark:bg-zinc-900/60",children:[(0,n.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wide text-zinc-600 dark:text-zinc-400",children:I.taskTimingAdjustLapSectionTitle.replace("{n}",String(tr.runningLapIndex))}),(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-lap-adjust-${e3}`,checked:"keep"===e6,onChange:()=>e9("keep")}),(0,n.jsx)("span",{children:I.taskTimingAdjustLapKeep})]}),(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-lap-adjust-${e3}`,checked:"flush"===e6,onChange:()=>e9("flush")}),(0,n.jsx)("span",{children:I.taskTimingAdjustLapFlush})]}),(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-lap-adjust-${e3}`,checked:"align_start"===e6,onChange:()=>e9("align_start")}),(0,n.jsx)("span",{children:I.taskTimingAdjustLapAlignStart})]})]}):null,tr?.kind==="end"?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wide text-zinc-600 dark:text-zinc-400",children:I.taskTimingDurationLabel}),(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-timing-adjust-mode-${em}`,checked:"keep"===e2,onChange:()=>e4("keep")}),(0,n.jsx)("span",{children:I.taskTimingAdjustKeepDuration})]}),(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-timing-adjust-mode-${em}`,checked:"manual"===e2,onChange:()=>e4("manual")}),(0,n.jsx)("span",{children:I.taskTimingAdjustManualDuration})]}),"manual"===e2?(0,n.jsxs)("div",{className:"grid grid-cols-3 gap-2",children:[(0,n.jsxs)("label",{className:"text-xs",children:[I.taskTimingAdjustHours,(0,n.jsx)("input",{type:"number",min:0,value:e8,onChange:e=>e7(e.target.value),className:"mt-1 w-full rounded border border-zinc-300 px-2 py-1 dark:border-zinc-600 dark:bg-zinc-900"})]}),(0,n.jsxs)("label",{className:"text-xs",children:[I.taskTimingAdjustMinutes,(0,n.jsx)("input",{type:"number",min:0,max:59,value:te,onChange:e=>tt(e.target.value),className:"mt-1 w-full rounded border border-zinc-300 px-2 py-1 dark:border-zinc-600 dark:bg-zinc-900"})]}),(0,n.jsxs)("label",{className:"text-xs",children:[I.taskTimingAdjustSeconds,(0,n.jsx)("input",{type:"number",min:0,max:59,value:ta,onChange:e=>tn(e.target.value),className:"mt-1 w-full rounded border border-zinc-300 px-2 py-1 dark:border-zinc-600 dark:bg-zinc-900"})]})]}):null,(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-timing-adjust-mode-${em}`,checked:"from_bounds"===e2,onChange:()=>e4("from_bounds"),disabled:tr?.endMs===null}),(0,n.jsx)("span",{children:I.taskTimingAdjustFromBounds})]})]}):null]})}),(0,n.jsx)(q.qR,{open:tp,title:I.reopenTaskModalTitle,message:I.reopenTaskModalMessage,cancelLabel:I.dialogCancelBtn,confirmLabel:I.reopenTaskBtn,onCancel:()=>th(!1),onConfirm:ay,extra:(0,n.jsxs)("div",{className:"space-y-3 text-sm",children:[tL?null:(0,n.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:I.reopenTaskEndedSessionHint}),tL?(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-reopen-mode-${tD}`,checked:"resume"===tk,onChange:()=>tf("resume")}),(0,n.jsx)("span",{children:I.reopenTaskTimerResume})]}):null,(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-reopen-mode-${tD}`,checked:"paused"===tk,onChange:()=>tf("paused")}),(0,n.jsx)("span",{children:I.reopenTaskTimerPaused})]}),(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-reopen-mode-${tD}`,checked:"manual"===tk,onChange:()=>tf("manual")}),(0,n.jsx)("span",{children:I.reopenTaskTimerManual})]}),"manual"===tk?(0,n.jsxs)("div",{className:"grid grid-cols-3 gap-2",children:[(0,n.jsxs)("label",{className:"text-xs",children:[I.taskTimingAdjustHours,(0,n.jsx)("input",{type:"number",min:0,value:tg,onChange:e=>tv(e.target.value),className:"mt-1 w-full rounded border border-zinc-300 px-2 py-1 dark:border-zinc-600 dark:bg-zinc-900"})]}),(0,n.jsxs)("label",{className:"text-xs",children:[I.taskTimingAdjustMinutes,(0,n.jsx)("input",{type:"number",min:0,max:59,value:ty,onChange:e=>tj(e.target.value),className:"mt-1 w-full rounded border border-zinc-300 px-2 py-1 dark:border-zinc-600 dark:bg-zinc-900"})]}),(0,n.jsxs)("label",{className:"text-xs",children:[I.taskTimingAdjustSeconds,(0,n.jsx)("input",{type:"number",min:0,max:59,value:tz,onChange:e=>tN(e.target.value),className:"mt-1 w-full rounded border border-zinc-300 px-2 py-1 dark:border-zinc-600 dark:bg-zinc-900"})]})]}):null,(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-reopen-mode-${tD}`,checked:"reset"===tk,onChange:()=>tf("reset")}),(0,n.jsx)("span",{children:I.reopenTaskTimerReset})]}),(0,n.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:I.reopenTaskSubtasksNote})]})}),(0,n.jsx)(q.NH,{open:tw,title:I.taskConcurrentTrackingConflictTitle,message:I.taskConcurrentTrackingConflictMessage,dismissLabel:I.dialogCancelBtn,tertiaryLabel:I.taskConcurrentTrackingConflictParallelBtn,secondaryLabel:I.taskConcurrentTrackingConflictPauseBtn,primaryLabel:I.taskConcurrentTrackingConflictFinishBtn,primaryVariant:"danger",dismissCheckbox:{label:I.taskConcurrentTrackingDontShowAgain,checked:tM,onChange:tS},onDismiss:()=>tT(!1),onTertiary:()=>void av("parallel",tC.current),onSecondary:()=>void av("pause",tC.current),onPrimary:()=>void av("finish",tC.current)})]})}},2047:(e,t,a)=>{function n(e){let t=e?.taskMinimumDurationMinutes;return Math.min(Math.max(Math.round("number"==typeof t&&Number.isFinite(t)?t:30),15),480)}function r(e){let t=new Date(e),a=t.getMinutes();return t.setMinutes(a<30?0:30,0,0),t}function i(e,t){return e+6e4*t}a.d(t,{QF:()=>i,SD:()=>r,rv:()=>n})},2194:(e,t,a)=>{a.d(t,{F7:()=>d,I2:()=>o,dM:()=>l});var n=a(5112);let r="dashboardCalendarWeekStartsOn",i={sunday:0,monday:1,saturday:6};function s(e){return"monday"===e||"sunday"===e||"saturday"===e}function l(e){let t=e?.[r];return s(t)?t:"sunday"}function o(e){let t=e?.[r];return s(t)?t:(0,n.EU)()}function d(e){return i[e]}},4747:(e,t,a)=>{a.d(t,{r:()=>l});var n=a(1934),r=a(9311);let i={dashboard:"kronosys.dashboard.tour.completed.v1",settings:"kronosys.settings.tour.completed.v1",reporting:"kronosys.reporting.tour.completed.v1"},s="kronosys.dashboard.tours.v2";!function(){if(window.localStorage.getItem(s))return;let e={},t=!1;for(let[a,n]of Object.entries(i))if("1"===window.localStorage.getItem(n)){e[a]=!0,t=!0;try{window.localStorage.removeItem(n)}catch{}}if(t)try{window.localStorage.setItem(s,JSON.stringify({state:e,version:0}))}catch{}}();let l=(0,n.v)()((0,r.Zr)(e=>({dashboard:!1,settings:!1,reporting:!1,markDashboardCompleted:()=>e({dashboard:!0}),markSettingsCompleted:()=>e({settings:!0}),markReportingCompleted:()=>e({reporting:!0}),resetDashboard:()=>e({dashboard:!1}),resetSettings:()=>e({settings:!1}),resetReporting:()=>e({reporting:!1})}),{name:s,partialize:e=>({dashboard:e.dashboard,settings:e.settings,reporting:e.reporting})}))},5172:(e,t,a)=>{a.d(t,{v:()=>c});var n=a(5155),r=a(2115),i=a(7650),s=a(9005),l=a(777),o=a(9474);function d({children:e}){return"u"<typeof document?null:(0,i.createPortal)(e,document.body)}function c({open:e,onClose:t,lang:a,t:i,calendarWeekStartsOn:u="sunday",pastStartLocal:m,onPastStartChange:b,pastEndLocal:x,onPastEndChange:p,pastManualHours:h,onPastManualHoursChange:k,pastManualMinutes:f,onPastManualMinutesChange:g,pastManualSeconds:v,onPastManualSecondsChange:y,canConfirm:j,onConfirm:z,lapTimingConflictMessage:N}){let w=(0,r.useId)();return((0,r.useEffect)(()=>{if(!e)return;let a=e=>{"Escape"===e.key&&t()};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[e,t]),(0,r.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=t}},[e]),e)?(0,n.jsx)(d,{children:(0,n.jsx)("div",{className:"fixed inset-0 z-[250] flex items-center justify-center bg-black/60 p-4",role:"presentation",onMouseDown:e=>{e.target===e.currentTarget&&t()},children:(0,n.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":w,className:"flex max-h-[90vh] w-full max-w-3xl flex-col overflow-hidden rounded-xl border border-zinc-200 bg-white shadow-2xl dark:border-zinc-700 dark:bg-zinc-900",onMouseDown:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"flex shrink-0 items-start justify-between gap-3 border-b border-zinc-200 px-4 py-3 dark:border-zinc-700",children:[(0,n.jsx)("h2",{id:w,className:"text-base font-semibold text-zinc-900 dark:text-zinc-100",children:i.pastTaskTimingModalTitle}),(0,n.jsx)("button",{type:"button",className:"shrink-0 rounded-md p-1 text-zinc-500 hover:bg-zinc-100 hover:text-zinc-800 dark:hover:bg-zinc-800 dark:hover:text-zinc-200","aria-label":i.pastTaskTimingModalCancel,onClick:t,children:(0,n.jsx)(s.A,{className:"h-4 w-4",strokeWidth:2,"aria-hidden":!0})})]}),(0,n.jsxs)("div",{className:"min-h-0 flex-1 space-y-4 overflow-y-auto overscroll-y-contain px-4 py-4",children:[(0,n.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,n.jsxs)("label",{className:"flex min-w-0 flex-col text-sm text-zinc-700 dark:text-zinc-300",children:[(0,n.jsx)("span",{className:"mb-1 block font-medium text-zinc-800 dark:text-zinc-200",children:i.archiveTaskStartLabel}),(0,n.jsx)(o.Fe,{value:m,onChange:b,"aria-label":i.archiveTaskStartLabel,lang:a,defaultTimeMode:"last-half-hour",calendarWeekStartsOn:u,presentation:"inline",t:i})]}),(0,n.jsxs)("label",{className:"flex min-w-0 flex-col text-sm text-zinc-700 dark:text-zinc-300",children:[(0,n.jsxs)("span",{className:"mb-1 block font-medium text-zinc-800 dark:text-zinc-200",children:[i.archiveTaskEndLabel,(0,n.jsxs)("span",{className:"ml-1 font-normal text-zinc-500 dark:text-zinc-400",children:["(",i.pastTaskTimingEndOptional,")"]})]}),(0,n.jsx)(o.Fe,{value:x,onChange:p,"aria-label":i.archiveTaskEndLabel,lang:a,calendarWeekStartsOn:u,presentation:"inline",t:i})]})]}),""!==x.trim()?(0,n.jsxs)("div",{className:"space-y-2 border-t border-zinc-200 pt-4 dark:border-zinc-700",children:[(0,n.jsx)("div",{className:"text-center text-[0.65rem] font-semibold uppercase tracking-wide text-zinc-500 dark:text-zinc-500",children:i.archiveTaskTimerDurationLabel}),(0,n.jsxs)("div",{className:"flex flex-wrap items-end justify-center gap-x-2 gap-y-1",children:[(0,n.jsxs)("label",{className:"flex w-[3.25rem] shrink-0 flex-col text-xs",children:[i.taskTimingAdjustHours,(0,n.jsx)("input",{type:"number",min:0,value:h,onChange:e=>k(e.target.value),className:"mt-1 w-full min-w-0 rounded border border-zinc-300 px-1.5 py-1 text-center tabular-nums dark:border-zinc-600 dark:bg-zinc-900"})]}),(0,n.jsxs)("label",{className:"flex w-[3.25rem] shrink-0 flex-col text-xs",children:[i.taskTimingAdjustMinutes,(0,n.jsx)("input",{type:"number",min:0,max:59,value:f,onChange:e=>g(e.target.value),className:"mt-1 w-full min-w-0 rounded border border-zinc-300 px-1.5 py-1 text-center tabular-nums dark:border-zinc-600 dark:bg-zinc-900"})]}),(0,n.jsxs)("label",{className:"flex w-[3.25rem] shrink-0 flex-col text-xs",children:[i.taskTimingAdjustSeconds,(0,n.jsx)("input",{type:"number",min:0,max:59,value:v,onChange:e=>y(e.target.value),className:"mt-1 w-full min-w-0 rounded border border-zinc-300 px-1.5 py-1 text-center tabular-nums dark:border-zinc-600 dark:bg-zinc-900"})]})]})]}):null,N?(0,n.jsx)("p",{className:"rounded-md border border-amber-300 bg-amber-50 px-3 py-2 text-xs font-medium text-amber-800 dark:border-amber-700 dark:bg-amber-950 dark:text-amber-200",children:N}):null]}),(0,n.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-zinc-200 px-4 py-3 dark:border-zinc-700",children:[(0,n.jsx)("button",{type:"button",className:"rounded-lg border border-zinc-300 px-3 py-1.5 text-sm font-medium text-zinc-700 hover:bg-zinc-50 dark:border-zinc-600 dark:text-zinc-200 dark:hover:bg-zinc-800",onClick:t,children:i.pastTaskTimingModalCancel}),(0,n.jsx)("button",{type:"button",className:l.Sx,disabled:!j,onClick:()=>{j&&(z?.(),t())},children:i.pastTaskTimingModalConfirm})]})]})})}):null}},5865:(e,t,a)=>{a.d(t,{a:()=>k});var n=a(5155),r=a(2115),i=a(7650),s=a(7356),l=a(1421),o=a(1908);let d={position:"fixed",top:0,left:0,width:384,zIndex:80,visibility:"hidden",pointerEvents:"none"},c=["**bold** and *italic* and ~~strike~~","- first item\n- second item","- [ ] todo\n- [x] done","| A | B |\n| --- | --- |\n| 1 | 2 |","[link label](https://example.com)","https://example.com","`inline code`"],u=["**Priority** — next step","See [`docs`](https://example.com)","~~cancelled~~ item"];function m({source:e,variant:t}){return(0,n.jsxs)("div",{className:"rounded-md border border-zinc-200/90 bg-zinc-50/90 p-2 dark:border-zinc-700/80 dark:bg-zinc-950/40",children:[(0,n.jsx)("pre",{className:"overflow-x-auto whitespace-pre-wrap font-mono text-[0.62rem] leading-snug text-zinc-600 dark:text-zinc-400",children:e}),(0,n.jsx)("div",{className:"mt-1.5 border-t border-zinc-200/80 pt-1.5 text-sm dark:border-zinc-700/70",children:(0,n.jsx)(l.E,{source:e,variant:t})})]})}function b({t:e,compact:t}){let[a,l]=(0,r.useState)(!1),x=(0,r.useRef)(null),p=(0,r.useRef)(null),h=(0,r.useId)(),k=(0,o.l)(a,x,p,{align:"end",maxWidthRem:24});(0,r.useEffect)(()=>{if(!a)return;let e=e=>{let t=e.target;x.current?.contains(t)||p.current?.contains(t)||l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[a]);let f=k??(a?d:void 0),g=a&&"u">typeof document&&f?(0,i.createPortal)((0,n.jsxs)("div",{ref:p,id:`${h}-task-md-help`,style:f,className:"max-h-[min(70vh,28rem)] overflow-y-auto rounded-lg border border-zinc-200 bg-white p-2.5 text-left shadow-xl dark:border-zinc-600 dark:bg-zinc-900",role:"region","aria-label":e.taskMarkdownHelpAriaLabel,children:[(0,n.jsx)("p",{className:"text-[0.7rem] leading-snug text-zinc-700 dark:text-zinc-300",children:e.taskMarkdownHelpIntro}),(0,n.jsx)("p",{className:"mt-2 text-[0.65rem] font-semibold uppercase tracking-wide text-zinc-500 dark:text-zinc-400",children:e.taskMarkdownHelpNoteHeading}),(0,n.jsx)("div",{className:"mt-1.5 space-y-1.5",children:c.map(e=>(0,n.jsx)(m,{source:e,variant:"block"},e))}),(0,n.jsx)("p",{className:"mt-2 text-[0.65rem] font-semibold uppercase tracking-wide text-zinc-500 dark:text-zinc-400",children:e.taskMarkdownHelpTitleHeading}),(0,n.jsx)("div",{className:"mt-1.5 space-y-1.5",children:u.map(e=>(0,n.jsx)(m,{source:e,variant:"inline"},e))}),(0,n.jsx)("p",{className:"mt-2 text-[0.65rem] leading-snug text-zinc-600 dark:text-zinc-400",children:e.taskMarkdownHelpSecurity}),(0,n.jsx)("p",{className:"mt-1.5 text-[0.65rem] leading-snug text-zinc-600 dark:text-zinc-400",children:e.taskMarkdownHelpGfmLimits})]}),document.body):null;return(0,n.jsxs)("div",{className:`relative flex shrink-0 items-center justify-center self-center ${t?"h-5 min-w-5":"h-10"}`,ref:x,children:[(0,n.jsx)("button",{type:"button",className:`text-zinc-500 hover:bg-zinc-200/90 hover:text-zinc-800 dark:hover:bg-zinc-800 dark:hover:text-zinc-300 ${t?"flex size-full items-center justify-center rounded-sm p-0":"rounded-md p-1.5"}`,"aria-label":e.taskMarkdownHelpAriaLabel,"aria-expanded":a?"true":"false","aria-controls":`${h}-task-md-help`,onClick:()=>l(e=>!e),children:(0,n.jsx)(s.A,{size:t?11:18,strokeWidth:1.75,"aria-hidden":!0})}),g]})}var x=a(4435),p=a(149);function h({value:e,onChange:t,onCommit:a,onDismiss:i,placeholder:s,ariaLabel:o,editHint:d}){let[c,u]=(0,r.useState)(()=>0===e.trim().length),m=(0,r.useRef)(null);(0,r.useEffect)(()=>{e.trim()&&document.activeElement!==m.current&&u(!1)},[e]);let b=()=>{u(!0),requestAnimationFrame(()=>{let e=m.current;if(!e)return;e.focus(),(0,x.q)(e);let t=e.value.length;e.setSelectionRange(t,t)})};return!c&&e.trim()?(0,n.jsx)("div",{role:"button",tabIndex:0,className:p.Zm,title:d,"aria-label":o,onClick:b,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),b())},children:(0,n.jsx)(l.E,{source:e,variant:"block"})}):(0,n.jsx)(x.I,{textareaRef:m,placeholder:s,value:e,"aria-label":o,onChange:t,onBlur:()=>{a?.(),e.trim()?u(!1):i?.()}})}function k({t:e,value:t,onChange:a,onCommit:i,launcherPreview:s=!1,resetKey:l}){let[o,d]=(0,r.useState)(!1),c=s?"launcher":"card";(0,r.useEffect)(()=>{s&&t.trim()?d(!0):d(!1)},[s,l]);let u=function(e,t,a="card"){return"launcher"===a?!t:0===e.trim().length&&!t}(t,o,c),m=function(e,t,a="card"){return"launcher"===a?t:t||e.trim().length>0}(t,o,c);return(0,n.jsxs)("div",{className:"space-y-0.5",children:[(0,n.jsx)("span",{className:"sr-only",children:e.taskNoteLabel}),u?(0,n.jsxs)("div",{className:"flex min-w-0 items-center justify-between gap-2",children:[(0,n.jsx)("button",{type:"button",className:"text-left text-[0.7rem] font-medium text-zinc-600 underline decoration-zinc-400/70 underline-offset-2 hover:text-zinc-900 dark:text-zinc-400 dark:decoration-zinc-500/70 dark:hover:text-zinc-200",onClick:()=>d(!0),children:e.taskNoteAddBtn}),(0,n.jsx)(b,{t:e,compact:!0})]}):null,m?s?(0,n.jsxs)("div",{className:"flex min-w-0 items-start gap-2",children:[(0,n.jsx)(x.I,{className:"min-w-0 flex-1",placeholder:e.taskNotePlaceholder,value:t,"aria-label":e.taskNoteLabel,onChange:a,onBlur:()=>{t.trim()||d(!1)}}),(0,n.jsx)(b,{t:e,compact:!0})]}):(0,n.jsx)(h,{value:t,onChange:a,onCommit:i,onDismiss:()=>{t.trim()||d(!1)},placeholder:e.taskNotePlaceholder,ariaLabel:e.taskNoteLabel,editHint:e.taskNoteEditHint}):null,m&&!s?(0,n.jsx)("div",{className:"flex items-center justify-end",children:(0,n.jsx)(b,{t:e,compact:!0})}):null]})}},6749:(e,t,a)=>{function n(e){let t=Math.max(0,Math.floor(e));t>=3600&&(t=60*Math.floor(t/60));let a=Math.floor(t/3600),n=Math.floor(t%3600/60),r=t%60;return{h:String(a),m:String(n),s:String(r)}}function r(e,t,a){return(3600*Math.max(0,Math.floor(Number(e)||0))+60*Math.max(0,Math.floor(Number(t)||0))+Math.max(0,Math.floor(Number(a)||0)))*1e3}function i(e){return""!==e.trim()&&Number.isFinite(new Date(e).getTime())}function s(e,t,a){if(!i(e))return!1;if(""===t.trim())return a?.requireEnd!==!0;let n=new Date(e).getTime(),r=new Date(t).getTime();return Number.isFinite(r)&&r>n}function l(e,t,a,n,s){if(!i(e))return!1;if(""===t.trim())return!0;let l=Math.round(new Date(t).getTime()-new Date(e).getTime()),o=r(a,n,s);return o>0&&o<=l}function o(e,t,a,n,r,i){return!!s(e,t,i)&&(""===t.trim()||l(e,t,a,n,r))}a.d(t,{L:()=>s,hE:()=>n,ir:()=>r,s1:()=>l,t6:()=>o})},6969:(e,t,a)=>{a.d(t,{V:()=>c});var n=a(5155),r=a(2115),i=a(7650),s=a(5486);function l(e,t){let a=t.toLowerCase();e.set(a,(e.get(a)??0)+1)}function o(e,t){let a=Math.min(Math.max(0,t),e.length),n=e.slice(0,a),r=null,i=e=>{if(e){if(!r||e.replaceStart>r.replaceStart){r=e;return}e.replaceStart===r.replaceStart&&e.scopedProjectKey&&!r.scopedProjectKey&&(r=e)}},l=n.match(/(?:^|\s)([@!])([^\s@!#]+)#([^\s@!#\s]*)$/);if(l){let e=l[1],t=(0,s.qu)(l[2]),n=l[3];t&&i({kind:"#",query:n,replaceStart:a-n.length-1,replaceEnd:a,scopedProjectKey:t,scopedPersonal:"!"===e})}let o=n.match(/(?:^|\s|[^\s#])(#[^\s@!#\s]*)$/);if(o){let e=o[0],t=e.lastIndexOf("#");i({kind:"#",query:e.slice(t+1),replaceStart:a-e.length+t,replaceEnd:a})}let d=n.match(/(?:^|\s)(@[^\s@!#\s]*)$/);if(d){let e=d[0],t=e.lastIndexOf("@");i({kind:"@",query:e.slice(t+1),replaceStart:a-e.length+t,replaceEnd:a})}let c=n.match(/(?:^|\s|[^\s!#])(![^\s@!#\s]*)$/);if(c){let e=c[0],t=e.lastIndexOf("!");i({kind:"!",query:e.slice(t+1),replaceStart:a-e.length+t,replaceEnd:a})}return r}function d(e,t,a,n,r,i){let s=t.trim().toLowerCase(),l=new Map(n.map((e,t)=>[r(e).toLowerCase(),t])),o=new Set,d=[];for(let t of e){let e=r(t),a=e.toLowerCase();!(!e||o.has(a))&&(o.add(a),(!s||a.startsWith(s)||e.toLowerCase().includes(s))&&d.push(e))}return d.sort((e,t)=>{let n=a.get(e.toLowerCase())??0,r=a.get(t.toLowerCase())??0;if(r!==n)return r-n;let i=l.get(e.toLowerCase())??-1,s=l.get(t.toLowerCase())??-1;return s!==i?s-i:e.localeCompare(t,void 0,{sensitivity:"base"})}),d.slice(0,i)}function c({value:e,onChange:t,onKeyDown:a,inputRef:u,suggestAnchorRef:m,knownTags:b,knownProjects:x,knownPersonalProjects:p,usageTasks:h,usage:k,titleSuggestions:f,titleSuggestionsAria:g,onTitleSuggestionSelect:v,onDeleteTitleSuggestion:y,t:j,commitOnEnter:z=!1,className:N,onBlur:w,onFocus:T,...M}){var S;let C=(0,r.useId)(),D=(0,r.useRef)(null),L=u??D,[$,E]=(0,r.useState)(0),[A,I]=(0,r.useState)(!1),[P,F]=(0,r.useState)(!1),[B,R]=(0,r.useState)(0),[_,W]=(0,r.useState)(null),H=(0,r.useMemo)(()=>k||function(e){let t=new Map,a=new Map,n=new Map;for(let r of e){let e=(0,s.H_)("string"==typeof r.name?r.name:""),i=new Set;for(let t of[...r.tags??[],...e.tags])"string"==typeof t&&t.trim()&&i.add((0,s.$U)(t));for(let e of i)l(t,e);let o=("string"==typeof r.project&&r.project.trim()?r.project.trim():void 0)??e.project;if(o){let t=(0,s.qu)(o);!0===r.personalProject||!0===e.personalProject?l(n,t):l(a,t)}}return{tagCounts:t,workProjectCounts:a,personalProjectCounts:n}}(h??[]),[k,h]),O=(0,r.useMemo)(()=>A?o(e,$):null,[A,e,$]),q=(0,r.useMemo)(()=>O?function(e,t){let a=t.limit??8,{knownTags:n,knownProjects:r,knownPersonalProjects:i,usage:l}=t;if("@"===e.kind)return d([...r,...l.workProjectCounts.keys()],e.query,l.workProjectCounts,r,s.qu,a).map(e=>({value:e,label:(0,s.cD)(e,{personal:!1})}));if("!"===e.kind)return d([...i,...l.personalProjectCounts.keys()],e.query,l.personalProjectCounts,i,s.qu,a).map(e=>({value:e,label:(0,s.cD)(e,{personal:!0})}));let o=e.scopedProjectKey;if(o){let t=(0,s.jC)(n,o).map(e=>{let t=(0,s.T8)((0,s.$U)(e));return t&&t.projectKey.toLowerCase()===o.toLowerCase()?t.localTag:null}).filter(e=>!!e),r=new Map;for(let[e,t]of l.tagCounts){let a=(0,s.T8)(e);a&&a.projectKey.toLowerCase()===o.toLowerCase()&&r.set(a.localTag.toLowerCase(),(r.get(a.localTag.toLowerCase())??0)+t)}return d([...t,...r.keys()],e.query,r,t,e=>(0,s.$U)(e),a).map(e=>({value:e,label:(0,s.jo)(`${o}#${e}`)}))}return d([...n.filter(e=>!(0,s.T8)(e)),...l.tagCounts.keys()],e.query,l.tagCounts,n,s.$U,a).map(e=>({value:e,label:(0,s.jo)(e)}))}(O,{knownTags:b,knownProjects:x,knownPersonalProjects:p,usage:H}):[],[O,b,x,p,H]),K=(0,r.useMemo)(()=>!P||O?[]:f??[],[O,P,f]),U=O?q:K,G=(0,r.useCallback)(()=>{let e;W((e=m?.current??L.current)?e.getBoundingClientRect():null)},[L,m]);(0,r.useEffect)(()=>{R(0)},[U,O?.kind,O?.query]),(0,r.useEffect)(()=>{if(!(A&&O&&q.length>0||P&&K.length>0))return;G();let e=()=>G();return window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[O,G,P,A,q.length,e,$,K.length]);let V=(0,r.useCallback)(()=>{I(!1),F(!1)},[]),Y=(0,r.useCallback)(a=>{if(O){var n;let r,i=q[a];if(!i)return;let{next:s,caret:l}=(n=i.value,r="#"===O.kind&&O.scopedProjectKey?`#${n}`:`${O.kind}${n}`,{next:e.slice(0,O.replaceStart)+r+e.slice(O.replaceEnd),caret:O.replaceStart+r.length});t(s),V(),requestAnimationFrame(()=>{let e=L.current;e&&(e.focus(),e.setSelectionRange(l,l),E(l))});return}let r=K[a];r&&(t(r.value),v?.(r),V(),requestAnimationFrame(()=>{let e=L.current;if(!e)return;e.focus();let t=r.value.length;e.setSelectionRange(t,t),E(t)}))},[O,V,L,t,v,q,e,K]),Z=(0,r.useCallback)(()=>{let t=L.current;t&&E(t.selectionStart??e.length)},[L,e.length]),X=(0,r.useCallback)(e=>{t(e.target.value);let a=e.target.selectionStart??e.target.value.length;E(a);let n=o(e.target.value,a);I(!!n),F(!n)},[t]),Q=(0,r.useCallback)(e=>{if("Enter"===e.key&&z){V(),a?.(e);return}if((A||P)&&U.length>0){if("ArrowDown"===e.key){e.preventDefault(),R(e=>Math.min(e+1,U.length-1));return}if("ArrowUp"===e.key){e.preventDefault(),R(e=>Math.max(e-1,0));return}if("Enter"===e.key||"Tab"===e.key){e.preventDefault(),Y(B);return}if("Escape"===e.key){e.preventDefault(),V();return}}a?.(e)},[U.length,Y,V,z,B,a,P,A]),J=A&&!!O&&q.length>0,ee=P&&!O&&K.length>0,et=(J||ee)&&_,ea=O?(S=O.kind,"@"===S?j.taskTokenSuggestWorkProjectsAria:"!"===S?j.taskTokenSuggestPersonalProjectsAria:j.taskTokenSuggestTagsAria):g??j.taskTitleTemplateSuggestAria;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("input",{...M,ref:L,autoComplete:"off",className:N,value:e,onChange:X,onKeyDown:Q,onClick:Z,onKeyUp:Z,onSelect:Z,onFocus:t=>{Z();let a=L.current;if(a){let t=a.selectionStart??e.length,n=o(e,t);I(!!n),F(!n)}T?.(t)},onBlur:e=>{globalThis.setTimeout(V,120),w?.(e)},"aria-autocomplete":et?"list":void 0,"aria-controls":et?C:void 0,"aria-expanded":et?"true":"false"}),et&&"u">typeof document?(0,i.createPortal)((0,n.jsx)("ul",{id:C,role:"listbox","data-testid":J?"task-token-suggest":"task-title-suggest","aria-label":ea,className:"fixed z-[220] max-h-52 overflow-y-auto rounded-lg border border-zinc-200 bg-white py-1 text-left text-sm shadow-lg dark:border-zinc-600 dark:bg-zinc-900",style:{top:_.bottom+4,left:_.left,width:Math.max(_.width,200)},children:(J?q:K).map((e,t)=>(0,n.jsx)("li",{role:"option","aria-selected":t===B?"true":"false",children:(0,n.jsxs)("button",{type:"button",tabIndex:-1,className:`flex w-full items-center px-3 py-1.5 text-left ${t===B?"bg-violet-500/15 text-violet-950 dark:bg-violet-500/25 dark:text-violet-50":"text-zinc-800 hover:bg-zinc-100 dark:text-zinc-100 dark:hover:bg-zinc-800"}`,onMouseDown:e=>{e.preventDefault(),Y(t)},onMouseEnter:()=>R(t),children:[(0,n.jsx)("span",{className:"truncate font-medium",children:e.label}),!J&&e.id&&y?(0,n.jsx)("span",{className:"ml-auto shrink-0 px-1 text-zinc-400 hover:text-red-600 dark:hover:text-red-400",role:"button",tabIndex:-1,"aria-label":j.taskDeleteBtn,onPointerDown:t=>{t.stopPropagation(),y(e.id)},children:(0,n.jsx)("svg",{className:"size-3.5",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:2,children:(0,n.jsx)("path",{d:"M4 4l8 8M12 4l-8 8"})})}):null]})},`${e.value}-${t}`))}),document.body):null]})}},7150:(e,t,a)=>{a.d(t,{h:()=>k});var n=a(5155),r=a(2115),i=a(7650),s=a(2934),l=a(5486),o=a(7908),d=a(1908),c=a(8949);let u="bg-[repeating-linear-gradient(-45deg,theme(colors.zinc.200),theme(colors.zinc.200)_5px,theme(colors.zinc.100)_5px,theme(colors.zinc.100)_10px)] dark:bg-[repeating-linear-gradient(-45deg,theme(colors.zinc.700),theme(colors.zinc.700)_5px,theme(colors.zinc.800)_5px,theme(colors.zinc.800)_10px)]",m="min(13rem, 32vw)",b="min-h-11";function x({row:e,t,fillClass:a,barStyle:s,visible:l,fallbackTitle:o,onEdit:c}){let[u,m]=(0,r.useState)(!1),b=(0,r.useRef)(null),h=(0,r.useRef)(null),k=(0,r.useId)(),f=e.laps.length>0,g=(0,d.l)(u&&f,b,h,{align:"center",maxWidthRem:30}),v=g?{...g,zIndex:110}:void 0,y=u&&f&&"u">typeof document&&v?(0,i.createPortal)((0,n.jsxs)("div",{ref:h,id:k,role:"tooltip","aria-label":t.tasksTimelineGanttLapsPopoverAria,style:v,className:"rounded-lg border border-zinc-600 bg-zinc-900 p-2.5 text-left shadow-xl dark:border-zinc-500 dark:bg-zinc-950",onPointerEnter:()=>m(!0),onPointerLeave:()=>m(!1),children:[(0,n.jsx)("p",{className:"text-[0.65rem] font-semibold uppercase tracking-wide text-zinc-400",children:t.taskTimerLapsHeading}),(0,n.jsx)("ul",{className:"mt-1.5 space-y-1",children:e.laps.map(t=>(0,n.jsx)(p,{lap:t,active:t.key===e.segmentLapKey},t.key))})]}),document.body):null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{ref:b,className:`absolute top-1/2 z-[4] h-7 max-h-[calc(100%-0.5rem)] -translate-y-1/2 ${a} rounded-sm shadow-sm ring-1 ring-black/5 dark:ring-white/10 ${f?"cursor-help":"cursor-default"}`,style:s,title:f?void 0:o||void 0,"aria-hidden":!l,"aria-describedby":u&&f?k:void 0,onPointerEnter:()=>{f&&m(!0)},onPointerLeave:()=>{f&&m(!1)},onClick:t=>{t.stopPropagation(),c?.(e)}}),y]})}function p({lap:e,active:t}){return(0,n.jsxs)("li",{className:`flex min-w-0 items-baseline gap-x-2 text-[0.68rem] leading-snug tabular-nums ${t?"font-semibold text-emerald-300":"text-zinc-200 dark:text-zinc-300"}`,children:[(0,n.jsxs)("span",{className:"shrink-0 text-zinc-500",children:["#",e.index]}),(0,n.jsxs)("span",{className:"min-w-0 flex-1 whitespace-nowrap",children:[e.startLabel," – ",e.endLabel]}),e.durationLabel?(0,n.jsx)("span",{className:"shrink-0 font-medium text-emerald-400/90",children:e.durationLabel}):null]})}function h(e){return Number.isFinite(e)?Math.min(100,Math.max(0,e)):0}function k({rows:e,sessionStartMs:t,sessionEndMs:a,lang:i,displayTimeZone:d,use24HourClock:p,t:f,showLegend:g=!0,maxHeight:v,minHeight:y,onTaskEdit:j,onGapClick:z}){let N=(0,r.useRef)(null),[w,T]=(0,r.useState)(()=>Date.now());(0,r.useEffect)(()=>{T(Date.now());let e=globalThis.setInterval(()=>{T(Date.now())},1e3);return()=>globalThis.clearInterval(e)},[]);let M=(0,r.useMemo)(()=>{let t=0,a=0;for(let n of e){let e=null!==n.timerDurationMs&&Number.isFinite(n.timerDurationMs)?Math.max(0,n.timerDurationMs):0;e<=0||(n.personalProject?a+=e:t+=e)}return{productive:t,personal:a}},[e]),{windowStartMs:S,windowEndMs:C,spanMs:D,trackWidthPx:L}=(0,r.useMemo)(()=>{let n,r;if(0===e.length)return{windowStartMs:0,windowEndMs:0,spanMs:1,trackWidthPx:520};let i=Math.min(...e.map(e=>e.startMs));if(n=null!==t?t-18e5:i-18e5,null!==a)r=a+18e5;else{let e;r=new Date((e=new Date(w)).getFullYear(),e.getMonth(),e.getDate(),23,59,59,999).getTime()}for(let t of e)r=Math.max(r,("number"==typeof t.endMs?t.endMs:w)+18e5);r=Math.max(r,n+18e5);let s=18e5*Math.floor(n/18e5),l=18e5*Math.ceil(r/18e5);l<=s&&(l=s+18e5);let o=Math.max(l-s,18e5),d=Math.max(520,o/6e4*3);return{windowStartMs:s,windowEndMs:l,spanMs:o,trackWidthPx:d}},[e,t,a,w]),$=(0,r.useMemo)(()=>0===e.length?[]:(0,o.i0)(S,C,i,d,p),[e.length,S,C,i,d,p]),E=(0,r.useMemo)(()=>(0,s._)(new Date(S).toISOString(),i,d,p),[S,i,d,p]),A=(0,r.useMemo)(()=>(0,s._)(new Date(C).toISOString(),i,d,p),[C,i,d,p]),I=e=>"major"===e?"border-l-[1.5px] border-zinc-400 dark:border-zinc-500":"half"===e?"border-l border-zinc-400/85 dark:border-zinc-500/70":"border-l border-zinc-300/75 dark:border-zinc-600/55",P=e=>"major"===e?"max-w-[10rem] truncate text-[0.62rem] font-medium leading-none text-zinc-600 dark:text-zinc-300":"half"===e?"max-w-[6rem] truncate text-[0.58rem] leading-none text-zinc-500 dark:text-zinc-400":"max-w-[5rem] truncate text-[0.54rem] leading-none text-zinc-400/95 dark:text-zinc-500";return((0,r.useEffect)(()=>{let t=N.current;t&&0!==e.length&&(t.scrollLeft=Math.max(0,(e[0].startMs-S)/D*L-48))},[e,S,D,L]),0===e.length)?(0,n.jsx)("p",{className:"text-sm text-zinc-500",children:f.tasksTimelineEmpty}):(0,n.jsxs)("div",{className:"flex flex-col gap-0",style:{maxHeight:v??"min(70vh, 540px)",minHeight:y??"240px"},children:[(0,n.jsx)("div",{ref:N,className:"relative min-h-0 flex-1 overflow-auto [scrollbar-gutter:stable]",children:(0,n.jsxs)("div",{className:"inline-flex min-w-full",style:{width:`calc(${m} + ${L}px)`},children:[(0,n.jsxs)("div",{className:"sticky left-0 z-10 shrink-0",style:{width:m},children:[(0,n.jsx)("div",{className:"sticky top-0 z-[3] h-10 border-b border-r border-zinc-200 bg-white dark:border-zinc-700/80 dark:bg-zinc-900","aria-hidden":!0}),e.map(e=>(0,n.jsxs)("div",{className:`flex ${b} items-center gap-2 border-b border-r py-1.5 pr-2 dark:border-zinc-800/90 dark:border-zinc-700/80 ${e.planned?"border-sky-200 bg-sky-50/70 dark:border-sky-800 dark:bg-sky-950/30":"border-zinc-100 bg-white dark:bg-zinc-900"}`,children:[(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("p",{className:`truncate text-left text-sm font-medium ${e.planned?"text-sky-800 dark:text-sky-200":"text-zinc-900 dark:text-zinc-100"}`,children:(0,l.ZW)(e.name)}),"string"==typeof e.project&&e.project.trim()?(0,n.jsx)("p",{className:"mt-0.5 truncate text-left text-[0.65rem] text-zinc-500 dark:text-zinc-400",children:(0,l.Bf)(e.project,{personal:!0===e.personalProject})}):null]}),e.planned?(0,n.jsx)("span",{className:"shrink-0 rounded-md border border-sky-400/50 bg-sky-100 px-1.5 py-0.5 text-[0.55rem] font-semibold uppercase tracking-wide text-sky-700 dark:border-sky-500/40 dark:bg-sky-950/50 dark:text-sky-300",children:"fr"===i?"Planifi\xe9":"Planned"}):e.durationLabel?(0,n.jsx)("span",{className:"shrink-0 rounded-full border border-zinc-500/40 px-1.5 py-0.5 text-[0.6rem] tabular-nums text-zinc-500 dark:text-zinc-400",children:e.durationLabel}):null]},e.id)),(0,n.jsx)("div",{className:"h-10 border-r border-t border-zinc-200 bg-white dark:border-zinc-700/80 dark:bg-zinc-900","aria-hidden":!0})]}),(0,n.jsxs)("div",{className:"shrink-0",style:{width:L},children:[(0,n.jsx)("div",{className:"sticky top-0 z-[2] h-10 border-b border-zinc-200 bg-white dark:border-zinc-700/80 dark:bg-zinc-900",children:(0,n.jsx)("div",{className:"relative h-full",children:$.map(e=>{let t=h((e.ms-S)/D*100);return(0,n.jsx)("div",{className:`absolute top-0 bottom-0 ${I(e.tier)}`,style:{left:`${t}%`},children:(0,n.jsx)("span",{className:`absolute left-0.5 top-1 whitespace-nowrap ${P(e.tier)}`,children:e.label})},`top-${e.ms}`)})})}),e.map(e=>{let t,a,r,o,m,k="number"==typeof e.endMs?e.endMs:w,g=Math.max(e.startMs,S),v=Math.min(k,C),y=(0,c.pb)({ganttColor:e.ganttColor,personalProject:e.personalProject,id:e.id}),N=h((g-S)/D*100),T=Math.max(h((v-g)/D*100),.2*(v>g)),M=N+T,L=v>g?(t=Math.max(0,k-e.startMs),a=(0,s._)(new Date(k).toISOString(),i,d,p),o=null!==(r=null!==e.timerDurationMs&&Number.isFinite(e.timerDurationMs)?e.timerDurationMs:null)?(0,l.Uw)(r):f.tasksTimelineGanttTooltipTimerUnknown,m=(0,l.Uw)(t),`${f.tasksTimelineGanttTooltipStart}: ${e.startLabel}
2
- ${f.tasksTimelineGanttTooltipEnd}: ${a??e.endLabel}
3
- ${f.tasksTimelineGanttTooltipTimer}: ${o}
4
- ${f.tasksTimelineGanttTooltipWall}: ${m}`):"";return(0,n.jsxs)("div",{className:`relative ${b} border-b border-zinc-100 dark:border-zinc-800/90 cursor-pointer`,onClick:e=>{let t=e.currentTarget.getBoundingClientRect(),a=S+(e.clientX-t.left)/t.width*D;z?.(a)},children:[(0,n.jsx)("div",{className:`absolute inset-0 ${u}`,"aria-hidden":!0}),(0,n.jsx)(x,{row:e,t:f,fillClass:e.planned?"bg-sky-300/80 dark:bg-sky-600/60":y,visible:v>g,fallbackTitle:L,onEdit:j,barStyle:{left:`${N}%`,width:`${T}%`,minWidth:v>g&&T>0?"4px":0,opacity:v>g?e.planned?.7:.92:0,pointerEvents:v>g?"auto":"none",border:e.planned?"1.5px dashed rgba(125,211,252,0.6)":void 0,boxShadow:e.planned?"none":void 0}}),(0,n.jsx)("div",{className:`pointer-events-none absolute inset-0 z-[2] ${u}`,style:{clipPath:`polygon(0% 0%, ${N}% 0%, ${N}% 100%, 0% 100%)`},"aria-hidden":!0}),(0,n.jsx)("div",{className:`pointer-events-none absolute inset-0 z-[2] ${u}`,style:{clipPath:`polygon(${M}% 0%, 100% 0%, 100% 100%, ${M}% 100%)`},"aria-hidden":!0}),e.hasNextLapInTask&&v>g&&M<100?(0,n.jsx)("div",{className:"pointer-events-none absolute z-[3] flex items-center justify-center",style:{left:`${Math.min(M,98)}%`,top:0,bottom:0,width:"1.25rem",transform:"translateX(-50%)"},"aria-hidden":!0,children:(0,n.jsx)("svg",{viewBox:"0 0 16 16",className:"size-4 text-zinc-400 dark:text-zinc-500 drop-shadow-sm",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("path",{d:"M8 3v10M8 13l4-4M8 13l-4-4"})})}):null]},e.id)}),(0,n.jsx)("div",{className:"h-10 border-t border-zinc-200 bg-white dark:border-zinc-700/80 dark:bg-zinc-900",children:(0,n.jsx)("div",{className:"relative h-full",children:$.map(e=>{let t=h((e.ms-S)/D*100);return(0,n.jsx)("div",{className:`absolute top-0 bottom-0 ${I(e.tier)}`,style:{left:`${t}%`},children:(0,n.jsx)("span",{className:`absolute bottom-1 left-0.5 whitespace-nowrap ${P(e.tier)}`,children:e.label})},`bottom-${e.ms}`)})})})]})]})}),(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap gap-x-4 gap-y-1 border-t border-zinc-200 pt-2 text-xs text-zinc-600 dark:border-zinc-700/80 dark:text-zinc-400",children:[(0,n.jsx)("span",{children:f.tasksTimelineGanttSummaryProductive.replace("{duration}",(0,l.a3)(M.productive/6e4))}),(0,n.jsx)("span",{children:f.tasksTimelineGanttSummaryPersonal.replace("{duration}",(0,l.a3)(M.personal/6e4))})]}),(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap justify-between gap-2 border-t border-zinc-200 pt-2 text-[0.65rem] text-zinc-500 dark:border-zinc-700/80 dark:text-zinc-500",children:[(0,n.jsxs)("span",{children:[(0,n.jsx)("span",{className:"font-semibold uppercase tracking-wide",children:f.tasksTimelineGanttWindowStartLabel})," ",(0,n.jsx)("span",{className:"font-mono tabular-nums text-zinc-700 dark:text-zinc-300",children:E})]}),(0,n.jsxs)("span",{children:[(0,n.jsx)("span",{className:"font-semibold uppercase tracking-wide",children:f.tasksTimelineGanttWindowEndLabel})," ",(0,n.jsx)("span",{className:"font-mono tabular-nums text-zinc-700 dark:text-zinc-300",children:A})]})]}),g?(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 border-t border-zinc-200 pt-2 dark:border-zinc-700/80",children:[(0,n.jsx)("span",{className:`inline-block size-3 shrink-0 rounded-sm ${c.mv[c.e$[0]]}`}),(0,n.jsx)("span",{className:"text-xs text-zinc-600 dark:text-zinc-400",children:f.tasksTimelineGanttLegendProductive}),(0,n.jsx)("span",{className:"inline-block size-3 shrink-0 rounded-sm bg-rose-500/85 dark:bg-rose-500/75"}),(0,n.jsx)("span",{className:"text-xs text-zinc-600 dark:text-zinc-400",children:f.tasksTimelineGanttLegendPersonal}),(0,n.jsx)("span",{className:"inline-block size-3 shrink-0 rounded-sm bg-sky-300/80 dark:bg-sky-600/60 ring-1 ring-sky-400/60 dark:ring-sky-500/50"}),(0,n.jsx)("span",{className:"text-xs text-zinc-600 dark:text-zinc-400",children:"fr"===i?"Planifi\xe9":"Planned"}),(0,n.jsx)("span",{className:`inline-block h-3 w-8 shrink-0 rounded-sm ${u} ring-1 ring-zinc-300/80 dark:ring-zinc-600/80`}),(0,n.jsx)("span",{className:"text-xs text-zinc-600 dark:text-zinc-400",children:f.tasksTimelineGanttLegendGap})]}):null]})}},7856:(e,t,a)=>{a.d(t,{p:()=>d});var n=a(5155),r=a(2115),i=a(7650),s=a(7356),l=a(1908);let o={position:"fixed",top:0,left:0,width:288,zIndex:80,visibility:"hidden",pointerEvents:"none"};function d({ariaLabel:e,body:t,align:a="start",preserveLineBreaks:c=!1,panelClassName:u}){let[m,b]=(0,r.useState)(!1),x=(0,r.useRef)(null),p=(0,r.useRef)(null),h=(0,r.useId)(),k=(0,l.l)(m,x,p,{align:a,maxWidthRem:u?24:18});(0,r.useEffect)(()=>{if(!m)return;let e=e=>{let t=e.target;x.current?.contains(t)||p.current?.contains(t)||b(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[m]);let f=k??(m?o:void 0),g=m&&"u">typeof document&&f?(0,i.createPortal)((0,n.jsx)("div",{ref:p,id:`${h}-metric-help`,style:f,className:`rounded-lg border border-zinc-200 bg-white p-2.5 text-left shadow-lg normal-case dark:border-zinc-600 dark:bg-zinc-900${u?` ${u}`:""}`,role:"region","aria-label":e,children:(0,n.jsx)("p",{className:`text-[0.7rem] leading-snug text-zinc-700 dark:text-zinc-300${c?" whitespace-pre-line":""} ${!u?"max-w-full":""}`,children:t})}),document.body):null;return(0,n.jsxs)("div",{className:"relative inline-flex shrink-0",ref:x,children:[(0,n.jsx)("button",{type:"button",className:"rounded p-0.5 text-zinc-500 hover:bg-zinc-200/90 hover:text-zinc-800 dark:hover:bg-zinc-800 dark:hover:text-zinc-300","aria-label":e,"aria-expanded":m?"true":"false","aria-controls":`${h}-metric-help`,onClick:()=>b(e=>!e),children:(0,n.jsx)(s.A,{size:13,strokeWidth:1.75,"aria-hidden":!0})}),g]})}},7908:(e,t,a)=>{a.d(t,{$m:()=>c,Qj:()=>b,i0:()=>d,p0:()=>x});var n=a(8949),r=a(1555),i=a(2934),s=a(5486);function l(e){let t=e.trim();return t&&(0,r.DP)(t)?t:r.GB}function o(e){return"fr"===e?"fr-CA":"en-CA"}function d(e,t,a,n,r){if(!Number.isFinite(e)||!Number.isFinite(t)||t<e)return[];let i=[],s=18e5*Math.floor(e/18e5),d=null;for(let e=s;e<=t+1&&!(e>t+1);e+=18e5){let t=e%36e5==0?"major":"half",s=function(e,t){let a=l(t);return new Intl.DateTimeFormat("en-CA",{year:"numeric",month:"2-digit",day:"2-digit",timeZone:a}).format(new Date(e))}(e,n),c=function(e,t,a,n){let r=l(a);return new Intl.DateTimeFormat(o(t),{hour:"numeric",minute:"2-digit",hour12:!n,timeZone:r}).format(new Date(e))}(e,a,n,r),u=s!==d?`${function(e,t,a){let n=l(a);return new Intl.DateTimeFormat(o(t),{dateStyle:"short",timeZone:n}).format(new Date(e))}(e,a,n)} ${c}`:c;d=s,i.push({ms:e,tier:t,label:u})}return i}function c(e){if(!e)return[];let t=new Map;for(let a of Array.isArray(e.tasks)?e.tasks:[])a?.id&&t.set(String(a.id),a);for(let a of Array.isArray(e.activeTasks)&&e.activeTasks.length>0?[...e.activeTasks]:e.activeTask?[e.activeTask]:[])a?.id&&t.set(String(a.id),a);return[...t.values()]}function u(e){return e>0?(0,s.a3)(e/6e4):null}function m(e,t,a,n,r,i,s,l,o){return{id:l,taskId:e,hasNextLapInTask:o,segmentLapKey:i.key,laps:s,name:t,project:a,ganttColor:r,personalProject:n,startMs:i.startMs,endMs:i.endMs??void 0,timerDurationMs:i.timerDurationMs,startLabel:i.startLabel,endLabel:i.endLabel,durationLabel:i.durationLabel}}function b(e,t){let a=[],r=Date.now();for(let s of e){let e=String(s.id??"").trim();if(!e)continue;let l="string"==typeof s.startTime?Date.parse(s.startTime):NaN,o=Number.isFinite(l)&&l>r,d="string"==typeof s.name?s.name:"",c=s.project??null,b=!0===s.personalProject,x=(0,n.VB)(s.ganttColor),p=function(e,t){let{isInspecting:a,lang:n,displayTimeZone:r,use24HourClock:s,nowMs:l}=t,o=Array.isArray(e.taskTimerLaps)?e.taskTimerLaps:[],d=[];for(let e=0;e<o.length;e++){let t=o[e],a="string"==typeof t?.startTime?Date.parse(t.startTime):NaN,l="string"==typeof t?.endTime?Date.parse(t.endTime):NaN;if(!Number.isFinite(a)||!Number.isFinite(l)||l<a)continue;let c="number"==typeof t?.durationMs&&Number.isFinite(t.durationMs)?Math.max(0,Math.floor(t.durationMs)):Math.max(0,Math.floor(l-a));c<=0||d.push({key:`lap::${e+1}`,index:e+1,startMs:a,endMs:l,timerDurationMs:c,startLabel:(0,i._)(new Date(a).toISOString(),n,r,s)??"—",endLabel:(0,i._)(new Date(l).toISOString(),n,r,s)??"—",durationLabel:u(c)})}let c=e.taskCurrentLapStartedAt,m="string"==typeof c?Date.parse(c):"number"==typeof c&&Number.isFinite(c)?c:NaN;if(!a&&Number.isFinite(m)&&l>=m){let e=Math.max(0,Math.floor(l-m));d.push({key:"running",index:d.length+1,startMs:m,endMs:null,timerDurationMs:e,startLabel:(0,i._)(new Date(m).toISOString(),n,r,s)??"—",endLabel:"fr"===n?"en cours":"running",durationLabel:u(e),running:!0})}return d}(s,{...t,nowMs:r});if(p.length>0){for(let t=0;t<p.length;t++){let n=p[t],r=t<p.length-1,i=m(e,d,c,b,x,n,p,`${e}::${n.key}`,r);i.planned=o,a.push(i)}continue}let h=function(e,t){let{isInspecting:a,lang:n,displayTimeZone:r,use24HourClock:s}=t,l="string"==typeof e.startTime?Date.parse(e.startTime):NaN,o="string"==typeof e.endTime?Date.parse(e.endTime):NaN,d="string"==typeof e.scheduledEndAt?Date.parse(e.scheduledEndAt):NaN,c=Number.isFinite(o)?o:Number.isFinite(d)?d:NaN;if(!Number.isFinite(l)&&!Number.isFinite(c)||(!Number.isFinite(l)&&Number.isFinite(c)&&(l=c-("number"==typeof e.durationMs&&Number.isFinite(e.durationMs)?e.durationMs:6e4)),!Number.isFinite(l)))return null;let m=Number.isFinite(c),b="number"==typeof e.durationMs&&Number.isFinite(e.durationMs)?Math.max(0,Math.floor(e.durationMs)):m?Math.max(0,Math.floor(c-l)):null;return{key:"bounds",index:1,startMs:l,endMs:m?c:null,timerDurationMs:b,startLabel:(0,i._)(new Date(l).toISOString(),n,r,s)??"—",endLabel:m?(0,i._)(new Date(c).toISOString(),n,r,s)??"—":a?"—":"fr"===n?"en cours":"running",durationLabel:null!=b?u(b):null,running:!m&&!a}}(s,t);if(!h)continue;let k=m(e,d,c,b,x,h,[h],e);k.planned=o,a.push(k)}return a.sort((e,t)=>e.startMs-t.startMs||String(e.id).localeCompare(t.id)),a}function x(e){let t="string"==typeof e?.startAt?e.startAt.trim():"",a="string"==typeof e?.endAt?e.endAt.trim():"",n=t?Date.parse(t):NaN,r=a?Date.parse(a):NaN;return{sessionStartMs:Number.isFinite(n)?n:null,sessionEndMs:Number.isFinite(r)?r:null}}},8090:(e,t,a)=>{a.d(t,{v:()=>o});var n=a(5155),r=a(2571),i=a(5878),s=a(2749),l=a(4897);function o({phase:e,dt:t,lang:a,technicalDetail:d,onRetry:c,retryBusy:u}){let m="loading"===e,b=(0,l.iM)(d,a),x="string"==typeof d?d.trim():"",p=x.length>0&&"string"==typeof b&&x!==b;return(0,n.jsx)("div",{className:"fixed inset-0 z-[60] flex items-center justify-center bg-zinc-200/55 backdrop-blur-sm dark:bg-black/45",role:"status","aria-live":"polite","aria-busy":m?"true":"false","aria-label":m?t.dashboardLoadingAriaLabel:t.dashboardConnectionErrorAriaLabel,children:(0,n.jsxs)("div",{className:"flex min-h-[10.5rem] max-w-sm flex-col items-center justify-center gap-4 rounded-2xl border border-zinc-200/90 bg-white/95 px-10 py-9 shadow-2xl dark:border-zinc-600/60 dark:bg-zinc-900/95",children:[m?(0,n.jsx)(r.A,{className:"size-12 shrink-0 animate-spin text-violet-600 dark:text-violet-400",strokeWidth:2,"aria-hidden":!0}):(0,n.jsx)(i.A,{className:"size-12 shrink-0 text-amber-600 dark:text-amber-400",strokeWidth:2,"aria-hidden":!0}),(0,n.jsxs)("div",{className:"flex min-h-[2.75rem] flex-col items-center justify-center gap-2 text-center",children:[(0,n.jsx)("p",{className:"text-sm font-medium leading-snug text-zinc-800 dark:text-zinc-100",children:m?t.dashboardLoadingMessage:t.dashboardConnectionErrorTitle}),m?null:(0,n.jsx)("p",{className:"max-w-[22rem] text-sm leading-snug text-zinc-600 dark:text-zinc-300",children:t.dashboardConnectionErrorBody}),!m&&b?(0,n.jsx)("p",{className:"max-w-[22rem] text-xs leading-snug text-zinc-500 dark:text-zinc-400",children:b}):null]}),!m&&c?(0,n.jsxs)("button",{type:"button",className:"mt-1 inline-flex items-center justify-center gap-2 rounded-lg bg-violet-600 px-4 py-2 text-sm font-medium text-white hover:bg-violet-500 focus:outline-none focus-visible:ring-2 focus-visible:ring-violet-400 focus-visible:ring-offset-2 focus-visible:ring-offset-white disabled:cursor-wait disabled:opacity-70 dark:focus-visible:ring-offset-zinc-900",onClick:c,disabled:!0===u,children:[(0,n.jsx)(s.A,{className:`size-4 shrink-0 ${u?"animate-spin":""}`,"aria-hidden":!0}),t.dashboardConnectionRetryLabel]}):null,!m&&p?(0,n.jsxs)("details",{className:"mt-2 max-w-sm text-left",children:[(0,n.jsx)("summary",{className:"cursor-pointer text-xs text-zinc-500 hover:text-zinc-700 dark:text-zinc-400 dark:hover:text-zinc-200",children:t.dashboardConnectionTechnicalDetailsLabel}),(0,n.jsx)("pre",{className:"mt-2 max-h-32 overflow-auto rounded-md border border-zinc-200/80 bg-zinc-50/90 px-3 py-2 text-[0.65rem] leading-relaxed text-zinc-700 dark:border-zinc-600/50 dark:bg-zinc-950/80 dark:text-zinc-300",children:d})]}):null]})})}},8577:(e,t,a)=>{a.d(t,{Z:()=>u});var n=a(5155),r=a(2115),i=a(5486),s=a(149),l=a(7650);function o({domId:e,style:t,text:a,onPointerEnter:r,onPointerLeave:i}){return(0,n.jsx)("div",{id:e,role:"tooltip",style:t,className:"pointer-events-auto whitespace-pre-line rounded-lg border border-zinc-600 bg-zinc-900 p-2.5 text-left text-[0.7rem] leading-snug text-zinc-200 shadow-lg dark:bg-zinc-950",onPointerEnter:r,onPointerLeave:i,children:a})}let d={position:"fixed",top:0,left:0,width:288,zIndex:90,visibility:"hidden",pointerEvents:"none"};function c({tag:e,chip:t,onRemove:a,description:u,defaultTagBucketLabel:m,taskProject:b,taskPersonalProject:x}){let{hasDescription:p,triggerProps:h,popoverLayer:k,anchorWrapperProps:f}=function(e,t=3e3){let[a,n]=(0,r.useState)(!1),i=(0,r.useRef)(null),s=(0,r.useRef)(null),c=(0,r.useRef)(null),u=(0,r.useId)().replace(/:/g,""),m=`kronosys-desc-tip-${u}`,b=e?.trim()??"",x=(0,r.useCallback)(()=>{null!==i.current&&(clearTimeout(i.current),i.current=null)},[]),p=(0,r.useCallback)(()=>{null!==s.current&&(clearTimeout(s.current),s.current=null)},[]),h=(0,r.useCallback)(()=>{b&&(x(),i.current=setTimeout(()=>n(!0),t))},[b,t,x]),k=(0,r.useCallback)(()=>{x(),p(),n(!1)},[x,p]),f=(0,r.useCallback)(()=>{p(),s.current=setTimeout(()=>{s.current=null,n(!1)},200)},[p]);(0,r.useEffect)(()=>()=>{x(),p()},[x,p]),(0,r.useEffect)(()=>{b||k()},[b,k]);let[g,v]=(0,r.useState)(void 0);(0,r.useLayoutEffect)(()=>{if(!a||!b)return void v(void 0);let e=()=>{let e=c.current;if(!e)return;let t=e.getBoundingClientRect(),a=globalThis.innerWidth,n=globalThis.innerHeight,r=Math.min(288,a-20),i=t.left;i=Math.max(10,Math.min(i,a-r-10));let s=t.bottom-4,l=document.getElementById(m);if(l instanceof HTMLElement){let e=l.getBoundingClientRect().height;s+e>n-10&&(s=Math.max(10,t.top-4-e))}s<10&&(s=10),v({position:"fixed",top:s,left:i,width:r,zIndex:90})};e();let t=requestAnimationFrame(e);return globalThis.addEventListener("scroll",e,!0),globalThis.addEventListener("resize",e),()=>{cancelAnimationFrame(t),globalThis.removeEventListener("scroll",e,!0),globalThis.removeEventListener("resize",e)}},[a,b,m]);let y=(0,r.useCallback)(e=>{c.current=e},[]);if(!b)return{hasDescription:!1,triggerProps:{onPointerEnter:()=>{},onPointerLeave:()=>{},onPointerCancel:()=>{},onFocus:()=>{},onBlur:()=>{}},popoverLayer:null,anchorWrapperProps:{ref:y,onPointerEnter:()=>{},onPointerLeave:()=>{}}};let j=g??(a?d:void 0);return{hasDescription:!0,triggerProps:{onPointerEnter:h,onPointerLeave:x,onPointerCancel:x,onFocus:h,onBlur:k},popoverLayer:a&&"u">typeof document&&j?(0,l.createPortal)((0,r.createElement)(o,{domId:m,style:j,text:b,onPointerEnter:p,onPointerLeave:f}),document.body):null,anchorWrapperProps:{ref:y,onPointerEnter:p,onPointerLeave:f}}}(u),g=!!a,v=(0,n.jsxs)("span",{role:g?"button":void 0,tabIndex:g?0:void 0,className:[t,g?"":p?"cursor-help":"","min-w-0 max-w-full"].filter(Boolean).join(" "),...h,...a?{onClick:()=>a(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),a(e))}}:{},children:[(0,n.jsx)("span",{className:s.Yu,children:(0,i.CH)(e,m,{taskProject:b,personalProject:x})}),g?(0,n.jsx)("span",{className:"pointer-events-none shrink-0 text-[0.625rem] leading-none font-normal text-zinc-400 dark:text-zinc-500",children:"\xd7"}):null]});return p?(0,n.jsxs)(r.Fragment,{children:[(0,n.jsx)("span",{className:"relative inline-flex min-w-0 max-w-full",...f,children:v}),k]}):v}function u({tags:e,onRemove:t,className:a,variant:r="default",differentiateProjectScopedTags:l=!1,tagDescriptions:o,defaultTagBucketLabel:d,taskProject:m,taskPersonalProject:b}){let x=e.slice().sort((e,t)=>{let a=l&&(0,i.SN)((0,i.$U)(e)),n=l&&(0,i.SN)((0,i.$U)(t));return a&&!n?-1:!a&&n?1:e.localeCompare(t)});return(0,n.jsx)("div",{className:a??"mt-1 flex flex-wrap items-center gap-x-2 gap-y-1.5 [&>*]:max-w-full",children:x.map(e=>{var a;let u;return(0,n.jsx)(c,{tag:e,chip:(a=e,u=l&&(0,i.SN)((0,i.$U)(a)),"applied"===r?u?t?s.Xd:s.bS:t?s.XB:s.zy:u?t?s.Xd:s.bS:t?s.Xk:s.xe),onRemove:t,description:(e=>{if(o)return o[(0,i.$U)(e).toLowerCase()]??o[(0,i.$U)(e)]})(e),defaultTagBucketLabel:d,taskProject:m,taskPersonalProject:b},e)})})}},8949:(e,t,a)=>{a.d(t,{VB:()=>o,dM:()=>l,e$:()=>n,le:()=>s,mv:()=>i,pb:()=>d});let n=["violet","emerald","amber","sky","rose","fuchsia"],r=new Set(n),i={violet:"bg-violet-500/85 dark:bg-violet-500/75",emerald:"bg-emerald-500/85 dark:bg-emerald-500/75",amber:"bg-amber-500/85 dark:bg-amber-500/75",sky:"bg-sky-500/85 dark:bg-sky-500/75",rose:"bg-rose-500/85 dark:bg-rose-500/75",fuchsia:"bg-fuchsia-500/80 dark:bg-fuchsia-500/70"},s={violet:"bg-violet-500",emerald:"bg-emerald-500",amber:"bg-amber-500",sky:"bg-sky-500",rose:"bg-rose-500",fuchsia:"bg-fuchsia-500"};function l(e){if(void 0===e)return;if(null===e||""===e)return null;let t=String(e).trim().toLowerCase();return""===t||"auto"===t||"default"===t?null:r.has(t)?t:void 0}function o(e){let t=l(e);return void 0===t?null:t}function d(e){if(e.ganttColor&&(t=e.ganttColor,r.has(t)))return i[e.ganttColor];if(!0===e.personalProject)return i.rose;var t,a=e.id;let s=0;for(let e=0;e<a.length;e++)s=31*s+a.charCodeAt(e)>>>0;return i[n[s%n.length]??n[0]]}},9474:(e,t,a)=>{a.d(t,{Fe:()=>g,Pw:()=>h});var n=a(5155),r=a(2115),i=a(7650),s=a(4577),l=a(4539),o=a(6854),d=a(1279),c=a(6776);a(1299);var u=a(2194),m=a(1555),b=a(2047),x=a(149);function p(e){return String(e).padStart(2,"0")}function h(e){return`${e.getFullYear()}-${p(e.getMonth()+1)}-${p(e.getDate())}T${p(e.getHours())}:${p(e.getMinutes())}`}function k(e){let t=e.trim();if(!t)return;let a=new Date(t);return Number.isNaN(a.getTime())?void 0:a}function f({children:e}){return"u"<typeof document?null:(0,i.createPortal)(e,document.body)}function g({value:e,onChange:t,onBlur:a,"aria-label":i,lang:v,displayTimeZone:y=m.GB,use24HourClock:j=!0,defaultTimeMode:z="current-hour",calendarWeekStartsOn:N="sunday",presentation:w="modal",t:T}){var M;let S=(0,r.useCallback)(()=>{let e=new Date;if("next-half-hour"===z)return 30>e.getMinutes()?{hour:e.getHours(),minute:30}:{hour:(e.getHours()+1)%24,minute:0};if("last-half-hour"===z){let t=(0,b.SD)(e);return{hour:t.getHours(),minute:t.getMinutes()}}return{hour:e.getHours(),minute:0}},[z]),[C,D]=(0,r.useState)(!1),L=(0,r.useRef)(!1),[$,E]=(0,r.useState)({top:0,left:0,maxW:300}),A=(0,r.useRef)(null),I=(0,r.useRef)(null),P=k(e),F=S(),[B,R]=(0,r.useState)(P),[_,W]=(0,r.useState)(P?.getHours()??F.hour),[H,O]=(0,r.useState)(P?.getMinutes()??F.minute);(0,r.useEffect)(()=>{let t=k(e);R(t),t&&(W(t.getHours()),O(t.getMinutes()))},[e]),(0,r.useEffect)(()=>{if(!C||P)return;let e=S();W(e.hour),O(e.minute)},[C]);let q=(0,r.useCallback)((e,a,n)=>{let r=new Date(e??B??new Date);r.setHours(a,n,0,0),t(h(r))},[t,B]),K=(0,r.useCallback)(()=>{let e=A.current;if(!e)return;let t=e.getBoundingClientRect(),a=window.innerWidth,n=window.innerHeight,r=Math.min(300,a-16),i=t.bottom+8,s=t.left+t.width/2-r/2;s=Math.max(8,Math.min(s,a-r-8)),i+480>n-8&&(i=Math.max(8,t.top-8-480)),E({top:i,left:s,maxW:r})},[]);(0,r.useLayoutEffect)(()=>{if(!C||"popover"!==w)return;K();let e=()=>K();return window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[C,w,K]),(0,r.useEffect)(()=>{if(!C)return;let e=e=>{let t=e.target;I.current?.contains(t)||A.current?.contains(t)||D(!1)},t=e=>{"Escape"===e.key&&D(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[C]),(0,r.useEffect)(()=>{if(C){L.current=!0;return}L.current&&(L.current=!1,a?.())},[C,a]),M=C&&"modal"===w,(0,r.useEffect)(()=>{if(!M)return;let e=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}},[M]);let U="fr"===v?d.fr:c.c,G=void 0!==P?new Intl.DateTimeFormat("fr"===v?"fr-CA":"en-CA",{dateStyle:"short",timeStyle:"short",hour12:!j,...y.trim()&&(0,m.DP)(y.trim())?{timeZone:y.trim()}:{}}).format(P):null,V=Array.from({length:24},(e,t)=>t),Y=Array.from({length:60},(e,t)=>t),Z="kronosys-datetime-popover flex flex-col gap-3 rounded-xl border border-violet-500/45 bg-zinc-50 p-3 shadow-2xl dark:border-violet-400/45 dark:bg-zinc-900",X=`${Z} overflow-hidden`,Q=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-x-hidden overflow-y-auto overscroll-y-contain",children:(0,n.jsx)(o.h,{mode:"single",required:!1,selected:B,defaultMonth:B??new Date,weekStartsOn:(0,u.F7)(N),onSelect:e=>{R(e),e&&q(e,_,H)},locale:U,classNames:{button_previous:"rdp-button_previous rounded-lg border border-zinc-300 bg-white text-zinc-800 hover:bg-zinc-100 dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-100 dark:hover:bg-zinc-700",button_next:"rdp-button_next rounded-lg border border-zinc-300 bg-white text-zinc-800 hover:bg-zinc-100 dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-100 dark:hover:bg-zinc-700",caption_label:"rdp-caption_label text-sm font-semibold text-zinc-800 dark:text-zinc-100",weekday:"rdp-weekday text-zinc-500 dark:text-zinc-400"},components:{Chevron:e=>"left"===e.orientation?(0,n.jsx)("span",{className:"text-base leading-none font-semibold","aria-hidden":!0,children:"‹"}):(0,n.jsx)("span",{className:"text-base leading-none font-semibold","aria-hidden":!0,children:"›"})}})}),(0,n.jsxs)("div",{className:"relative z-[1] shrink-0 space-y-3 border-t border-zinc-200 bg-zinc-50 pt-3 dark:border-zinc-700/80 dark:bg-zinc-900",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[(0,n.jsx)("button",{type:"button",className:"rounded-lg border border-zinc-300 bg-white px-2.5 py-1 text-xs font-medium text-zinc-700 hover:bg-zinc-100 dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-200 dark:hover:bg-zinc-700",onClick:()=>{let e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate(),_,H,0,0);R(t),q(t,_,H)},children:T.taskPastDatetimeTodayBtn}),(0,n.jsx)("button",{type:"button",className:"rounded-lg border border-violet-500/45 bg-violet-50 px-2.5 py-1 text-xs font-medium text-violet-700 hover:bg-violet-100 dark:border-violet-400/55 dark:bg-violet-950/35 dark:text-violet-200 dark:hover:bg-violet-900/40",onClick:()=>{let e=new Date,t=e.getHours(),a=e.getMinutes();R(e),W(t),O(a),q(e,t,a)},children:T.taskPastDatetimeNowBtn})]}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-start gap-2 sm:justify-center",children:[(0,n.jsxs)("label",{className:"flex max-w-full flex-wrap items-center gap-1.5 text-xs font-medium text-zinc-600 dark:text-zinc-400",children:[(0,n.jsx)("span",{className:"whitespace-nowrap",children:T.taskPastDatetimeTimeLabel}),(0,n.jsx)("select",{className:"h-8 w-16 min-w-0 rounded-lg border border-violet-500/45 bg-white px-2 text-xs font-mono text-zinc-900 outline-none dark:border-violet-400/50 dark:bg-zinc-800 dark:text-zinc-100",value:_,onChange:e=>{let t=Number(e.target.value);W(t),q(B,t,H)},"aria-label":T.taskPastDatetimeHourAria,children:V.map(e=>(0,n.jsx)("option",{value:e,children:p(e)},e))}),(0,n.jsx)("span",{className:"font-mono text-zinc-500",children:":"}),(0,n.jsx)("select",{className:"h-8 w-16 min-w-0 rounded-lg border border-violet-500/45 bg-white px-2 text-xs font-mono text-zinc-900 outline-none dark:border-violet-400/50 dark:bg-zinc-800 dark:text-zinc-100",value:H,onChange:e=>{let t=Number(e.target.value);O(t),q(B,_,t)},"aria-label":T.taskPastDatetimeMinuteAria,children:Y.map(e=>(0,n.jsx)("option",{value:e,children:p(e)},e))})]}),"inline"!==w?(0,n.jsx)("button",{type:"button",className:"inline-flex h-8 w-8 items-center justify-center rounded-lg border border-emerald-500/50 bg-emerald-50 text-emerald-700 hover:bg-emerald-100 dark:border-emerald-400/60 dark:bg-emerald-950/35 dark:text-emerald-200 dark:hover:bg-emerald-900/40","aria-label":"fr"===v?"Accepter la date et l'heure":"Accept date and time",onClick:()=>{q(B,_,H),D(!1)},children:(0,n.jsx)(s.A,{className:"h-4 w-4",strokeWidth:2.5,"aria-hidden":!0})}):null]})]})]}),J=C&&"modal"===w?(0,n.jsx)(f,{children:(0,n.jsx)("div",{className:"fixed inset-0 z-[260] flex items-center justify-center bg-black/60 p-4",role:"presentation",onMouseDown:e=>{e.target===e.currentTarget&&D(!1)},children:(0,n.jsx)("div",{ref:I,role:"dialog","aria-modal":"true","aria-label":i,className:`${Z} max-h-[90vh] w-full max-w-sm overflow-y-auto overscroll-y-contain`,onMouseDown:e=>e.stopPropagation(),children:Q})})}):null;if("inline"===w)return(0,n.jsx)("div",{className:`${Z} w-full max-h-[min(320px,42vh)] overflow-y-auto overscroll-y-contain`,role:"group","aria-label":i,children:Q});let ee=C&&"popover"===w?(0,n.jsx)(f,{children:(0,n.jsx)("div",{ref:I,role:"dialog","aria-modal":"true","aria-label":i,className:`${X} fixed z-[200]`,style:{top:$.top,left:$.left,width:$.maxW,maxHeight:"min(480px, calc(100vh - 16px))"},children:Q})}):null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"inline-flex min-w-0 max-w-full shrink-0",children:(0,n.jsxs)("button",{ref:A,type:"button",className:`${x.fg} max-w-full text-left`,"aria-label":i,"aria-expanded":C,"aria-haspopup":"dialog",onClick:()=>D(e=>!e),children:[(0,n.jsx)("span",{className:`inline-block min-w-0 max-w-full flex-1 truncate text-left ${G?"text-zinc-500 dark:text-zinc-500":"text-zinc-400 dark:text-zinc-500/75"}`,children:G??T.taskPastDatetimePlaceholder}),(0,n.jsx)(l.A,{className:"h-3 w-3 shrink-0 text-zinc-400/70 opacity-80 transition-[opacity,color] group-hover/datetime-trigger:text-zinc-500 group-hover/datetime-trigger:opacity-100 dark:text-zinc-500/55 dark:group-hover/datetime-trigger:text-zinc-400",strokeWidth:1.5,"aria-hidden":!0})]})}),J,ee]})}}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[263],{1275:(e,t,a)=>{function n(e){let t=e.trim();if(!t)return;let a=new Date(t);return Number.isNaN(a.getTime())?void 0:a}function r(e,t,a,r){let i=n(e),s=n(t);if(!i)return null;let l=new Intl.DateTimeFormat("fr"===a?"fr-CA":"en-CA",{dateStyle:"short",timeStyle:"short",hour12:!r});return s?`${l.format(i)} → ${l.format(s)}`:l.format(i)}a.d(t,{T:()=>r}),a(2934),a(1555)},1329:(e,t,a)=>{a.d(t,{_:()=>i});var n=a(5155),r=a(4539);function i({label:e,fallbackLabel:t,rangeValid:a,durationValid:s,ariaLabel:l,onClick:o,disabled:d=!1,className:c="w-full"}){return(0,n.jsxs)("button",{type:"button",disabled:d,className:`flex min-w-0 items-center justify-center gap-2 rounded-lg border px-3 py-2 text-left text-sm transition-colors disabled:cursor-default disabled:opacity-70 ${c} ${a&&s?"border-zinc-200/90 bg-zinc-50/80 text-zinc-700 hover:border-violet-400/45 hover:bg-violet-50/40 dark:border-zinc-700/80 dark:bg-zinc-900/45 dark:text-zinc-300 dark:hover:border-violet-400/45 dark:hover:bg-violet-950/25":"border-amber-500/45 bg-amber-50/50 text-amber-900 hover:bg-amber-50/80 dark:border-amber-500/40 dark:bg-amber-950/20 dark:text-amber-200 dark:hover:bg-amber-950/35"}`,"aria-label":l,onClick:o,children:[(0,n.jsx)(r.A,{className:"h-3.5 w-3.5 shrink-0 opacity-70",strokeWidth:1.75,"aria-hidden":!0}),(0,n.jsx)("span",{className:"min-w-0 truncate tabular-nums",children:e??t})]})}},1421:(e,t,a)=>{a.d(t,{E:()=>x});var n=a(5155),r=a(8426),i=a(2957);let s="rounded bg-zinc-200/70 px-1 py-0.5 font-mono text-[0.85em] dark:bg-zinc-700/80";function l({children:e,href:t}){if(!t||!(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("mailto:")||t.startsWith("/")||t.startsWith("#")))return(0,n.jsx)("span",{children:e});let a=t.startsWith("http://")||t.startsWith("https://");return(0,n.jsx)("a",{href:t,className:"text-violet-700 underline decoration-violet-400/80 underline-offset-2 hover:text-violet-900 dark:text-violet-300 dark:decoration-violet-500/60 dark:hover:text-violet-200",...a?{target:"_blank",rel:"noopener noreferrer"}:{},children:e})}function o({src:e,alt:t}){return e&&(e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/"))?(0,n.jsx)("img",{src:e,alt:t??"",className:"my-1 max-h-48 max-w-full rounded-md border border-zinc-200 object-contain dark:border-zinc-700",loading:"lazy"}):null}let d="break-words border border-zinc-200 px-2 py-1 align-top dark:border-zinc-700",c=`${d} bg-zinc-100 font-semibold dark:bg-zinc-800/80`,u={p:({children:e})=>(0,n.jsx)("span",{children:e}),strong:({children:e})=>(0,n.jsx)("strong",{className:"font-semibold",children:e}),em:({children:e})=>(0,n.jsx)("em",{className:"italic",children:e}),del:({children:e})=>(0,n.jsx)("del",{className:"line-through opacity-80",children:e}),a:({children:e,href:t})=>(0,n.jsx)(l,{href:t,children:e}),code:({children:e})=>(0,n.jsx)("code",{className:s,children:e}),img:({src:e,alt:t})=>(0,n.jsx)(o,{src:"string"==typeof e?e:void 0,alt:t})},m={...u,p:({children:e})=>(0,n.jsx)("p",{className:"mb-2 last:mb-0",children:e}),ul:({children:e})=>(0,n.jsx)("ul",{className:"mb-2 list-disc space-y-0.5 pl-5 last:mb-0 [&_li:has(input[type=checkbox])]:list-none [&_li:has(input[type=checkbox])]:pl-0",children:e}),ol:({children:e})=>(0,n.jsx)("ol",{className:"mb-2 list-decimal space-y-0.5 pl-5 last:mb-0",children:e}),li:({children:e,className:t})=>(0,n.jsx)("li",{className:[t,"leading-snug [&>input[type=checkbox]]:mr-1.5 [&>input[type=checkbox]]:align-middle"].filter(Boolean).join(" "),children:e}),h1:({children:e})=>(0,n.jsx)("p",{className:"mb-2 text-base font-semibold last:mb-0",children:e}),h2:({children:e})=>(0,n.jsx)("p",{className:"mb-2 text-sm font-semibold last:mb-0",children:e}),h3:({children:e})=>(0,n.jsx)("p",{className:"mb-2 text-sm font-medium last:mb-0",children:e}),h4:({children:e})=>(0,n.jsx)("p",{className:"mb-1 text-sm font-medium last:mb-0",children:e}),h5:({children:e})=>(0,n.jsx)("p",{className:"mb-1 text-sm font-medium last:mb-0",children:e}),h6:({children:e})=>(0,n.jsx)("p",{className:"mb-1 text-sm font-medium last:mb-0",children:e}),blockquote:({children:e})=>(0,n.jsx)("blockquote",{className:"mb-2 border-l-2 border-zinc-300 pl-3 text-zinc-600 last:mb-0 dark:border-zinc-600 dark:text-zinc-400",children:e}),pre:({children:e})=>(0,n.jsx)("pre",{className:"mb-2 overflow-x-hidden whitespace-pre-wrap break-words rounded-md bg-zinc-100 p-2 font-mono text-xs last:mb-0 dark:bg-zinc-800/90",children:e}),code:({className:e,children:t})=>e?.includes("language-")?(0,n.jsx)("code",{className:e,children:t}):(0,n.jsx)("code",{className:s,children:t}),hr:()=>(0,n.jsx)("hr",{className:"my-2 border-zinc-200 dark:border-zinc-700","aria-hidden":!0}),table:({children:e})=>(0,n.jsx)("div",{className:"mb-2 last:mb-0",children:(0,n.jsx)("table",{className:"mb-2 w-full min-w-[12rem] border-collapse text-left text-[0.85em] last:mb-0",children:e})}),thead:({children:e})=>(0,n.jsx)("thead",{children:e}),tbody:({children:e})=>(0,n.jsx)("tbody",{children:e}),tr:({children:e})=>(0,n.jsx)("tr",{children:e}),th:({children:e})=>(0,n.jsx)("th",{className:c,children:e}),td:({children:e})=>(0,n.jsx)("td",{className:d,children:e}),input:({type:e,checked:t,disabled:a})=>"checkbox"!==e?null:(0,n.jsx)("input",{type:"checkbox",checked:t,disabled:a??!0,readOnly:!0,"aria-readonly":"true",className:"size-3.5 shrink-0 rounded border-zinc-400 accent-violet-600 dark:border-zinc-500"})},b=[i.A];function x({source:e,variant:t="block",className:a}){let i=e.trim();return i?(0,n.jsx)("div",{className:["min-w-0 break-words [overflow-wrap:anywhere]",a].filter(Boolean).join(" "),children:(0,n.jsx)(r.oz,{remarkPlugins:b,components:"inline"===t?u:m,children:i})}):null}},1422:(e,t,a)=>{a.d(t,{E:()=>ee});var n=a(5155),r=a(2115),i=a(2298),s=a(9314),l=a(7625),o=a(1402),d=a(5738),c=a(8342),u=a(9267),m=a(6619),b=a(4962),x=a(2934),p=a(1555),h=a(5486),k=a(8577),f=a(6969),g=a(6749),v=a(1275),j=a(5172),y=a(1329),z=a(1421),N=a(5865),w=a(149),T=a(4923),M=a(7256),S=a(9768),C=a(8274),D=a(4088),L=a(2363),$=a(1532);function E({durationMs:e,isTracking:t,className:a}){let r=Math.max(0,Math.floor(e)),i=(0,$.F)(r,t),s=(0,h.Td)(i);return(0,n.jsx)("span",{className:a,title:s,children:s})}let A="min-w-[6.25rem] shrink-0 text-right text-[0.65rem] font-medium leading-none tracking-tight text-zinc-400 dark:text-zinc-500";function I({durationMs:e,isTracking:t,enableSubtaskTimer:a,subtaskDone:r,subtasksReadOnly:i,t:s}){let l=Math.max(0,Math.floor(e??0));return l>0||t?(0,n.jsx)(E,{durationMs:l,isTracking:t,className:`shrink-0 font-mono tabular-nums text-[0.7rem] tracking-tight ${t?"font-semibold text-emerald-700 dark:text-emerald-400":"text-zinc-500"}`}):a?(0,n.jsx)("span",{className:A,title:s.subtaskDurationTooltipNotMeasured,children:s.subtaskDurationNotMeasured}):i&&r?(0,n.jsx)("span",{className:A,title:s.subtaskDurationTooltipNotShown,children:s.subtaskDurationNotShown}):(0,n.jsx)("span",{className:A,title:s.subtaskDurationTooltipNotRecorded,children:s.subtaskDurationNotRecorded})}function P({draft:e,setDraft:t,taskId:a,send:r,t:i,autoFocus:s,onDismissIfEmpty:l}){return(0,n.jsx)("input",{autoFocus:s,className:w.ID,placeholder:i.addSubtaskPlaceholder,value:e,onChange:e=>t(e.target.value),onBlur:()=>{e.trim()||l?.()},onKeyDown:n=>{"Enter"===n.key&&e.trim()&&(n.preventDefault(),r({type:"addSubtask",taskId:a,title:e.trim()}),t("")),"Escape"===n.key&&(t(""),l?.())},"aria-label":i.addSubtaskPlaceholder})}let F="h-4 w-4 shrink-0 cursor-pointer rounded border-zinc-400 bg-white text-violet-600 accent-violet-600 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-violet-500/70 dark:border-zinc-500 dark:bg-zinc-900 dark:text-violet-500 dark:accent-violet-500",B="text-zinc-400 line-through decoration-zinc-500/[0.35] decoration-[1.5px]",R="rounded-md px-1.5 -mx-1.5 py-0.5 -my-0.5 transition-colors duration-150 hover:bg-violet-100 hover:ring-1 hover:ring-violet-400/75 dark:hover:bg-violet-950/65 dark:hover:ring-violet-500/55";function _({st:e,ord:t,isTracking:a,enableSubtaskTimer:r,subtasksReadOnly:i,showReorderGutter:s,t:l}){return(0,n.jsxs)("div",{className:"pointer-events-none flex min-h-10 max-w-[min(100vw-2rem,36rem)] cursor-grabbing items-center gap-1.5 rounded-lg border-2 border-violet-600 bg-white px-2 py-1.5 shadow-xl ring-2 ring-violet-500/30 dark:border-violet-400 dark:bg-zinc-900 dark:ring-violet-400/25 sm:gap-2",children:[(0,n.jsx)(C.A,{className:"size-4 shrink-0 text-violet-600 dark:text-violet-400","aria-hidden":!0}),s?(0,n.jsxs)("span",{className:"flex w-[1.125rem] shrink-0 flex-col items-center justify-center gap-0 opacity-40","aria-hidden":!0,children:[(0,n.jsx)(D.A,{className:"size-3.5",strokeWidth:2.5}),(0,n.jsx)(L.A,{className:"size-3.5",strokeWidth:2.5})]}):null,(0,n.jsxs)("span",{className:"w-6 shrink-0 text-right font-mono text-[0.7rem] font-semibold tabular-nums text-zinc-500 dark:text-zinc-400",children:[t,"."]}),(0,n.jsx)("input",{type:"checkbox",readOnly:!0,checked:e.done,className:F,tabIndex:-1}),(0,n.jsx)("span",{className:`min-w-0 flex-1 truncate text-left text-base font-medium leading-snug ${e.done?B:"text-zinc-900 dark:text-zinc-100"}`,children:e.title}),(0,n.jsx)(I,{durationMs:e.durationMs,isTracking:a,enableSubtaskTimer:r,subtaskDone:e.done,subtasksReadOnly:i,t:l})]})}function W({st:e,index:t,showOrdinal:a,activeDragId:r,taskId:i,enableSubtaskTimer:s,activeSubtaskTimerId:l,subtasksReadOnly:o,t:c,editingId:b,editVal:x,setEditingId:p,setEditVal:h,send:k,dragLabel:f,listLength:g,onReorderStep:v}){let{attributes:j,listeners:y,setNodeRef:z,transform:N,transition:T,isDragging:$}=(0,M.gl)({id:e.id}),E=s&&String(l??"").trim()===String(e.id).trim(),A=t+1,P={transform:S.Ks.Transform.toString(N),transition:T},_=!!(r&&r!==e.id);return(0,n.jsxs)("li",{ref:z,style:P,className:`relative z-[1] flex min-h-10 items-center gap-1.5 py-1.5 first:pt-0 sm:gap-2 ${R} ${_?"opacity-[0.22] saturate-[0.65]":""} ${$?"z-10 opacity-0":""}`,children:[(0,n.jsx)("button",{type:"button",className:"shrink-0 cursor-grab rounded p-0.5 text-zinc-500 touch-none hover:bg-violet-200/60 hover:text-violet-900 active:cursor-grabbing dark:text-zinc-400 dark:hover:bg-violet-900/50 dark:hover:text-violet-100",title:f,"aria-label":f,...j,...y,children:(0,n.jsx)(C.A,{size:16,strokeWidth:2,"aria-hidden":!0})}),!o&&g>1?(0,n.jsxs)("span",{className:"flex w-[1.125rem] shrink-0 flex-col items-center justify-center gap-0",children:[(0,n.jsx)("button",{type:"button",disabled:0===t,className:"rounded p-0.5 text-zinc-600 hover:bg-violet-100 hover:text-violet-900 disabled:pointer-events-none disabled:opacity-25 dark:text-zinc-400 dark:hover:bg-violet-900/45 dark:hover:text-violet-100",title:c.subtaskMoveUp,"aria-label":c.subtaskMoveUp,onClick:()=>v(t,-1),children:(0,n.jsx)(D.A,{size:14,strokeWidth:2.5,"aria-hidden":!0})}),(0,n.jsx)("button",{type:"button",disabled:t>=g-1,className:"rounded p-0.5 text-zinc-600 hover:bg-violet-100 hover:text-violet-900 disabled:pointer-events-none disabled:opacity-25 dark:text-zinc-400 dark:hover:bg-violet-900/45 dark:hover:text-violet-100",title:c.subtaskMoveDown,"aria-label":c.subtaskMoveDown,onClick:()=>v(t,1),children:(0,n.jsx)(L.A,{size:14,strokeWidth:2.5,"aria-hidden":!0})})]}):null,(0,n.jsx)("span",{className:"w-6 shrink-0 text-right font-mono text-[0.7rem] font-semibold tabular-nums text-zinc-500 dark:text-zinc-500","aria-hidden":!a,children:a?`${A}.`:""}),(0,n.jsx)("input",{type:"checkbox",className:o?`${F} cursor-not-allowed opacity-50`:F,checked:e.done,disabled:o,onChange:()=>{o||k({type:"toggleSubtask",taskId:i,subtaskId:e.id})},title:e.done?c.subtaskMarkUndone:c.subtaskMarkDone,"aria-label":e.done?c.subtaskMarkUndone:c.subtaskMarkDone}),b!==e.id||o?o?(0,n.jsx)("span",{className:`min-w-0 flex-1 truncate text-left text-base font-medium leading-snug ${e.done?B:"text-zinc-900 dark:text-zinc-200"}`,children:e.title}):(0,n.jsx)("button",{type:"button",className:`min-w-0 flex-1 truncate text-left text-base font-medium leading-snug outline-none hover:text-violet-800 focus-visible:ring-2 focus-visible:ring-violet-500/50 rounded-sm dark:hover:text-zinc-100 ${e.done?B:"text-zinc-900 dark:text-zinc-200"}`,onClick:()=>{p(e.id),h(e.title)},children:e.title}):(0,n.jsx)("input",{autoFocus:!0,className:`${w.rw} min-w-0 flex-1`,value:x,onChange:e=>h(e.target.value),onBlur:()=>{x.trim()&&x.trim()!==e.title&&k({type:"updateSubtaskTitle",taskId:i,subtaskId:e.id,title:x.trim()}),p(null)},onKeyDown:e=>{"Enter"===e.key&&e.target.blur(),"Escape"===e.key&&p(null)},"aria-label":c.subtasksHeading}),(0,n.jsx)(I,{durationMs:e.durationMs,isTracking:E,enableSubtaskTimer:s,subtaskDone:e.done,subtasksReadOnly:o,t:c}),(0,n.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5",children:[s&&!e.done&&!o&&(0,n.jsx)("button",{type:"button",className:`rounded p-1.5 ${E?"bg-emerald-200 text-emerald-900 dark:bg-emerald-600/30 dark:text-emerald-300":"text-zinc-600 hover:bg-zinc-200/90 dark:text-zinc-400 dark:hover:bg-zinc-800"}`,title:E?c.subtaskTimerStop:c.subtaskTimerStart,"aria-label":E?c.subtaskTimerStop:c.subtaskTimerStart,onClick:()=>void k({type:"setActiveSubtaskTimer",taskId:i,subtaskId:E?null:e.id}),children:E?(0,n.jsx)(u.A,{size:14}):(0,n.jsx)(m.A,{size:14})}),o?null:(0,n.jsx)("button",{type:"button",className:"rounded p-1.5 text-zinc-600 hover:bg-red-100 hover:text-red-800 dark:text-zinc-500 dark:hover:bg-red-950/50 dark:hover:text-red-400",title:c.subtaskDelete,"aria-label":c.subtaskDelete,onClick:()=>void k({type:"deleteSubtask",taskId:i,subtaskId:e.id}),children:(0,n.jsx)(d.A,{size:14})})]})]})}function H({st:e,index:t,taskId:a,enableSubtaskTimer:r,activeSubtaskTimerId:i,subtasksReadOnly:s,t:l,editingId:o,editVal:c,setEditingId:b,setEditVal:x,send:p}){let h=r&&String(i??"").trim()===String(e.id).trim();return(0,n.jsxs)("li",{className:`relative flex min-h-10 items-center gap-1.5 py-1.5 first:pt-0 sm:gap-2 ${R}`,children:[(0,n.jsx)("span",{className:"w-4 shrink-0 sm:w-[1.125rem]","aria-hidden":!0}),(0,n.jsxs)("span",{className:"w-6 shrink-0 text-right font-mono text-[0.7rem] font-semibold tabular-nums text-zinc-500 dark:text-zinc-500","aria-hidden":!0,children:[t+1,"."]}),(0,n.jsx)("input",{type:"checkbox",className:s?`${F} cursor-not-allowed opacity-50`:F,checked:e.done,disabled:s,onChange:()=>{s||p({type:"toggleSubtask",taskId:a,subtaskId:e.id})},title:e.done?l.subtaskMarkUndone:l.subtaskMarkDone,"aria-label":e.done?l.subtaskMarkUndone:l.subtaskMarkDone}),o!==e.id||s?s?(0,n.jsx)("span",{className:`min-w-0 flex-1 truncate text-left text-base font-medium leading-snug ${e.done?B:"text-zinc-900 dark:text-zinc-200"}`,children:e.title}):(0,n.jsx)("button",{type:"button",className:`min-w-0 flex-1 truncate text-left text-base font-medium leading-snug outline-none hover:text-violet-800 focus-visible:ring-2 focus-visible:ring-violet-500/50 rounded-sm dark:hover:text-zinc-100 ${e.done?B:"text-zinc-900 dark:text-zinc-200"}`,onClick:()=>{b(e.id),x(e.title)},children:e.title}):(0,n.jsx)("input",{autoFocus:!0,className:`${w.rw} min-w-0 flex-1`,value:c,onChange:e=>x(e.target.value),onBlur:()=>{c.trim()&&c.trim()!==e.title&&p({type:"updateSubtaskTitle",taskId:a,subtaskId:e.id,title:c.trim()}),b(null)},onKeyDown:e=>{"Enter"===e.key&&e.target.blur(),"Escape"===e.key&&b(null)},"aria-label":l.subtasksHeading}),(0,n.jsx)(I,{durationMs:e.durationMs,isTracking:h,enableSubtaskTimer:r,subtaskDone:e.done,subtasksReadOnly:s,t:l}),(0,n.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5",children:[r&&!e.done&&!s&&(0,n.jsx)("button",{type:"button",className:`rounded p-1.5 ${h?"bg-emerald-200 text-emerald-900 dark:bg-emerald-600/30 dark:text-emerald-300":"text-zinc-600 hover:bg-zinc-200/90 dark:text-zinc-400 dark:hover:bg-zinc-800"}`,title:h?l.subtaskTimerStop:l.subtaskTimerStart,"aria-label":h?l.subtaskTimerStop:l.subtaskTimerStart,onClick:()=>void p({type:"setActiveSubtaskTimer",taskId:a,subtaskId:h?null:e.id}),children:h?(0,n.jsx)(u.A,{size:14}):(0,n.jsx)(m.A,{size:14})}),s?null:(0,n.jsx)("button",{type:"button",className:"rounded p-1.5 text-zinc-600 hover:bg-red-100 hover:text-red-800 dark:text-zinc-500 dark:hover:bg-red-950/50 dark:hover:text-red-400",title:l.subtaskDelete,"aria-label":l.subtaskDelete,onClick:()=>void p({type:"deleteSubtask",taskId:a,subtaskId:e.id}),children:(0,n.jsx)(d.A,{size:14})})]})]})}function O({taskId:e,sessionId:t,subtasks:a,enableSubtaskTimer:i=!1,activeSubtaskTimerId:s,allowAddSubtasks:l=!1,subtasksReadOnly:o=!1,t:d,post:c}){let[u,m]=(0,r.useState)(""),[b,x]=(0,r.useState)(null),[p,h]=(0,r.useState)(""),[k,f]=(0,r.useState)(!1),[g,v]=(0,r.useState)(null),[j,y]=(0,r.useState)(null),[z,N]=(0,r.useState)(1),w=a??[],S=(0,T.FR)((0,T.MS)(T.AN,{activationConstraint:{distance:6}}),(0,T.MS)(T.uN,{coordinateGetter:M.JR}));(0,r.useEffect)(()=>{o&&(x(null),m(""),f(!1))},[o]),(0,r.useEffect)(()=>{x(null),m(""),f(!1)},[e]);let C=async e=>{await c({...e,...t?{sessionId:t}:{}})},D=w.length>0,L=l&&!o,$=L&&!D&&!k,E=L&&(D||k),A=!o&&w.length>1;if(!D&&!L)return null;if($)return(0,n.jsx)("button",{type:"button",className:"text-left text-[0.7rem] font-medium text-zinc-600 underline decoration-zinc-400/70 underline-offset-2 hover:text-zinc-900 dark:text-zinc-400 dark:decoration-zinc-500/70 dark:hover:text-zinc-200",onClick:()=>f(!0),children:d.addSubtaskLinkBtn});let I=w.map(e=>e.id),F=!g,B=(t,a)=>{let n=t+a;n<0||n>=w.length||C({type:"reorderSubtasks",taskId:e,orderedSubtaskIds:(0,M.be)(w,t,n).map(e=>e.id)})},R=A?(0,n.jsxs)(T.Mp,{sensors:S,collisionDetection:T.fp,onDragStart:e=>{let t=String(e.active.id);v(t);let a=w.findIndex(e=>e.id===t),n=w[a];n&&(y(n),N(a+1))},onDragOver:e=>{let{over:t}=e;if(!t)return;let a=w.findIndex(e=>e.id===String(t.id));a>=0&&N(a+1)},onDragEnd:t=>{let{active:a,over:n}=t;if(v(null),y(null),!n||a.id===n.id)return;let r=w.findIndex(e=>e.id===a.id),i=w.findIndex(e=>e.id===n.id);r<0||i<0||C({type:"reorderSubtasks",taskId:e,orderedSubtaskIds:(0,M.be)(w,r,i).map(e=>e.id)})},onDragCancel:()=>{v(null),y(null)},children:[(0,n.jsx)("div",{className:`relative rounded-lg px-0 py-0.5 transition-[background-color,box-shadow] duration-200 ${g?"bg-zinc-500/20 shadow-inner ring-1 ring-zinc-500/45 dark:bg-black/55 dark:ring-zinc-600/55":""}`,children:(0,n.jsx)(M.gB,{items:I,strategy:M._G,children:(0,n.jsx)("ul",{className:"divide-y divide-zinc-200 dark:divide-zinc-800/90",children:w.map((t,a)=>(0,n.jsx)(W,{st:t,index:a,showOrdinal:F,activeDragId:g,taskId:e,enableSubtaskTimer:i,activeSubtaskTimerId:s,subtasksReadOnly:o,t:d,editingId:b,editVal:p,setEditingId:x,setEditVal:h,send:C,dragLabel:d.subtaskDragReorderHandle,listLength:w.length,onReorderStep:B},t.id))})})}),(0,n.jsx)(T.Hd,{dropAnimation:{duration:220,easing:"cubic-bezier(0.22, 1, 0.36, 1)"},children:j?(0,n.jsx)(_,{st:j,ord:z,isTracking:i&&String(s??"").trim()===String(j.id).trim(),enableSubtaskTimer:i,subtasksReadOnly:o,showReorderGutter:!0,t:d}):null})]}):(0,n.jsx)("ul",{className:"divide-y divide-zinc-200 dark:divide-zinc-800/90",children:w.map((t,a)=>(0,n.jsx)(H,{st:t,index:a,taskId:e,enableSubtaskTimer:i,activeSubtaskTimerId:s,subtasksReadOnly:o,t:d,editingId:b,editVal:p,setEditingId:x,setEditVal:h,send:C},t.id))});return(0,n.jsxs)("div",{className:D?"mt-4 border-l border-zinc-300 pl-3 ml-0.5 dark:border-zinc-700/55":void 0,children:[D?(0,n.jsx)("div",{className:"mb-1.5 text-[0.65rem] font-semibold uppercase tracking-wide text-zinc-500 dark:text-zinc-500",children:d.subtasksHeading}):null,D?R:null,E?(0,n.jsx)("div",{className:D?"mt-2 border-t border-zinc-200 pt-2 dark:border-zinc-800/80":void 0,children:(0,n.jsx)(P,{draft:u,setDraft:m,taskId:e,send:C,t:d,autoFocus:k&&!D,onDismissIfEmpty:()=>f(!1)})}):null]})}var q=a(8783),K=a(7018),G=a(9474),U=a(8949);let V=`inline-flex ${w.ts} w-[1.875rem] shrink-0 items-center justify-center rounded-md border border-zinc-300/90 bg-white/80 text-zinc-600 hover:bg-zinc-100 dark:border-zinc-600/90 dark:bg-zinc-900/40 dark:text-zinc-400 dark:hover:bg-zinc-800`;function Z({colorKey:e,pressed:t,label:a,onPick:r}){return(0,n.jsx)("button",{type:"button",title:a,"aria-label":a,"aria-pressed":t,onClick:r,className:`size-4 shrink-0 rounded-full border transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-violet-500/60 ${null===e?t?"border-violet-500/70 bg-zinc-100 ring-1 ring-violet-500/35 dark:bg-zinc-800":"border-dashed border-zinc-400/80 bg-zinc-50 dark:border-zinc-500/80 dark:bg-zinc-900/60":`${U.le[e]} ${t?"border-white ring-1 ring-violet-500/55 dark:border-zinc-900":"border-transparent opacity-80 hover:opacity-100"}`}`})}function Y({value:e,onChange:t,t:a,disabled:i=!1,size:s="default"}){let[l,o]=(0,r.useState)(!1),d=(0,r.useRef)(null),c=(0,r.useId)(),u=(0,U.dM)(e),m=void 0===u?null:u;(0,r.useEffect)(()=>{if(!l)return;let e=e=>{d.current?.contains(e.target)||o(!1)},t=e=>{"Escape"===e.key&&o(!1)};return document.addEventListener("pointerdown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",t)}},[l]);let b=e=>{t(e),o(!1)},x=null===m?a.ganttColorPickerAuto:a.ganttColorPickerSwatch.replace("{color}",m);return(0,n.jsxs)("div",{ref:d,className:"relative",children:[(0,n.jsx)("button",{type:"button",disabled:i,className:`${"compact"===s?V:"inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-lg border border-zinc-300/90 bg-white/80 text-zinc-600 hover:bg-zinc-100 dark:border-zinc-600/90 dark:bg-zinc-900/40 dark:text-zinc-400 dark:hover:bg-zinc-800"} disabled:opacity-40`,title:a.taskGanttColorLabel,"aria-label":x,"aria-expanded":l,"aria-controls":l?c:void 0,onClick:()=>o(e=>!e),children:(0,n.jsx)("span",{className:`${"compact"===s?"size-2.5 rounded-full":"size-3.5 rounded-full"} ${null===m?"border border-dashed border-zinc-400/90 bg-zinc-200/50 dark:border-zinc-500/90 dark:bg-zinc-700/40":`${U.le[m]} ring-1 ring-black/10 dark:ring-white/15`}`,"aria-hidden":!0})}),l?(0,n.jsxs)("div",{id:c,role:"group","aria-label":a.ganttColorPickerAria,className:"absolute right-0 top-[calc(100%+0.25rem)] z-30 flex items-center gap-0.5 rounded-lg border border-zinc-200/90 bg-white/95 p-1 shadow-md shadow-zinc-900/10 backdrop-blur-sm dark:border-zinc-700/90 dark:bg-zinc-900/95 dark:shadow-black/30",children:[(0,n.jsx)(Z,{colorKey:null,pressed:null===m,label:a.ganttColorPickerAuto,onPick:()=>b(null)}),U.e$.map(e=>(0,n.jsx)(Z,{colorKey:e,pressed:m===e,label:a.ganttColorPickerSwatch.replace("{color}",e),onPick:()=>b(e)},e))]}):null]})}var X=a(2047);let Q="kronosys_finish_task_subtasks_warn_dismiss_v1";function J(e){let t,a=Array.isArray(t=e.taskTimerLaps)&&0!==t.length?t.reduce((e,t)=>{let a="number"==typeof t?.durationMs&&Number.isFinite(t.durationMs)?Math.max(0,Math.floor(t.durationMs)):NaN;if(Number.isFinite(a)&&a>0)return e+a;let n="string"==typeof t?.startTime?t.startTime.trim():"",r="string"==typeof t?.endTime?t.endTime.trim():"";return n&&r?e+Math.max(0,Date.parse(r)-Date.parse(n)):e},0):0;if(a>0)return a;let n=e.durationMs;if("number"==typeof n&&Number.isFinite(n)&&n>0)return Math.max(0,Math.floor(n));let r="string"==typeof e.startTime?new Date(e.startTime).getTime():NaN,i="string"==typeof e.endTime?new Date(e.endTime).getTime():NaN;return Number.isFinite(r)&&Number.isFinite(i)&&i>=r?Math.max(0,Math.floor(i-r)):0}function ee({task:e,lang:t,displayTimeZone:a=p.GB,use24HourClock:T=!0,calendarWeekStartsOn:M="sunday",isInspecting:S,inspectingId:C,knownTags:D,knownProjects:L,knownPersonalProjects:E=[],post:A,t:I,confirmDeleteTask:P,kronoFocusIsRunningOrPaused:F,showKronoFocusTaskActions:B=!0,startKronoFocusFromTask:R,onDuplicateTask:_,onSaveAsTemplate:W,isAlreadyTemplate:H=!1,pausePlayMode:U,onPausePlay:V,anchorId:Z,variant:et="card",allowTaskStartTimeEdit:ea=!0,allowTaskEndTimeEdit:en=!0,showTaskActionButtons:er=!0,allowAddSubtasks:ei=!0,showLiveTimerWhenInspecting:es=!1,deriveLiveTimerFromStartTime:el=!0,temporalPlanned:eo=!1,taskMinimumDurationMinutes:ed=30,reopenTaskContext:ec}){let eu,em=(0,r.useId)(),[eb,ex]=(0,r.useState)(!1),[ep,eh]=(0,r.useState)(!1),[ek,ef]=(0,r.useState)(!1),[eg,ev]=(0,r.useState)(""),[ej,ey]=(0,r.useState)(()=>"string"==typeof e.note?e.note:""),[ez,eN]=(0,r.useState)(""),[ew,eT]=(0,r.useState)(null),[eM,eS]=(0,r.useState)(null),[eC,eD]=(0,r.useState)(""),[eL,e$]=(0,r.useState)([]),[eE,eA]=(0,r.useState)(null),[eI,eP]=(0,r.useState)(null),[eF,eB]=(0,r.useState)(!1),[eR,e_]=(0,r.useState)(null),[eW,eH]=(0,r.useState)("0"),[eO,eq]=(0,r.useState)("0"),[eK,eG]=(0,r.useState)("0"),eU=(0,r.useRef)(!1),[eV,eZ]=(0,r.useState)("0"),[eY,eX]=(0,r.useState)("0"),[eQ,eJ]=(0,r.useState)("0"),e0=(0,r.useRef)(!1),[e1,e5]=(0,r.useState)(!1),[e2,e4]=(0,r.useState)("keep"),[e6,e9]=(0,r.useState)("align_start"),e3=(0,r.useId)(),[e8,e7]=(0,r.useState)("0"),[te,tt]=(0,r.useState)("0"),[ta,tn]=(0,r.useState)("0"),[tr,ti]=(0,r.useState)(null),ts=(0,r.useRef)(null),tl=(0,r.useRef)(!1),to=(0,r.useRef)(!1),[td,tc]=(0,r.useState)(!1),[tu,tm]=(0,r.useState)(()=>Date.now()),[tb,tx]=(0,r.useState)(()=>Date.now()),[tp,th]=(0,r.useState)(!1),[tk,tf]=(0,r.useState)("paused"),[tg,tv]=(0,r.useState)("0"),[tj,ty]=(0,r.useState)("0"),[tz,tN]=(0,r.useState)("0"),[tw,tT]=(0,r.useState)(!1),[tM,tS]=(0,r.useState)(!1),tC=(0,r.useRef)(!1),tD=(0,r.useId)(),tL=ec?.canResumeTimer===!0,t$=ec?.otherRunningTaskIds??[];(0,r.useEffect)(()=>{tC.current=tM},[tM]);let tE=(0,h.hk)(e.name,e.tags),tA=e.project?.trim()??"",tI=!0===e.personalProject,tP=(0,h.ZW)(e.name),tF=(0,h.I6)(e.name),tB=(0,h.jN)(e.name),tR=!0===e.isDone,t_=!tR&&"resume"===U,tW=!tR&&"pause"===U,tH=!eo&&!tR&&(!S||es)&&"pause"===U,tO=null!==ew?ew:null!==eM?eM:tR?J(e):eo?0:Math.max(0,e.durationMs??0),tq=(0,$.F)(tO,tH),tK=tH?"text-emerald-700 dark:text-emerald-400":eo?"text-sky-700 dark:text-sky-300/90":tR?"text-zinc-600 dark:text-zinc-400":"text-zinc-700 dark:text-zinc-300",tG=(0,n.jsx)("span",{className:`block font-mono text-lg font-bold leading-none tabular-nums tracking-tight sm:text-xl ${tK}`,"aria-live":tH?"polite":void 0,title:(0,h.Td)(tq),children:(0,h.Td)(tq)}),tU="string"==typeof e.startTime?(0,x._)(e.startTime,t,a,T):null,tV="string"==typeof e.endTime&&""!==e.endTime.trim()?e.endTime:"string"==typeof e.scheduledEndAt&&""!==e.scheduledEndAt.trim()?e.scheduledEndAt:void 0,tZ="string"==typeof tV?(0,x._)(tV,t,a,T):null,tY=tR?null!==eI?eI:(eu=J(e))>0?eu/6e4:null:null,tX=null!==tY?(0,h.a3)(tY):null,tQ="string"==typeof e.startTime&&""!==e.startTime.trim(),tJ="string"==typeof tV&&""!==tV.trim(),t0=Array.isArray(e.taskTimerLaps)?e.taskTimerLaps.map((n,r)=>{let i="string"==typeof n?.startTime?n.startTime.trim():"",s="string"==typeof n?.endTime?n.endTime.trim():"";if(!i||!s)return null;let l="number"==typeof n?.durationMs&&Number.isFinite(n.durationMs)?Math.max(0,Math.floor(n.durationMs)):Math.max(0,Date.parse(s)-Date.parse(i));if(l<1e3)return null;let o=(0,x._)(i,t,a,T),d=(0,x._)(s,t,a,T);return{id:`${e.id}-lap-${r}-${i}`,lapIndex:r,startLabel:o,endLabel:d,durationLabel:(0,h.Td)(l)}}).filter(e=>null!==e).map((e,t)=>({...e,index:t+1})):[],t1=e.taskCurrentLapStartedAt,t5="string"==typeof t1?Date.parse(t1):"number"==typeof t1&&Number.isFinite(t1)?t1:NaN,t2=tW&&Number.isFinite(t5)?{id:`${e.id}-lap-running-${t5}`,index:t0.length+1,startLabel:(0,x._)(new Date(t5).toISOString(),t,a,T),endLabel:I.taskTimerLapRunningLabel,durationLabel:(0,h.Td)(Math.max(0,tb-t5)),isRunning:!0}:null,t4=null!==t2?[...t0,t2]:t0,t6=(!!tR||ea)&&tQ,t9=(!!tR||en)&&(tQ||tJ),t3=t6||t9||null!==tU||null!==tZ||tR&&null!==tX,t8=!!tR||ea,t7=t6||t9,ae=(0,g.L)(ez,eC),at=(0,g.s1)(ez,eC,eV,eY,eQ),aa=(0,g.t6)(ez,eC,eV,eY,eQ),an=(0,r.useMemo)(()=>Array.isArray(e.taskTimerLaps)&&e.taskTimerLaps.length>0,[e.taskTimerLaps])&&tH?"fr"===t?"Cette t\xe2che a des laps enregistr\xe9s. La modification du d\xe9but peut cr\xe9er un chevauchement avec le lap en cours.":"This task has recorded laps. Changing the start time may create overlap with the running lap.":"",ar=(0,v.T)(ez,eC,t,T),ai=null!==eR?eL[eR]?.start??"":"",as=null!==eR?eL[eR]?.end??"":"",al=(0,r.useMemo)(()=>{if(null===eR)return"";let a=ai.trim(),n=as.trim();if(!a||!n)return"";let r=Date.parse(a),i=Date.parse(n);if(!Number.isFinite(r)||!Number.isFinite(i))return"";let s=Array.isArray(e.taskTimerLaps)?e.taskTimerLaps:[];if(eR>0){let e=s[eR-1],a="string"==typeof e?.endTime?Date.parse(e.endTime):NaN;if(Number.isFinite(a)&&r<a)return"fr"===t?`Le d\xe9but chevauche le lap #${eR} (fin \xe0 ${new Date(a).toLocaleTimeString()})`:`Start overlaps lap #${eR} (ends at ${new Date(a).toLocaleTimeString()})`}if(eR<s.length-1){let e=s[eR+1],a="string"==typeof e?.startTime?Date.parse(e.startTime):NaN;if(Number.isFinite(a)&&i>a)return"fr"===t?`La fin chevauche le lap #${eR+2} (d\xe9but \xe0 ${new Date(a).toLocaleTimeString()})`:`End overlaps lap #${eR+2} (starts at ${new Date(a).toLocaleTimeString()})`}return""},[eR,ai,as,e.taskTimerLaps,t]),ao=null!==eR&&(0,g.t6)(ai,as,eW,eO,eK,{requireEnd:!0})&&!al,ad=[tU?`${I.archiveTaskStartLabel} ${tU}`:"",tZ?`${I.archiveTaskEndLabel} ${tZ}`:"",tX?`${I.taskTimingDurationLabel} ${tX}`:""].filter(Boolean).join(", "),ac="string"==typeof e.scheduledEndAt&&""!==e.scheduledEndAt.trim()?Date.parse(e.scheduledEndAt):NaN,au=Number.isFinite(ac)?ac-tu:NaN;(0,r.useEffect)(()=>{ef(!1)},[e.id]),(0,r.useEffect)(()=>{if("string"!=typeof tV||""===tV.trim()||tR)return;let e=globalThis.setInterval(()=>{tm(Date.now())},1e3);return()=>globalThis.clearInterval(e)},[tV,tR,e.id]),(0,r.useEffect)(()=>{if(!tW||!Number.isFinite(t5))return;let e=globalThis.setInterval(()=>{tx(Date.now())},1e3);return()=>globalThis.clearInterval(e)},[tW,t5,e.id]),(0,r.useEffect)(()=>{ey("string"==typeof e.note?e.note:"")},[e.id,e.note]),(0,r.useEffect)(()=>{if(!tR){to.current=!1;return}if(to.current)return;let t="string"==typeof e.endTime?Date.parse(e.endTime):NaN;if(!Number.isFinite(t)||Math.abs(Date.now()-t)>2600)return;to.current=!0,tc(!0);let a=globalThis.setTimeout(()=>tc(!1),750);return()=>globalThis.clearTimeout(a)},[e.id,tR,e.endTime]),(0,r.useEffect)(()=>{let t="string"==typeof e.startTime?e.startTime.trim():"",a=t?new Date(t):null;!a||Number.isNaN(a.getTime())?eN(""):eN((0,G.Pw)(a))},[e.id,e.startTime]),(0,r.useEffect)(()=>{let t="string"==typeof e.endTime&&""!==e.endTime.trim()?e.endTime.trim():"string"==typeof e.scheduledEndAt?e.scheduledEndAt.trim():"",a=t?new Date(t):null;!a||Number.isNaN(a.getTime())?eD(""):eD((0,G.Pw)(a))},[e.id,e.endTime,e.scheduledEndAt]),(0,r.useEffect)(()=>{e$((Array.isArray(e.taskTimerLaps)?e.taskTimerLaps:[]).map(e=>{let t="string"==typeof e?.startTime?Date.parse(e.startTime):NaN,a="string"==typeof e?.endTime?Date.parse(e.endTime):NaN;return{start:Number.isFinite(t)?(0,G.Pw)(new Date(t)):"",end:Number.isFinite(a)?(0,G.Pw)(new Date(a)):""}}))},[e.id,e.taskTimerLaps]),(0,r.useEffect)(()=>{eT(null)},[e.id,e.durationMs]),(0,r.useEffect)(()=>{eP(null)},[e.id,e.durationMs,e.endTime]),(0,r.useEffect)(()=>{let t=Math.max(0,Math.floor((e.durationMs??0)/1e3));t>=3600&&(t=60*Math.floor(t/60));let a=Math.floor(t/3600),n=Math.floor(t%3600/60),r=t%60;e7(String(a)),tt(String(n)),tn(String(r))},[e.id,e.durationMs]),(0,r.useEffect)(()=>{let t=ez.trim()?new Date(ez).getTime():NaN,a=eC.trim()?new Date(eC).getTime():NaN;if(!Number.isFinite(t)||!Number.isFinite(a)||a<=t)return;let n=a-t,r=tR&&"number"==typeof e.durationMs?Math.min(Math.max(0,e.durationMs),n):n,i=(0,g.hE)(r/1e3);eZ(i.h),eX(i.m),eJ(i.s)},[ez,eC,tR,e.durationMs,e.id]),(0,r.useEffect)(()=>{if(!tH||!el||eo)return void eS(null);let t=(Array.isArray(e.taskTimerLaps)?e.taskTimerLaps:[]).reduce((e,t)=>e+Math.max(0,t.durationMs??0),0),a=t>0?t:Math.max(0,e.durationMs??0),n="string"==typeof e.activeSubtaskTimerId&&""!==e.activeSubtaskTimerId.trim()?e.subtaskTimerStartedAt:e.mainTimerSegmentStartedAt,r="string"==typeof n?Date.parse(n):"number"==typeof n&&Number.isFinite(n)?n:NaN;if(!Number.isFinite(r))return void eS(null);let i="string"==typeof e.startTime?e.startTime.trim():"",s=i?Date.parse(i):NaN,l=Number.isFinite(s)&&r<s?s:r,o=Math.max(0,Date.now()-l);Number.isFinite(s)&&l<=s+2e3?eS(a+Math.min(o,2e3)):eS(a+o)},[el,tH,e.durationMs,e.startTime,e.activeSubtaskTimerId,e.subtaskTimerStartedAt,e.mainTimerSegmentStartedAt,e.id,e.taskTimerLaps,eo]),(0,r.useEffect)(()=>{if(ek&&ts.current){let e=ts.current;e.focus();let t=e.value.length;e.setSelectionRange(t,t)}},[ek]);let am=(0,r.useCallback)(()=>{ev(tB),ef(!0)},[tB]),ab=(0,r.useCallback)(()=>{let t=eg.trim();if(ef(!1),""===t||t===tB)return;let a=/[@!]/.test(t),n=(0,h.H_)(t),r=(0,h.hk)(t,tE),i=a?(0,h.jM)(t):void 0,s=a?(0,h.v8)(t):void 0,l=void 0!==i?i:e.project??null,o=(0,h.Ds)(r,l),d=n.name.trim();if(d||(d=a&&n.project&&tB.trim()?tB.trim():(0,h.xm)(t,o,l??void 0)),!d.trim()&&0===o.length&&!l)return;let c={type:"updateTask",taskId:e.id,name:d,tags:o};C&&(c.sessionId=C),void 0!==i&&(c.project=i),void 0!==s&&(c.personalProject=s),A(c)},[eg,tB,e.id,e.project,tE,C,A]),ax=(0,r.useCallback)(()=>{tl.current=!0,ev(tB),ef(!1)},[tB]),ap=(0,r.useCallback)(()=>{A({type:"finishTask",taskId:e.id})},[A,e.id]),ah=(0,r.useCallback)(t=>{let a={type:"updateTask",taskId:e.id,name:e.name,tags:e.tags??[],ganttColor:t};void 0!==e.project&&(a.project=e.project),!0===e.personalProject&&(a.personalProject=!0),C&&(a.sessionId=C),A(a)},[C,A,e.id,e.name,e.personalProject,e.project,e.tags]),ak=(0,r.useCallback)(()=>{if(tR)return;let t=e.subtasks;if((Array.isArray(t)?t.filter(e=>!e.done).length:0)>0&&!function(){try{return globalThis.localStorage?.getItem(Q)==="1"}catch{return!1}}()){eh(!1),ex(!0);return}ap()},[tR,e.subtasks,ap]),af=(0,r.useCallback)(()=>{let t=Math.max(0,Math.floor(e.durationMs??0)),a=Math.floor(t/36e5),n=Math.floor(t%36e5/6e4),r=Math.floor(t%6e4/1e3);tv(String(a)),ty(String(n)),tN(String(r))},[e.durationMs]),ag=(0,r.useCallback)(async t=>{let a={type:"reopenTask",taskId:e.id,timerMode:tk,parallelTimer:t};"manual"===tk&&(a.manualDurationMs=(3600*Math.max(0,Math.floor(Number(tg)||0))+60*Math.max(0,Math.floor(Number(tj)||0))+Math.max(0,Math.floor(Number(tz)||0)))*1e3),C&&(a.sessionId=C),th(!1),tT(!1),await A(a)},[C,A,tg,tj,tz,tk,e.id]),av=(0,r.useCallback)(async(e,t)=>{t&&K.n.getState().setConcurrentTaskStartPreference(e),tT(!1),tS(!1);try{if("parallel"!==e)for(let t of t$){let a={taskId:t};C&&(a.sessionId=C),"pause"===e?await A({...a,type:"setTaskTimerPaused",paused:!0}):await A({...a,type:"finishTask"})}await ag("parallel"===e)}finally{th(!1)}},[ag,C,t$,A]),aj=(0,r.useCallback)(()=>{if("resume"===tk&&tL&&t$.length>0){let e=K.n.getState().concurrentTaskStartPreference;return(th(!1),"pause"===e)?void av("pause",!1):"finish"===e?void av("finish",!1):"parallel"===e?void av("parallel",!1):(tS(!1),void tT(!0))}ag(!1)},[tL,ag,t$.length,tk,av]),ay=(0,r.useCallback)(()=>{tf("paused"),af(),th(!0)},[af]),az=(0,n.jsx)("button",{type:"button",className:w.XO,title:I.reopenTaskBtn,"aria-label":I.reopenTaskBtn,onClick:ay,children:(0,n.jsx)(i.A,{size:14})}),aN=(0,r.useCallback)(e=>{eN(e)},[]),aw=(0,r.useCallback)(e=>{e0.current=!0,eD(e)},[]);(0,r.useEffect)(()=>{if(tR)return;if(e0.current){e0.current=!1;return}let t=ez.trim();if(!t)return;let a=Date.parse(t);if(!Number.isFinite(a)||("string"!=typeof e.endTime||""===e.endTime.trim())&&("string"!=typeof e.scheduledEndAt||""===e.scheduledEndAt.trim()))return;let n=(0,X.QF)(a,ed);eD((0,G.Pw)(new Date(n)))},[tR,ed,ez,e.endTime,e.scheduledEndAt]);let aT=(0,r.useCallback)(async(t,a,n)=>{let r="string"==typeof e.scheduledEndAt&&""!==e.scheduledEndAt.trim()||"string"==typeof e.endTime&&""!==e.endTime.trim(),i={type:"setTaskStartTime",taskId:e.id,startTime:t,durationAdjustMode:r?"from_bounds":"keep"};n?.lapAdjustMode&&(i.lapAdjustMode=n.lapAdjustMode),C&&(i.sessionId=C),tH&&eT(Math.max(0,Date.now()-a)),await A(i)},[C,tR,A,tH,e.endTime,e.id,e.scheduledEndAt,ed]),aM=(0,r.useCallback)(async()=>{if(!aa)return;let t=new Date(ez).getTime(),a=""!==eC.trim(),n=a?new Date(eC).getTime():NaN,r=a?(0,g.ir)(eV,eY,eQ):0,i=new Date(t).toISOString(),s=a?new Date(n).toISOString():"",l="string"==typeof e.startTime?e.startTime.trim():"",o="string"==typeof e.endTime&&""!==e.endTime.trim()?e.endTime.trim():"string"==typeof e.scheduledEndAt?e.scheduledEndAt.trim():"",d=t6&&i!==l,c=t9&&a&&s!==o;if(tR){if(d){let t={type:"setTaskStartTime",taskId:e.id,startTime:i,durationAdjustMode:"manual",manualDurationMs:r};C&&(t.sessionId=C),await A(t)}if(a&&(c||!d&&r!==(e.durationMs??0))){let t={type:"setTaskEndTime",taskId:e.id,endTime:s,durationAdjustMode:"manual",manualDurationMs:r};C&&(t.sessionId=C),await A(t),eP(r/6e4)}return}if(d&&await aT(i,t),c&&a){let a=r!==n-t,i={type:"setTaskEndTime",taskId:e.id,endTime:s,durationAdjustMode:a?"manual":"from_bounds"};a&&(i.manualDurationMs=r),C&&(i.sessionId=C),await A(i)}},[t9,t6,C,tR,A,aT,e.durationMs,e.endTime,e.id,e.scheduledEndAt,e.startTime,eC,ez,aa,eV,eY,eQ]),aS=(0,r.useCallback)((e,t,a)=>{e$(n=>{let r=[...n];return r[e]?(r[e]={...r[e],[t]:a},r):n})},[]),aC=(0,r.useCallback)(t=>{if(!t8)return;let a=(Array.isArray(e.taskTimerLaps)?e.taskTimerLaps:[])[t],n=eL[t];if(!a||!n)return;let r=Date.parse(n.start),i=Date.parse(n.end);if(!Number.isFinite(r)||!Number.isFinite(i))return;let s=new Date(r).toISOString(),l=new Date(i).toISOString(),o="string"==typeof a.startTime?a.startTime.trim():"",d="string"==typeof a.endTime?a.endTime.trim():"";if(s===o&&l===d)return;let c={type:"setTaskTimerLap",taskId:e.id,lapIndex:t,startTime:s,endTime:l};C&&(c.sessionId=C),A(c)},[t8,C,eL,A,e.id,e.taskTimerLaps]),aD=(0,r.useCallback)(e=>{null!==eR&&aS(eR,"start",e)},[eR,aS]),aL=(0,r.useCallback)(e=>{null!==eR&&(eU.current=!0,aS(eR,"end",e))},[eR,aS]);(0,r.useEffect)(()=>{if(null===eR)return;let e=ai.trim()?new Date(ai).getTime():NaN,t=as.trim()?new Date(as).getTime():NaN;if(!Number.isFinite(e)||!Number.isFinite(t)||t<=e)return;let a=(0,g.hE)((t-e)/1e3);eH(a.h),eq(a.m),eG(a.s)},[as,ai,eR]),(0,r.useEffect)(()=>{if(null===eR)return;let e=as.trim(),t=ai.trim();if(!t||e)return;if(eU.current){eU.current=!1;return}let a=Date.parse(t);if(!Number.isFinite(a))return;let n=(0,X.QF)(a,ed);aS(eR,"end",(0,G.Pw)(new Date(n)))},[ai,as,eR,ed,aS]);let a$=(0,r.useCallback)(()=>{null===eR||ao&&aC(eR)},[aC,ao,eR]),aE=(0,r.useCallback)(()=>{if(null===eE)return;let t={type:"deleteTaskTimerLap",taskId:e.id,lapIndex:eE};C&&(t.sessionId=C),A(t),eA(null)},[eE,C,A,e.id]),aA=(0,r.useCallback)(()=>{if(!tr)return void e5(!1);if("start"===tr.kind){aT(tr.nextIso,tr.startMs,{lapAdjustMode:tr.needsLapAdjust?e6:void 0}),e5(!1),ti(null);return}let t={type:"setTaskEndTime",taskId:e.id,durationAdjustMode:e2,endTime:tr.nextIso};"manual"===e2&&(t.manualDurationMs=(3600*Math.max(0,Math.floor(Number(e8)||0))+60*Math.max(0,Math.floor(Number(te)||0))+Math.max(0,Math.floor(Number(ta)||0)))*1e3),C&&(t.sessionId=C),"from_bounds"===e2&&null!==tr.endMs&&eP((tr.endMs-tr.startMs)/6e4),e5(!1),ti(null),A(t)},[C,e8,te,ta,tr,A,aT,e2,e6]),aI="string"==typeof e.startTime?Date.parse(e.startTime):NaN,aP="string"==typeof tV?Date.parse(tV):NaN,aF=null!==tZ&&Number.isFinite(aI)&&Number.isFinite(aP)&&aP>aI,aB=aF?tR?100:Math.min(100,Math.max(0,(tu-aI)/(aP-aI)*100)):0,aR="fr"===t?`Progression vers la fin : ${Math.round(aB)} %`:`Progress toward end: ${Math.round(aB)}%`,a_="rounded-xl border border-zinc-200/90 bg-white p-5 shadow-sm shadow-zinc-900/5 dark:border-zinc-800 dark:bg-black/20 dark:shadow-none sm:p-6",aW=Z?`scroll-mt-24 ${a_}`:a_,aH=eo?"plain"===et?"text-sky-900 dark:text-sky-100":"text-sky-950 dark:text-sky-50":tR?"plain"===et?"text-zinc-500 line-through decoration-zinc-400/[0.35] decoration-[1.5px] dark:text-zinc-400 dark:decoration-zinc-500/[0.35]":"text-zinc-500 line-through decoration-zinc-400/[0.35] decoration-[1.5px] dark:text-zinc-300 dark:decoration-zinc-500/[0.35]":"plain"===et?"text-zinc-900 dark:text-zinc-100":"text-zinc-950 dark:text-zinc-50",aO=H?w._L:w.VY,aq=H?I.taskAlreadyTemplateBtn:I.taskSaveTemplateBtn,aK=()=>{let t={type:"updateTask",taskId:e.id,name:e.name,tags:e.tags??[],project:null,personalProject:!1};C&&(t.sessionId=C),A(t)},aG=tA?(0,n.jsxs)("span",{role:"button",tabIndex:0,className:`${tI?w.t:w.W1} max-w-full`,title:(0,h.Bf)(tA,{personal:tI}),onClick:aK,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),aK())},children:[(0,n.jsx)("span",{className:w.Yu,children:(0,h.Bf)(tA,{personal:tI})}),(0,n.jsx)("span",{className:"pointer-events-none shrink-0 text-[0.625rem] leading-none font-normal text-zinc-400 dark:text-zinc-500",children:"\xd7"})]}):null,aU=tE.length>0?(0,n.jsx)(k.Z,{variant:"applied",differentiateProjectScopedTags:!0,className:"flex min-w-0 max-w-full flex-wrap items-center justify-end gap-x-1.5 gap-y-1.5",tags:tE,defaultTagBucketLabel:I.taskTagDefaultBucket,taskProject:e.project??null,taskPersonalProject:!0===e.personalProject,onRemove:t=>{let a=tE.filter(e=>(0,h.$U)(e)!==(0,h.$U)(t)),n=(0,h.Ds)(a,e.project??null),r={type:"updateTask",taskId:e.id,name:e.name,tags:n};void 0!==e.project&&(r.project=e.project),!0===e.personalProject&&(r.personalProject=!0),C&&(r.sessionId=C),A(r)}}):null,aV=er&&S?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(Y,{value:e.ganttColor,onChange:ah,t:I,size:"compact"}),(0,n.jsx)("button",{type:"button",className:w.VY,title:I.taskDuplicateTooltip,"aria-label":I.taskDuplicateBtn,onClick:()=>_(e),children:(0,n.jsx)(s.A,{size:14})}),W?(0,n.jsx)("button",{type:"button",className:aO,title:aq,"aria-label":aq,onClick:()=>W(e),children:H?(0,n.jsx)(l.A,{size:14}):(0,n.jsx)(o.A,{size:14})}):null,tR?az:null,(0,n.jsx)("button",{type:"button",className:w.Pe,title:I.taskDeleteBtn,"aria-label":I.taskDeleteBtn,onClick:()=>P(e.id),children:(0,n.jsx)(d.A,{size:14})})]}):null,aZ=er&&!S?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(Y,{value:e.ganttColor,onChange:ah,t:I,size:"compact"}),!tR&&B?(0,n.jsx)("button",{type:"button",className:`${w.Vd} ${F?"border-violet-500/55 bg-violet-100 dark:border-violet-500/55 dark:bg-violet-950/45":""}`,title:I.startKronoFocusFromActiveTask,"aria-label":I.startKronoFocusFromActiveTask,onClick:()=>void R(),children:(0,n.jsx)(c.A,{size:14})}):null,tR?az:null===U?(0,n.jsx)("span",{className:"inline-flex h-[1.875rem] w-[1.875rem] shrink-0","aria-hidden":!0}):(0,n.jsx)("button",{type:"button",className:w.VY,title:"pause"===U?I.pauseTaskBtn:I.resumeTaskBtn,"aria-label":"pause"===U?I.pauseTaskBtn:I.resumeTaskBtn,onClick:V,children:"pause"===U?(0,n.jsx)(u.A,{size:14}):(0,n.jsx)(m.A,{size:14,className:"ml-px"})}),tR?null:(0,n.jsx)("button",{type:"button",className:w.kY,title:I.finishTaskBtn,"aria-label":I.finishTaskBtn,onClick:()=>ak(),children:(0,n.jsx)(b.A,{size:14})}),(0,n.jsx)("button",{type:"button",className:w.VY,title:I.taskDuplicateTooltip,"aria-label":I.taskDuplicateBtn,onClick:()=>_(e),children:(0,n.jsx)(s.A,{size:14})}),W?(0,n.jsx)("button",{type:"button",className:aO,title:aq,"aria-label":aq,onClick:()=>W(e),children:H?(0,n.jsx)(l.A,{size:14}):(0,n.jsx)(o.A,{size:14})}):null,(0,n.jsx)("button",{type:"button",className:w.Pe,title:I.taskDeleteBtn,"aria-label":I.taskDeleteBtn,onClick:()=>P(e.id),children:(0,n.jsx)(d.A,{size:14})})]}):null,aY=aG||aV||aZ?(0,n.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-1.5",children:[aG,aV,aZ]}):null,aX=!!(aY||aU),aQ=(0,n.jsxs)("div",{className:"flex min-w-0 items-start justify-between gap-4",children:[(0,n.jsx)("div",{className:"min-w-0 shrink-0 self-center",children:tG}),aX?(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col items-end gap-1.5",children:[aY,aU]}):null]});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{id:Z,className:[aW,eo?"border-sky-400/85 bg-sky-50/80 dark:border-sky-500/55 dark:bg-sky-950/35":"",tW&&!eo?"kronosys-task-running-pulse":"",t_?"kronosys-task-paused-blink":"",td?"kronosys-task-finish-celebrate":""].filter(Boolean).join(" "),children:(0,n.jsxs)("div",{className:"flex min-w-0 flex-col gap-2.5",children:[aQ,tR&&t0.length>0?(()=>{let a="string"==typeof e.startTime?Date.parse(e.startTime):NaN,r="string"==typeof e.endTime?Date.parse(e.endTime):NaN,i="";if(Number.isFinite(a)&&Number.isFinite(r)&&r>a){let e=t0.reduce((e,t)=>e+("number"==typeof t.durationMs?Math.max(0,Math.floor(t.durationMs)):0),0),n=Math.floor(r-a);if(e>n){let a=(0,h.a3)(Math.round((e-n)/6e4));i="fr"===t?`Laps (${(0,h.a3)(Math.round(e/6e4))}) d\xe9passent la plage ${(0,h.a3)(Math.round(n/6e4))} de ${a}`:`Laps (${(0,h.a3)(Math.round(e/6e4))}) exceed bounds ${(0,h.a3)(Math.round(n/6e4))} by ${a}`}if(!i&&t0.length>0){let e=t0[t0.length-1],a="string"==typeof e.endTime?Date.parse(e.endTime):NaN;Number.isFinite(a)&&Math.abs(a-r)>6e4&&(i="fr"===t?`Dernier lap finit \xe0 ${(0,x._)(new Date(a).toISOString(),t)} au lieu de ${(0,x._)(new Date(r).toISOString(),t)}`:`Last lap ends at ${(0,x._)(new Date(a).toISOString(),t)} instead of ${(0,x._)(new Date(r).toISOString(),t)}`)}if(!i&&t0.length>1)for(let e=1;e<t0.length;e++){let a=t0[e-1],n=t0[e],r="string"==typeof a.endTime?Date.parse(a.endTime):NaN,s="string"==typeof n.startTime?Date.parse(n.startTime):NaN;if(Number.isFinite(r)&&Number.isFinite(s)&&s<r){i="fr"===t?`Lap #${e} et #${e+1} se chevauchent`:`Lap #${e} and #${e+1} overlap`;break}}}return i?(0,n.jsxs)("div",{className:"flex items-center gap-1.5 rounded-md border border-amber-300/70 bg-amber-50/90 px-2 py-1 dark:border-amber-700/60 dark:bg-amber-950/40",children:[(0,n.jsx)("span",{className:"size-1.5 rounded-full bg-amber-500 animate-pulse shrink-0","aria-hidden":!0}),(0,n.jsx)("span",{className:"text-[0.6rem] font-medium text-amber-800 dark:text-amber-200",children:i})]}):null})():null,(0,n.jsx)("div",{className:`flex min-h-10 min-w-0 flex-col justify-center bg-transparent ${"plain"===et?"border-b border-zinc-300 dark:border-zinc-600":"border-b border-zinc-300 bg-transparent dark:border-zinc-600"}`,children:ek?(0,n.jsx)(f.V,{inputRef:ts,type:"text",commitOnEnter:!0,className:w.zo,value:eg,onChange:ev,knownTags:D,knownProjects:L,knownPersonalProjects:E,usageTasks:[e],t:I,onBlur:()=>{if(tl.current){tl.current=!1;return}ab()},onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),tl.current=!0,ab()),"Escape"===e.key&&(e.preventDefault(),ax())},"aria-label":I.activeTaskTitleInputAria}):(0,n.jsx)("div",{role:"button",tabIndex:0,className:`flex h-full min-h-10 min-w-0 flex-1 cursor-pointer items-center rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-zinc-500/40 ${"plain"===et?"hover:bg-zinc-200/60 dark:hover:bg-zinc-800/40":"hover:bg-zinc-200/70 dark:hover:bg-zinc-800/40"}`,onClick:()=>am(),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),am())},title:I.activeTaskTitleEditHint,"aria-label":I.activeTaskTitleEditHint,children:(0,n.jsx)("div",{className:`flex h-full min-h-0 min-w-0 flex-1 flex-wrap items-center overflow-x-auto overflow-y-hidden ${w.O6} ${aH}`,children:tF.trim()?(0,n.jsx)(z.E,{source:tF,variant:"inline"}):(0,n.jsx)("span",{children:tP||"—"})})})}),t3?(0,n.jsxs)("div",{className:"space-y-1.5","aria-label":ad||void 0,children:[(0,n.jsx)(y._,{label:ar,fallbackLabel:I.pastTaskTimingEditBtn,rangeValid:ae,durationValid:""===eC.trim()?ae:at,ariaLabel:I.pastTaskTimingSummaryAria,disabled:!t7,onClick:()=>{t7&&eB(!0)}}),aF?(0,n.jsx)("div",{className:"flex min-w-0 w-full max-w-full items-center",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(aB),"aria-label":aR,children:(0,n.jsx)("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-zinc-200/90 dark:bg-zinc-700/80",children:(0,n.jsx)("div",{className:`h-full rounded-full bg-emerald-500/80 transition-[width] duration-1000 ease-linear dark:bg-emerald-400/75 ${Number.isFinite(au)&&au>0&&au<=3e5?"kronosys-end-time-alert-fast":Number.isFinite(au)&&au>0&&au<=9e5?"kronosys-end-time-alert-slow":""}`,style:{width:`${aB}%`}})})}):null]}):null,t4.length>0?(0,n.jsxs)("div",{className:"space-y-2.5 border-t border-zinc-200/80 pt-3 dark:border-zinc-700/70",children:[(0,n.jsx)("div",{className:"text-[0.65rem] font-semibold uppercase tracking-wide text-zinc-500 dark:text-zinc-400",children:I.taskTimerLapsHeading}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[t0.map(e=>{let a=eL[e.lapIndex],r=(0,v.T)(a?.start??"",a?.end??"",t,T)??(e.startLabel&&e.endLabel?`${e.startLabel} → ${e.endLabel}`:null),i=(0,g.L)(a?.start??"",a?.end??"",{requireEnd:!0});return(0,n.jsxs)("div",{className:"flex min-w-0 items-center gap-2 text-[0.72rem] leading-tight text-zinc-700 dark:text-zinc-300",children:[(0,n.jsxs)("span",{className:"w-6 shrink-0 tabular-nums font-semibold text-zinc-500 dark:text-zinc-400",children:["#",e.index]}),(0,n.jsx)(y._,{className:"min-w-0 flex-1 text-xs",label:r,fallbackLabel:I.pastTaskTimingEditBtn,rangeValid:i,durationValid:i,ariaLabel:`${I.pastTaskTimingSummaryAria} #${e.index}`,disabled:!t8,onClick:()=>{t8&&e_(e.lapIndex)}}),(0,n.jsx)("span",{className:"shrink-0 tabular-nums font-medium text-zinc-900 dark:text-zinc-100",children:e.durationLabel}),t8?(0,n.jsx)("button",{type:"button",className:w.Pe,title:I.taskTimerLapDeleteBtn,"aria-label":I.taskTimerLapDeleteBtn,onClick:()=>eA(e.lapIndex),children:(0,n.jsx)(d.A,{size:14})}):null]},e.id)}),t2?(0,n.jsxs)("div",{className:"flex min-w-0 items-center gap-2 text-[0.72rem] leading-tight text-zinc-700 dark:text-zinc-300",children:[(0,n.jsxs)("span",{className:"w-6 shrink-0 tabular-nums font-semibold text-zinc-500 dark:text-zinc-400",children:["#",t2.index]}),(0,n.jsx)(y._,{className:"min-w-0 flex-1 text-xs",label:t2.startLabel?`${t2.startLabel} → ${t2.endLabel}`:null,fallbackLabel:I.pastTaskTimingEditBtn,rangeValid:!0,durationValid:!0,ariaLabel:`${I.pastTaskTimingSummaryAria} #${t2.index}`,disabled:!0,onClick:()=>{}}),(0,n.jsx)("span",{className:"shrink-0 tabular-nums font-medium text-emerald-700 dark:text-emerald-400",children:t2.durationLabel})]}):null]})]}):null,(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)(N.a,{t:I,resetKey:e.id,value:ej,onChange:ey,onCommit:()=>{if(ej===("string"==typeof e.note?e.note:""))return;let t={type:"updateTask",taskId:e.id,note:ej};C&&(t.sessionId=C),A(t)}}),(0,n.jsx)(O,{taskId:e.id,sessionId:C,subtasks:e.subtasks,enableSubtaskTimer:!S&&!tR,activeSubtaskTimerId:e.activeSubtaskTimerId,allowAddSubtasks:ei&&!tR,subtasksReadOnly:tR,t:I,post:A})]})]})}),(0,n.jsx)(j.v,{open:eF,onClose:()=>eB(!1),onConfirm:()=>{aM()},lang:t,t:I,calendarWeekStartsOn:M,pastStartLocal:ez,onPastStartChange:aN,pastEndLocal:eC,onPastEndChange:aw,pastManualHours:eV,onPastManualHoursChange:eZ,pastManualMinutes:eY,onPastManualMinutesChange:eX,pastManualSeconds:eQ,onPastManualSecondsChange:eJ,canConfirm:aa,lapTimingConflictMessage:an||void 0}),(0,n.jsx)(j.v,{open:null!==eR,onClose:()=>e_(null),onConfirm:a$,lang:t,t:I,calendarWeekStartsOn:M,pastStartLocal:ai,onPastStartChange:aD,pastEndLocal:as,onPastEndChange:aL,pastManualHours:eW,onPastManualHoursChange:eH,pastManualMinutes:eO,onPastManualMinutesChange:eq,pastManualSeconds:eK,onPastManualSecondsChange:eG,canConfirm:ao,lapTimingConflictMessage:al||void 0}),(0,n.jsx)(q.qR,{open:null!==eE,title:I.taskTimerLapDeleteConfirmTitle,message:I.taskTimerLapDeleteConfirmMessage,cancelLabel:I.dialogCancelBtn,confirmLabel:I.taskTimerLapDeleteBtn,onCancel:()=>eA(null),onConfirm:aE}),(0,n.jsx)(q.qR,{open:eb,title:I.finishTaskOpenSubtasksWarnTitle,message:I.finishTaskOpenSubtasksWarnBody,cancelLabel:I.dialogCancelBtn,confirmLabel:I.finishTaskBtn,dismissCheckbox:{label:I.sessionArchiveDontShowAgain,checked:ep,onChange:eh},onCancel:()=>{ex(!1),eh(!1)},onConfirm:()=>{ep&&function(){try{globalThis.localStorage?.setItem(Q,"1")}catch{}}(),ex(!1),ap()}}),(0,n.jsx)(q.qR,{open:e1,title:I.taskTimingAdjustModalTitle,message:tr?.kind==="start"&&tr.needsLapAdjust?I.taskTimingAdjustModalMessageRunning:I.taskTimingAdjustModalMessage,cancelLabel:I.dialogCancelBtn,confirmLabel:I.dialogConfirmBtn,onCancel:()=>{e5(!1),ti(null)},onConfirm:aA,extra:(0,n.jsxs)("div",{className:"space-y-3 text-sm",children:[tr?.kind==="start"&&tr.needsLapAdjust?(0,n.jsxs)("div",{className:"space-y-2 rounded-lg border border-zinc-200 bg-zinc-50/90 p-3 dark:border-zinc-700 dark:bg-zinc-900/60",children:[(0,n.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wide text-zinc-600 dark:text-zinc-400",children:I.taskTimingAdjustLapSectionTitle.replace("{n}",String(tr.runningLapIndex))}),(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-lap-adjust-${e3}`,checked:"keep"===e6,onChange:()=>e9("keep")}),(0,n.jsx)("span",{children:I.taskTimingAdjustLapKeep})]}),(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-lap-adjust-${e3}`,checked:"flush"===e6,onChange:()=>e9("flush")}),(0,n.jsx)("span",{children:I.taskTimingAdjustLapFlush})]}),(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-lap-adjust-${e3}`,checked:"align_start"===e6,onChange:()=>e9("align_start")}),(0,n.jsx)("span",{children:I.taskTimingAdjustLapAlignStart})]})]}):null,tr?.kind==="end"?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wide text-zinc-600 dark:text-zinc-400",children:I.taskTimingDurationLabel}),(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-timing-adjust-mode-${em}`,checked:"keep"===e2,onChange:()=>e4("keep")}),(0,n.jsx)("span",{children:I.taskTimingAdjustKeepDuration})]}),(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-timing-adjust-mode-${em}`,checked:"manual"===e2,onChange:()=>e4("manual")}),(0,n.jsx)("span",{children:I.taskTimingAdjustManualDuration})]}),"manual"===e2?(0,n.jsxs)("div",{className:"grid grid-cols-3 gap-2",children:[(0,n.jsxs)("label",{className:"text-xs",children:[I.taskTimingAdjustHours,(0,n.jsx)("input",{type:"number",min:0,value:e8,onChange:e=>e7(e.target.value),className:"mt-1 w-full rounded border border-zinc-300 px-2 py-1 dark:border-zinc-600 dark:bg-zinc-900"})]}),(0,n.jsxs)("label",{className:"text-xs",children:[I.taskTimingAdjustMinutes,(0,n.jsx)("input",{type:"number",min:0,max:59,value:te,onChange:e=>tt(e.target.value),className:"mt-1 w-full rounded border border-zinc-300 px-2 py-1 dark:border-zinc-600 dark:bg-zinc-900"})]}),(0,n.jsxs)("label",{className:"text-xs",children:[I.taskTimingAdjustSeconds,(0,n.jsx)("input",{type:"number",min:0,max:59,value:ta,onChange:e=>tn(e.target.value),className:"mt-1 w-full rounded border border-zinc-300 px-2 py-1 dark:border-zinc-600 dark:bg-zinc-900"})]})]}):null,(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-timing-adjust-mode-${em}`,checked:"from_bounds"===e2,onChange:()=>e4("from_bounds"),disabled:tr?.endMs===null}),(0,n.jsx)("span",{children:I.taskTimingAdjustFromBounds})]})]}):null]})}),(0,n.jsx)(q.qR,{open:tp,title:I.reopenTaskModalTitle,message:I.reopenTaskModalMessage,cancelLabel:I.dialogCancelBtn,confirmLabel:I.reopenTaskBtn,onCancel:()=>th(!1),onConfirm:aj,extra:(0,n.jsxs)("div",{className:"space-y-3 text-sm",children:[tL?null:(0,n.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:I.reopenTaskEndedSessionHint}),tL?(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-reopen-mode-${tD}`,checked:"resume"===tk,onChange:()=>tf("resume")}),(0,n.jsx)("span",{children:I.reopenTaskTimerResume})]}):null,(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-reopen-mode-${tD}`,checked:"paused"===tk,onChange:()=>tf("paused")}),(0,n.jsx)("span",{children:I.reopenTaskTimerPaused})]}),(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-reopen-mode-${tD}`,checked:"manual"===tk,onChange:()=>tf("manual")}),(0,n.jsx)("span",{children:I.reopenTaskTimerManual})]}),"manual"===tk?(0,n.jsxs)("div",{className:"grid grid-cols-3 gap-2",children:[(0,n.jsxs)("label",{className:"text-xs",children:[I.taskTimingAdjustHours,(0,n.jsx)("input",{type:"number",min:0,value:tg,onChange:e=>tv(e.target.value),className:"mt-1 w-full rounded border border-zinc-300 px-2 py-1 dark:border-zinc-600 dark:bg-zinc-900"})]}),(0,n.jsxs)("label",{className:"text-xs",children:[I.taskTimingAdjustMinutes,(0,n.jsx)("input",{type:"number",min:0,max:59,value:tj,onChange:e=>ty(e.target.value),className:"mt-1 w-full rounded border border-zinc-300 px-2 py-1 dark:border-zinc-600 dark:bg-zinc-900"})]}),(0,n.jsxs)("label",{className:"text-xs",children:[I.taskTimingAdjustSeconds,(0,n.jsx)("input",{type:"number",min:0,max:59,value:tz,onChange:e=>tN(e.target.value),className:"mt-1 w-full rounded border border-zinc-300 px-2 py-1 dark:border-zinc-600 dark:bg-zinc-900"})]})]}):null,(0,n.jsxs)("label",{className:"flex items-start gap-2",children:[(0,n.jsx)("input",{type:"radio",name:`kronosys-task-reopen-mode-${tD}`,checked:"reset"===tk,onChange:()=>tf("reset")}),(0,n.jsx)("span",{children:I.reopenTaskTimerReset})]}),(0,n.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:I.reopenTaskSubtasksNote})]})}),(0,n.jsx)(q.NH,{open:tw,title:I.taskConcurrentTrackingConflictTitle,message:I.taskConcurrentTrackingConflictMessage,dismissLabel:I.dialogCancelBtn,tertiaryLabel:I.taskConcurrentTrackingConflictParallelBtn,secondaryLabel:I.taskConcurrentTrackingConflictPauseBtn,primaryLabel:I.taskConcurrentTrackingConflictFinishBtn,primaryVariant:"danger",dismissCheckbox:{label:I.taskConcurrentTrackingDontShowAgain,checked:tM,onChange:tS},onDismiss:()=>tT(!1),onTertiary:()=>void av("parallel",tC.current),onSecondary:()=>void av("pause",tC.current),onPrimary:()=>void av("finish",tC.current)})]})}},2047:(e,t,a)=>{function n(e){let t=e?.taskMinimumDurationMinutes;return Math.min(Math.max(Math.round("number"==typeof t&&Number.isFinite(t)?t:30),15),480)}function r(e){let t=new Date(e),a=t.getMinutes();return t.setMinutes(a<30?0:30,0,0),t}function i(e,t){return e+6e4*t}a.d(t,{QF:()=>i,SD:()=>r,rv:()=>n})},2194:(e,t,a)=>{a.d(t,{F7:()=>d,I2:()=>o,dM:()=>l});var n=a(5112);let r="dashboardCalendarWeekStartsOn",i={sunday:0,monday:1,saturday:6};function s(e){return"monday"===e||"sunday"===e||"saturday"===e}function l(e){let t=e?.[r];return s(t)?t:"sunday"}function o(e){let t=e?.[r];return s(t)?t:(0,n.EU)()}function d(e){return i[e]}},4747:(e,t,a)=>{a.d(t,{r:()=>l});var n=a(1934),r=a(9311);let i={dashboard:"kronosys.dashboard.tour.completed.v1",settings:"kronosys.settings.tour.completed.v1",reporting:"kronosys.reporting.tour.completed.v1"},s="kronosys.dashboard.tours.v2";!function(){if(window.localStorage.getItem(s))return;let e={},t=!1;for(let[a,n]of Object.entries(i))if("1"===window.localStorage.getItem(n)){e[a]=!0,t=!0;try{window.localStorage.removeItem(n)}catch{}}if(t)try{window.localStorage.setItem(s,JSON.stringify({state:e,version:0}))}catch{}}();let l=(0,n.v)()((0,r.Zr)(e=>({dashboard:!1,settings:!1,reporting:!1,markDashboardCompleted:()=>e({dashboard:!0}),markSettingsCompleted:()=>e({settings:!0}),markReportingCompleted:()=>e({reporting:!0}),resetDashboard:()=>e({dashboard:!1}),resetSettings:()=>e({settings:!1}),resetReporting:()=>e({reporting:!1})}),{name:s,partialize:e=>({dashboard:e.dashboard,settings:e.settings,reporting:e.reporting})}))},5172:(e,t,a)=>{a.d(t,{v:()=>c});var n=a(5155),r=a(2115),i=a(7650),s=a(9005),l=a(777),o=a(9474);function d({children:e}){return"u"<typeof document?null:(0,i.createPortal)(e,document.body)}function c({open:e,onClose:t,lang:a,t:i,calendarWeekStartsOn:u="sunday",pastStartLocal:m,onPastStartChange:b,pastEndLocal:x,onPastEndChange:p,pastManualHours:h,onPastManualHoursChange:k,pastManualMinutes:f,onPastManualMinutesChange:g,pastManualSeconds:v,onPastManualSecondsChange:j,canConfirm:y,onConfirm:z,lapTimingConflictMessage:N}){let w=(0,r.useId)();return((0,r.useEffect)(()=>{if(!e)return;let a=e=>{"Escape"===e.key&&t()};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[e,t]),(0,r.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=t}},[e]),e)?(0,n.jsx)(d,{children:(0,n.jsx)("div",{className:"fixed inset-0 z-[250] flex items-center justify-center bg-black/60 p-4",role:"presentation",onMouseDown:e=>{e.target===e.currentTarget&&t()},children:(0,n.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":w,className:"flex max-h-[90vh] w-full max-w-3xl flex-col overflow-hidden rounded-xl border border-zinc-200 bg-white shadow-2xl dark:border-zinc-700 dark:bg-zinc-900",onMouseDown:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"flex shrink-0 items-start justify-between gap-3 border-b border-zinc-200 px-4 py-3 dark:border-zinc-700",children:[(0,n.jsx)("h2",{id:w,className:"text-base font-semibold text-zinc-900 dark:text-zinc-100",children:i.pastTaskTimingModalTitle}),(0,n.jsx)("button",{type:"button",className:"shrink-0 rounded-md p-1 text-zinc-500 hover:bg-zinc-100 hover:text-zinc-800 dark:hover:bg-zinc-800 dark:hover:text-zinc-200","aria-label":i.pastTaskTimingModalCancel,onClick:t,children:(0,n.jsx)(s.A,{className:"h-4 w-4",strokeWidth:2,"aria-hidden":!0})})]}),(0,n.jsxs)("div",{className:"min-h-0 flex-1 space-y-4 overflow-y-auto overscroll-y-contain px-4 py-4",children:[(0,n.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,n.jsxs)("label",{className:"flex min-w-0 flex-col text-sm text-zinc-700 dark:text-zinc-300",children:[(0,n.jsx)("span",{className:"mb-1 block font-medium text-zinc-800 dark:text-zinc-200",children:i.archiveTaskStartLabel}),(0,n.jsx)(o.Fe,{value:m,onChange:b,"aria-label":i.archiveTaskStartLabel,lang:a,defaultTimeMode:"last-half-hour",calendarWeekStartsOn:u,presentation:"inline",t:i})]}),(0,n.jsxs)("label",{className:"flex min-w-0 flex-col text-sm text-zinc-700 dark:text-zinc-300",children:[(0,n.jsxs)("span",{className:"mb-1 block font-medium text-zinc-800 dark:text-zinc-200",children:[i.archiveTaskEndLabel,(0,n.jsxs)("span",{className:"ml-1 font-normal text-zinc-500 dark:text-zinc-400",children:["(",i.pastTaskTimingEndOptional,")"]})]}),(0,n.jsx)(o.Fe,{value:x,onChange:p,"aria-label":i.archiveTaskEndLabel,lang:a,calendarWeekStartsOn:u,presentation:"inline",t:i})]})]}),""!==x.trim()?(0,n.jsxs)("div",{className:"space-y-2 border-t border-zinc-200 pt-4 dark:border-zinc-700",children:[(0,n.jsx)("div",{className:"text-center text-[0.65rem] font-semibold uppercase tracking-wide text-zinc-500 dark:text-zinc-500",children:i.archiveTaskTimerDurationLabel}),(0,n.jsxs)("div",{className:"flex flex-wrap items-end justify-center gap-x-2 gap-y-1",children:[(0,n.jsxs)("label",{className:"flex w-[3.25rem] shrink-0 flex-col text-xs",children:[i.taskTimingAdjustHours,(0,n.jsx)("input",{type:"number",min:0,value:h,onChange:e=>k(e.target.value),className:"mt-1 w-full min-w-0 rounded border border-zinc-300 px-1.5 py-1 text-center tabular-nums dark:border-zinc-600 dark:bg-zinc-900"})]}),(0,n.jsxs)("label",{className:"flex w-[3.25rem] shrink-0 flex-col text-xs",children:[i.taskTimingAdjustMinutes,(0,n.jsx)("input",{type:"number",min:0,max:59,value:f,onChange:e=>g(e.target.value),className:"mt-1 w-full min-w-0 rounded border border-zinc-300 px-1.5 py-1 text-center tabular-nums dark:border-zinc-600 dark:bg-zinc-900"})]}),(0,n.jsxs)("label",{className:"flex w-[3.25rem] shrink-0 flex-col text-xs",children:[i.taskTimingAdjustSeconds,(0,n.jsx)("input",{type:"number",min:0,max:59,value:v,onChange:e=>j(e.target.value),className:"mt-1 w-full min-w-0 rounded border border-zinc-300 px-1.5 py-1 text-center tabular-nums dark:border-zinc-600 dark:bg-zinc-900"})]})]})]}):null,N?(0,n.jsx)("p",{className:"rounded-md border border-amber-300 bg-amber-50 px-3 py-2 text-xs font-medium text-amber-800 dark:border-amber-700 dark:bg-amber-950 dark:text-amber-200",children:N}):null]}),(0,n.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-zinc-200 px-4 py-3 dark:border-zinc-700",children:[(0,n.jsx)("button",{type:"button",className:"rounded-lg border border-zinc-300 px-3 py-1.5 text-sm font-medium text-zinc-700 hover:bg-zinc-50 dark:border-zinc-600 dark:text-zinc-200 dark:hover:bg-zinc-800",onClick:t,children:i.pastTaskTimingModalCancel}),(0,n.jsx)("button",{type:"button",className:l.Sx,disabled:!y,onClick:()=>{y&&(z?.(),t())},children:i.pastTaskTimingModalConfirm})]})]})})}):null}},5865:(e,t,a)=>{a.d(t,{a:()=>k});var n=a(5155),r=a(2115),i=a(7650),s=a(7356),l=a(1421),o=a(1908);let d={position:"fixed",top:0,left:0,width:384,zIndex:80,visibility:"hidden",pointerEvents:"none"},c=["**bold** and *italic* and ~~strike~~","- first item\n- second item","- [ ] todo\n- [x] done","| A | B |\n| --- | --- |\n| 1 | 2 |","[link label](https://example.com)","https://example.com","`inline code`"],u=["**Priority** — next step","See [`docs`](https://example.com)","~~cancelled~~ item"];function m({source:e,variant:t}){return(0,n.jsxs)("div",{className:"rounded-md border border-zinc-200/90 bg-zinc-50/90 p-2 dark:border-zinc-700/80 dark:bg-zinc-950/40",children:[(0,n.jsx)("pre",{className:"overflow-x-auto whitespace-pre-wrap font-mono text-[0.62rem] leading-snug text-zinc-600 dark:text-zinc-400",children:e}),(0,n.jsx)("div",{className:"mt-1.5 border-t border-zinc-200/80 pt-1.5 text-sm dark:border-zinc-700/70",children:(0,n.jsx)(l.E,{source:e,variant:t})})]})}function b({t:e,compact:t}){let[a,l]=(0,r.useState)(!1),x=(0,r.useRef)(null),p=(0,r.useRef)(null),h=(0,r.useId)(),k=(0,o.l)(a,x,p,{align:"end",maxWidthRem:24});(0,r.useEffect)(()=>{if(!a)return;let e=e=>{let t=e.target;x.current?.contains(t)||p.current?.contains(t)||l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[a]);let f=k??(a?d:void 0),g=a&&"u">typeof document&&f?(0,i.createPortal)((0,n.jsxs)("div",{ref:p,id:`${h}-task-md-help`,style:f,className:"max-h-[min(70vh,28rem)] overflow-y-auto rounded-lg border border-zinc-200 bg-white p-2.5 text-left shadow-xl dark:border-zinc-600 dark:bg-zinc-900",role:"region","aria-label":e.taskMarkdownHelpAriaLabel,children:[(0,n.jsx)("p",{className:"text-[0.7rem] leading-snug text-zinc-700 dark:text-zinc-300",children:e.taskMarkdownHelpIntro}),(0,n.jsx)("p",{className:"mt-2 text-[0.65rem] font-semibold uppercase tracking-wide text-zinc-500 dark:text-zinc-400",children:e.taskMarkdownHelpNoteHeading}),(0,n.jsx)("div",{className:"mt-1.5 space-y-1.5",children:c.map(e=>(0,n.jsx)(m,{source:e,variant:"block"},e))}),(0,n.jsx)("p",{className:"mt-2 text-[0.65rem] font-semibold uppercase tracking-wide text-zinc-500 dark:text-zinc-400",children:e.taskMarkdownHelpTitleHeading}),(0,n.jsx)("div",{className:"mt-1.5 space-y-1.5",children:u.map(e=>(0,n.jsx)(m,{source:e,variant:"inline"},e))}),(0,n.jsx)("p",{className:"mt-2 text-[0.65rem] leading-snug text-zinc-600 dark:text-zinc-400",children:e.taskMarkdownHelpSecurity}),(0,n.jsx)("p",{className:"mt-1.5 text-[0.65rem] leading-snug text-zinc-600 dark:text-zinc-400",children:e.taskMarkdownHelpGfmLimits})]}),document.body):null;return(0,n.jsxs)("div",{className:`relative flex shrink-0 items-center justify-center self-center ${t?"h-5 min-w-5":"h-10"}`,ref:x,children:[(0,n.jsx)("button",{type:"button",className:`text-zinc-500 hover:bg-zinc-200/90 hover:text-zinc-800 dark:hover:bg-zinc-800 dark:hover:text-zinc-300 ${t?"flex size-full items-center justify-center rounded-sm p-0":"rounded-md p-1.5"}`,"aria-label":e.taskMarkdownHelpAriaLabel,"aria-expanded":a?"true":"false","aria-controls":`${h}-task-md-help`,onClick:()=>l(e=>!e),children:(0,n.jsx)(s.A,{size:t?11:18,strokeWidth:1.75,"aria-hidden":!0})}),g]})}var x=a(4435),p=a(149);function h({value:e,onChange:t,onCommit:a,onDismiss:i,placeholder:s,ariaLabel:o,editHint:d}){let[c,u]=(0,r.useState)(()=>0===e.trim().length),m=(0,r.useRef)(null);(0,r.useEffect)(()=>{e.trim()&&document.activeElement!==m.current&&u(!1)},[e]);let b=()=>{u(!0),requestAnimationFrame(()=>{let e=m.current;if(!e)return;e.focus(),(0,x.q)(e);let t=e.value.length;e.setSelectionRange(t,t)})};return!c&&e.trim()?(0,n.jsx)("div",{role:"button",tabIndex:0,className:p.Zm,title:d,"aria-label":o,onClick:b,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),b())},children:(0,n.jsx)(l.E,{source:e,variant:"block"})}):(0,n.jsx)(x.I,{textareaRef:m,placeholder:s,value:e,"aria-label":o,onChange:t,onBlur:()=>{a?.(),e.trim()?u(!1):i?.()}})}function k({t:e,value:t,onChange:a,onCommit:i,launcherPreview:s=!1,resetKey:l}){let[o,d]=(0,r.useState)(!1),c=s?"launcher":"card";(0,r.useEffect)(()=>{s&&t.trim()?d(!0):d(!1)},[s,l]);let u=function(e,t,a="card"){return"launcher"===a?!t:0===e.trim().length&&!t}(t,o,c),m=function(e,t,a="card"){return"launcher"===a?t:t||e.trim().length>0}(t,o,c);return(0,n.jsxs)("div",{className:"space-y-0.5",children:[(0,n.jsx)("span",{className:"sr-only",children:e.taskNoteLabel}),u?(0,n.jsxs)("div",{className:"flex min-w-0 items-center justify-between gap-2",children:[(0,n.jsx)("button",{type:"button",className:"text-left text-[0.7rem] font-medium text-zinc-600 underline decoration-zinc-400/70 underline-offset-2 hover:text-zinc-900 dark:text-zinc-400 dark:decoration-zinc-500/70 dark:hover:text-zinc-200",onClick:()=>d(!0),children:e.taskNoteAddBtn}),(0,n.jsx)(b,{t:e,compact:!0})]}):null,m?s?(0,n.jsxs)("div",{className:"flex min-w-0 items-start gap-2",children:[(0,n.jsx)(x.I,{className:"min-w-0 flex-1",placeholder:e.taskNotePlaceholder,value:t,"aria-label":e.taskNoteLabel,onChange:a,onBlur:()=>{t.trim()||d(!1)}}),(0,n.jsx)(b,{t:e,compact:!0})]}):(0,n.jsx)(h,{value:t,onChange:a,onCommit:i,onDismiss:()=>{t.trim()||d(!1)},placeholder:e.taskNotePlaceholder,ariaLabel:e.taskNoteLabel,editHint:e.taskNoteEditHint}):null,m&&!s?(0,n.jsx)("div",{className:"flex items-center justify-end",children:(0,n.jsx)(b,{t:e,compact:!0})}):null]})}},6749:(e,t,a)=>{function n(e){let t=Math.max(0,Math.floor(e));t>=3600&&(t=60*Math.floor(t/60));let a=Math.floor(t/3600),n=Math.floor(t%3600/60),r=t%60;return{h:String(a),m:String(n),s:String(r)}}function r(e,t,a){return(3600*Math.max(0,Math.floor(Number(e)||0))+60*Math.max(0,Math.floor(Number(t)||0))+Math.max(0,Math.floor(Number(a)||0)))*1e3}function i(e){return""!==e.trim()&&Number.isFinite(new Date(e).getTime())}function s(e,t,a){if(!i(e))return!1;if(""===t.trim())return a?.requireEnd!==!0;let n=new Date(e).getTime(),r=new Date(t).getTime();return Number.isFinite(r)&&r>n}function l(e,t,a,n,s){if(!i(e))return!1;if(""===t.trim())return!0;let l=Math.round(new Date(t).getTime()-new Date(e).getTime()),o=r(a,n,s);return o>0&&o<=l}function o(e,t,a,n,r,i){return!!s(e,t,i)&&(""===t.trim()||l(e,t,a,n,r))}a.d(t,{L:()=>s,hE:()=>n,ir:()=>r,s1:()=>l,t6:()=>o})},6969:(e,t,a)=>{a.d(t,{V:()=>c});var n=a(5155),r=a(2115),i=a(7650),s=a(5486);function l(e,t){let a=t.toLowerCase();e.set(a,(e.get(a)??0)+1)}function o(e,t){let a=Math.min(Math.max(0,t),e.length),n=e.slice(0,a),r=null,i=e=>{if(e){if(!r||e.replaceStart>r.replaceStart){r=e;return}e.replaceStart===r.replaceStart&&e.scopedProjectKey&&!r.scopedProjectKey&&(r=e)}},l=n.match(/(?:^|\s)([@!])([^\s@!#]+)#([^\s@!#\s]*)$/);if(l){let e=l[1],t=(0,s.qu)(l[2]),n=l[3];t&&i({kind:"#",query:n,replaceStart:a-n.length-1,replaceEnd:a,scopedProjectKey:t,scopedPersonal:"!"===e})}let o=n.match(/(?:^|\s|[^\s#])(#[^\s@!#\s]*)$/);if(o){let e=o[0],t=e.lastIndexOf("#");i({kind:"#",query:e.slice(t+1),replaceStart:a-e.length+t,replaceEnd:a})}let d=n.match(/(?:^|\s)(@[^\s@!#\s]*)$/);if(d){let e=d[0],t=e.lastIndexOf("@");i({kind:"@",query:e.slice(t+1),replaceStart:a-e.length+t,replaceEnd:a})}let c=n.match(/(?:^|\s|[^\s!#])(![^\s@!#\s]*)$/);if(c){let e=c[0],t=e.lastIndexOf("!");i({kind:"!",query:e.slice(t+1),replaceStart:a-e.length+t,replaceEnd:a})}return r}function d(e,t,a,n,r,i){let s=t.trim().toLowerCase(),l=new Map(n.map((e,t)=>[r(e).toLowerCase(),t])),o=new Set,d=[];for(let t of e){let e=r(t),a=e.toLowerCase();!(!e||o.has(a))&&(o.add(a),(!s||a.startsWith(s)||e.toLowerCase().includes(s))&&d.push(e))}return d.sort((e,t)=>{let n=a.get(e.toLowerCase())??0,r=a.get(t.toLowerCase())??0;if(r!==n)return r-n;let i=l.get(e.toLowerCase())??-1,s=l.get(t.toLowerCase())??-1;return s!==i?s-i:e.localeCompare(t,void 0,{sensitivity:"base"})}),d.slice(0,i)}function c({value:e,onChange:t,onKeyDown:a,inputRef:u,suggestAnchorRef:m,knownTags:b,knownProjects:x,knownPersonalProjects:p,usageTasks:h,usage:k,titleSuggestions:f,titleSuggestionsAria:g,onTitleSuggestionSelect:v,onDeleteTitleSuggestion:j,t:y,commitOnEnter:z=!1,className:N,onBlur:w,onFocus:T,...M}){var S;let C=(0,r.useId)(),D=(0,r.useRef)(null),L=u??D,[$,E]=(0,r.useState)(0),[A,I]=(0,r.useState)(!1),[P,F]=(0,r.useState)(!1),[B,R]=(0,r.useState)(0),[_,W]=(0,r.useState)(null),H=(0,r.useMemo)(()=>k||function(e){let t=new Map,a=new Map,n=new Map;for(let r of e){let e=(0,s.H_)("string"==typeof r.name?r.name:""),i=new Set;for(let t of[...r.tags??[],...e.tags])"string"==typeof t&&t.trim()&&i.add((0,s.$U)(t));for(let e of i)l(t,e);let o=("string"==typeof r.project&&r.project.trim()?r.project.trim():void 0)??e.project;if(o){let t=(0,s.qu)(o);!0===r.personalProject||!0===e.personalProject?l(n,t):l(a,t)}}return{tagCounts:t,workProjectCounts:a,personalProjectCounts:n}}(h??[]),[k,h]),O=(0,r.useMemo)(()=>A?o(e,$):null,[A,e,$]),q=(0,r.useMemo)(()=>O?function(e,t){let a=t.limit??8,{knownTags:n,knownProjects:r,knownPersonalProjects:i,usage:l}=t;if("@"===e.kind)return d([...r,...l.workProjectCounts.keys()],e.query,l.workProjectCounts,r,s.qu,a).map(e=>({value:e,label:(0,s.cD)(e,{personal:!1})}));if("!"===e.kind)return d([...i,...l.personalProjectCounts.keys()],e.query,l.personalProjectCounts,i,s.qu,a).map(e=>({value:e,label:(0,s.cD)(e,{personal:!0})}));let o=e.scopedProjectKey;if(o){let t=(0,s.jC)(n,o).map(e=>{let t=(0,s.T8)((0,s.$U)(e));return t&&t.projectKey.toLowerCase()===o.toLowerCase()?t.localTag:null}).filter(e=>!!e),r=new Map;for(let[e,t]of l.tagCounts){let a=(0,s.T8)(e);a&&a.projectKey.toLowerCase()===o.toLowerCase()&&r.set(a.localTag.toLowerCase(),(r.get(a.localTag.toLowerCase())??0)+t)}return d([...t,...r.keys()],e.query,r,t,e=>(0,s.$U)(e),a).map(e=>({value:e,label:(0,s.jo)(`${o}#${e}`)}))}return d([...n.filter(e=>!(0,s.T8)(e)),...l.tagCounts.keys()],e.query,l.tagCounts,n,s.$U,a).map(e=>({value:e,label:(0,s.jo)(e)}))}(O,{knownTags:b,knownProjects:x,knownPersonalProjects:p,usage:H}):[],[O,b,x,p,H]),K=(0,r.useMemo)(()=>!P||O?[]:f??[],[O,P,f]),G=O?q:K,U=(0,r.useCallback)(()=>{let e;W((e=m?.current??L.current)?e.getBoundingClientRect():null)},[L,m]);(0,r.useEffect)(()=>{R(0)},[G,O?.kind,O?.query]),(0,r.useEffect)(()=>{if(!(A&&O&&q.length>0||P&&K.length>0))return;U();let e=()=>U();return window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[O,U,P,A,q.length,e,$,K.length]);let V=(0,r.useCallback)(()=>{I(!1),F(!1)},[]),Z=(0,r.useCallback)(a=>{if(O){var n;let r,i=q[a];if(!i)return;let{next:s,caret:l}=(n=i.value,r="#"===O.kind&&O.scopedProjectKey?`#${n}`:`${O.kind}${n}`,{next:e.slice(0,O.replaceStart)+r+e.slice(O.replaceEnd),caret:O.replaceStart+r.length});t(s),V(),requestAnimationFrame(()=>{let e=L.current;e&&(e.focus(),e.setSelectionRange(l,l),E(l))});return}let r=K[a];r&&(t(r.value),v?.(r),V(),requestAnimationFrame(()=>{let e=L.current;if(!e)return;e.focus();let t=r.value.length;e.setSelectionRange(t,t),E(t)}))},[O,V,L,t,v,q,e,K]),Y=(0,r.useCallback)(()=>{let t=L.current;t&&E(t.selectionStart??e.length)},[L,e.length]),X=(0,r.useCallback)(e=>{t(e.target.value);let a=e.target.selectionStart??e.target.value.length;E(a);let n=o(e.target.value,a);I(!!n),F(!n)},[t]),Q=(0,r.useCallback)(e=>{if("Enter"===e.key&&z){V(),a?.(e);return}if((A||P)&&G.length>0){if("ArrowDown"===e.key){e.preventDefault(),R(e=>Math.min(e+1,G.length-1));return}if("ArrowUp"===e.key){e.preventDefault(),R(e=>Math.max(e-1,0));return}if("Enter"===e.key||"Tab"===e.key){e.preventDefault(),Z(B);return}if("Escape"===e.key){e.preventDefault(),V();return}}a?.(e)},[G.length,Z,V,z,B,a,P,A]),J=A&&!!O&&q.length>0,ee=P&&!O&&K.length>0,et=(J||ee)&&_,ea=O?(S=O.kind,"@"===S?y.taskTokenSuggestWorkProjectsAria:"!"===S?y.taskTokenSuggestPersonalProjectsAria:y.taskTokenSuggestTagsAria):g??y.taskTitleTemplateSuggestAria;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("input",{...M,ref:L,autoComplete:"off",className:N,value:e,onChange:X,onKeyDown:Q,onClick:Y,onKeyUp:Y,onSelect:Y,onFocus:t=>{Y();let a=L.current;if(a){let t=a.selectionStart??e.length,n=o(e,t);I(!!n),F(!n)}T?.(t)},onBlur:e=>{globalThis.setTimeout(V,120),w?.(e)},"aria-autocomplete":et?"list":void 0,"aria-controls":et?C:void 0,"aria-expanded":et?"true":"false"}),et&&"u">typeof document?(0,i.createPortal)((0,n.jsx)("ul",{id:C,role:"listbox","data-testid":J?"task-token-suggest":"task-title-suggest","aria-label":ea,className:"fixed z-[220] max-h-52 overflow-y-auto rounded-lg border border-zinc-200 bg-white py-1 text-left text-sm shadow-lg dark:border-zinc-600 dark:bg-zinc-900",style:{top:_.bottom+4,left:_.left,width:Math.max(_.width,200)},children:(J?q:K).map((e,t)=>(0,n.jsx)("li",{role:"option","aria-selected":t===B?"true":"false",children:(0,n.jsxs)("button",{type:"button",tabIndex:-1,className:`flex w-full items-center px-3 py-1.5 text-left ${t===B?"bg-violet-500/15 text-violet-950 dark:bg-violet-500/25 dark:text-violet-50":"text-zinc-800 hover:bg-zinc-100 dark:text-zinc-100 dark:hover:bg-zinc-800"}`,onMouseDown:e=>{e.preventDefault(),Z(t)},onMouseEnter:()=>R(t),children:[(0,n.jsx)("span",{className:"truncate font-medium",children:e.label}),!J&&e.id&&j?(0,n.jsx)("span",{className:"ml-auto shrink-0 px-1 text-zinc-400 hover:text-red-600 dark:hover:text-red-400",role:"button",tabIndex:-1,"aria-label":y.taskDeleteBtn,onPointerDown:t=>{t.stopPropagation(),j(e.id)},children:(0,n.jsx)("svg",{className:"size-3.5",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:2,children:(0,n.jsx)("path",{d:"M4 4l8 8M12 4l-8 8"})})}):null]})},`${e.value}-${t}`))}),document.body):null]})}},7150:(e,t,a)=>{a.d(t,{h:()=>f});var n=a(5155),r=a(2115),i=a(7650),s=a(2934),l=a(5486),o=a(7908),d=a(1908),c=a(8949);let u="bg-[repeating-linear-gradient(-45deg,theme(colors.zinc.200),theme(colors.zinc.200)_5px,theme(colors.zinc.100)_5px,theme(colors.zinc.100)_10px)] dark:bg-[repeating-linear-gradient(-45deg,theme(colors.zinc.700),theme(colors.zinc.700)_5px,theme(colors.zinc.800)_5px,theme(colors.zinc.800)_10px)]",m="min(13rem, 32vw)",b="h-11";function x({row:e,t,fillClass:a,barStyle:s,visible:l,fallbackTitle:o,onEdit:c}){let[u,m]=(0,r.useState)(!1),b=(0,r.useRef)(null),h=(0,r.useRef)(null),k=(0,r.useId)(),f=e.laps.length>0,g=(0,d.l)(u&&f,b,h,{align:"center",maxWidthRem:30}),v=g?{...g,zIndex:110}:void 0,j=u&&f&&"u">typeof document&&v?(0,i.createPortal)((0,n.jsxs)("div",{ref:h,id:k,role:"tooltip","aria-label":t.tasksTimelineGanttLapsPopoverAria,style:v,className:"rounded-lg border border-zinc-600 bg-zinc-900 p-2.5 text-left shadow-xl dark:border-zinc-500 dark:bg-zinc-950",onPointerEnter:()=>m(!0),onPointerLeave:()=>m(!1),children:[(0,n.jsx)("p",{className:"text-[0.65rem] font-semibold uppercase tracking-wide text-zinc-400",children:t.taskTimerLapsHeading}),(0,n.jsx)("ul",{className:"mt-1.5 space-y-1",children:e.laps.map(t=>(0,n.jsx)(p,{lap:t,active:t.key===e.segmentLapKey},t.key))})]}),document.body):null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{ref:b,className:`absolute top-1/2 z-[4] h-7 max-h-[calc(100%-0.5rem)] -translate-y-1/2 ${a} rounded-sm shadow-sm ring-1 ring-black/5 dark:ring-white/10 ${f?"cursor-help":"cursor-default"}`,style:s,title:f?void 0:o||void 0,"aria-hidden":!l,"aria-describedby":u&&f?k:void 0,onPointerEnter:()=>{f&&m(!0)},onPointerLeave:()=>{f&&m(!1)},onClick:t=>{t.stopPropagation(),c?.(e)}}),j]})}function p({lap:e,active:t}){return(0,n.jsxs)("li",{className:`flex min-w-0 items-baseline gap-x-2 text-[0.68rem] leading-snug tabular-nums ${t?"font-semibold text-emerald-300":"text-zinc-200 dark:text-zinc-300"}`,children:[(0,n.jsxs)("span",{className:"shrink-0 text-zinc-500",children:["#",e.index]}),(0,n.jsxs)("span",{className:"min-w-0 flex-1 whitespace-nowrap",children:[e.startLabel," – ",e.endLabel]}),e.durationLabel?(0,n.jsx)("span",{className:"shrink-0 font-medium text-emerald-400/90",children:e.durationLabel}):null]})}function h({row:e,lang:t,displayTimeZone:a,use24HourClock:o,t:c}){let[u,m]=(0,r.useState)(!1),b=(0,r.useRef)(null),x=(0,r.useRef)(null),p=(0,r.useId)(),k=(0,d.l)(u,b,x,{align:"center",maxWidthRem:24}),f=k?{...k,zIndex:110}:void 0,g="number"==typeof e.endMs?e.endMs:Date.now(),v=null!==e.timerDurationMs&&Number.isFinite(e.timerDurationMs)?e.timerDurationMs:null,j=u&&"u">typeof document&&f?(0,i.createPortal)((0,n.jsxs)("div",{ref:x,id:p,role:"tooltip",style:f,className:"rounded-lg border border-zinc-600 bg-zinc-900 p-3 text-left shadow-xl dark:border-zinc-500 dark:bg-zinc-950",onPointerEnter:()=>m(!0),onPointerLeave:()=>m(!1),children:[(0,n.jsx)("p",{className:"text-sm font-semibold text-zinc-100",children:e.name}),e.project?(0,n.jsx)("p",{className:"mt-0.5 text-[0.7rem] text-zinc-400",children:(0,l.Bf)(e.project,{personal:!0===e.personalProject})}):null,(0,n.jsxs)("dl",{className:"mt-2 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-[0.68rem] tabular-nums",children:[(0,n.jsx)("dt",{className:"text-zinc-500",children:c.tasksTimelineGanttTooltipStart}),(0,n.jsx)("dd",{className:"text-zinc-200",children:e.startLabel}),(0,n.jsx)("dt",{className:"text-zinc-500",children:c.tasksTimelineGanttTooltipEnd}),(0,n.jsx)("dd",{className:"text-zinc-200",children:(0,s._)(new Date(g).toISOString(),t,a,o)??e.endLabel}),(0,n.jsx)("dt",{className:"text-zinc-500",children:c.tasksTimelineGanttTooltipTimer}),(0,n.jsx)("dd",{className:"font-medium text-emerald-400",children:null!==v?(0,l.Uw)(v):c.tasksTimelineGanttTooltipTimerUnknown})]})]}),document.body):null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{ref:b,className:"absolute inset-0 cursor-help",onPointerEnter:()=>m(!0),onPointerLeave:()=>m(!1)}),j]})}function k(e){return Number.isFinite(e)?Math.min(100,Math.max(0,e)):0}function f({rows:e,sessionStartMs:t,sessionEndMs:a,lang:i,displayTimeZone:d,use24HourClock:p,t:g,showLegend:v=!0,maxHeight:j,minHeight:y,onTaskEdit:z,onGapClick:N}){let w=(0,r.useRef)(null),[T,M]=(0,r.useState)(()=>Date.now());(0,r.useEffect)(()=>{M(Date.now());let e=globalThis.setInterval(()=>{M(Date.now())},1e3);return()=>globalThis.clearInterval(e)},[]);let S=(0,r.useMemo)(()=>{let t=new Map;for(let a of e){let e=null!==a.timerDurationMs&&Number.isFinite(a.timerDurationMs)?Math.max(0,a.timerDurationMs):0,n=t.get(a.taskId);(!n||e>n.ms)&&t.set(a.taskId,{ms:e,personal:!0===a.personalProject})}let a=0,n=0;for(let{ms:e,personal:r}of t.values())e<=0||(r?n+=e:a+=e);return{productive:a,personal:n,taskCount:t.size}},[e]),{windowStartMs:C,windowEndMs:D,spanMs:L,trackWidthPx:$}=(0,r.useMemo)(()=>{let n,r;if(0===e.length)return{windowStartMs:0,windowEndMs:0,spanMs:1,trackWidthPx:520};let i=Math.min(...e.map(e=>e.startMs));if(n=null!==t?t-18e5:i-18e5,null!==a)r=a+18e5;else{let e;r=new Date((e=new Date(T)).getFullYear(),e.getMonth(),e.getDate(),23,59,59,999).getTime()}for(let t of e)r=Math.max(r,("number"==typeof t.endMs?t.endMs:T)+18e5);r=Math.max(r,n+18e5);let s=18e5*Math.floor(n/18e5),l=18e5*Math.ceil(r/18e5);l<=s&&(l=s+18e5);let o=Math.max(l-s,18e5),d=Math.max(520,o/6e4*3);return{windowStartMs:s,windowEndMs:l,spanMs:o,trackWidthPx:d}},[e,t,a,T]),E=(0,r.useMemo)(()=>0===e.length?[]:(0,o.i0)(C,D,i,d,p),[e.length,C,D,i,d,p]),A=(0,r.useMemo)(()=>(0,s._)(new Date(C).toISOString(),i,d,p),[C,i,d,p]),I=(0,r.useMemo)(()=>(0,s._)(new Date(D).toISOString(),i,d,p),[D,i,d,p]),P=e=>"major"===e?"border-l-[1.5px] border-zinc-400 dark:border-zinc-500":"half"===e?"border-l border-zinc-400/85 dark:border-zinc-500/70":"border-l border-zinc-300/75 dark:border-zinc-600/55",F=e=>"major"===e?"max-w-[10rem] truncate text-[0.62rem] font-medium leading-none text-zinc-600 dark:text-zinc-300":"half"===e?"max-w-[6rem] truncate text-[0.58rem] leading-none text-zinc-500 dark:text-zinc-400":"max-w-[5rem] truncate text-[0.54rem] leading-none text-zinc-400/95 dark:text-zinc-500";return((0,r.useEffect)(()=>{let t=w.current;t&&0!==e.length&&(t.scrollLeft=Math.max(0,(e[0].startMs-C)/L*$-48))},[e,C,L,$]),0===e.length)?(0,n.jsx)("p",{className:"text-sm text-zinc-500",children:g.tasksTimelineEmpty}):(0,n.jsxs)("div",{className:"flex flex-col gap-0",style:{maxHeight:j??"min(70vh, 540px)",minHeight:y??"240px"},children:[(0,n.jsx)("div",{ref:w,className:"relative min-h-0 flex-1 overflow-auto [scrollbar-gutter:stable]",children:(0,n.jsxs)("div",{className:"inline-flex min-w-full",style:{width:`calc(${m} + ${$}px)`},children:[(0,n.jsxs)("div",{className:"sticky left-0 z-10 shrink-0",style:{width:m},children:[(0,n.jsx)("div",{className:"sticky top-0 z-[3] h-10 border-b border-r border-zinc-200 bg-white dark:border-zinc-700/80 dark:bg-zinc-900","aria-hidden":!0}),e.map(e=>(0,n.jsxs)("div",{className:`relative flex ${b} items-center gap-2 border-b border-r px-2 dark:border-zinc-800/90 dark:border-zinc-700/80 ${e.planned?"border-sky-200 bg-sky-50/70 dark:border-sky-800 dark:bg-sky-950/30":"border-zinc-100 bg-white dark:bg-zinc-900"}`,children:[(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("p",{className:`truncate text-left text-sm font-medium ${e.planned?"text-sky-800 dark:text-sky-200":"text-zinc-900 dark:text-zinc-100"}`,children:(0,l.ZW)(e.name)}),"string"==typeof e.project&&e.project.trim()?(0,n.jsx)("p",{className:"mt-0.5 truncate text-left text-[0.65rem] text-zinc-500 dark:text-zinc-400",children:(0,l.Bf)(e.project,{personal:!0===e.personalProject})}):null]}),e.planned?(0,n.jsx)("span",{className:"shrink-0 rounded-md border border-sky-400/50 bg-sky-100 px-1.5 py-0.5 text-[0.55rem] font-semibold uppercase tracking-wide text-sky-700 dark:border-sky-500/40 dark:bg-sky-950/50 dark:text-sky-300",children:"fr"===i?"Planifi\xe9":"Planned"}):e.durationLabel?(0,n.jsx)("span",{className:"shrink-0 rounded-full border border-zinc-500/40 px-1.5 py-0.5 text-[0.6rem] tabular-nums text-zinc-500 dark:text-zinc-400",children:e.durationLabel}):null,(0,n.jsx)(h,{row:e,lang:i,displayTimeZone:d,use24HourClock:p,t:g})]},e.id)),(0,n.jsx)("div",{className:"h-10 border-r border-t border-zinc-200 bg-white dark:border-zinc-700/80 dark:bg-zinc-900","aria-hidden":!0})]}),(0,n.jsxs)("div",{className:"shrink-0",style:{width:$},children:[(0,n.jsx)("div",{className:"sticky top-0 z-[2] h-10 border-b border-zinc-200 bg-white dark:border-zinc-700/80 dark:bg-zinc-900",children:(0,n.jsx)("div",{className:"relative h-full",children:E.map(e=>{let t=k((e.ms-C)/L*100);return(0,n.jsx)("div",{className:`absolute top-0 bottom-0 ${P(e.tier)}`,style:{left:`${t}%`},children:(0,n.jsx)("span",{className:`absolute left-0.5 top-1 whitespace-nowrap ${F(e.tier)}`,children:e.label})},`top-${e.ms}`)})})}),e.map(e=>{let t,a,r,o,m,h="number"==typeof e.endMs?e.endMs:T,f=Math.max(e.startMs,C),v=Math.min(h,D),j=(0,c.pb)({ganttColor:e.ganttColor,personalProject:e.personalProject,id:e.id}),y=k((f-C)/L*100),w=Math.max(k((v-f)/L*100),.2*(v>f)),M=y+w,S=v>f?(t=Math.max(0,h-e.startMs),a=(0,s._)(new Date(h).toISOString(),i,d,p),o=null!==(r=null!==e.timerDurationMs&&Number.isFinite(e.timerDurationMs)?e.timerDurationMs:null)?(0,l.Uw)(r):g.tasksTimelineGanttTooltipTimerUnknown,m=(0,l.Uw)(t),`${g.tasksTimelineGanttTooltipStart}: ${e.startLabel}
2
+ ${g.tasksTimelineGanttTooltipEnd}: ${a??e.endLabel}
3
+ ${g.tasksTimelineGanttTooltipTimer}: ${o}
4
+ ${g.tasksTimelineGanttTooltipWall}: ${m}`):"";return(0,n.jsxs)("div",{className:`relative ${b} border-b border-zinc-100 dark:border-zinc-800/90 cursor-pointer`,onClick:e=>{let t=e.currentTarget.getBoundingClientRect(),a=C+(e.clientX-t.left)/t.width*L;N?.(a)},children:[(0,n.jsx)("div",{className:`absolute inset-0 ${u}`,"aria-hidden":!0}),(0,n.jsx)(x,{row:e,t:g,fillClass:e.planned?"bg-sky-300/80 dark:bg-sky-600/60":j,visible:v>f,fallbackTitle:S,onEdit:z,barStyle:{left:`${y}%`,width:`${w}%`,minWidth:v>f&&w>0?"4px":0,opacity:v>f?e.planned?.7:.92:0,pointerEvents:v>f?"auto":"none",border:e.planned?"1.5px dashed rgba(125,211,252,0.6)":void 0,boxShadow:e.planned?"none":void 0}}),(0,n.jsx)("div",{className:`pointer-events-none absolute inset-0 z-[2] ${u}`,style:{clipPath:`polygon(0% 0%, ${y}% 0%, ${y}% 100%, 0% 100%)`},"aria-hidden":!0}),(0,n.jsx)("div",{className:`pointer-events-none absolute inset-0 z-[2] ${u}`,style:{clipPath:`polygon(${M}% 0%, 100% 0%, 100% 100%, ${M}% 100%)`},"aria-hidden":!0}),e.hasNextLapInTask&&v>f&&M<100?(0,n.jsx)("div",{className:"pointer-events-none absolute z-[3] flex items-center justify-center",style:{left:`${Math.min(M,98)}%`,top:0,bottom:0,width:"1.25rem",transform:"translateX(-50%)"},"aria-hidden":!0,children:(0,n.jsx)("svg",{viewBox:"0 0 16 16",className:"size-4 text-zinc-400 dark:text-zinc-500 drop-shadow-sm",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("path",{d:"M8 3v10M8 13l4-4M8 13l-4-4"})})}):null]},e.id)}),(0,n.jsx)("div",{className:"h-10 border-t border-zinc-200 bg-white dark:border-zinc-700/80 dark:bg-zinc-900",children:(0,n.jsx)("div",{className:"relative h-full",children:E.map(e=>{let t=k((e.ms-C)/L*100);return(0,n.jsx)("div",{className:`absolute top-0 bottom-0 ${P(e.tier)}`,style:{left:`${t}%`},children:(0,n.jsx)("span",{className:`absolute bottom-1 left-0.5 whitespace-nowrap ${F(e.tier)}`,children:e.label})},`bottom-${e.ms}`)})})})]})]})}),(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap gap-x-4 gap-y-1 border-t border-zinc-200 pt-2 text-xs text-zinc-600 dark:border-zinc-700/80 dark:text-zinc-400",children:[(0,n.jsxs)("span",{className:"tabular-nums",children:[S.taskCount," ",1===S.taskCount?"fr"===i?"t\xe2che":"task":"fr"===i?"t\xe2ches":"tasks"]}),(0,n.jsx)("span",{children:g.tasksTimelineGanttSummaryProductive.replace("{duration}",(0,l.a3)(S.productive/6e4))}),(0,n.jsx)("span",{children:g.tasksTimelineGanttSummaryPersonal.replace("{duration}",(0,l.a3)(S.personal/6e4))})]}),(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap justify-between gap-2 border-t border-zinc-200 pt-2 text-[0.65rem] text-zinc-500 dark:border-zinc-700/80 dark:text-zinc-500",children:[(0,n.jsxs)("span",{children:[(0,n.jsx)("span",{className:"font-semibold uppercase tracking-wide",children:g.tasksTimelineGanttWindowStartLabel})," ",(0,n.jsx)("span",{className:"font-mono tabular-nums text-zinc-700 dark:text-zinc-300",children:A})]}),(0,n.jsxs)("span",{children:[(0,n.jsx)("span",{className:"font-semibold uppercase tracking-wide",children:g.tasksTimelineGanttWindowEndLabel})," ",(0,n.jsx)("span",{className:"font-mono tabular-nums text-zinc-700 dark:text-zinc-300",children:I})]})]}),v?(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 border-t border-zinc-200 pt-2 dark:border-zinc-700/80",children:[(0,n.jsx)("span",{className:`inline-block size-3 shrink-0 rounded-sm ${c.mv[c.e$[0]]}`}),(0,n.jsx)("span",{className:"text-xs text-zinc-600 dark:text-zinc-400",children:g.tasksTimelineGanttLegendProductive}),(0,n.jsx)("span",{className:"inline-block size-3 shrink-0 rounded-sm bg-rose-500/85 dark:bg-rose-500/75"}),(0,n.jsx)("span",{className:"text-xs text-zinc-600 dark:text-zinc-400",children:g.tasksTimelineGanttLegendPersonal}),(0,n.jsx)("span",{className:"inline-block size-3 shrink-0 rounded-sm bg-sky-300/80 dark:bg-sky-600/60 ring-1 ring-sky-400/60 dark:ring-sky-500/50"}),(0,n.jsx)("span",{className:"text-xs text-zinc-600 dark:text-zinc-400",children:"fr"===i?"Planifi\xe9":"Planned"}),(0,n.jsx)("span",{className:`inline-block h-3 w-8 shrink-0 rounded-sm ${u} ring-1 ring-zinc-300/80 dark:ring-zinc-600/80`}),(0,n.jsx)("span",{className:"text-xs text-zinc-600 dark:text-zinc-400",children:g.tasksTimelineGanttLegendGap})]}):null]})}},7856:(e,t,a)=>{a.d(t,{p:()=>d});var n=a(5155),r=a(2115),i=a(7650),s=a(7356),l=a(1908);let o={position:"fixed",top:0,left:0,width:288,zIndex:80,visibility:"hidden",pointerEvents:"none"};function d({ariaLabel:e,body:t,align:a="start",preserveLineBreaks:c=!1,panelClassName:u}){let[m,b]=(0,r.useState)(!1),x=(0,r.useRef)(null),p=(0,r.useRef)(null),h=(0,r.useId)(),k=(0,l.l)(m,x,p,{align:a,maxWidthRem:u?24:18});(0,r.useEffect)(()=>{if(!m)return;let e=e=>{let t=e.target;x.current?.contains(t)||p.current?.contains(t)||b(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[m]);let f=k??(m?o:void 0),g=m&&"u">typeof document&&f?(0,i.createPortal)((0,n.jsx)("div",{ref:p,id:`${h}-metric-help`,style:f,className:`rounded-lg border border-zinc-200 bg-white p-2.5 text-left shadow-lg normal-case dark:border-zinc-600 dark:bg-zinc-900${u?` ${u}`:""}`,role:"region","aria-label":e,children:(0,n.jsx)("p",{className:`text-[0.7rem] leading-snug text-zinc-700 dark:text-zinc-300${c?" whitespace-pre-line":""} ${!u?"max-w-full":""}`,children:t})}),document.body):null;return(0,n.jsxs)("div",{className:"relative inline-flex shrink-0",ref:x,children:[(0,n.jsx)("button",{type:"button",className:"rounded p-0.5 text-zinc-500 hover:bg-zinc-200/90 hover:text-zinc-800 dark:hover:bg-zinc-800 dark:hover:text-zinc-300","aria-label":e,"aria-expanded":m?"true":"false","aria-controls":`${h}-metric-help`,onClick:()=>b(e=>!e),children:(0,n.jsx)(s.A,{size:13,strokeWidth:1.75,"aria-hidden":!0})}),g]})}},7908:(e,t,a)=>{a.d(t,{$m:()=>c,Qj:()=>b,i0:()=>d,p0:()=>x});var n=a(8949),r=a(1555),i=a(2934),s=a(5486);function l(e){let t=e.trim();return t&&(0,r.DP)(t)?t:r.GB}function o(e){return"fr"===e?"fr-CA":"en-CA"}function d(e,t,a,n,r){if(!Number.isFinite(e)||!Number.isFinite(t)||t<e)return[];let i=[],s=18e5*Math.floor(e/18e5),d=null;for(let e=s;e<=t+1&&!(e>t+1);e+=18e5){let t=e%36e5==0?"major":"half",s=function(e,t){let a=l(t);return new Intl.DateTimeFormat("en-CA",{year:"numeric",month:"2-digit",day:"2-digit",timeZone:a}).format(new Date(e))}(e,n),c=function(e,t,a,n){let r=l(a);return new Intl.DateTimeFormat(o(t),{hour:"numeric",minute:"2-digit",hour12:!n,timeZone:r}).format(new Date(e))}(e,a,n,r),u=s!==d?`${function(e,t,a){let n=l(a);return new Intl.DateTimeFormat(o(t),{dateStyle:"short",timeZone:n}).format(new Date(e))}(e,a,n)} ${c}`:c;d=s,i.push({ms:e,tier:t,label:u})}return i}function c(e){if(!e)return[];let t=new Map;for(let a of Array.isArray(e.tasks)?e.tasks:[])a?.id&&t.set(String(a.id),a);for(let a of Array.isArray(e.activeTasks)&&e.activeTasks.length>0?[...e.activeTasks]:e.activeTask?[e.activeTask]:[])a?.id&&t.set(String(a.id),a);return[...t.values()]}function u(e){return e>0?(0,s.a3)(e/6e4):null}function m(e,t,a,n,r,i,s,l,o){return{id:l,taskId:e,hasNextLapInTask:o,segmentLapKey:i.key,laps:s,name:t,project:a,ganttColor:r,personalProject:n,startMs:i.startMs,endMs:i.endMs??void 0,timerDurationMs:i.timerDurationMs,startLabel:i.startLabel,endLabel:i.endLabel,durationLabel:i.durationLabel}}function b(e,t){let a=[],r=Date.now();for(let s of e){let e=String(s.id??"").trim();if(!e)continue;let l="string"==typeof s.startTime?Date.parse(s.startTime):NaN,o=Number.isFinite(l)&&l>r,d="string"==typeof s.name?s.name:"",c=s.project??null,b=!0===s.personalProject,x=(0,n.VB)(s.ganttColor),p=function(e,t){let{isInspecting:a,lang:n,displayTimeZone:r,use24HourClock:s,nowMs:l}=t,o=Array.isArray(e.taskTimerLaps)?e.taskTimerLaps:[],d=[];for(let e=0;e<o.length;e++){let t=o[e],a="string"==typeof t?.startTime?Date.parse(t.startTime):NaN,l="string"==typeof t?.endTime?Date.parse(t.endTime):NaN;if(!Number.isFinite(a)||!Number.isFinite(l)||l<a)continue;let c="number"==typeof t?.durationMs&&Number.isFinite(t.durationMs)?Math.max(0,Math.floor(t.durationMs)):Math.max(0,Math.floor(l-a));c<=0||d.push({key:`lap::${e+1}`,index:e+1,startMs:a,endMs:l,timerDurationMs:c,startLabel:(0,i._)(new Date(a).toISOString(),n,r,s)??"—",endLabel:(0,i._)(new Date(l).toISOString(),n,r,s)??"—",durationLabel:u(c)})}let c=e.taskCurrentLapStartedAt,m="string"==typeof c?Date.parse(c):"number"==typeof c&&Number.isFinite(c)?c:NaN;if(!a&&Number.isFinite(m)&&l>=m){let e=Math.max(0,Math.floor(l-m));d.push({key:"running",index:d.length+1,startMs:m,endMs:null,timerDurationMs:e,startLabel:(0,i._)(new Date(m).toISOString(),n,r,s)??"—",endLabel:"fr"===n?"en cours":"running",durationLabel:u(e),running:!0})}return d}(s,{...t,nowMs:r});if(p.length>0){for(let t=0;t<p.length;t++){let n=p[t],r=t<p.length-1,i=m(e,d,c,b,x,n,p,`${e}::${n.key}`,r);i.planned=o,a.push(i)}continue}let h=function(e,t){let{isInspecting:a,lang:n,displayTimeZone:r,use24HourClock:s}=t,l="string"==typeof e.startTime?Date.parse(e.startTime):NaN,o="string"==typeof e.endTime?Date.parse(e.endTime):NaN,d="string"==typeof e.scheduledEndAt?Date.parse(e.scheduledEndAt):NaN,c=Number.isFinite(o)?o:Number.isFinite(d)?d:NaN;if(!Number.isFinite(l)&&!Number.isFinite(c)||(!Number.isFinite(l)&&Number.isFinite(c)&&(l=c-("number"==typeof e.durationMs&&Number.isFinite(e.durationMs)?e.durationMs:6e4)),!Number.isFinite(l)))return null;let m=Number.isFinite(c),b="number"==typeof e.durationMs&&Number.isFinite(e.durationMs)?Math.max(0,Math.floor(e.durationMs)):m?Math.max(0,Math.floor(c-l)):null;return{key:"bounds",index:1,startMs:l,endMs:m?c:null,timerDurationMs:b,startLabel:(0,i._)(new Date(l).toISOString(),n,r,s)??"—",endLabel:m?(0,i._)(new Date(c).toISOString(),n,r,s)??"—":a?"—":"fr"===n?"en cours":"running",durationLabel:null!=b?u(b):null,running:!m&&!a}}(s,t);if(!h)continue;let k=m(e,d,c,b,x,h,[h],e);k.planned=o,a.push(k)}return a.sort((e,t)=>e.startMs-t.startMs||String(e.id).localeCompare(t.id)),a}function x(e){let t="string"==typeof e?.startAt?e.startAt.trim():"",a="string"==typeof e?.endAt?e.endAt.trim():"",n=t?Date.parse(t):NaN,r=a?Date.parse(a):NaN;return{sessionStartMs:Number.isFinite(n)?n:null,sessionEndMs:Number.isFinite(r)?r:null}}},8090:(e,t,a)=>{a.d(t,{v:()=>o});var n=a(5155),r=a(2571),i=a(5878),s=a(2749),l=a(4897);function o({phase:e,dt:t,lang:a,technicalDetail:d,onRetry:c,retryBusy:u}){let m="loading"===e,b=(0,l.iM)(d,a),x="string"==typeof d?d.trim():"",p=x.length>0&&"string"==typeof b&&x!==b;return(0,n.jsx)("div",{className:"fixed inset-0 z-[60] flex items-center justify-center bg-zinc-200/55 backdrop-blur-sm dark:bg-black/45",role:"status","aria-live":"polite","aria-busy":m?"true":"false","aria-label":m?t.dashboardLoadingAriaLabel:t.dashboardConnectionErrorAriaLabel,children:(0,n.jsxs)("div",{className:"flex min-h-[10.5rem] max-w-sm flex-col items-center justify-center gap-4 rounded-2xl border border-zinc-200/90 bg-white/95 px-10 py-9 shadow-2xl dark:border-zinc-600/60 dark:bg-zinc-900/95",children:[m?(0,n.jsx)(r.A,{className:"size-12 shrink-0 animate-spin text-violet-600 dark:text-violet-400",strokeWidth:2,"aria-hidden":!0}):(0,n.jsx)(i.A,{className:"size-12 shrink-0 text-amber-600 dark:text-amber-400",strokeWidth:2,"aria-hidden":!0}),(0,n.jsxs)("div",{className:"flex min-h-[2.75rem] flex-col items-center justify-center gap-2 text-center",children:[(0,n.jsx)("p",{className:"text-sm font-medium leading-snug text-zinc-800 dark:text-zinc-100",children:m?t.dashboardLoadingMessage:t.dashboardConnectionErrorTitle}),m?null:(0,n.jsx)("p",{className:"max-w-[22rem] text-sm leading-snug text-zinc-600 dark:text-zinc-300",children:t.dashboardConnectionErrorBody}),!m&&b?(0,n.jsx)("p",{className:"max-w-[22rem] text-xs leading-snug text-zinc-500 dark:text-zinc-400",children:b}):null]}),!m&&c?(0,n.jsxs)("button",{type:"button",className:"mt-1 inline-flex items-center justify-center gap-2 rounded-lg bg-violet-600 px-4 py-2 text-sm font-medium text-white hover:bg-violet-500 focus:outline-none focus-visible:ring-2 focus-visible:ring-violet-400 focus-visible:ring-offset-2 focus-visible:ring-offset-white disabled:cursor-wait disabled:opacity-70 dark:focus-visible:ring-offset-zinc-900",onClick:c,disabled:!0===u,children:[(0,n.jsx)(s.A,{className:`size-4 shrink-0 ${u?"animate-spin":""}`,"aria-hidden":!0}),t.dashboardConnectionRetryLabel]}):null,!m&&p?(0,n.jsxs)("details",{className:"mt-2 max-w-sm text-left",children:[(0,n.jsx)("summary",{className:"cursor-pointer text-xs text-zinc-500 hover:text-zinc-700 dark:text-zinc-400 dark:hover:text-zinc-200",children:t.dashboardConnectionTechnicalDetailsLabel}),(0,n.jsx)("pre",{className:"mt-2 max-h-32 overflow-auto rounded-md border border-zinc-200/80 bg-zinc-50/90 px-3 py-2 text-[0.65rem] leading-relaxed text-zinc-700 dark:border-zinc-600/50 dark:bg-zinc-950/80 dark:text-zinc-300",children:d})]}):null]})})}},8577:(e,t,a)=>{a.d(t,{Z:()=>u});var n=a(5155),r=a(2115),i=a(5486),s=a(149),l=a(7650);function o({domId:e,style:t,text:a,onPointerEnter:r,onPointerLeave:i}){return(0,n.jsx)("div",{id:e,role:"tooltip",style:t,className:"pointer-events-auto whitespace-pre-line rounded-lg border border-zinc-600 bg-zinc-900 p-2.5 text-left text-[0.7rem] leading-snug text-zinc-200 shadow-lg dark:bg-zinc-950",onPointerEnter:r,onPointerLeave:i,children:a})}let d={position:"fixed",top:0,left:0,width:288,zIndex:90,visibility:"hidden",pointerEvents:"none"};function c({tag:e,chip:t,onRemove:a,description:u,defaultTagBucketLabel:m,taskProject:b,taskPersonalProject:x}){let{hasDescription:p,triggerProps:h,popoverLayer:k,anchorWrapperProps:f}=function(e,t=3e3){let[a,n]=(0,r.useState)(!1),i=(0,r.useRef)(null),s=(0,r.useRef)(null),c=(0,r.useRef)(null),u=(0,r.useId)().replace(/:/g,""),m=`kronosys-desc-tip-${u}`,b=e?.trim()??"",x=(0,r.useCallback)(()=>{null!==i.current&&(clearTimeout(i.current),i.current=null)},[]),p=(0,r.useCallback)(()=>{null!==s.current&&(clearTimeout(s.current),s.current=null)},[]),h=(0,r.useCallback)(()=>{b&&(x(),i.current=setTimeout(()=>n(!0),t))},[b,t,x]),k=(0,r.useCallback)(()=>{x(),p(),n(!1)},[x,p]),f=(0,r.useCallback)(()=>{p(),s.current=setTimeout(()=>{s.current=null,n(!1)},200)},[p]);(0,r.useEffect)(()=>()=>{x(),p()},[x,p]),(0,r.useEffect)(()=>{b||k()},[b,k]);let[g,v]=(0,r.useState)(void 0);(0,r.useLayoutEffect)(()=>{if(!a||!b)return void v(void 0);let e=()=>{let e=c.current;if(!e)return;let t=e.getBoundingClientRect(),a=globalThis.innerWidth,n=globalThis.innerHeight,r=Math.min(288,a-20),i=t.left;i=Math.max(10,Math.min(i,a-r-10));let s=t.bottom-4,l=document.getElementById(m);if(l instanceof HTMLElement){let e=l.getBoundingClientRect().height;s+e>n-10&&(s=Math.max(10,t.top-4-e))}s<10&&(s=10),v({position:"fixed",top:s,left:i,width:r,zIndex:90})};e();let t=requestAnimationFrame(e);return globalThis.addEventListener("scroll",e,!0),globalThis.addEventListener("resize",e),()=>{cancelAnimationFrame(t),globalThis.removeEventListener("scroll",e,!0),globalThis.removeEventListener("resize",e)}},[a,b,m]);let j=(0,r.useCallback)(e=>{c.current=e},[]);if(!b)return{hasDescription:!1,triggerProps:{onPointerEnter:()=>{},onPointerLeave:()=>{},onPointerCancel:()=>{},onFocus:()=>{},onBlur:()=>{}},popoverLayer:null,anchorWrapperProps:{ref:j,onPointerEnter:()=>{},onPointerLeave:()=>{}}};let y=g??(a?d:void 0);return{hasDescription:!0,triggerProps:{onPointerEnter:h,onPointerLeave:x,onPointerCancel:x,onFocus:h,onBlur:k},popoverLayer:a&&"u">typeof document&&y?(0,l.createPortal)((0,r.createElement)(o,{domId:m,style:y,text:b,onPointerEnter:p,onPointerLeave:f}),document.body):null,anchorWrapperProps:{ref:j,onPointerEnter:p,onPointerLeave:f}}}(u),g=!!a,v=(0,n.jsxs)("span",{role:g?"button":void 0,tabIndex:g?0:void 0,className:[t,g?"":p?"cursor-help":"","min-w-0 max-w-full"].filter(Boolean).join(" "),...h,...a?{onClick:()=>a(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),a(e))}}:{},children:[(0,n.jsx)("span",{className:s.Yu,children:(0,i.CH)(e,m,{taskProject:b,personalProject:x})}),g?(0,n.jsx)("span",{className:"pointer-events-none shrink-0 text-[0.625rem] leading-none font-normal text-zinc-400 dark:text-zinc-500",children:"\xd7"}):null]});return p?(0,n.jsxs)(r.Fragment,{children:[(0,n.jsx)("span",{className:"relative inline-flex min-w-0 max-w-full",...f,children:v}),k]}):v}function u({tags:e,onRemove:t,className:a,variant:r="default",differentiateProjectScopedTags:l=!1,tagDescriptions:o,defaultTagBucketLabel:d,taskProject:m,taskPersonalProject:b}){let x=e.slice().sort((e,t)=>{let a=l&&(0,i.SN)((0,i.$U)(e)),n=l&&(0,i.SN)((0,i.$U)(t));return a&&!n?-1:!a&&n?1:e.localeCompare(t)});return(0,n.jsx)("div",{className:a??"mt-1 flex flex-wrap items-center gap-x-2 gap-y-1.5 [&>*]:max-w-full",children:x.map(e=>{var a;let u;return(0,n.jsx)(c,{tag:e,chip:(a=e,u=l&&(0,i.SN)((0,i.$U)(a)),"applied"===r?u?t?s.Xd:s.bS:t?s.XB:s.zy:u?t?s.Xd:s.bS:t?s.Xk:s.xe),onRemove:t,description:(e=>{if(o)return o[(0,i.$U)(e).toLowerCase()]??o[(0,i.$U)(e)]})(e),defaultTagBucketLabel:d,taskProject:m,taskPersonalProject:b},e)})})}},8949:(e,t,a)=>{a.d(t,{VB:()=>o,dM:()=>l,e$:()=>n,le:()=>s,mv:()=>i,pb:()=>d});let n=["violet","emerald","amber","sky","rose","fuchsia"],r=new Set(n),i={violet:"bg-violet-500/85 dark:bg-violet-500/75",emerald:"bg-emerald-500/85 dark:bg-emerald-500/75",amber:"bg-amber-500/85 dark:bg-amber-500/75",sky:"bg-sky-500/85 dark:bg-sky-500/75",rose:"bg-rose-500/85 dark:bg-rose-500/75",fuchsia:"bg-fuchsia-500/80 dark:bg-fuchsia-500/70"},s={violet:"bg-violet-500",emerald:"bg-emerald-500",amber:"bg-amber-500",sky:"bg-sky-500",rose:"bg-rose-500",fuchsia:"bg-fuchsia-500"};function l(e){if(void 0===e)return;if(null===e||""===e)return null;let t=String(e).trim().toLowerCase();return""===t||"auto"===t||"default"===t?null:r.has(t)?t:void 0}function o(e){let t=l(e);return void 0===t?null:t}function d(e){if(e.ganttColor&&(t=e.ganttColor,r.has(t)))return i[e.ganttColor];if(!0===e.personalProject)return i.rose;var t,a=e.id;let s=0;for(let e=0;e<a.length;e++)s=31*s+a.charCodeAt(e)>>>0;return i[n[s%n.length]??n[0]]}},9474:(e,t,a)=>{a.d(t,{Fe:()=>g,Pw:()=>h});var n=a(5155),r=a(2115),i=a(7650),s=a(4577),l=a(4539),o=a(6854),d=a(1279),c=a(6776);a(1299);var u=a(2194),m=a(1555),b=a(2047),x=a(149);function p(e){return String(e).padStart(2,"0")}function h(e){return`${e.getFullYear()}-${p(e.getMonth()+1)}-${p(e.getDate())}T${p(e.getHours())}:${p(e.getMinutes())}`}function k(e){let t=e.trim();if(!t)return;let a=new Date(t);return Number.isNaN(a.getTime())?void 0:a}function f({children:e}){return"u"<typeof document?null:(0,i.createPortal)(e,document.body)}function g({value:e,onChange:t,onBlur:a,"aria-label":i,lang:v,displayTimeZone:j=m.GB,use24HourClock:y=!0,defaultTimeMode:z="current-hour",calendarWeekStartsOn:N="sunday",presentation:w="modal",t:T}){var M;let S=(0,r.useCallback)(()=>{let e=new Date;if("next-half-hour"===z)return 30>e.getMinutes()?{hour:e.getHours(),minute:30}:{hour:(e.getHours()+1)%24,minute:0};if("last-half-hour"===z){let t=(0,b.SD)(e);return{hour:t.getHours(),minute:t.getMinutes()}}return{hour:e.getHours(),minute:0}},[z]),[C,D]=(0,r.useState)(!1),L=(0,r.useRef)(!1),[$,E]=(0,r.useState)({top:0,left:0,maxW:300}),A=(0,r.useRef)(null),I=(0,r.useRef)(null),P=k(e),F=S(),[B,R]=(0,r.useState)(P),[_,W]=(0,r.useState)(P?.getHours()??F.hour),[H,O]=(0,r.useState)(P?.getMinutes()??F.minute);(0,r.useEffect)(()=>{let t=k(e);R(t),t&&(W(t.getHours()),O(t.getMinutes()))},[e]),(0,r.useEffect)(()=>{if(!C||P)return;let e=S();W(e.hour),O(e.minute)},[C]);let q=(0,r.useCallback)((e,a,n)=>{let r=new Date(e??B??new Date);r.setHours(a,n,0,0),t(h(r))},[t,B]),K=(0,r.useCallback)(()=>{let e=A.current;if(!e)return;let t=e.getBoundingClientRect(),a=window.innerWidth,n=window.innerHeight,r=Math.min(300,a-16),i=t.bottom+8,s=t.left+t.width/2-r/2;s=Math.max(8,Math.min(s,a-r-8)),i+480>n-8&&(i=Math.max(8,t.top-8-480)),E({top:i,left:s,maxW:r})},[]);(0,r.useLayoutEffect)(()=>{if(!C||"popover"!==w)return;K();let e=()=>K();return window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[C,w,K]),(0,r.useEffect)(()=>{if(!C)return;let e=e=>{let t=e.target;I.current?.contains(t)||A.current?.contains(t)||D(!1)},t=e=>{"Escape"===e.key&&D(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[C]),(0,r.useEffect)(()=>{if(C){L.current=!0;return}L.current&&(L.current=!1,a?.())},[C,a]),M=C&&"modal"===w,(0,r.useEffect)(()=>{if(!M)return;let e=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}},[M]);let G="fr"===v?d.fr:c.c,U=void 0!==P?new Intl.DateTimeFormat("fr"===v?"fr-CA":"en-CA",{dateStyle:"short",timeStyle:"short",hour12:!y,...j.trim()&&(0,m.DP)(j.trim())?{timeZone:j.trim()}:{}}).format(P):null,V=Array.from({length:24},(e,t)=>t),Z=Array.from({length:60},(e,t)=>t),Y="kronosys-datetime-popover flex flex-col gap-3 rounded-xl border border-violet-500/45 bg-zinc-50 p-3 shadow-2xl dark:border-violet-400/45 dark:bg-zinc-900",X=`${Y} overflow-hidden`,Q=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-x-hidden overflow-y-auto overscroll-y-contain",children:(0,n.jsx)(o.h,{mode:"single",required:!1,selected:B,defaultMonth:B??new Date,weekStartsOn:(0,u.F7)(N),onSelect:e=>{R(e),e&&q(e,_,H)},locale:G,classNames:{button_previous:"rdp-button_previous rounded-lg border border-zinc-300 bg-white text-zinc-800 hover:bg-zinc-100 dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-100 dark:hover:bg-zinc-700",button_next:"rdp-button_next rounded-lg border border-zinc-300 bg-white text-zinc-800 hover:bg-zinc-100 dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-100 dark:hover:bg-zinc-700",caption_label:"rdp-caption_label text-sm font-semibold text-zinc-800 dark:text-zinc-100",weekday:"rdp-weekday text-zinc-500 dark:text-zinc-400"},components:{Chevron:e=>"left"===e.orientation?(0,n.jsx)("span",{className:"text-base leading-none font-semibold","aria-hidden":!0,children:"‹"}):(0,n.jsx)("span",{className:"text-base leading-none font-semibold","aria-hidden":!0,children:"›"})}})}),(0,n.jsxs)("div",{className:"relative z-[1] shrink-0 space-y-3 border-t border-zinc-200 bg-zinc-50 pt-3 dark:border-zinc-700/80 dark:bg-zinc-900",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[(0,n.jsx)("button",{type:"button",className:"rounded-lg border border-zinc-300 bg-white px-2.5 py-1 text-xs font-medium text-zinc-700 hover:bg-zinc-100 dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-200 dark:hover:bg-zinc-700",onClick:()=>{let e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate(),_,H,0,0);R(t),q(t,_,H)},children:T.taskPastDatetimeTodayBtn}),(0,n.jsx)("button",{type:"button",className:"rounded-lg border border-violet-500/45 bg-violet-50 px-2.5 py-1 text-xs font-medium text-violet-700 hover:bg-violet-100 dark:border-violet-400/55 dark:bg-violet-950/35 dark:text-violet-200 dark:hover:bg-violet-900/40",onClick:()=>{let e=new Date,t=e.getHours(),a=e.getMinutes();R(e),W(t),O(a),q(e,t,a)},children:T.taskPastDatetimeNowBtn})]}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-start gap-2 sm:justify-center",children:[(0,n.jsxs)("label",{className:"flex max-w-full flex-wrap items-center gap-1.5 text-xs font-medium text-zinc-600 dark:text-zinc-400",children:[(0,n.jsx)("span",{className:"whitespace-nowrap",children:T.taskPastDatetimeTimeLabel}),(0,n.jsx)("select",{className:"h-8 w-16 min-w-0 rounded-lg border border-violet-500/45 bg-white px-2 text-xs font-mono text-zinc-900 outline-none dark:border-violet-400/50 dark:bg-zinc-800 dark:text-zinc-100",value:_,onChange:e=>{let t=Number(e.target.value);W(t),q(B,t,H)},"aria-label":T.taskPastDatetimeHourAria,children:V.map(e=>(0,n.jsx)("option",{value:e,children:p(e)},e))}),(0,n.jsx)("span",{className:"font-mono text-zinc-500",children:":"}),(0,n.jsx)("select",{className:"h-8 w-16 min-w-0 rounded-lg border border-violet-500/45 bg-white px-2 text-xs font-mono text-zinc-900 outline-none dark:border-violet-400/50 dark:bg-zinc-800 dark:text-zinc-100",value:H,onChange:e=>{let t=Number(e.target.value);O(t),q(B,_,t)},"aria-label":T.taskPastDatetimeMinuteAria,children:Z.map(e=>(0,n.jsx)("option",{value:e,children:p(e)},e))})]}),"inline"!==w?(0,n.jsx)("button",{type:"button",className:"inline-flex h-8 w-8 items-center justify-center rounded-lg border border-emerald-500/50 bg-emerald-50 text-emerald-700 hover:bg-emerald-100 dark:border-emerald-400/60 dark:bg-emerald-950/35 dark:text-emerald-200 dark:hover:bg-emerald-900/40","aria-label":"fr"===v?"Accepter la date et l'heure":"Accept date and time",onClick:()=>{q(B,_,H),D(!1)},children:(0,n.jsx)(s.A,{className:"h-4 w-4",strokeWidth:2.5,"aria-hidden":!0})}):null]})]})]}),J=C&&"modal"===w?(0,n.jsx)(f,{children:(0,n.jsx)("div",{className:"fixed inset-0 z-[260] flex items-center justify-center bg-black/60 p-4",role:"presentation",onMouseDown:e=>{e.target===e.currentTarget&&D(!1)},children:(0,n.jsx)("div",{ref:I,role:"dialog","aria-modal":"true","aria-label":i,className:`${Y} max-h-[90vh] w-full max-w-sm overflow-y-auto overscroll-y-contain`,onMouseDown:e=>e.stopPropagation(),children:Q})})}):null;if("inline"===w)return(0,n.jsx)("div",{className:`${Y} w-full max-h-[min(320px,42vh)] overflow-y-auto overscroll-y-contain`,role:"group","aria-label":i,children:Q});let ee=C&&"popover"===w?(0,n.jsx)(f,{children:(0,n.jsx)("div",{ref:I,role:"dialog","aria-modal":"true","aria-label":i,className:`${X} fixed z-[200]`,style:{top:$.top,left:$.left,width:$.maxW,maxHeight:"min(480px, calc(100vh - 16px))"},children:Q})}):null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"inline-flex min-w-0 max-w-full shrink-0",children:(0,n.jsxs)("button",{ref:A,type:"button",className:`${x.fg} max-w-full text-left`,"aria-label":i,"aria-expanded":C,"aria-haspopup":"dialog",onClick:()=>D(e=>!e),children:[(0,n.jsx)("span",{className:`inline-block min-w-0 max-w-full flex-1 truncate text-left ${U?"text-zinc-500 dark:text-zinc-500":"text-zinc-400 dark:text-zinc-500/75"}`,children:U??T.taskPastDatetimePlaceholder}),(0,n.jsx)(l.A,{className:"h-3 w-3 shrink-0 text-zinc-400/70 opacity-80 transition-[opacity,color] group-hover/datetime-trigger:text-zinc-500 group-hover/datetime-trigger:opacity-100 dark:text-zinc-500/55 dark:group-hover/datetime-trigger:text-zinc-400",strokeWidth:1.5,"aria-hidden":!0})]})}),J,ee]})}}}]);