@aiquants/daily-report 0.32.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";var fc=Object.create;var hn=Object.defineProperty;var bc=Object.getOwnPropertyDescriptor;var yc=Object.getOwnPropertyNames;var Rc=Object.getPrototypeOf,gc=Object.prototype.hasOwnProperty;var hc=(e,t)=>{for(var r in t)hn(e,r,{get:t[r],enumerable:!0})},$a=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of yc(t))!gc.call(e,o)&&o!==r&&hn(e,o,{get:()=>t[o],enumerable:!(n=bc(t,o))||n.enumerable});return e};var Ee=(e,t,r)=>(r=e!=null?fc(Rc(e)):{},$a(t||!e||!e.__esModule?hn(r,"default",{value:e,enumerable:!0}):r,e)),Sc=e=>$a(hn({},"__esModule",{value:!0}),e);var ib={};hc(ib,{DAILY_REPORT_LABEL_CATALOGS:()=>ea,DAILY_REPORT_LABEL_KEYS:()=>Nn,DAILY_REPORT_LAYOUT_LATTICE_PX:()=>Ti,DailyReportActionProvider:()=>go,DailyReportAttachmentIndicator:()=>cr,DailyReportConfigProvider:()=>Mn,DailyReportDetailList:()=>Wo,DailyReportErrorProvider:()=>uo,DailyReportIdsStreamClient:()=>Sr,DailyReportIdsStreamStatus:()=>_r,DailyReportList:()=>jo,DailyReportPage:()=>uc,DailyReportResolvedContent:()=>qo,bootstrapDailyReportIdsStreamSession:()=>oo,createDailyReportClientLoader:()=>pc,dailyReportShouldRevalidate:()=>mc,defaultDailyReportClientConfig:()=>fr,ensureDailyReportIdsStreamSession:()=>vr,primeDailyReportIdsStreamSession:()=>ao,resolveDailyReportLabels:()=>On,resolveSourceTypeConfig:()=>Ut,resyncDailyReportIdsStream:()=>qr,useDailyReportActionContext:()=>Bs,useDailyReportComments:()=>To,useDailyReportConfig:()=>U,useDailyReportDetail:()=>Vt,useDailyReportIdsStream:()=>nt,useDailyReportPrefetch:()=>zn,useDailyReportSseConnection:()=>lo});module.exports=Sc(ib);var ui=Ee(require("lucide-react/dist/esm/icons/paperclip.js"));var vc="data-daily-report-row-surface",je={[vc]:""},lr="data-daily-report-scrolling",Ft=8,Pr="h-[calc-size(auto,round(up,size,4px))]",Bt="p-[8px]",za="pr-[8px]",Sn="contain-size contain-layout contain-style",Ga="contain-strict",re="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",ja="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",Xo="scrollbar-thin [scrollbar-gutter:stable]",Zo=`-m-[4px] overflow-hidden p-[4px] ${Xo}`,Ya="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",vn="rounded-[calc(var(--radius-2xl)+8px)]",En="outline-none [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-2 [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-offset-4 [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-600 dark:[:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-400 [&[aria-current=true]>:where([data-daily-report-row-surface])]:ring-2 [&[aria-current=true]>:where([data-daily-report-row-surface])]:ring-blue-500 [&[aria-current=true]>:where([data-daily-report-row-surface])]:shadow-transparent forced-colors:[&[aria-current=true]]:outline-2 forced-colors:[&[aria-current=true]]:outline-solid forced-colors:[&[aria-current=true]]:-outline-offset-8 forced-colors:[&[aria-current=true]]:outline-[Highlight] forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-2 forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-solid forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:-outline-offset-8 forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-[Highlight]",qa="[:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-2 [:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-offset-4 [:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-blue-600 dark:[:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-blue-400 has-[>[aria-current=true]]:ring-2 has-[>[aria-current=true]]:ring-blue-500 has-[>[aria-current=true]]:shadow-transparent",gt="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",Tn=16,dr="rounded-xl border border-dashed border-slate-300 bg-slate-50 p-[11px] text-slate-600 text-sm dark:border-slate-600 dark:bg-slate-900/40 dark:text-slate-300",Xa=12,xn="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200",In="[--aqdr-hover-lift:2px] [@media(resolution:1.25dppx)]:[--aqdr-hover-lift:calc(2px/1.25)] [@media(resolution:1.75dppx)]:[--aqdr-hover-lift:calc(3px/1.75)] [@media(resolution:2.25dppx)]:[--aqdr-hover-lift:calc(4px/2.25)] [@media(resolution:2.75dppx)]:[--aqdr-hover-lift:calc(5px/2.75)] motion-safe:transition-[translate] motion-safe:duration-200 hover:border-blue-300 hover:shadow-lg motion-safe:hover:translate-y-[calc(-1*var(--aqdr-hover-lift))] [[data-daily-report-scrolling]_&]:transition-none [[data-daily-report-scrolling]_&]:hover:translate-none [[data-daily-report-scrolling]_&]:hover:shadow-sm",Ve=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${re}`,Za="-mx-1",Ja="flex items-center gap-1",Be="inline-flex h-6 items-center rounded-full px-3",Qa="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",ei="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",Ht="size-4",Le={starOff:`${Ht} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${Ht} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${Ht} text-blue-600 dark:text-blue-400`,delete:`${Ht} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${Ht} text-red-600 dark:text-red-400`,edit:`${Ht} text-slate-500 dark:text-slate-400`},ti="h-6 w-10 border-4 border-solid",ri="size-4 data-[state=checked]:translate-x-4",ni="data-[state=unchecked]:bg-slate-500 data-[state=checked]:bg-blue-600 dark:data-[state=unchecked]:bg-slate-400 dark:data-[state=checked]:bg-blue-400 forced-colors:border-[ButtonText] forced-colors:data-[state=checked]:bg-[Highlight]",oi="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var ai="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",ii="rounded-xl border border-solid p-[3px]",si="relative inline-flex h-6 items-center justify-center whitespace-nowrap rounded-lg px-2 font-medium text-slate-600 text-xs dark:text-slate-300 data-[state=active]:bg-white data-[state=active]:text-slate-900 dark:data-[state=active]:bg-slate-950 dark:data-[state=active]:text-slate-100 after:pointer-events-none after:absolute after:right-[var(--radius-lg)] after:bottom-0 after:left-[var(--radius-lg)] after:h-[2px] after:rounded-full after:forced-color-adjust-none data-[state=active]:after:bg-blue-600 dark:data-[state=active]:after:bg-blue-400 forced-colors:data-[state=active]:after:bg-[Highlight] disabled:pointer-events-none disabled:opacity-50",Ec="ml-[max(0px,round(down,calc((100%-72rem)/2),4px))]",Tc="bg-slate-50 dark:bg-slate-950",et="flex min-h-0 flex-1 flex-col",kr=`${et} ${Tc}`,Hr=`${et} mx-auto w-full max-w-6xl px-[4px] pt-[4px] ${Ec}`,Fr="text-red-700 dark:text-red-400",li="bg-white dark:bg-slate-900",Cn="flex min-h-0 flex-1 flex-col overflow-clip contain-size",Dn="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",di="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",ci={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},Xt="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",Tt=`m-0 ${Xt}`,An="text-balance wrap-anywhere [word-break:auto-phrase]",Ln="[&_.aqvs-scrollbar]:bg-slate-100 [&_.aqvs-scrollbar-track]:bg-slate-100 [&_.aqvs-scrollbar-thumb]:bg-slate-500 [&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-600 [&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-700 [&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 [&_.aqvs-scrollbar-arrow-button]:bg-slate-100 [&_.aqvs-scrollbar-arrow-button]:text-slate-600 [&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-200 dark:[&_.aqvs-scrollbar]:bg-slate-900 dark:[&_.aqvs-scrollbar-track]:bg-slate-900 dark:[&_.aqvs-scrollbar-thumb]:bg-slate-500 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-400 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-300 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 dark:[&_.aqvs-scrollbar-arrow-button]:bg-slate-900 dark:[&_.aqvs-scrollbar-arrow-button]:text-slate-400 dark:[&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-800 forced-colors:[&_.aqvs-scrollbar-thumb]:bg-[CanvasText] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-[GrayText] forced-colors:[&_.aqvs-scrollbar-track]:outline-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-solid forced-colors:[&_.aqvs-scrollbar-track]:-outline-offset-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-[CanvasText]";var Br=require("react/jsx-runtime"),xc=2,cr=({id:e,count:t,label:r})=>t<=0?null:(0,Br.jsxs)("span",{id:e,className:"inline-flex h-6 shrink-0 items-center gap-1 text-slate-500 dark:text-slate-400",title:`${r}: ${t}`,role:"img","aria-label":`${r}: ${t}`,"data-testid":"daily-report-attachment-indicator","data-attachment-count":t,children:[(0,Br.jsx)(ui.default,{className:Ht,"aria-hidden":"true"}),t>=xc&&(0,Br.jsx)("span",{className:"font-semibold text-xs leading-4",children:t})]});var xd=require("@aiquants/virtualscroll"),W=require("react");var ye=e=>{if(!e)return"-";let t=e.trim();return t===""?"-":t},fe=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?fe(e.toISOString()):String(e);let t=e.trim();if(t==="")return"-";let r=t.match(/^(\d{4})[-/](\d{2})[-/](\d{2})$/);if(r)return`${r[1]}-${r[2]}-${r[3]}`;let n=new Date(t);if(Number.isNaN(n.getTime()))return t;let o=n.getFullYear(),a=String(n.getMonth()+1).padStart(2,"0"),i=String(n.getDate()).padStart(2,"0");if(t.includes(":")||t.includes("T")){let d=String(n.getHours()).padStart(2,"0"),m=String(n.getMinutes()).padStart(2,"0"),u=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${i}T${d}:${m}:${u}`}return`${o}-${a}-${i}`};var xt=require("react");var Ic=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var _n=e=>e<10?`0${e}`:`${e}`,Cc=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=_n(e.getMonth()+1),n=_n(e.getDate());return`${t}-${r}-${n}`},mi=e=>{let t=Ic.exec(e);if(t===null)return null;let[,r,,n,o]=t,a=Number(r),i=Number(n),s=Number(o);if(a<1)return null;let d=new Date(0);return d.setUTCFullYear(a,i-1,s),d.getUTCFullYear()!==a||d.getUTCMonth()!==i-1||d.getUTCDate()!==s?null:`${r}-${n}-${o}`},pi=e=>mi(e)===e,Jo=(e=new Date)=>Number.isNaN(e.getTime())?Jo(new Date):`${e.getFullYear()}-${_n(e.getMonth()+1)}-${_n(e.getDate())}`,Zt=e=>e==null?null:e instanceof Date?Cc(e):mi(e);var ur=(e,t,r=console)=>{let n=o=>typeof o=="string"?[`${t} ${o}`]:[t,o];return{debug:(o,...a)=>{e<=0&&r.debug(...n(o),...a)},info:(o,...a)=>{e<=1&&r.info(...n(o),...a)},warn:(o,...a)=>{e<=2&&r.warn(...n(o),...a)},error:(o,...a)=>{e<=3&&r.error(...n(o),...a)}}};var Si=require("@aiquants/virtualscroll"),pr=require("react");var Dc=e=>typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"||e===null||e===void 0?String(e):Array.isArray(e)?"array":typeof e,Oe=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${Dc(r)}`),fi=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),wn=(e,t,r)=>Oe(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t);var mt=require("@aiquants/virtualscroll");var yi=["id","businessDate","author","visitTime","createdAt","updatedAt","updatedBy","category","creationCategory","customer","subject","content","interviewers","comments","attachments","attachmentMissing","attachmentDownload","attachmentThumbnailUnavailable","tabArticle","tabRelations","reportTabList","relationsEmpty","title","listKeyboardHelp","tabList","tabTree","tabDetailList","viewTabList","treeComingSoon","totalCountLoading","createReport","createReportTitle","devControls","devSseToggle","devReload","devClearCache","autoRead","autoReadTitle","loadErrorBadge","loadError","reload","loadingIds","streamFailed","streamRetry","streamRevalidating","selectPrompt","loading","reportNotFound","contentEmpty","contentEmptyPreview","confirmDelete","deleteFailed","starAdd","starRemove","markRead","markUnread","deleteReport","edit","resizeHandle","close","formTitle","formTitlePlaceholder","formContent","formContentPlaceholder","formCancel","formSave","formPublish","commentPlaceholder","commentSend","commentDelete","commentDeleteConfirm","unknownUser","sourceInternal"],Ri=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","rowState","listRowPosition","listRowPositionInUnknownTotal"],Nn=[...mt.VIRTUAL_SCROLL_LABEL_KEYS,...yi,...Ri];var Ac=Object.freeze({en:"en-US",ja:"ja-JP"}),Te=(e,t)=>t.toLocaleString(Ac[e]),Lc=Object.freeze({create:"\u65E5\u5831\u306E\u4F5C\u6210",update:"\u65E5\u5831\u306E\u4FDD\u5B58",publish:"\u65E5\u5831\u306E\u516C\u958B",delete:"\u65E5\u5831\u306E\u524A\u9664",addComment:"\u30B3\u30E1\u30F3\u30C8\u306E\u6295\u7A3F",deleteComment:"\u30B3\u30E1\u30F3\u30C8\u306E\u524A\u9664",toggleStar:"\u30B9\u30BF\u30FC\u306E\u66F4\u65B0",toggleRead:"\u65E2\u8AAD\u72B6\u614B\u306E\u66F4\u65B0"}),_c=Object.freeze({create:"create the report",update:"save the report",publish:"publish the report",delete:"delete the report",addComment:"post the comment",deleteComment:"delete the comment",toggleStar:"update the star",toggleRead:"update the read state"}),Qo=Object.freeze({en:Object.freeze({id:"ID",businessDate:"Business date",author:"Author",visitTime:"Visit time",createdAt:"Created at",updatedAt:"Updated at",updatedBy:"Updated by",category:"Category",creationCategory:"Creation category",customer:"Customer",subject:"Subject",content:"Content",interviewers:"Attendees",comments:"Comments",attachments:"Attachments",attachmentMissing:"File is missing",attachmentDownload:"Download",attachmentThumbnailUnavailable:"Preview unavailable",tabArticle:"Overview",tabRelations:"Related",reportTabList:"Report sections",relationsEmpty:"No related view configured yet.",title:"Daily Reports",listKeyboardHelp:"Up and Down arrows: previous or next report. Home and End: first or last report. Page Up and Page Down: move by a page. Enter or Space on a report row: make it current. Control+Home and Control+End: move to the nearest control before or after the list, when there is one.",tabList:"\u{1F4C4} List",tabTree:"\u{1F333} Tree",tabDetailList:"\u{1F4CB} DetailList",viewTabList:"Views",treeComingSoon:"The tree view is coming soon",totalCountLoading:"Total: loading...",createReport:"New report",createReportTitle:"Create a daily report",devControls:"Development-only controls",devSseToggle:"Toggle SSE real-time sync",devReload:"Reload data",devClearCache:"Clear the cache and reload",autoRead:"Auto-read",autoReadTitle:"Mark reports as read automatically while viewing them",loadErrorBadge:"Error",loadError:"Failed to load the daily reports.",reload:"Reload",loadingIds:"Loading report IDs...",streamFailed:"Failed to load",streamRetry:"Retry",streamRevalidating:"Refreshing",selectPrompt:"Select a report from the list on the left.",loading:"Loading...",reportNotFound:"Report not found",contentEmpty:"No content has been entered.",contentEmptyPreview:"No content has been entered",confirmDelete:"Are you sure you want to delete this report?",deleteFailed:"Failed to delete the report",starAdd:"Add star",starRemove:"Remove star",markRead:"Mark as read",markUnread:"Mark as unread",deleteReport:"Delete",edit:"Edit",resizeHandle:"Resize the border between the report list and the detail pane",close:"Close",formTitle:"Title",formTitlePlaceholder:"Enter the report title",formContent:"Content",formContentPlaceholder:"Enter the report content",formCancel:"Cancel",formSave:"Save",formPublish:"Publish",commentPlaceholder:"Add a comment...",commentSend:"Send",commentDelete:"Delete comment",commentDeleteConfirm:"Delete",unknownUser:"Unknown",sourceInternal:"Original",totalCount:e=>`Total: ${Te("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${Te("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${Te("en",e)} / ${Te("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${Te("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${Te("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${Te("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${_c[e]}. Please try again later.`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${Te("en",e)} of ${Te("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${Te("en",e)}`}),ja:Object.freeze({id:"ID",businessDate:"\u55B6\u696D\u65E5",author:"\u4F5C\u6210\u8005",visitTime:"\u8A2A\u554F\u6642\u9593",createdAt:"\u4F5C\u6210\u65E5\u6642",updatedAt:"\u66F4\u65B0\u65E5\u6642",updatedBy:"\u66F4\u65B0\u8005",category:"\u533A\u5206",creationCategory:"\u4F5C\u6210\u533A\u5206",customer:"\u9867\u5BA2",subject:"\u4EF6\u540D",content:"\u5185\u5BB9",interviewers:"\u9762\u8AC7\u8005",comments:"\u30B3\u30E1\u30F3\u30C8",attachments:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB",attachmentMissing:"\u5B9F\u4F53\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",attachmentDownload:"\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9",attachmentThumbnailUnavailable:"\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u8868\u793A\u3067\u304D\u307E\u305B\u3093",tabArticle:"\u6982\u8981",tabRelations:"\u95A2\u9023",reportTabList:"\u65E5\u5831\u306E\u8868\u793A\u306E\u5207\u308A\u66FF\u3048",relationsEmpty:"\u95A2\u9023\u30D3\u30E5\u30FC\u306F\u307E\u3060\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",title:"\u65E5\u5831",listKeyboardHelp:"\u2191\u2193 \u3067\u524D\u5F8C\u306E\u65E5\u5831\u3001Home / End \u3067\u5148\u982D\u30FB\u672B\u5C3E\u3001PageUp / PageDown \u3067\u30DA\u30FC\u30B8\u79FB\u52D5\u3001\u65E5\u5831\u306E\u884C\u3067 Enter \u307E\u305F\u306F Space \u3092\u62BC\u3059\u3068\u9078\u629E\u3001Ctrl+Home / Ctrl+End \u3067\u4E00\u89A7\u306E\u76F4\u524D\u30FB\u76F4\u5F8C\u306E\u64CD\u4F5C\u90E8\u54C1\u304C\u3042\u308C\u3070\u305D\u3053\u3078\u79FB\u308A\u307E\u3059\u3002",tabList:"\u{1F4C4} \u4E00\u89A7",tabTree:"\u{1F333} \u30C4\u30EA\u30FC",tabDetailList:"\u{1F4CB} \u8A73\u7D30\u4E00\u89A7",viewTabList:"\u8868\u793A\u306E\u5207\u308A\u66FF\u3048",treeComingSoon:"\u30C4\u30EA\u30FC\u306F\u73FE\u5728\u6E96\u5099\u4E2D\u3067\u3059",totalCountLoading:"\u7DCF\u4EF6\u6570: \u8AAD\u307F\u8FBC\u307F\u4E2D...",createReport:"\u65E5\u5831\u4F5C\u6210",createReportTitle:"\u65E5\u5831\u3092\u4F5C\u6210",devControls:"\u958B\u767A\u74B0\u5883\u9650\u5B9A\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB",devSseToggle:"SSE \u30EA\u30A2\u30EB\u30BF\u30A4\u30E0\u540C\u671F\u5207\u66FF",devReload:"\u30C7\u30FC\u30BF\u518D\u53D6\u5F97 (\u30EA\u30ED\u30FC\u30C9)",devClearCache:"\u30AD\u30E3\u30C3\u30B7\u30E5\u7834\u68C4 & \u518D\u53D6\u5F97",autoRead:"\u81EA\u52D5\u65E2\u8AAD",autoReadTitle:"\u65E5\u5831\u95B2\u89A7\u6642\u306E\u81EA\u52D5\u65E2\u8AAD\u51E6\u7406\u5207\u66FF",loadErrorBadge:"\u30A8\u30E9\u30FC",loadError:"\u65E5\u5831\u30C7\u30FC\u30BF\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002",reload:"\u518D\u8AAD\u307F\u8FBC\u307F",loadingIds:"\u65E5\u5831 ID \u3092\u8AAD\u307F\u8FBC\u307F\u4E2D\u3067\u3059...",streamFailed:"\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F",streamRetry:"\u518D\u8A66\u884C",streamRevalidating:"\u6700\u65B0\u5316\u4E2D",selectPrompt:"\u5DE6\u5074\u306E\u4E00\u89A7\u304B\u3089\u65E5\u5831\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",loading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",reportNotFound:"\u65E5\u5831\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",contentEmpty:"\u5185\u5BB9\u306F\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",contentEmptyPreview:"\u5185\u5BB9\u306F\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093",confirmDelete:"\u672C\u5F53\u306B\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F",deleteFailed:"\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F",starAdd:"\u30B9\u30BF\u30FC\u3092\u4ED8\u3051\u308B",starRemove:"\u30B9\u30BF\u30FC\u3092\u5916\u3059",markRead:"\u65E2\u8AAD\u306B\u3059\u308B",markUnread:"\u672A\u8AAD\u306B\u3059\u308B",deleteReport:"\u524A\u9664\u3059\u308B",edit:"\u7DE8\u96C6",resizeHandle:"\u65E5\u5831\u4E00\u89A7\u3068\u8A73\u7D30\u30DA\u30A4\u30F3\u306E\u5883\u754C\u306E\u30B5\u30A4\u30BA\u5909\u66F4\u30CF\u30F3\u30C9\u30EB",close:"\u9589\u3058\u308B",formTitle:"\u30BF\u30A4\u30C8\u30EB",formTitlePlaceholder:"\u65E5\u5831\u306E\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B",formContent:"\u5185\u5BB9",formContentPlaceholder:"\u65E5\u5831\u306E\u5185\u5BB9\u3092\u5165\u529B",formCancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",formSave:"\u4FDD\u5B58",formPublish:"\u516C\u958B",commentPlaceholder:"\u30B3\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0...",commentSend:"\u9001\u4FE1",commentDelete:"\u524A\u9664",commentDeleteConfirm:"\u524A\u9664\u3059\u308B",unknownUser:"\u4E0D\u660E\u306A\u30E6\u30FC\u30B6\u30FC",sourceInternal:"\u30AA\u30EA\u30B8\u30CA\u30EB",totalCount:e=>`\u7DCF\u4EF6\u6570: ${Te("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${Te("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${Te("ja",e)} / ${Te("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${Te("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${Te("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${Te("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${Lc[e]}\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u6642\u9593\u3092\u304A\u3044\u3066\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002`,rowState:({isRead:e,isStarred:t})=>`${e?"\u65E2\u8AAD":"\u672A\u8AAD"}${t?"\u3001\u30B9\u30BF\u30FC\u4ED8\u304D":""}`,listRowPosition:(e,t)=>`\u5168 ${Te("ja",t)} \u4EF6\u4E2D ${Te("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${Te("ja",e)} \u4EF6\u76EE`})}),ea=Object.freeze({en:Object.freeze({...mt.VIRTUAL_SCROLL_LABEL_CATALOGS.en,...Qo.en}),ja:Object.freeze({...mt.VIRTUAL_SCROLL_LABEL_CATALOGS.ja,...Qo.ja})}),wc=e=>{let t={},r=!1;for(let n of mt.VIRTUAL_SCROLL_LABEL_KEYS){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},bi=(e,t,r)=>{e[t]=r},On=(e,t)=>{let r=(0,mt.resolveVirtualScrollLocale)(e);if(t===void 0)return ea[r];if(t===null||typeof t!="object")throw Oe("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Oe("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!Nn.includes(i))throw wn("labels key",i,Nn);let a={...(0,mt.resolveVirtualScrollLabels)(r,wc(t)),...Qo[r]};for(let i of yi){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw Oe(`labels.${i}`,"a non-blank string",s);bi(a,i,s)}}for(let i of Ri){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw Oe(`labels.${i}`,"a function",s);bi(a,i,s)}}return Object.freeze(a)},gi=e=>{let t={};for(let r of mt.VIRTUAL_SCROLL_LABEL_KEYS)t[r]=e[r];return Object.freeze(t)};var mr=require("react/jsx-runtime"),Nc=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),Oc=({title:e,annotation:t})=>(0,mr.jsxs)("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[(0,mr.jsx)("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?(0,mr.jsx)("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),fr=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:Oc,showDevControls:!1,headingLevel:3}),hi=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired"];var Mc=e=>{for(let t of Object.keys(e))if(!hi.includes(t))throw wn("config key",t,hi)},Pc=[2,3,4,5],kc=e=>{if(e===void 0)return fr.headingLevel;let t=Pc.find(r=>r===e);if(t===void 0)throw Oe("config.headingLevel","an integer from 2 to 5 (the level of each report's heading)",e);return t},Hc=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Oe(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},vi=e=>{Mc(e);let t=e.onSessionExpired;if(t===void 0)throw fi("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Oe("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=(0,Si.resolveVirtualScrollLocale)(e.locale),n=On(r,e.labels),o=fr;return{apiBasePath:e.apiBasePath===void 0?o.apiBasePath:e.apiBasePath,ssePath:e.ssePath===void 0?o.ssePath:e.ssePath,draftLabelName:e.draftLabelName===void 0?o.draftLabelName:e.draftLabelName,locale:r,labels:n,sourceTypeConfigs:e.sourceTypeConfigs===void 0?Nc(n):Hc(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:kc(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired}},Fc=()=>{throw new Error("[daily-report] onSessionExpired is not wired: render inside DailyReportConfigProvider with a config")},Ei=(0,pr.createContext)(vi({onSessionExpired:Fc})),Mn=({config:e,children:t})=>{let r=(0,pr.useMemo)(()=>vi(e),[e]);return(0,mr.jsx)(Ei.Provider,{value:r,children:t})},U=()=>(0,pr.useContext)(Ei),Ut=(e,t)=>{if(!(e&&t))return;if(t[e])return t[e];let r=e.toLowerCase(),n=Object.keys(t).find(o=>o.toLowerCase()===r);return n?t[n]:void 0},Pn=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";var xi=require("@aiquants/virtualscroll");var Ti=4;var br=120,Ii=1e3,kn=.8,ta={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},Hn=20,Ci=6,Fn={reportHubId:-1,businessDate:null},Bn=240,Un=15,Bc=8,Di=460,Ai=3,Li=352,Uc={enabled:!0,renderVisual:xi.tapScrollCircleSampleVisual,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},Vn={width:Bc,tapScrollCircleOptions:Uc,enableArrowButtonTabStops:!1},Wn=["pen","touch"];var Ni=ur(1,"use-daily-report"),Oi=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},na=Oi("__DAILY_REPORT_CACHE_TTL__",3e5),Vc=Oi("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),X={reports:new Map,lists:new Map,pendingLists:new Map,pendingReports:new Map,listeners:new Set,locks:new Set,lastMutations:new Map,recentDeletes:new Map,lastPrune:0,prune(){let e=Date.now();if(e-this.lastPrune<6e4)return;this.lastPrune=e;let t=3600*1e3;for(let[r,n]of this.reports)e-n.expiresAt>t&&this.reports.delete(r);for(let[r,n]of this.lists)e-n.expiresAt>t&&this.lists.delete(r)},clear(){this.reports.clear(),this.lists.clear(),this.pendingLists.clear(),this.pendingReports.clear(),this.locks.clear(),this.lastMutations.clear(),this.recentDeletes.clear(),this.listeners.forEach(e=>{e(-1)})},isValid:e=>e>Date.now(),notify:e=>{X.listeners.forEach(t=>{t(e)})},getReport(e,t=!1){let r=this.reports.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},getList(e,t=!1){let r=e&&this.lists.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},set(e,t,r=!0){if(this.reports.set(e.reportHubId,{data:e,expiresAt:t}),r){let n=Zt(e.date),o=n?this.lists.get(n):null;if(o&&n){let i=o.data.some(s=>s.reportHubId===e.reportHubId)?o.data.map(s=>s.reportHubId===e.reportHubId?e:s):[e,...o.data];this.lists.set(n,{...o,data:i})}}this.notify(e.reportHubId)},update(e,t,r=!0){let n=this.reports.get(e);if(n?.data){if(r&&t.updatedAt&&n.data.updatedAt&&new Date(t.updatedAt).getTime()<new Date(n.data.updatedAt).getTime()){Ni.warn(`[DailyReportCache] Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+Vc))}},delete(e,t){this.reports.delete(e);let r=Zt(t),n=r&&this.lists.get(r);n&&r&&this.lists.set(r,{...n,data:n.data.filter(o=>o.reportHubId!==e)}),this.notify(e)},merge(e,t){let r=e;if(r.postedComments.some(n=>this.recentDeletes.has(n.id))&&(r={...r,postedComments:r.postedComments.filter(n=>!this.recentDeletes.has(n.id))}),t){let n=new Set(r.postedComments.map(a=>a.id)),o=t.postedComments.filter(a=>!n.has(a.id)&&a.isMine&&Date.now()-new Date(a.createdAt||0).getTime()<1e4);o.length>0&&(r={...r,postedComments:[...r.postedComments,...o].sort((a,i)=>new Date(a.createdAt||0).getTime()-new Date(i.createdAt||0).getTime())})}return r},cacheMany(e,t,r){this.prune();let n=Date.now(),o=n+na;for(let[i,s]of this.recentDeletes)n-s>1e4&&this.recentDeletes.delete(i);let a=e.map(i=>{if(this.locks.has(i.reportHubId))return i;let s=this.lastMutations.get(i.reportHubId);if(s&&r>0&&s>r)return this.reports.get(i.reportHubId)?.data??i;let d=this.reports.get(i.reportHubId)?.data,m=this.merge(i,d);return this.set(m,o,!1),m});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},Mi=(e,t,r=!0)=>X.set(e,t,r),tt=(e,t)=>X.getReport(e,t?.ignoreExpiry),rt=(e,t)=>X.update(e,t),$n=(e,t)=>X.delete(e,t),Vr=()=>{X.clear(),Kn.clear()},Wr=e=>{X.locks.add(e),X.lastMutations.set(e,Date.now())},Kr=e=>{X.locks.delete(e),X.lastMutations.set(e,Date.now())},Pi=e=>X.recentDeletes.set(e,Date.now()),ki=(e,t)=>{let r=n=>{n===e&&t()};return X.listeners.add(r),()=>{X.listeners.delete(r)}},Jt=(e,t)=>{X.prune(),X.set(t,Date.now()+na)},Hi=e=>{X.prune();let t=X.getReport(e.reportHubId,!0),r=new Map;for(let o of t?.postedComments??[])r.set(o.id,o.isMine??!1);let n=(e.postedComments??[]).map(o=>({...o,isMine:r.get(o.id)??!1}));X.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+na)},Wc=async(e,t)=>{let r=X.getReport(t);if(r)return r;let n=X.pendingReports.get(t);if(n)return n;let o=Date.now(),a=fetch(`${e}/report?reportHubId=${t}`,{cache:"no-cache"}).then(i=>i.ok?i.json():Promise.reject(`HTTP ${i.status}`)).then(i=>{if(i.error)throw new Error(i.error.message);let s=i.report;return X.cacheMany([s],null,o)[0]}).finally(()=>X.pendingReports.delete(t));return X.pendingReports.set(t,a),a},Kn=new Map,Kc=1e4,$c=(e,t)=>{let r=Kn.get(t),n=Date.now();if(r&&n-r.at<Kc)return r.inFlight;let o=oa(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return Kn.set(t,a),o.finally(()=>{Kn.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},oa=async(e,t,r={})=>{let n=r.forceRefresh?null:X.getList(t);if(n)return n;let o=X.pendingLists.get(t);if(o)return o;let a=Date.now(),i=fetch(`${e}/business-date?businessDate=${encodeURIComponent(t)}`,{cache:"no-cache"}).then(s=>s.ok?s.json():Promise.reject(`HTTP ${s.status}`)).then(s=>{if(s.error)throw new Error(s.error.message);return X.cacheMany(s.reports??[],t,a)}).finally(()=>X.pendingLists.delete(t));return X.pendingLists.set(t,i),i},ra=(e,t)=>{let r=X.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!X.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=X.lists.get(t),o=n?.data.find(a=>a.reportHubId===e);return n===void 0||o===void 0?{report:null,isStale:!1}:{report:o,isStale:!X.isValid(n.expiresAt)}},_i=(e,t)=>{if(e<=0)return{id:e,report:null,error:e===0?new Error("Invalid ID"):null,isLoading:!1,isRefetching:!1};let{report:r}=ra(e,Zt(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},yr=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,Vt=(e,t)=>{let{apiBasePath:r}=U(),[n,o]=(0,xt.useState)(()=>_i(e,t)),a=(0,xt.useRef)(0),i=n;return n.id!==e&&(i=_i(e,t),o(i)),(0,xt.useEffect)(()=>{let s=Zt(t),d=m=>{m===e&&o(yr(e,{report:ra(e,s).report}))};return X.listeners.add(d),()=>{X.listeners.delete(d)}},[e,t]),(0,xt.useEffect)(()=>{let s=Zt(t);a.current+=1;let d=a.current,m=()=>{a.current+=1};if(e<=0)return m;let{report:u,isStale:p}=ra(e,s);if(u&&!p)return o(yr(e,{report:u,error:null,isLoading:!1,isRefetching:!1})),m;o(yr(e,{report:u,isLoading:!u,isRefetching:!0}));let y=async()=>{try{let f=null;if(s){let D=X.getList(s)!==null;if(f=(await oa(r,s)).find(l=>l.reportHubId===e)??null,!f&&D){let l=await $c(r,s);l&&(f=l.find(g=>g.reportHubId===e)??null)}}else f=await Wc(r,e);a.current===d&&o(yr(e,{report:f,error:null}))}catch(f){a.current===d&&o(yr(e,{error:f instanceof Error?f:new Error("Load failed")}))}finally{a.current===d&&o(yr(e,{isLoading:!1,isRefetching:!1}))}};if(u===null)return y(),m;let v=setTimeout(y,br);return()=>{clearTimeout(v),m()}},[e,t,r]),{report:i.report,error:i.error,isLoading:i.isLoading,isRefetching:i.isRefetching}},zn=()=>{let{apiBasePath:e}=U();return(0,xt.useCallback)(t=>{let r=Zt(t);r&&!X.getList(r)&&oa(e,r).catch(n=>Ni.warn("Prefetch error",r,n))},[e])};var Fi=require("@aiquants/virtualscroll"),Bi=require("react");var Gn=()=>{let{locale:e,labels:t}=U(),r=gi(t),n=(0,Bi.useRef)(null),o=n.current;return o!==null&&Fi.VIRTUAL_SCROLL_LABEL_KEYS.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};var qn=require("react"),Yi=require("react-dom");var Wi=Object.freeze({visibilityProperty:!0}),Ui=new Set(["auto","scroll"]),Vi=new Set(["","true","plaintext-only"]),Ki=e=>{for(let t=e;t!==null;){if(t.hasAttribute("inert"))return!0;let r=t.parentElement;if(r!==null){t=r;continue}let n=t.getRootNode();t=ji(n)?n.host:null}return!1},zc=e=>{let t=e.closest("map")?.getAttribute("name");if(t==null||t==="")return!1;let r=e.getRootNode();for(let n of r.querySelectorAll("img[usemap]"))if(n.getAttribute("usemap")===`#${t}`&&n.checkVisibility(Wi))return!0;return!1},$i=e=>e.localName==="area"?zc(e):e.checkVisibility(Wi),Gc=e=>{let t=e.getAttribute("contenteditable");if(t===null||!Vi.has(t.toLowerCase()))return!1;for(let r=e.parentElement;r!==null;r=r.parentElement){let n=r.getAttribute("contenteditable");if(n===null)continue;let o=n.toLowerCase();if(Vi.has(o))return!1;if(o==="false")return!0}return!0},jc=e=>{if(e.checked||e.name==="")return!0;let t=e.getRootNode(),r=null;for(let n of t.querySelectorAll("input"))if(!(n.type!=="radio"||n.name!==e.name||n.form!==e.form)){if(n.checked)return!1;r===null&&!n.disabled&&$i(n)&&(r=n)}return r===e},Yc=e=>{let t=e.ownerDocument;if(e===t.documentElement||e===t.body)return!1;let r=e.scrollWidth>e.clientWidth,n=e.scrollHeight>e.clientHeight;if(!(r||n))return!1;let o=t.defaultView;if(o===null)return!1;let a=o.getComputedStyle(e);return r&&Ui.has(a.overflowX)||n&&Ui.has(a.overflowY)},qc=e=>{switch(e.localName){case"a":case"area":return e.hasAttribute("href");case"button":case"select":case"textarea":case"iframe":case"embed":return!0;case"input":return e.type!=="hidden";case"summary":return e.parentElement?.localName==="details"&&e.parentElement.querySelector(":scope > summary")===e;case"audio":case"video":return e.hasAttribute("controls");case"object":{let t=e.contentWindow;return typeof t=="object"&&t!==null}default:return Gc(e)}},Xc=/^[\t\n\f\r ]*[+-]?\d/,Zc=e=>{let t=e.getAttribute("tabindex");return t!==null&&Xc.test(t)?e.tabIndex:null},zi=(e,t)=>{for(let r of ia(e))if(t(r)||zi(r,t))return!0;return!1},jn=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=Jc(e,t);return t.set(e,n),n},Jc=(e,t)=>{if(!sa(e))return"none";let r=Zc(e),n=r===null&&qc(e),o=r===null&&!n&&Yc(e);return!(r!==null||n||o)||e.matches(":disabled")||Ki(e)||!$i(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?jc(e)?"sequential":"programmatic":"sequential":zi(e,a=>jn(a,t)==="sequential")?"none":"sequential"},aa=(e,t)=>{for(let r of ia(e))t(r),aa(r,t)},ia=e=>{if(xe(e)){let t=e;if(t.shadowRoot!==null)return t.shadowRoot.children;if(t.localName==="slot"){let r=t.assignedElements();if(r.length>0)return r}}return e.children};var Yn=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return aa(e,d=>{jn(d,a)==="sequential"&&n.push(d)}),{before:r,within:n,after:o};let i=!1,s=(d,m)=>{for(let u of ia(d)){let p=u===t;!p&&jn(u,a)==="sequential"&&(m?n.push(u):i?o.push(u):r.push(u)),s(u,m||p),p&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},Gi=e=>{let t=[],r=new Map;return aa(e,n=>{jn(n,r)==="sequential"&&t.push(n)}),t},xe=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,sa=e=>"focus"in e&&"blur"in e,Qc=e=>e.nodeType===e.DOCUMENT_NODE,ji=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,We=e=>{let t=e.getRootNode();if(ji(t)){let r=t.activeElement;return r===null?We(t.host):r}return Qc(t)?t.activeElement:null},$r=e=>{let t=We(e);return t===null||t===t.ownerDocument.body||Ki(t)},Ye=e=>{let t=e.ownerDocument.defaultView;if(t===null)throw new Error("[daily-report] the element belongs to a document without a window");return t};var Xn=e=>{let[t,r]=(0,qn.useState)(null);return(0,qn.useLayoutEffect)(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] useViewBoxHeight needs viewRef attached to the view's root");let o=null,a=d=>{if(d===o)return;let m=o===null;o=d,m?(0,Yi.flushSync)(()=>r(d)):r(d)},i=d=>{for(let m of d)a(m.borderBoxSize[0].blockSize)},s=new(Ye(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var qi=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,he=(e,t,r)=>{if(r!==null&&Number.isInteger(r)&&r>=0&&r<e.length){if(e[r].reportHubId===t)return r;for(let n=1;n<=16;n++){let o=r+n;if(o<e.length&&e[o].reportHubId===t)return o;let a=r-n;if(a>=0&&e[a].reportHubId===t)return a}}return e.findIndex(n=>n.reportHubId===t)};var Zn="data-daily-report-row",Xi=`[role="listitem"][${Zn}]`,eu='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',tu=/^[1-9]\d*$/,Zi=e=>{if(e===null||!tu.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},Wt=(e,t)=>{if(t===null||!xe(e))return null;let r=e.closest(Xi);return r===null||r===t||!t.contains(r)?null:r},Qt=e=>Zi(e.getAttribute(Zn)),Rr=e=>Zi(e.getAttribute("aria-posinset")),Ji=e=>{let t=e.closest(Xi),r=t===null?null:Rr(t);return r===null?null:r-1},zr=(e,t)=>{if(e===null)return null;let r=Qt(e);if(r===null)return null;let n=Rr(e),o=he(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},Qi=(e,t)=>{if(!xe(e))return!1;let r=e.closest(eu);return r!==null&&r!==t&&t.contains(r)};var la=require("react"),It=(0,la.createContext)(0),Gr=-1,es=(e,t)=>t.phase==="complete"?e:t.totalCount===null?Gr:Math.max(e,t.totalCount),Ct=(0,la.createContext)(-1);var ts=require("clsx"),rs=require("tailwind-merge");function R(...e){return(0,rs.twMerge)((0,ts.clsx)(e))}var er=require("react");var ns="(prefers-reduced-motion: reduce)",os=e=>Ye(e).matchMedia(ns).matches?"instant":"smooth",ru=Object.freeze({...ta,startVelocityThreshold:Number.POSITIVE_INFINITY}),gr=e=>e?ru:ta,nu=()=>!1,hr=e=>{let t=(0,er.useMemo)(()=>e===null?null:Ye(e).matchMedia(ns),[e]),r=(0,er.useCallback)(o=>t===null?()=>{}:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=(0,er.useCallback)(()=>t===null?!1:t.matches,[t]);return(0,er.useSyncExternalStore)(r,n,nu)};var is=require("react");var Jn=require("react/jsx-runtime"),Qn=()=>{let e={label:"",isWheelScrollActive:!1},t=new Set,r=n=>{e=n;for(let o of[...t])o()};return{getState:()=>e,setLabel:n=>{n!==e.label&&r({...e,label:n})},setWheelScrollActive:n=>{n!==e.isWheelScrollActive&&r({...e,isWheelScrollActive:n})},subscribe:n=>(t.add(n),()=>{t.delete(n)})}},as=16,ou=(e,t)=>e==="vertical"?{top:0,left:-as,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-as,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},eo=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=(0,is.useSyncExternalStore)(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?(0,Jn.jsx)("div",{className:"pointer-events-none absolute flex items-center",style:ou(e,t),children:(0,Jn.jsx)("div",{className:R(Qa,"border-slate-200 bg-white text-slate-700 text-xs shadow-md shadow-slate-400/30 dark:border-slate-700 dark:bg-slate-900/90 dark:text-slate-100"),children:(0,Jn.jsx)("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};var me=require("react");var ne=require("react");var Xr=require("@aiquants/sse"),Ts=require("@aiquants/sse/client"),xs=require("@aiquants/sse/react"),pt=require("react");var A=require("zod"),ss=["auth-required","forbidden","resync-required"],da=15e3,ls="lastEventId",au=/^\d{1,15}-\d{1,15}$/,to=e=>au.test(e),iu=A.z.object({name:A.z.string().nullish(),affiliation:A.z.string().nullish()}),su=A.z.object({name:A.z.string().nullish(),text:A.z.string().nullish(),color:A.z.string().nullish()}),lu=A.z.object({id:A.z.number(),name:A.z.string().nullish(),color:A.z.string().nullish()}),ds=A.z.object({id:A.z.number(),userId:A.z.string().nullish(),userName:A.z.string().nullish(),content:A.z.string().nullish(),createdAt:A.z.string().nullish(),isMine:A.z.boolean()}),du=A.z.object({id:A.z.string(),fileName:A.z.string(),fileType:A.z.string().nullable(),fileSize:A.z.number().nullable(),createdAt:A.z.string().nullable(),state:A.z.enum(["present","absent","unknown"]),hasThumbnail:A.z.boolean().default(!1)}),ca=A.z.object({reportHubId:A.z.number(),date:A.z.string().nullish(),createdAt:A.z.string().nullish(),author:A.z.string().nullish(),userId:A.z.string().nullish(),sourceType:A.z.string().nullish(),employeeName:A.z.string().nullish(),updatedBy:A.z.string().nullish(),updatedAt:A.z.string().nullish(),category:A.z.string().nullish(),creationCategory:A.z.string().nullish(),visitTimeFrom:A.z.string().nullish(),visitTimeTo:A.z.string().nullish(),customerName:A.z.string().nullish(),interviewers:A.z.array(iu),subject:A.z.string().nullish(),content:A.z.string().nullish(),externalComments:A.z.array(su),isRead:A.z.boolean(),isStarred:A.z.boolean(),labels:A.z.array(lu),postedComments:A.z.array(ds),attachments:A.z.array(du).default([])}),cu=A.z.object({type:A.z.literal("connected")}),uu=A.z.object({type:A.z.literal("status-update"),reportHubId:A.z.number(),statusType:A.z.enum(["star","read"]),value:A.z.boolean(),clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional()}),ua=A.z.string().optional(),mu=A.z.object({type:A.z.literal("comment-add"),reportHubId:A.z.number(),comment:ds,clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional(),sourceType:ua}),pu=A.z.object({type:A.z.literal("comment-delete"),reportHubId:A.z.number(),commentId:A.z.number(),clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional(),sourceType:ua}),fu=A.z.object({type:A.z.literal("report-create"),reportHubId:A.z.number(),report:ca,clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional()}),bu=A.z.object({type:A.z.literal("report-update"),reportHubId:A.z.number(),report:ca,clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional()}),yu=A.z.object({type:A.z.literal("report-publish"),reportHubId:A.z.number(),report:ca,clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional()}),Ru=A.z.object({type:A.z.literal("report-delete"),reportHubId:A.z.number(),clientTempId:A.z.string(),sourceType:ua}),cs=A.z.discriminatedUnion("type",[cu,uu,mu,pu,fu,bu,yu,Ru]);var Rs=require("react");var us="ids-stream",ms=e=>{if(typeof e!="object"||e===null)return"unknown";let t=e;return typeof t.kind=="string"?t.kind==="chunk"?"chunk":t.kind==="error"?"error":"unknown":Array.isArray(t.items)?"chunk":typeof t.error=="string"?"error":"unknown"};var tr=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,ma=e=>{for(let t=1;t<e.length;t++)if(tr(e[t-1],e[t])>0)return!1;return!0};var jr=()=>{let e=new Map,t=new Map,r=new Map,n=i=>{let s=r.get(i.reportHubId);if(s===void 0){e.set(i.reportHubId,i);return}r.delete(i.reportHubId),t.set(i.reportHubId,{previous:s,next:i})},o=(i,s)=>{if(e.has(s.reportHubId)){e.set(s.reportHubId,s);return}let d=t.get(s.reportHubId);t.set(s.reportHubId,{previous:d===void 0?i:d.previous,next:s})},a=i=>{if(e.delete(i.reportHubId))return;let s=t.get(i.reportHubId);s!==void 0&&t.delete(i.reportHubId),r.set(i.reportHubId,s===void 0?i:s.previous)};return{add:n,change:o,remove:a,fold:i=>{for(let s of i.removed)a(s);for(let{previous:s,next:d}of i.replaced)o(s,d);for(let s of i.appended)n(s)},isEmpty:()=>e.size===0&&t.size===0&&r.size===0,build:(i,s)=>({base:i,revision:s,appended:[...e.values()],replaced:[...t.values()],removed:[...r.values()]})}},ps=(e,t)=>{let r=e.findIndex(n=>n.base===t);if(r===-1)return null;for(let n=r+1;n<e.length;n++)if(e[n].base!==e[n-1].revision)return null;return e.slice(r)};var fs=()=>{let e=new TextDecoder,t=[],r=n=>{let o=[],a=0;for(let i=n.indexOf(`
1
+ "use strict";var Gc=Object.create;var xn=Object.defineProperty;var Yc=Object.getOwnPropertyDescriptor;var qc=Object.getOwnPropertyNames;var Xc=Object.getPrototypeOf,Zc=Object.prototype.hasOwnProperty;var Jc=(e,t)=>{for(var r in t)xn(e,r,{get:t[r],enumerable:!0})},li=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of qc(t))!Zc.call(e,o)&&o!==r&&xn(e,o,{get:()=>t[o],enumerable:!(n=Yc(t,o))||n.enumerable});return e};var Te=(e,t,r)=>(r=e!=null?Gc(Xc(e)):{},li(t||!e||!e.__esModule?xn(r,"default",{value:e,enumerable:!0}):r,e)),Qc=e=>li(xn({},"__esModule",{value:!0}),e);var Qb={};Jc(Qb,{DAILY_REPORT_LABEL_CATALOGS:()=>Ea,DAILY_REPORT_LABEL_KEYS:()=>Kn,DAILY_REPORT_LAYOUT_LATTICE_PX:()=>Yi,DailyReportActionProvider:()=>Po,DailyReportAttachmentIndicator:()=>br,DailyReportConfigProvider:()=>$n,DailyReportDetailList:()=>aa,DailyReportErrorProvider:()=>Do,DailyReportIdsStreamClient:()=>xr,DailyReportIdsStreamStatus:()=>kr,DailyReportList:()=>ua,DailyReportPage:()=>zc,DailyReportResolvedContent:()=>pa,bootstrapDailyReportIdsStreamSession:()=>So,createDailyReportClientLoader:()=>jc,dailyReportShouldRevalidate:()=>$c,defaultDailyReportClientConfig:()=>hr,ensureDailyReportIdsStreamSession:()=>Cr,primeDailyReportIdsStreamSession:()=>vo,resolveDailyReportLabels:()=>zn,resolveSourceTypeConfig:()=>zt,resyncDailyReportIdsStream:()=>en,useDailyReportActionContext:()=>yl,useDailyReportComments:()=>Uo,useDailyReportConfig:()=>V,useDailyReportDetail:()=>$t,useDailyReportIdsStream:()=>$s,useDailyReportPrefetch:()=>ao,useDailyReportSseConnection:()=>Co});module.exports=Qc(Qb);var Ni=Te(require("lucide-react/dist/esm/icons/paperclip.js"));var eu="data-daily-report-row-surface",qe={[eu]:""},pr="data-daily-report-scrolling",Vt=8,Vr="h-[calc-size(auto,round(up,size,4px))]",Wt="p-[8px]",di="pr-[8px]",Cn="contain-size contain-layout contain-style",ci="contain-strict",ne="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",ui="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",fa="scrollbar-thin [scrollbar-gutter:stable]",ba=`-m-[4px] overflow-hidden p-[4px] ${fa}`,mi="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",An="rounded-[calc(var(--radius-2xl)+8px)]",Dn="outline-none [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-2 [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-offset-4 [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-600 dark:[:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-400 [&[aria-current=true]>:where([data-daily-report-row-surface])]:ring-2 [&[aria-current=true]>:where([data-daily-report-row-surface])]:ring-blue-500 [&[aria-current=true]>:where([data-daily-report-row-surface])]:shadow-transparent forced-colors:[&[aria-current=true]]:outline-2 forced-colors:[&[aria-current=true]]:outline-solid forced-colors:[&[aria-current=true]]:-outline-offset-8 forced-colors:[&[aria-current=true]]:outline-[Highlight] forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-2 forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-solid forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:-outline-offset-8 forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-[Highlight]",pi="[:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-2 [:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-offset-4 [:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-blue-600 dark:[:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-blue-400 has-[>[aria-current=true]]:ring-2 has-[>[aria-current=true]]:ring-blue-500 has-[>[aria-current=true]]:shadow-transparent",vt="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",_n=16,fr="rounded-xl border border-dashed border-slate-300 bg-slate-50 p-[11px] text-slate-600 text-sm dark:border-slate-600 dark:bg-slate-900/40 dark:text-slate-300",fi=12,Ln="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200",wn="[--aqdr-hover-lift:2px] [@media(resolution:1.25dppx)]:[--aqdr-hover-lift:calc(2px/1.25)] [@media(resolution:1.75dppx)]:[--aqdr-hover-lift:calc(3px/1.75)] [@media(resolution:2.25dppx)]:[--aqdr-hover-lift:calc(4px/2.25)] [@media(resolution:2.75dppx)]:[--aqdr-hover-lift:calc(5px/2.75)] motion-safe:transition-[translate] motion-safe:duration-200 hover:border-blue-300 hover:shadow-lg motion-safe:hover:translate-y-[calc(-1*var(--aqdr-hover-lift))] [[data-daily-report-scrolling]_&]:transition-none [[data-daily-report-scrolling]_&]:hover:translate-none [[data-daily-report-scrolling]_&]:hover:shadow-sm",Ke=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${ne}`,bi="-mx-1",yi="flex items-center gap-1",Be="inline-flex h-6 items-center rounded-full px-3",Ri="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",gi="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",Ut="size-4",_e={starOff:`${Ut} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${Ut} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${Ut} text-blue-600 dark:text-blue-400`,delete:`${Ut} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${Ut} text-red-600 dark:text-red-400`,edit:`${Ut} text-slate-500 dark:text-slate-400`},hi="h-6 w-10 border-4 border-solid",Si="size-4 data-[state=checked]:translate-x-4",vi="data-[state=unchecked]:bg-slate-500 data-[state=checked]:bg-blue-600 dark:data-[state=unchecked]:bg-slate-400 dark:data-[state=checked]:bg-blue-400 forced-colors:border-[ButtonText] forced-colors:data-[state=checked]:bg-[Highlight]",Ei="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var Ti="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",Ii="rounded-xl border border-solid p-[3px]",xi="relative inline-flex h-6 items-center justify-center whitespace-nowrap rounded-lg px-2 font-medium text-slate-600 text-xs dark:text-slate-300 data-[state=active]:bg-white data-[state=active]:text-slate-900 dark:data-[state=active]:bg-slate-950 dark:data-[state=active]:text-slate-100 after:pointer-events-none after:absolute after:right-[var(--radius-lg)] after:bottom-0 after:left-[var(--radius-lg)] after:h-[2px] after:rounded-full after:forced-color-adjust-none data-[state=active]:after:bg-blue-600 dark:data-[state=active]:after:bg-blue-400 forced-colors:data-[state=active]:after:bg-[Highlight] disabled:pointer-events-none disabled:opacity-50",tu="ml-[max(0px,round(down,calc((100%-72rem)/2),4px))]",ru="bg-slate-50 dark:bg-slate-950",tt="flex min-h-0 flex-1 flex-col",Wr=`${tt} ${ru}`,Kr=`${tt} mx-auto w-full max-w-6xl px-[4px] pt-[4px] ${tu}`,zr="text-red-700 dark:text-red-400",Ci="bg-white dark:bg-slate-900",Nn="min-h-0 flex-1 overflow-clip contain-size",On="flex h-full flex-col contain-size contain-layout contain-style",Ai="relative inline-block whitespace-nowrap tabular-nums",Di="invisible",_i="absolute inset-0 contain-size contain-layout contain-style",Mn="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",Li="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",wi={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},er="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",It=`m-0 ${er}`,Pn="text-balance wrap-anywhere [word-break:auto-phrase]",kn="[&_.aqvs-scrollbar]:bg-slate-100 [&_.aqvs-scrollbar-track]:bg-slate-100 [&_.aqvs-scrollbar-thumb]:bg-slate-500 [&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-600 [&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-700 [&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 [&_.aqvs-scrollbar-arrow-button]:bg-slate-100 [&_.aqvs-scrollbar-arrow-button]:text-slate-600 [&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-200 dark:[&_.aqvs-scrollbar]:bg-slate-900 dark:[&_.aqvs-scrollbar-track]:bg-slate-900 dark:[&_.aqvs-scrollbar-thumb]:bg-slate-500 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-400 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-300 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 dark:[&_.aqvs-scrollbar-arrow-button]:bg-slate-900 dark:[&_.aqvs-scrollbar-arrow-button]:text-slate-400 dark:[&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-800 forced-colors:[&_.aqvs-scrollbar-thumb]:bg-[CanvasText] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-[GrayText] forced-colors:[&_.aqvs-scrollbar-track]:outline-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-solid forced-colors:[&_.aqvs-scrollbar-track]:-outline-offset-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-[CanvasText]";var $r=require("react/jsx-runtime"),nu=2,br=({id:e,count:t,label:r})=>t<=0?null:(0,$r.jsxs)("span",{id:e,className:"inline-flex h-6 shrink-0 items-center gap-1 text-slate-500 dark:text-slate-400",title:`${r}: ${t}`,role:"img","aria-label":`${r}: ${t}`,"data-testid":"daily-report-attachment-indicator","data-attachment-count":t,children:[(0,$r.jsx)(Ni.default,{className:Ut,"aria-hidden":"true"}),t>=nu&&(0,$r.jsx)("span",{className:"font-semibold text-xs leading-4",children:t})]});var nc=require("@aiquants/virtualscroll"),K=require("react");var ge=e=>{if(!e)return"-";let t=e.trim();return t===""?"-":t},be=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?be(e.toISOString()):String(e);let t=e.trim();if(t==="")return"-";let r=t.match(/^(\d{4})[-/](\d{2})[-/](\d{2})$/);if(r)return`${r[1]}-${r[2]}-${r[3]}`;let n=new Date(t);if(Number.isNaN(n.getTime()))return t;let o=n.getFullYear(),a=String(n.getMonth()+1).padStart(2,"0"),i=String(n.getDate()).padStart(2,"0");if(t.includes(":")||t.includes("T")){let d=String(n.getHours()).padStart(2,"0"),m=String(n.getMinutes()).padStart(2,"0"),c=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${i}T${d}:${m}:${c}`}return`${o}-${a}-${i}`};var Ct=require("react"),to=require("zod");var Hn="ids-stream",Oi=e=>{if(typeof e!="object"||e===null)return"unknown";let t=e;return typeof t.kind=="string"?t.kind==="chunk"?"chunk":t.kind==="error"?"error":"unknown":Array.isArray(t.items)?"chunk":typeof t.error=="string"?"error":"unknown"};var tr=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,ya=e=>{for(let t=1;t<e.length;t++)if(tr(e[t-1],e[t])>0)return!1;return!0};var Kt=Object.freeze({businessDate:"business-date",idsStream:Hn,report:"report",action:"action"}),Ra=Object.freeze({businessDate:"businessDate",reportHubId:"reportHubId",forceRefresh:"forceRefresh",cursorReportHubId:"cursor_report_hub_id",cursorBusinessDate:"cursor_business_date",cursorSnapshot:"cursor_snapshot"});var ou=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var Fn=e=>e<10?`0${e}`:`${e}`,au=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=Fn(e.getMonth()+1),n=Fn(e.getDate());return`${t}-${r}-${n}`},Mi=e=>{let t=ou.exec(e);if(t===null)return null;let[,r,,n,o]=t,a=Number(r),i=Number(n),s=Number(o);if(a<1)return null;let d=new Date(0);return d.setUTCFullYear(a,i-1,s),d.getUTCFullYear()!==a||d.getUTCMonth()!==i-1||d.getUTCDate()!==s?null:`${r}-${n}-${o}`},Pi=e=>Mi(e)===e,ga=(e=new Date)=>Number.isNaN(e.getTime())?ga(new Date):`${e.getFullYear()}-${Fn(e.getMonth()+1)}-${Fn(e.getDate())}`,rr=e=>e==null?null:e instanceof Date?au(e):Mi(e);var yr=(e,t,r=console)=>{let n=o=>typeof o=="string"?[`${t} ${o}`]:[t,o];return{debug:(o,...a)=>{e<=0&&r.debug(...n(o),...a)},info:(o,...a)=>{e<=1&&r.info(...n(o),...a)},warn:(o,...a)=>{e<=2&&r.warn(...n(o),...a)},error:(o,...a)=>{e<=3&&r.error(...n(o),...a)}}};var A=require("zod");var Bn=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|-[1-9][0-9]{0,15})$/;var ki=["auth-required","forbidden","resync-required"],ha=15e3,Hi="lastEventId",iu=/^\d{1,15}-\d{1,15}$/,Un=e=>iu.test(e),su=A.z.object({name:A.z.string().nullish(),affiliation:A.z.string().nullish()}),lu=A.z.object({name:A.z.string().nullish(),text:A.z.string().nullish(),color:A.z.string().nullish()}),du=A.z.object({id:A.z.number(),name:A.z.string().nullish(),color:A.z.string().nullish()}),Vn=A.z.object({id:A.z.number(),userId:A.z.string().nullish(),userName:A.z.string().nullish(),content:A.z.string().nullish(),createdAt:A.z.string().nullish(),isMine:A.z.boolean()}),cu=A.z.object({id:A.z.string(),fileName:A.z.string(),fileType:A.z.string().nullable(),fileSize:A.z.number().nullable(),createdAt:A.z.string().nullable(),state:A.z.enum(["present","absent","unknown"]),hasThumbnail:A.z.boolean().default(!1)}),xt=A.z.object({reportHubId:A.z.number(),date:A.z.string().nullish(),createdAt:A.z.string().nullish(),author:A.z.string().nullish(),userId:A.z.string().nullish(),sourceType:A.z.string().nullish(),employeeName:A.z.string().nullish(),updatedBy:A.z.string().nullish(),updatedAt:A.z.string().nullish(),category:A.z.string().nullish(),creationCategory:A.z.string().nullish(),visitTimeFrom:A.z.string().nullish(),visitTimeTo:A.z.string().nullish(),customerName:A.z.string().nullish(),interviewers:A.z.array(su),subject:A.z.string().nullish(),content:A.z.string().nullish(),externalComments:A.z.array(lu),isRead:A.z.boolean(),isStarred:A.z.boolean(),labels:A.z.array(du),postedComments:A.z.array(Vn),attachments:A.z.array(cu).default([])}),nr=A.z.string().regex(Bn),uu=A.z.object({type:A.z.literal("connected")}),mu=A.z.object({type:A.z.literal("status-update"),reportHubId:A.z.number(),statusType:A.z.enum(["star","read"]),value:A.z.boolean(),clientTempId:nr,recipientRawUserId:A.z.number().optional()}),Sa=A.z.string().optional(),pu=A.z.object({type:A.z.literal("comment-add"),reportHubId:A.z.number(),comment:Vn,clientTempId:nr,recipientRawUserId:A.z.number().optional(),sourceType:Sa}),fu=A.z.object({type:A.z.literal("comment-delete"),reportHubId:A.z.number(),commentId:A.z.number(),clientTempId:nr,recipientRawUserId:A.z.number().optional(),sourceType:Sa}),bu=A.z.object({type:A.z.literal("report-create"),reportHubId:A.z.number(),report:xt,clientTempId:nr,recipientRawUserId:A.z.number().optional()}),yu=A.z.object({type:A.z.literal("report-update"),reportHubId:A.z.number(),report:xt,clientTempId:nr,recipientRawUserId:A.z.number().optional()}),Ru=A.z.object({type:A.z.literal("report-publish"),reportHubId:A.z.number(),report:xt,clientTempId:nr,recipientRawUserId:A.z.number().optional()}),gu=A.z.object({type:A.z.literal("report-delete"),reportHubId:A.z.number(),clientTempId:nr,sourceType:Sa}),Fi=A.z.discriminatedUnion("type",[uu,mu,pu,fu,bu,yu,Ru,gu]);var $i=require("@aiquants/virtualscroll"),gr=require("react");var hu=e=>typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"||e===null||e===void 0?String(e):Array.isArray(e)?"array":typeof e,Me=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${hu(r)}`),Bi=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),Wn=(e,t,r)=>Me(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t);var ft=require("@aiquants/virtualscroll");var Vi=["id","businessDate","author","visitTime","createdAt","updatedAt","updatedBy","category","creationCategory","customer","subject","content","interviewers","comments","attachments","attachmentMissing","attachmentDownload","attachmentThumbnailUnavailable","tabArticle","tabRelations","reportTabList","relationsEmpty","title","listKeyboardHelp","tabList","tabTree","tabDetailList","viewTabList","treeComingSoon","totalCountLoading","createReport","createReportTitle","devControls","devSseToggle","devReload","devClearCache","autoRead","autoReadTitle","loadErrorBadge","loadError","reload","loadingIds","streamFailed","streamRetry","streamRevalidating","selectPrompt","loading","reportNotFound","contentEmpty","contentEmptyPreview","confirmDelete","deleteFailed","starAdd","starRemove","markRead","markUnread","deleteReport","edit","resizeHandle","close","formTitle","formTitlePlaceholder","formContent","formContentPlaceholder","formCancel","formSave","formPublish","commentPlaceholder","commentSend","commentDelete","commentDeleteConfirm","unknownUser","sourceInternal"],Wi=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","rowState","listRowPosition","listRowPositionInUnknownTotal"],Kn=[...ft.VIRTUAL_SCROLL_LABEL_KEYS,...Vi,...Wi];var Su=Object.freeze({en:"en-US",ja:"ja-JP"}),Ie=(e,t)=>t.toLocaleString(Su[e]),vu=Object.freeze({create:"\u65E5\u5831\u306E\u4F5C\u6210",update:"\u65E5\u5831\u306E\u4FDD\u5B58",publish:"\u65E5\u5831\u306E\u516C\u958B",delete:"\u65E5\u5831\u306E\u524A\u9664",addComment:"\u30B3\u30E1\u30F3\u30C8\u306E\u6295\u7A3F",deleteComment:"\u30B3\u30E1\u30F3\u30C8\u306E\u524A\u9664",toggleStar:"\u30B9\u30BF\u30FC\u306E\u66F4\u65B0",toggleRead:"\u65E2\u8AAD\u72B6\u614B\u306E\u66F4\u65B0"}),Eu=Object.freeze({create:"create the report",update:"save the report",publish:"publish the report",delete:"delete the report",addComment:"post the comment",deleteComment:"delete the comment",toggleStar:"update the star",toggleRead:"update the read state"}),va=Object.freeze({en:Object.freeze({id:"ID",businessDate:"Business date",author:"Author",visitTime:"Visit time",createdAt:"Created at",updatedAt:"Updated at",updatedBy:"Updated by",category:"Category",creationCategory:"Creation category",customer:"Customer",subject:"Subject",content:"Content",interviewers:"Attendees",comments:"Comments",attachments:"Attachments",attachmentMissing:"File is missing",attachmentDownload:"Download",attachmentThumbnailUnavailable:"Preview unavailable",tabArticle:"Overview",tabRelations:"Related",reportTabList:"Report sections",relationsEmpty:"No related view configured yet.",title:"Daily Reports",listKeyboardHelp:"Up and Down arrows: previous or next report. Home and End: first or last report. Page Up and Page Down: move by a page. Enter or Space on a report row: make it current. Control+Home and Control+End: move to the nearest control before or after the list, when there is one.",tabList:"\u{1F4C4} List",tabTree:"\u{1F333} Tree",tabDetailList:"\u{1F4CB} DetailList",viewTabList:"Views",treeComingSoon:"The tree view is coming soon",totalCountLoading:"Total: loading...",createReport:"New report",createReportTitle:"Create a daily report",devControls:"Development-only controls",devSseToggle:"Toggle SSE real-time sync",devReload:"Reload data",devClearCache:"Clear the cache and reload",autoRead:"Auto-read",autoReadTitle:"Mark reports as read automatically while viewing them",loadErrorBadge:"Error",loadError:"Failed to load the daily reports.",reload:"Reload",loadingIds:"Loading report IDs...",streamFailed:"Failed to load",streamRetry:"Retry",streamRevalidating:"Refreshing",selectPrompt:"Select a report from the list on the left.",loading:"Loading...",reportNotFound:"Report not found",contentEmpty:"No content has been entered.",contentEmptyPreview:"No content has been entered",confirmDelete:"Are you sure you want to delete this report?",deleteFailed:"Failed to delete the report",starAdd:"Add star",starRemove:"Remove star",markRead:"Mark as read",markUnread:"Mark as unread",deleteReport:"Delete",edit:"Edit",resizeHandle:"Resize the border between the report list and the detail pane",close:"Close",formTitle:"Title",formTitlePlaceholder:"Enter the report title",formContent:"Content",formContentPlaceholder:"Enter the report content",formCancel:"Cancel",formSave:"Save",formPublish:"Publish",commentPlaceholder:"Add a comment...",commentSend:"Send",commentDelete:"Delete comment",commentDeleteConfirm:"Delete",unknownUser:"Unknown",sourceInternal:"Original",totalCount:e=>`Total: ${Ie("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${Ie("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${Ie("en",e)} / ${Ie("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${Ie("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${Ie("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${Ie("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${Eu[e]}. Please try again later.`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${Ie("en",e)} of ${Ie("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${Ie("en",e)}`}),ja:Object.freeze({id:"ID",businessDate:"\u55B6\u696D\u65E5",author:"\u4F5C\u6210\u8005",visitTime:"\u8A2A\u554F\u6642\u9593",createdAt:"\u4F5C\u6210\u65E5\u6642",updatedAt:"\u66F4\u65B0\u65E5\u6642",updatedBy:"\u66F4\u65B0\u8005",category:"\u533A\u5206",creationCategory:"\u4F5C\u6210\u533A\u5206",customer:"\u9867\u5BA2",subject:"\u4EF6\u540D",content:"\u5185\u5BB9",interviewers:"\u9762\u8AC7\u8005",comments:"\u30B3\u30E1\u30F3\u30C8",attachments:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB",attachmentMissing:"\u5B9F\u4F53\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",attachmentDownload:"\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9",attachmentThumbnailUnavailable:"\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u8868\u793A\u3067\u304D\u307E\u305B\u3093",tabArticle:"\u6982\u8981",tabRelations:"\u95A2\u9023",reportTabList:"\u65E5\u5831\u306E\u8868\u793A\u306E\u5207\u308A\u66FF\u3048",relationsEmpty:"\u95A2\u9023\u30D3\u30E5\u30FC\u306F\u307E\u3060\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",title:"\u65E5\u5831",listKeyboardHelp:"\u2191\u2193 \u3067\u524D\u5F8C\u306E\u65E5\u5831\u3001Home / End \u3067\u5148\u982D\u30FB\u672B\u5C3E\u3001PageUp / PageDown \u3067\u30DA\u30FC\u30B8\u79FB\u52D5\u3001\u65E5\u5831\u306E\u884C\u3067 Enter \u307E\u305F\u306F Space \u3092\u62BC\u3059\u3068\u9078\u629E\u3001Ctrl+Home / Ctrl+End \u3067\u4E00\u89A7\u306E\u76F4\u524D\u30FB\u76F4\u5F8C\u306E\u64CD\u4F5C\u90E8\u54C1\u304C\u3042\u308C\u3070\u305D\u3053\u3078\u79FB\u308A\u307E\u3059\u3002",tabList:"\u{1F4C4} \u4E00\u89A7",tabTree:"\u{1F333} \u30C4\u30EA\u30FC",tabDetailList:"\u{1F4CB} \u8A73\u7D30\u4E00\u89A7",viewTabList:"\u8868\u793A\u306E\u5207\u308A\u66FF\u3048",treeComingSoon:"\u30C4\u30EA\u30FC\u306F\u73FE\u5728\u6E96\u5099\u4E2D\u3067\u3059",totalCountLoading:"\u7DCF\u4EF6\u6570: \u8AAD\u307F\u8FBC\u307F\u4E2D...",createReport:"\u65E5\u5831\u4F5C\u6210",createReportTitle:"\u65E5\u5831\u3092\u4F5C\u6210",devControls:"\u958B\u767A\u74B0\u5883\u9650\u5B9A\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB",devSseToggle:"SSE \u30EA\u30A2\u30EB\u30BF\u30A4\u30E0\u540C\u671F\u5207\u66FF",devReload:"\u30C7\u30FC\u30BF\u518D\u53D6\u5F97 (\u30EA\u30ED\u30FC\u30C9)",devClearCache:"\u30AD\u30E3\u30C3\u30B7\u30E5\u7834\u68C4 & \u518D\u53D6\u5F97",autoRead:"\u81EA\u52D5\u65E2\u8AAD",autoReadTitle:"\u65E5\u5831\u95B2\u89A7\u6642\u306E\u81EA\u52D5\u65E2\u8AAD\u51E6\u7406\u5207\u66FF",loadErrorBadge:"\u30A8\u30E9\u30FC",loadError:"\u65E5\u5831\u30C7\u30FC\u30BF\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002",reload:"\u518D\u8AAD\u307F\u8FBC\u307F",loadingIds:"\u65E5\u5831 ID \u3092\u8AAD\u307F\u8FBC\u307F\u4E2D\u3067\u3059...",streamFailed:"\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F",streamRetry:"\u518D\u8A66\u884C",streamRevalidating:"\u6700\u65B0\u5316\u4E2D",selectPrompt:"\u5DE6\u5074\u306E\u4E00\u89A7\u304B\u3089\u65E5\u5831\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",loading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",reportNotFound:"\u65E5\u5831\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",contentEmpty:"\u5185\u5BB9\u306F\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",contentEmptyPreview:"\u5185\u5BB9\u306F\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093",confirmDelete:"\u672C\u5F53\u306B\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F",deleteFailed:"\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F",starAdd:"\u30B9\u30BF\u30FC\u3092\u4ED8\u3051\u308B",starRemove:"\u30B9\u30BF\u30FC\u3092\u5916\u3059",markRead:"\u65E2\u8AAD\u306B\u3059\u308B",markUnread:"\u672A\u8AAD\u306B\u3059\u308B",deleteReport:"\u524A\u9664\u3059\u308B",edit:"\u7DE8\u96C6",resizeHandle:"\u65E5\u5831\u4E00\u89A7\u3068\u8A73\u7D30\u30DA\u30A4\u30F3\u306E\u5883\u754C\u306E\u30B5\u30A4\u30BA\u5909\u66F4\u30CF\u30F3\u30C9\u30EB",close:"\u9589\u3058\u308B",formTitle:"\u30BF\u30A4\u30C8\u30EB",formTitlePlaceholder:"\u65E5\u5831\u306E\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B",formContent:"\u5185\u5BB9",formContentPlaceholder:"\u65E5\u5831\u306E\u5185\u5BB9\u3092\u5165\u529B",formCancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",formSave:"\u4FDD\u5B58",formPublish:"\u516C\u958B",commentPlaceholder:"\u30B3\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0...",commentSend:"\u9001\u4FE1",commentDelete:"\u524A\u9664",commentDeleteConfirm:"\u524A\u9664\u3059\u308B",unknownUser:"\u4E0D\u660E\u306A\u30E6\u30FC\u30B6\u30FC",sourceInternal:"\u30AA\u30EA\u30B8\u30CA\u30EB",totalCount:e=>`\u7DCF\u4EF6\u6570: ${Ie("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${Ie("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${Ie("ja",e)} / ${Ie("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${Ie("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${Ie("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${Ie("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${vu[e]}\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u6642\u9593\u3092\u304A\u3044\u3066\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002`,rowState:({isRead:e,isStarred:t})=>`${e?"\u65E2\u8AAD":"\u672A\u8AAD"}${t?"\u3001\u30B9\u30BF\u30FC\u4ED8\u304D":""}`,listRowPosition:(e,t)=>`\u5168 ${Ie("ja",t)} \u4EF6\u4E2D ${Ie("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${Ie("ja",e)} \u4EF6\u76EE`})}),Ea=Object.freeze({en:Object.freeze({...ft.VIRTUAL_SCROLL_LABEL_CATALOGS.en,...va.en}),ja:Object.freeze({...ft.VIRTUAL_SCROLL_LABEL_CATALOGS.ja,...va.ja})}),Tu=e=>{let t={},r=!1;for(let n of ft.VIRTUAL_SCROLL_LABEL_KEYS){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},Ui=(e,t,r)=>{e[t]=r},zn=(e,t)=>{let r=(0,ft.resolveVirtualScrollLocale)(e);if(t===void 0)return Ea[r];if(t===null||typeof t!="object")throw Me("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Me("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!Kn.includes(i))throw Wn("labels key",i,Kn);let a={...(0,ft.resolveVirtualScrollLabels)(r,Tu(t)),...va[r]};for(let i of Vi){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw Me(`labels.${i}`,"a non-blank string",s);Ui(a,i,s)}}for(let i of Wi){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw Me(`labels.${i}`,"a function",s);Ui(a,i,s)}}return Object.freeze(a)},Ki=e=>{let t={};for(let r of ft.VIRTUAL_SCROLL_LABEL_KEYS)t[r]=e[r];return Object.freeze(t)};var Rr=require("react/jsx-runtime"),Iu=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),xu=({title:e,annotation:t})=>(0,Rr.jsxs)("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[(0,Rr.jsx)("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?(0,Rr.jsx)("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),hr=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:xu,showDevControls:!1,headingLevel:3}),zi=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired"];var Cu=e=>{for(let t of Object.keys(e))if(!zi.includes(t))throw Wn("config key",t,zi)},Au=[2,3,4,5],Du=e=>{if(e===void 0)return hr.headingLevel;let t=Au.find(r=>r===e);if(t===void 0)throw Me("config.headingLevel","an integer from 2 to 5 (the level of each report's heading)",e);return t},_u=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Me(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},ji=e=>{Cu(e);let t=e.onSessionExpired;if(t===void 0)throw Bi("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Me("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=(0,$i.resolveVirtualScrollLocale)(e.locale),n=zn(r,e.labels),o=hr;return{apiBasePath:e.apiBasePath===void 0?o.apiBasePath:e.apiBasePath,ssePath:e.ssePath===void 0?o.ssePath:e.ssePath,draftLabelName:e.draftLabelName===void 0?o.draftLabelName:e.draftLabelName,locale:r,labels:n,sourceTypeConfigs:e.sourceTypeConfigs===void 0?Iu(n):_u(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:Du(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired}},Lu=()=>{throw new Error("[daily-report] onSessionExpired is not wired: render inside DailyReportConfigProvider with a config")},Gi=(0,gr.createContext)(ji({onSessionExpired:Lu})),$n=({config:e,children:t})=>{let r=(0,gr.useMemo)(()=>ji(e),[e]);return(0,Rr.jsx)(Gi.Provider,{value:r,children:t})},V=()=>(0,gr.useContext)(Gi),zt=(e,t)=>{if(!(e&&t))return;if(t[e])return t[e];let r=e.toLowerCase(),n=Object.keys(t).find(o=>o.toLowerCase()===r);return n?t[n]:void 0},jn=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";var qi=require("@aiquants/virtualscroll");var Yi=4;var Sr=120,Xi=1e3,Gn=.8,Ta={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},Yn=20,Zi=6,qn={reportHubId:-1,businessDate:null},Xn=240,Zn=15,wu=8,Ji=460,Qi=3,es=352,Nu={enabled:!0,renderVisual:qi.tapScrollCircleSampleVisual,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},Jn={width:wu,tapScrollCircleOptions:Nu,enableArrowButtonTabStops:!1},Qn=["pen","touch"];var ns=yr(1,"use-daily-report"),os=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},xa=os("__DAILY_REPORT_CACHE_TTL__",3e5),Ou=os("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),q={reports:new Map,lists:new Map,pendingLists:new Map,pendingReports:new Map,listeners:new Set,locks:new Map,lastMutations:new Map,recentDeletes:new Map,lastPrune:0,prune(){let e=Date.now();if(e-this.lastPrune<6e4)return;this.lastPrune=e;let t=3600*1e3;for(let[r,n]of this.reports)e-n.expiresAt>t&&this.reports.delete(r);for(let[r,n]of this.lists)e-n.expiresAt>t&&this.lists.delete(r)},clear(){this.reports.clear(),this.lists.clear(),this.pendingLists.clear(),this.pendingReports.clear(),this.locks.clear(),this.lastMutations.clear(),this.recentDeletes.clear(),this.listeners.forEach(e=>{e(-1)})},isLocked(e){let t=this.locks.get(e);return t===void 0?!1:t>performance.now()?!0:(this.locks.delete(e),!1)},isValid:e=>e>Date.now(),notify:e=>{q.listeners.forEach(t=>{t(e)})},getReport(e,t=!1){let r=this.reports.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},getList(e,t=!1){let r=e&&this.lists.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},set(e,t,r=!0){if(this.reports.set(e.reportHubId,{data:e,expiresAt:t}),r){let n=rr(e.date),o=n?this.lists.get(n):null;if(o&&n){let i=o.data.some(s=>s.reportHubId===e.reportHubId)?o.data.map(s=>s.reportHubId===e.reportHubId?e:s):[e,...o.data];this.lists.set(n,{...o,data:i})}}this.notify(e.reportHubId)},update(e,t,r=!0){let n=this.reports.get(e);if(n?.data){if(r&&t.updatedAt&&n.data.updatedAt&&new Date(t.updatedAt).getTime()<new Date(n.data.updatedAt).getTime()){ns.warn(`[DailyReportCache] Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+Ou))}},delete(e,t){this.reports.delete(e);let r=rr(t),n=r&&this.lists.get(r);n&&r&&this.lists.set(r,{...n,data:n.data.filter(o=>o.reportHubId!==e)}),this.notify(e)},merge(e,t){let r=e;if(r.postedComments.some(n=>this.recentDeletes.has(n.id))&&(r={...r,postedComments:r.postedComments.filter(n=>!this.recentDeletes.has(n.id))}),t){let n=new Set(r.postedComments.map(a=>a.id)),o=t.postedComments.filter(a=>!n.has(a.id)&&a.isMine&&Date.now()-new Date(a.createdAt||0).getTime()<1e4);o.length>0&&(r={...r,postedComments:[...r.postedComments,...o].sort((a,i)=>new Date(a.createdAt||0).getTime()-new Date(i.createdAt||0).getTime())})}return r},cacheMany(e,t,r){this.prune();let n=Date.now(),o=n+xa;for(let[i,s]of this.recentDeletes)n-s>1e4&&this.recentDeletes.delete(i);let a=e.map(i=>{if(this.isLocked(i.reportHubId))return i;let s=this.lastMutations.get(i.reportHubId);if(s&&r>0&&s>r)return this.reports.get(i.reportHubId)?.data??i;let d=this.reports.get(i.reportHubId)?.data,m=this.merge(i,d);return this.set(m,o,!1),m});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},as=(e,t,r=!0)=>q.set(e,t,r),rt=(e,t)=>q.getReport(e,t?.ignoreExpiry),nt=(e,t)=>q.update(e,t),ro=(e,t)=>q.delete(e,t),Gr=()=>{q.clear(),eo.clear()},no=e=>{q.locks.set(e,Number.POSITIVE_INFINITY),q.lastMutations.set(e,Date.now())},oo=e=>{q.locks.delete(e),q.lastMutations.set(e,Date.now())},is=(e,t)=>{q.locks.set(e,performance.now()+t),q.lastMutations.set(e,Date.now()+t)},ss=e=>q.recentDeletes.set(e,Date.now()),ls=(e,t)=>{let r=n=>{n===e&&t()};return q.listeners.add(r),()=>{q.listeners.delete(r)}},or=(e,t)=>{q.prune(),q.set(t,Date.now()+xa)},ds=e=>{q.prune();let t=q.getReport(e.reportHubId,!0),r=new Map;for(let o of t?.postedComments??[])r.set(o.id,o.isMine??!1);let n=(e.postedComments??[]).map(o=>({...o,isMine:r.get(o.id)??!1}));q.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+xa)},Mu=to.z.object({report:xt}),Pu=to.z.object({reports:to.z.array(xt)}),cs=async(e,t,r)=>{if(!e.ok)throw new Error(`[daily-report] ${r} answered HTTP ${e.status}`);let n=t.safeParse(await e.json());if(!n.success)throw new Error(`[daily-report] ${r} answered a body that does not match its schema`);return n.data},ku=async(e,t)=>{let r=q.getReport(t);if(r)return r;let n=q.pendingReports.get(t);if(n)return n;let o=Date.now(),a=new URLSearchParams({[Ra.reportHubId]:String(t)}),i=fetch(`${e}/${Kt.report}?${a}`,{cache:"no-cache"}).then(s=>cs(s,Mu,Kt.report)).then(({report:s})=>q.cacheMany([s],null,o)[0]).finally(()=>q.pendingReports.delete(t));return q.pendingReports.set(t,i),i},eo=new Map,Hu=1e4,Fu=(e,t)=>{let r=eo.get(t),n=Date.now();if(r&&n-r.at<Hu)return r.inFlight;let o=Ca(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return eo.set(t,a),o.finally(()=>{eo.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},Ca=async(e,t,r={})=>{let n=r.forceRefresh?null:q.getList(t);if(n)return n;let o=q.pendingLists.get(t);if(o)return o;let a=Date.now(),i=new URLSearchParams({[Ra.businessDate]:t}),s=fetch(`${e}/${Kt.businessDate}?${i}`,{cache:"no-cache"}).then(d=>cs(d,Pu,Kt.businessDate)).then(({reports:d})=>q.cacheMany(d,t,a)).finally(()=>q.pendingLists.delete(t));return q.pendingLists.set(t,s),s},Ia=(e,t)=>{let r=q.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!q.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=q.lists.get(t),o=n?.data.find(a=>a.reportHubId===e);return n===void 0||o===void 0?{report:null,isStale:!1}:{report:o,isStale:!q.isValid(n.expiresAt)}},ts=(e,t)=>{if(e<=0)return{id:e,report:null,error:e===0?new Error("Invalid ID"):null,isLoading:!1,isRefetching:!1};let{report:r}=Ia(e,rr(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},vr=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,$t=(e,t)=>{let{apiBasePath:r}=V(),[n,o]=(0,Ct.useState)(()=>ts(e,t)),a=(0,Ct.useRef)(0),i=n;return n.id!==e&&(i=ts(e,t),o(i)),(0,Ct.useEffect)(()=>{let s=rr(t),d=m=>{m===e&&o(vr(e,{report:Ia(e,s).report}))};return q.listeners.add(d),()=>{q.listeners.delete(d)}},[e,t]),(0,Ct.useEffect)(()=>{let s=rr(t);a.current+=1;let d=a.current,m=()=>{a.current+=1};if(e<=0)return m;let{report:c,isStale:p}=Ia(e,s);if(c&&!p)return o(vr(e,{report:c,error:null,isLoading:!1,isRefetching:!1})),m;o(vr(e,{report:c,isLoading:!c,isRefetching:!0}));let b=async()=>{try{let f=null;if(s){let E=q.getList(s)!==null;if(f=(await Ca(r,s)).find(l=>l.reportHubId===e)??null,!f&&E){let l=await Fu(r,s);l&&(f=l.find(g=>g.reportHubId===e)??null)}}else f=await ku(r,e);a.current===d&&o(vr(e,{report:f,error:null}))}catch(f){a.current===d&&o(vr(e,{error:f instanceof Error?f:new Error("Load failed")}))}finally{a.current===d&&o(vr(e,{isLoading:!1,isRefetching:!1}))}};if(c===null)return b(),m;let S=setTimeout(b,Sr);return()=>{clearTimeout(S),m()}},[e,t,r]),{report:i.report,error:i.error,isLoading:i.isLoading,isRefetching:i.isRefetching}},ao=()=>{let{apiBasePath:e}=V();return(0,Ct.useCallback)(t=>{let r=rr(t);r&&!q.getList(r)&&Ca(e,r).catch(n=>ns.warn("Prefetch error",r,n))},[e])};var us=require("@aiquants/virtualscroll"),ms=require("react");var io=()=>{let{locale:e,labels:t}=V(),r=Ki(t),n=(0,ms.useRef)(null),o=n.current;return o!==null&&us.VIRTUAL_SCROLL_LABEL_KEYS.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};var co=require("react"),vs=require("react-dom");var bs=Object.freeze({visibilityProperty:!0}),ps=new Set(["auto","scroll"]),fs=new Set(["","true","plaintext-only"]),ys=e=>{for(let t=e;t!==null;){if(t.hasAttribute("inert"))return!0;let r=t.parentElement;if(r!==null){t=r;continue}let n=t.getRootNode();t=Ss(n)?n.host:null}return!1},Bu=e=>{let t=e.closest("map")?.getAttribute("name");if(t==null||t==="")return!1;let r=e.getRootNode();for(let n of r.querySelectorAll("img[usemap]"))if(n.getAttribute("usemap")===`#${t}`&&n.checkVisibility(bs))return!0;return!1},Rs=e=>e.localName==="area"?Bu(e):e.checkVisibility(bs),Uu=e=>{let t=e.getAttribute("contenteditable");if(t===null||!fs.has(t.toLowerCase()))return!1;for(let r=e.parentElement;r!==null;r=r.parentElement){let n=r.getAttribute("contenteditable");if(n===null)continue;let o=n.toLowerCase();if(fs.has(o))return!1;if(o==="false")return!0}return!0},Vu=e=>{if(e.checked||e.name==="")return!0;let t=e.getRootNode(),r=null;for(let n of t.querySelectorAll("input"))if(!(n.type!=="radio"||n.name!==e.name||n.form!==e.form)){if(n.checked)return!1;r===null&&!n.disabled&&Rs(n)&&(r=n)}return r===e},Wu=e=>{let t=e.ownerDocument;if(e===t.documentElement||e===t.body)return!1;let r=e.scrollWidth>e.clientWidth,n=e.scrollHeight>e.clientHeight;if(!(r||n))return!1;let o=t.defaultView;if(o===null)return!1;let a=o.getComputedStyle(e);return r&&ps.has(a.overflowX)||n&&ps.has(a.overflowY)},Ku=e=>{switch(e.localName){case"a":case"area":return e.hasAttribute("href");case"button":case"select":case"textarea":case"iframe":case"embed":return!0;case"input":return e.type!=="hidden";case"summary":return e.parentElement?.localName==="details"&&e.parentElement.querySelector(":scope > summary")===e;case"audio":case"video":return e.hasAttribute("controls");case"object":{let t=e.contentWindow;return typeof t=="object"&&t!==null}default:return Uu(e)}},zu=/^[\t\n\f\r ]*[+-]?\d/,$u=e=>{let t=e.getAttribute("tabindex");return t!==null&&zu.test(t)?e.tabIndex:null},gs=(e,t)=>{for(let r of Da(e))if(t(r)||gs(r,t))return!0;return!1},so=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=ju(e,t);return t.set(e,n),n},ju=(e,t)=>{if(!_a(e))return"none";let r=$u(e),n=r===null&&Ku(e),o=r===null&&!n&&Wu(e);return!(r!==null||n||o)||e.matches(":disabled")||ys(e)||!Rs(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?Vu(e)?"sequential":"programmatic":"sequential":gs(e,a=>so(a,t)==="sequential")?"none":"sequential"},Aa=(e,t)=>{for(let r of Da(e))t(r),Aa(r,t)},Da=e=>{if(De(e)){let t=e;if(t.shadowRoot!==null)return t.shadowRoot.children;if(t.localName==="slot"){let r=t.assignedElements();if(r.length>0)return r}}return e.children};var lo=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return Aa(e,d=>{so(d,a)==="sequential"&&n.push(d)}),{before:r,within:n,after:o};let i=!1,s=(d,m)=>{for(let c of Da(d)){let p=c===t;!p&&so(c,a)==="sequential"&&(m?n.push(c):i?o.push(c):r.push(c)),s(c,m||p),p&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},hs=e=>{let t=[],r=new Map;return Aa(e,n=>{so(n,r)==="sequential"&&t.push(n)}),t},De=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,_a=e=>"focus"in e&&"blur"in e,Gu=e=>e.nodeType===e.DOCUMENT_NODE,Ss=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,ze=e=>{let t=e.getRootNode();if(Ss(t)){let r=t.activeElement;return r===null?ze(t.host):r}return Gu(t)?t.activeElement:null},Yr=e=>{let t=ze(e);return t===null||t===t.ownerDocument.body||ys(t)},Ue=e=>{let t=e.ownerDocument.defaultView;if(t===null)throw new Error("[daily-report] the element belongs to a document without a window");return t};var uo=e=>{let[t,r]=(0,co.useState)(null);return(0,co.useLayoutEffect)(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] useViewBoxHeight needs viewRef attached to the view's root");let o=null,a=d=>{if(d===o)return;let m=o===null;o=d,m?(0,vs.flushSync)(()=>r(d)):r(d)},i=d=>{for(let m of d)a(m.borderBoxSize[0].blockSize)},s=new(Ue(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var Es=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,Se=(e,t,r)=>{if(r!==null&&Number.isInteger(r)&&r>=0&&r<e.length){if(e[r].reportHubId===t)return r;for(let n=1;n<=16;n++){let o=r+n;if(o<e.length&&e[o].reportHubId===t)return o;let a=r-n;if(a>=0&&e[a].reportHubId===t)return a}}return e.findIndex(n=>n.reportHubId===t)};var mo="data-daily-report-row",Ts=`[role="listitem"][${mo}]`,Yu='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',qu=/^[1-9]\d*$/,Is=e=>{if(e===null||!qu.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},jt=(e,t)=>{if(t===null||!De(e))return null;let r=e.closest(Ts);return r===null||r===t||!t.contains(r)?null:r},ar=e=>Is(e.getAttribute(mo)),Er=e=>Is(e.getAttribute("aria-posinset")),xs=e=>{let t=e.closest(Ts),r=t===null?null:Er(t);return r===null?null:r-1},qr=(e,t)=>{if(e===null)return null;let r=ar(e);if(r===null)return null;let n=Er(e),o=Se(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},Cs=(e,t)=>{if(!De(e))return!1;let r=e.closest(Yu);return r!==null&&r!==t&&t.contains(r)};var La=require("react"),At=(0,La.createContext)(0),Xr=-1,As=(e,t)=>t.phase==="complete"?e:t.totalCount===null?Xr:Math.max(e,t.totalCount),Dt=(0,La.createContext)(-1);var Ds=require("clsx"),_s=require("tailwind-merge");function R(...e){return(0,_s.twMerge)((0,Ds.clsx)(e))}var ir=require("react");var Ls="(prefers-reduced-motion: reduce)",ws=e=>Ue(e).matchMedia(Ls).matches?"instant":"smooth",Xu=Object.freeze({...Ta,startVelocityThreshold:Number.POSITIVE_INFINITY}),Tr=e=>e?Xu:Ta,Zu=()=>!1,Ir=e=>{let t=(0,ir.useMemo)(()=>e===null?null:Ue(e).matchMedia(Ls),[e]),r=(0,ir.useCallback)(o=>t===null?()=>{}:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=(0,ir.useCallback)(()=>t===null?!1:t.matches,[t]);return(0,ir.useSyncExternalStore)(r,n,Zu)};var Os=require("react");var po=require("react/jsx-runtime"),fo=()=>{let e={label:"",isWheelScrollActive:!1},t=new Set,r=n=>{e=n;for(let o of[...t])o()};return{getState:()=>e,setLabel:n=>{n!==e.label&&r({...e,label:n})},setWheelScrollActive:n=>{n!==e.isWheelScrollActive&&r({...e,isWheelScrollActive:n})},subscribe:n=>(t.add(n),()=>{t.delete(n)})}},Ns=16,Ju=(e,t)=>e==="vertical"?{top:0,left:-Ns,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-Ns,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},bo=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=(0,Os.useSyncExternalStore)(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?(0,po.jsx)("div",{className:"pointer-events-none absolute flex items-center",style:Ju(e,t),children:(0,po.jsx)("div",{className:R(Ri,"border-slate-200 bg-white text-slate-700 text-xs shadow-md shadow-slate-400/30 dark:border-slate-700 dark:bg-slate-900/90 dark:text-slate-100"),children:(0,po.jsx)("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};var pe=require("react");var te=require("react");var ce=require("zod");var Ps=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var Xe=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),Na=e=>{let t=new FormData;if(t.append(Xe.intent,e.intent),e.intent==="clearCache"||(t.append(Xe.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(Xe.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(Xe.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(Xe.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(Xe.title,e.changes.title),e.changes.content!==void 0&&t.append(Xe.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(Xe.isStarred,String(e.value)),t;case"toggleRead":return t.append(Xe.isRead,String(e.value)),t;case"addComment":return t.append(Xe.content,e.content),t;case"deleteComment":return t.append(Xe.commentId,String(e.commentId)),t}},Ms=/^[1-9][0-9]*$/,Qu=()=>{let e=ce.z.string().regex(Ms),t=ce.z.string().regex(Bn),r=ce.z.literal("OK"),n=ce.z.object({isStarred:ce.z.boolean(),isRead:ce.z.boolean()}),o=ce.z.number().int().nonnegative().nullable();return{create:ce.z.object({status:r,intent:ce.z.literal("create"),reportHubId:e,clientTempId:t,report:xt}),update:ce.z.object({status:r,intent:ce.z.literal("update"),reportHubId:e,clientTempId:t}),publish:ce.z.object({status:r,intent:ce.z.literal("publish"),reportHubId:e,clientTempId:t,report:xt.nullable()}),delete:ce.z.object({status:r,intent:ce.z.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:ce.z.object({status:r,intent:ce.z.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:ce.z.object({status:r,intent:ce.z.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:ce.z.object({status:r,intent:ce.z.literal("addComment"),reportHubId:e,clientTempId:t,newComment:Vn}),deleteComment:ce.z.object({status:r,intent:ce.z.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:ce.z.string().regex(Ms)}),clearCache:ce.z.object({status:r,intent:ce.z.literal("clearCache")})}},wa=null,em=()=>(wa===null&&(wa=Qu()),wa),ks=(e,t)=>{let r=em()[e].safeParse(t);return r.success?r.data:null};var tn=require("@aiquants/sse"),el=require("@aiquants/sse/client"),tl=require("@aiquants/sse/react"),yt=require("react");var bt=require("react");var Zr=()=>{let e=new Map,t=new Map,r=new Map,n=i=>{let s=r.get(i.reportHubId);if(s===void 0){e.set(i.reportHubId,i);return}r.delete(i.reportHubId),t.set(i.reportHubId,{previous:s,next:i})},o=(i,s)=>{if(e.has(s.reportHubId)){e.set(s.reportHubId,s);return}let d=t.get(s.reportHubId);t.set(s.reportHubId,{previous:d===void 0?i:d.previous,next:s})},a=i=>{if(e.delete(i.reportHubId))return;let s=t.get(i.reportHubId);s!==void 0&&t.delete(i.reportHubId),r.set(i.reportHubId,s===void 0?i:s.previous)};return{add:n,change:o,remove:a,fold:i=>{for(let s of i.removed)a(s);for(let{previous:s,next:d}of i.replaced)o(s,d);for(let s of i.appended)n(s)},isEmpty:()=>e.size===0&&t.size===0&&r.size===0,build:(i,s)=>({base:i,revision:s,appended:[...e.values()],replaced:[...t.values()],removed:[...r.values()]})}},Hs=(e,t)=>{let r=e.findIndex(n=>n.base===t);if(r===-1)return null;for(let n=r+1;n<e.length;n++)if(e[n].base!==e[n-1].revision)return null;return e.slice(r)};var Fs=()=>{let e=new TextDecoder,t=[],r=n=>{let o=[],a=0;for(let i=n.indexOf(`
2
2
  `);i!==-1;i=n.indexOf(`
3
- `,a)){let s=n.slice(a,i);o.push(t.length===0?s:[...t,s].join("")),t=[],a=i+1}return a<n.length&&t.push(n.slice(a)),o};return{push:n=>r(e.decode(n,{stream:!0})),end:()=>{let n=r(e.decode()),o=t.join("");return t=[],o===""?n:[...n,o]}}};var gu=50,hu=32,bs=0,Su=()=>(bs+=1,bs),vu=1e3,Eu=3e4,Tu=6,xu=3e4,ro=Symbol("read-stall"),Iu="/daily_report/api",Sr=class{constructor(t={}){this.itemMap=new Map;this.listeners=new Set;this.state={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null};this.streamAnchorRevision=0;this.lastCursor=null;this.lastSnapshot=null;this.consecutiveFailures=0;this.started=!1;this.disposed=!1;this.loopGeneration=0;this.activeAbortController=null;this.activeSeenIds=null;this.externalRemovalTombstones=new Set;this.pendingForceRefresh=!1;this.wakeRetryWait=null;this.handleOnline=()=>this.wakeRetryWait?.();this.publishCoalesceTimer=null;this.lastItemsPublishAt=Number.NEGATIVE_INFINITY;this.pendingItemsChange=jr();this.apiBasePath=t.apiBasePath??Iu,this.fetchFn=t.fetchFn??((r,n)=>fetch(r,n)),this.setTimeoutFn=t.setTimeoutFn??((r,n)=>setTimeout(r,n)),this.clearTimeoutFn=t.clearTimeoutFn??(r=>clearTimeout(r)),this.warn=t.warn??((...r)=>console.warn(...r)),this.readStallTimeoutMs=t.readStallTimeoutMs??xu,this.publishCoalesceMs=t.publishCoalesceMs??gu,this.now=t.now??(()=>performance.now()),typeof window<"u"&&window.addEventListener("online",this.handleOnline)}getState(){return this.state}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}start(){this.started||this.disposed||(this.started=!0,this.runStreamLoop({revalidate:!1,forceRefresh:!1}))}retry(){this.disposed||this.state.phase!=="failed"||(this.consecutiveFailures=0,this.runStreamLoop({revalidate:this.state.hasCompletedOnce,forceRefresh:!1}))}refresh(t={}){if(!this.disposed){if(this.state.phase==="failed"){this.consecutiveFailures=0,this.runStreamLoop({revalidate:this.state.hasCompletedOnce,forceRefresh:t.forceRefresh??!1});return}if(this.state.phase==="complete"){if(this.state.isRevalidating){t.forceRefresh&&(this.pendingForceRefresh=!0);return}this.lastCursor=null,this.consecutiveFailures=0,this.runStreamLoop({revalidate:!0,forceRefresh:t.forceRefresh??!1})}}}resync(){if(!this.disposed){if(this.state.phase==="streaming"||this.state.phase==="retrying"){this.pendingForceRefresh=!0;return}this.refresh({forceRefresh:!0})}}applyExternalUpsert(t){if(this.disposed||!t||typeof t.reportHubId!="number")return;this.externalRemovalTombstones.delete(t.reportHubId),this.activeSeenIds?.add(t.reportHubId);let r=this.itemMap.get(t.reportHubId),n={reportHubId:t.reportHubId,businessDate:t.businessDate,sourceType:t.sourceType??r?.sourceType};this.putItem(r,n)&&this.schedulePublishItems()}applyExternalRemoval(t){this.disposed||(this.activeSeenIds?.delete(t),this.externalRemovalTombstones.add(t),this.deleteItem(t)&&this.schedulePublishItems())}has(t){return this.itemMap.has(t)}readItems(){let t=Array.from(this.itemMap.values());if(this.pendingItemsChange.isEmpty())return t;let{appended:r,replaced:n,removed:o}=this.pendingItemsChange.build(this.state.itemsRevision,this.state.itemsRevision),a=new Set(r.map(d=>d.reportHubId)),i=new Map(n.map(({previous:d})=>[d.reportHubId,d])),s=[];for(let d of t){if(a.has(d.reportHubId))continue;let m=i.get(d.reportHubId);s.push(m===void 0?d:m)}for(let d of o)s.push(d);return s}dispose(){this.disposed=!0,this.loopGeneration+=1,this.activeAbortController?.abort(),this.cancelScheduledPublishItems(),this.wakeRetryWait?.(),typeof window<"u"&&window.removeEventListener("online",this.handleOnline),this.listeners.clear()}async runStreamLoop(t){let r=++this.loopGeneration;for(this.activeAbortController?.abort(),this.wakeRetryWait?.(),this.lastCursor===null&&(this.activeSeenIds=new Set,this.externalRemovalTombstones.clear(),this.lastSnapshot=null),t.forceRefresh&&(this.pendingForceRefresh=!1),this.publish({phase:t.revalidate?this.state.phase:"streaming",isRevalidating:t.revalidate,error:null});!this.disposed&&r===this.loopGeneration;){let n=await this.streamOnce(t.forceRefresh);if(this.disposed||r!==this.loopGeneration)return;if(n.kind==="complete"){this.pruneUnseenItems(),this.consecutiveFailures=0,this.cancelScheduledPublishItems();let o=this.takePendingItems();this.publish({phase:"complete",isRevalidating:!1,hasCompletedOnce:!0,completedAt:Date.now(),error:null,...o}),this.pendingForceRefresh&&!this.disposed&&(this.pendingForceRefresh=!1,this.lastCursor=null,this.runStreamLoop({revalidate:!0,forceRefresh:!0}));return}if(n.kind==="aborted")return;if(n.kind==="auth-required"){this.publish({phase:"auth-required",isRevalidating:!1});return}if(this.consecutiveFailures+=1,this.consecutiveFailures>=Tu){t.revalidate&&this.state.hasCompletedOnce?(this.warn("[DailyReportIdsStream] revalidation gave up:",n.error.message),this.pendingForceRefresh=!1,this.publish({isRevalidating:!1,error:n.error})):this.publish({phase:"failed",isRevalidating:!1,error:n.error});return}this.publish({phase:t.revalidate?this.state.phase:"retrying",error:n.error}),await this.waitBeforeRetry(Math.min(vu*2**(this.consecutiveFailures-1),Eu))}}pruneUnseenItems(){let t=this.activeSeenIds;if(this.activeSeenIds=null,!!t)for(let r of Array.from(this.itemMap.keys()))t.has(r)||this.deleteItem(r)}async streamOnce(t){let r=new AbortController;this.activeAbortController=r;try{let n=this.fetchFn(this.buildStreamUrl(t),{signal:r.signal,headers:{Accept:"application/x-ndjson"},cache:"no-store"}),o=null,a=this.readStallTimeoutMs<=0?await n:await Promise.race([n,new Promise(u=>{o=this.setTimeoutFn(()=>u(ro),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===ro)return r.abort(),n.catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no response headers within timeout")};if(a.status===401||a.status===403)return{kind:"auth-required"};if(!(a.ok&&a.body))return{kind:"retryable",error:new Error(`ids stream HTTP ${a.status}`)};let i=a.body.getReader(),s=fs(),d=!1,m=!1;for(;;){let u=await this.readWithStallGuard(i);if(u===ro)return r.abort(),i.cancel().catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let p=u.done?s.end():s.push(u.value),y=!1;for(let v of p){if(v.trim()==="")continue;let f;try{f=JSON.parse(v)}catch{this.warn("[DailyReportIdsStream] skipped malformed line");continue}let D=ms(f);if(D==="unknown"){this.warn("[DailyReportIdsStream] skipped line of unknown kind");continue}if(D==="error"){d=!0;continue}let S=f;y=this.absorbChunkLine(S)||y,typeof S.total=="number"&&Number.isFinite(S.total)&&S.total!==this.state.totalCount&&this.publish({totalCount:S.total}),S.nextCursor&&(S.nextCursor.businessDate===null||pi(S.nextCursor.businessDate))&&(this.lastCursor=S.nextCursor),S.isLast&&(m=!0)}if(y&&(this.consecutiveFailures=0,this.schedulePublishItems()),u.done)break}return d?{kind:"retryable",error:new Error("Stream interrupted by server error")}:m?{kind:"complete"}:{kind:"retryable",error:new Error("Stream ended before completion")}}catch(n){return n instanceof Error&&n.name==="AbortError"?{kind:"aborted"}:{kind:"retryable",error:n instanceof Error?n:new Error(String(n))}}finally{this.activeAbortController===r&&(this.activeAbortController=null)}}async readWithStallGuard(t){if(this.readStallTimeoutMs<=0)return t.read();let r=null,n=new Promise(o=>{r=this.setTimeoutFn(()=>o(ro),this.readStallTimeoutMs)});try{return await Promise.race([t.read(),n])}finally{r!==null&&this.clearTimeoutFn(r)}}absorbChunkLine(t){t.restarted===!0&&(this.lastCursor=null,this.lastSnapshot=null,this.activeSeenIds=new Set,this.externalRemovalTombstones.clear()),typeof t.snapshot=="string"&&(this.lastSnapshot=t.snapshot),t.streamAnchor!==void 0&&this.absorbStreamAnchor(t.streamAnchor);let r=t.provisional===!0,n=!1;for(let o of t.items)!o||typeof o.reportHubId!="number"||this.externalRemovalTombstones.has(o.reportHubId)||(r||this.activeSeenIds?.add(o.reportHubId),n=this.putItem(this.itemMap.get(o.reportHubId),o)||n);return n}putItem(t,r){return t===void 0?(this.itemMap.set(r.reportHubId,r),this.pendingItemsChange.add(r),!0):t.businessDate===r.businessDate&&t.sourceType===r.sourceType?!1:(this.itemMap.set(r.reportHubId,r),this.pendingItemsChange.change(t,r),!0)}deleteItem(t){let r=this.itemMap.get(t);return r===void 0?!1:(this.itemMap.delete(t),this.pendingItemsChange.remove(r),!0)}absorbStreamAnchor(t){if(t!==null&&!(typeof t=="string"&&to(t))){this.warn(`[DailyReportIdsStream] ids stream carried a malformed streamAnchor: ${String(t)}`);return}this.streamAnchorRevision+=1,this.publish({streamAnchor:{lastEventId:t,revision:this.streamAnchorRevision}})}takePendingItems(){if(this.pendingItemsChange.isEmpty())return{};this.lastItemsPublishAt=this.now();let t=Su(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange=jr(),{loadedCount:this.itemMap.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-hu),r]}}publishItems(){let t=this.takePendingItems();t.itemsRevision!==void 0&&this.publish(t)}schedulePublishItems(){if(this.publishCoalesceMs<=0){this.publishItems();return}let t=this.now()-this.lastItemsPublishAt;if(t>=this.publishCoalesceMs){this.publishItems();return}this.publishCoalesceTimer===null&&(this.publishCoalesceTimer=this.setTimeoutFn(()=>{this.publishCoalesceTimer=null,this.publishItems()},this.publishCoalesceMs-t))}cancelScheduledPublishItems(){this.publishCoalesceTimer!==null&&(this.clearTimeoutFn(this.publishCoalesceTimer),this.publishCoalesceTimer=null)}publish(t){this.state={...this.state,...t};for(let r of this.listeners)r()}buildStreamUrl(t){let r=new URLSearchParams;this.lastCursor&&(r.set("cursor_report_hub_id",String(this.lastCursor.reportHubId)),this.lastCursor.businessDate!==null&&r.set("cursor_business_date",this.lastCursor.businessDate),this.lastSnapshot!==null&&r.set("cursor_snapshot",this.lastSnapshot)),t&&r.set("forceRefresh","true");let n=r.toString();return`${this.apiBasePath}/${us}${n?`?${n}`:""}`}waitBeforeRetry(t){return new Promise(r=>{let n=null,o=()=>{n!==null&&(this.clearTimeoutFn(n),n=null),this.wakeRetryWait===o&&(this.wakeRetryWait=null),r()};this.wakeRetryWait=o,n=this.setTimeoutFn(o,t)})}};var pa={},Cu=6e4,ae=null,ys=!1,fa=new Set,gs={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},ba=()=>{for(let e of fa)e()},ya=()=>{ae&&(ae.unsubscribe(),ae.client.dispose(),ae=null,ba())},vr=e=>{if(typeof window>"u")return;let t=e.apiBasePath??fr.apiBasePath;if(ae&&(ae.userKey!==e.userKey||ae.apiBasePath!==t)&&(ae.userKey!==e.userKey&&Vr(),ya()),!ae){let r=new Sr({apiBasePath:t});ae={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(ba)},Du(),r.start(),ba();return}no(ae)},no=e=>{let t=e.client.getState();if(t.phase==="failed"){e.client.retry();return}t.phase==="complete"&&!t.isRevalidating&&t.completedAt!==null&&Date.now()-t.completedAt>Cu&&e.client.refresh()},Du=()=>{if(ys||typeof document>"u"||typeof window>"u")return;ys=!0;let e=()=>{ae&&no(ae)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},oo=e=>{if(!(typeof window>"u")){if(!ae){vr(e);return}if(ae.userKey!==e.userKey){Vr(),ya(),vr(e);return}no(ae)}},ao=()=>{typeof window>"u"||!ae||no(ae)},Yr=e=>{ae?.client.applyExternalUpsert(e)},io=e=>{ae?.client.applyExternalRemoval(e)},hs=e=>ae===null?!1:ae.client.has(e),Ss=()=>ae===null?[]:ae.client.readItems(),Ra=()=>ae===null?0:ae.client.getState().itemsRevision,so=()=>{ae?.client.retry()},qr=()=>{ae?.client.resync()},ga=(e={})=>{ae?.client.refresh(e)},vs=()=>ae?.userKey,Au=e=>(fa.add(e),()=>fa.delete(e)),Lu=()=>ae?.client.getState()??gs,_u=()=>gs,nt=()=>(0,Rs.useSyncExternalStore)(Au,Lu,_u);typeof pa<"u"&&pa.hot&&pa.hot.dispose(()=>{ya()});var rr=ur(1,"daily-report-sse-connection"),wu=Object.freeze({kind:"resyncing"}),Es={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},Nu=1,Is=da*3,Ou=Is+da,lo=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=U(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=nt(),[d,m]=(0,pt.useState)({generation:0,minAnchorRevision:1,anchored:!1}),u=d.generation>0&&!d.anchored,p=u&&a==="complete"&&!i?s:null,y=(0,pt.useRef)(0),v=(0,pt.useRef)(null),f=(0,pt.useRef)(n);f.current=n;let D=(0,pt.useRef)(0);D.current=o===null?0:o.revision,(0,pt.useEffect)(()=>{d.anchored||o===null||o.revision<d.minAnchorRevision||(v.current=o.lastEventId,y.current=0,m({...d,anchored:!0}))},[d,o]),(0,pt.useEffect)(()=>{if(!e||p===null)return;let{initialDelayMs:l,maxDelayMs:g,multiplier:T}=Es,x=Xr.systemSseRuntime.random()*Math.min(g,l*T**y.current);rr.warn(`SSE resync: the ids rescan gave up (${p.message}); rescanning in ${Math.round(x)} ms`);let P=Xr.systemSseRuntime.setTimer(()=>{y.current+=1,qr()},x);return()=>Xr.systemSseRuntime.clearTimer(P)},[e,p]);let{status:S}=(0,xs.useReopeningEventSource)(e&&d.anchored?`${r}#${d.generation}`:null,{resolveUrl:({lastEventId:l})=>l===null?r:`${r}?${ls}=${encodeURIComponent(l)}`,initialLastEventId:v.current,withCredentials:!1,createEventSource:Ts.createBrowserEventSource,runtime:Xr.systemSseRuntime,backoff:Es,healthyOpenMs:Ou,nativeRetryLimit:Nu,giveUpAfterFailures:"never",terminalEvents:ss,heartbeat:{staleAfterMs:Is,onHeartbeat:null},events:{message:l=>{l.lastEventId!==""&&(to(l.lastEventId)?v.current=l.lastEventId:rr.warn("SSE event carried a malformed id; keeping the previous cursor:",l.lastEventId));try{let g=JSON.parse(l.data),T=cs.safeParse(g);if(!T.success){rr.error("SSE Validation Error:",T.error.flatten(),"raw message:",g);return}if(T.data.type==="connected"){rr.info("SSE Subscribe Ready");return}t(T.data)}catch(g){rr.error("SSE Parse Error",g)}}}});return(0,pt.useEffect)(()=>{if(S.kind==="faulted"){rr.error("SSE connection faulted:",S.error);return}if(S.kind==="terminated")switch(S.terminalEvent){case"auth-required":f.current();return;case"forbidden":rr.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let l=D.current+1;m(g=>({generation:g.generation+1,minAnchorRevision:l,anchored:!1})),qr();return}}},[S]),e&&u?wu:S};var Dt=require("react"),Cs=()=>{let e=new Map,t=new Map,r=(n,o)=>{o===null?e.delete(n):e.set(n,o);let a=t.get(n);if(a!==void 0)for(let i of[...a])i()};return{modeOf:n=>{let o=e.get(n);return o===void 0?"display":o.mode},inputOf:n=>{let o=e.get(n);return o===void 0||o.mode==="dismissed"?null:o.input},subscribe:(n,o)=>{let a=t.get(n),i=a===void 0?new Set:a;return a===void 0&&t.set(n,i),i.add(o),()=>{i.delete(o),i.size===0&&t.get(n)===i&&t.delete(n)}},open:(n,o,a)=>{let i=e.get(n);i!==void 0&&i.mode!=="dismissed"||r(n,{mode:a?"automatic":"editing",input:o})},setInput:(n,o)=>{let a=e.get(n);a===void 0||a.mode==="dismissed"||r(n,{mode:a.mode,input:{...a.input,...o}})},dismiss:n=>{e.get(n)?.mode!=="dismissed"&&r(n,{mode:"dismissed"})},discard:n=>{e.has(n)&&r(n,null)}}},ha=(0,Dt.createContext)(null),Kt=()=>{let e=(0,Dt.useContext)(ha);if(e===null)throw new Error("[daily-report] the draft store is read outside a DailyReportActionProvider");return e},Ds=(e,t)=>(0,Dt.useCallback)(r=>e.subscribe(t,r),[e,t]),co=e=>{let t=Kt(),r=()=>t.modeOf(e);return(0,Dt.useSyncExternalStore)(Ds(t,e),r,r)},As=e=>{let t=Kt(),r=()=>t.inputOf(e),n=(0,Dt.useSyncExternalStore)(Ds(t,e),r,r);if(n===null)throw new Error(`[daily-report] the edit form is rendered for report ${e}, whose editor is not open`);return n};var Me=require("react");var Er=require("react/jsx-runtime"),Mu=8e3,Pu="fixed inset-x-0 bottom-4 z-[100] mx-auto flex w-fit max-w-[92vw] items-center gap-2 rounded-lg border border-red-300 border-solid bg-red-600 px-[15px] py-[7px] text-sm text-white shadow-lg motion-safe:fade-in motion-safe:slide-in-from-bottom-2 motion-safe:animate-in motion-safe:duration-200 dark:border-red-500/60 dark:bg-red-700",ku=R("flex size-6 shrink-0 items-center justify-center rounded font-bold text-white/90 hover:bg-red-700 hover:text-white dark:hover:bg-red-800",Ya),Ls=(0,Me.createContext)({notifyError:()=>{}}),_s=()=>(0,Me.useContext)(Ls),uo=({children:e})=>{let{onError:t,labels:r}=U(),[n,o]=(0,Me.useState)(null),a=(0,Me.useRef)(t);a.current=t;let i=(0,Me.useRef)(null),s=(0,Me.useCallback)(u=>{let p=a.current;if(p){p(u);return}o(u)},[]),d=(0,Me.useCallback)(()=>{i.current!==null&&(clearTimeout(i.current),i.current=null),o(null)},[]);(0,Me.useEffect)(()=>{if(n)return i.current=setTimeout(()=>o(null),Mu),()=>{i.current!==null&&(clearTimeout(i.current),i.current=null)}},[n]);let m=(0,Me.useMemo)(()=>({notifyError:s}),[s]);return(0,Er.jsxs)(Ls.Provider,{value:m,children:[e,n&&(0,Er.jsxs)("div",{role:"alert","data-testid":"daily-report-error-banner",className:Pu,children:[(0,Er.jsx)("span",{className:"font-medium",children:n.message}),(0,Er.jsx)("button",{type:"button","aria-label":r.close,onClick:d,className:ku,children:"\u2715"})]})]})};var Ns=require("react");var Hu={items:[],held:new Map,revision:null,settled:!1},ws=(e,t)=>{let r=0,n=e.length;for(;r<n;){let o=r+n>>1;tr(e[o],t)<0?r=o+1:n=o}return r<e.length&&e[r].reportHubId===t.reportHubId?r:-1},Os=(e,t,r)=>{let n=r,o=e.length;for(;n<o;){let a=n+o>>1;tr(e[a],t)<=0?n=a+1:o=a}return n},Fu=(e,t)=>e.businessDate===t.businessDate,Bu=(e,t)=>{if(ma(t)||t.sort(tr),e.length===0||tr(e[e.length-1],t[0])<0)return e.concat(t);let r=[],n=0;for(let o of t){let a=Os(e,o,n);a>n&&r.push(e.slice(n,a)),r.push([o]),n=a}return n<e.length&&r.push(e.slice(n)),r.flat()},Ms=e=>{let{revision:t}=e;if(!e.settled||t===null)return e;let r=[...e.held.values()].filter(a=>a.item.reportHubId>0&&t>a.since).map(a=>a.item.reportHubId);if(r.length===0)return e;let n=new Set(r),o=new Map(e.held);for(let a of n)o.delete(a);return{...e,items:e.items.filter(a=>!n.has(a.reportHubId)),held:o}},Ps=(e,t,r,n)=>{let o=new Set,a=[];for(let s of t.readItems())o.add(s.reportHubId),n.has(s.reportHubId)||a.push(s);let i=new Map;for(let s of e.items){if(o.has(s.reportHubId)||n.has(s.reportHubId))continue;let d=e.held.get(s.reportHubId);i.set(s.reportHubId,d===void 0?{item:s,since:Number.NEGATIVE_INFINITY}:d),a.push(s)}return ma(a)||a.sort(tr),Ms({items:a,held:i,revision:t.itemsRevision,settled:r})},Uu=(e,t,r,n)=>{let o=e.revision;if(o===t.itemsRevision&&e.settled===r)return e;let a=o===null?null:o===t.itemsRevision?[]:ps(t.itemsChanges,o);if(o===null||a===null)return Ps(e,t,r,n);let i=jr();for(let l of a)i.fold(l);let{appended:s,replaced:d,removed:m}=i.build(o,t.itemsRevision),u=null,p=()=>(u===null&&(u=new Map(e.held)),u),y=[],v=new Set,f=[];for(let l of m)e.held.has(l.reportHubId)||ws(e.items,l)===-1||(r||n.has(l.reportHubId)?v.add(l.reportHubId):p().set(l.reportHubId,{item:l,since:Number.NEGATIVE_INFINITY}));let D=(l,g)=>{let T=l.reportHubId,x=e.held.get(T);x!==void 0&&p().delete(T);let P=x===void 0?g:x.item,M=P===void 0?-1:ws(e.items,P);if(n.has(T)){M!==-1&&v.add(T);return}if(M!==-1&&Fu(e.items[M],l)){e.items[M].sourceType!==l.sourceType&&y.push({index:M,item:l});return}M!==-1&&v.add(T),f.push(l)};for(let{previous:l,next:g}of d)D(g,l);for(let l of s)D(l,void 0);let S=e.items;if(y.length>0){S=S.slice();for(let{index:l,item:g}of y)S[l]=g}return v.size>0&&(S=S.filter(l=>!v.has(l.reportHubId))),f.length>0&&(S=Bu(S,f)),Ms({items:S,held:u===null?e.held:u,revision:t.itemsRevision,settled:r})},ks=(e,t,r)=>{let[n,o]=(0,Ns.useState)(()=>Ps(Hu,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>Uu(a,e,t,r)),[n,o]},mo=(e,t,r)=>{if(e.items.some(a=>a.reportHubId===t.reportHubId))return e;let n=e.items.slice();n.splice(Os(n,t,0),0,t);let o=new Map(e.held);return o.set(t.reportHubId,{item:t,since:r}),{...e,items:n,held:o}},Zr=(e,t)=>{if(!e.held.has(t))return e;let r=new Map(e.held);return r.delete(t),{...e,items:e.items.filter(n=>n.reportHubId!==t),held:r}},Hs=(e,t)=>{if(!e.items.some(n=>n.reportHubId===t))return e;let r=new Map(e.held);return r.delete(t),{...e,items:e.items.filter(n=>n.reportHubId!==t),held:r}},Fs=e=>({...e,revision:null});var po=require("react/jsx-runtime"),ht=ur(1,"daily-report-action-context"),bo=globalThis.__DailyReportActionsContext??(0,ne.createContext)(null);globalThis.__DailyReportActionsContext=bo;var yo=globalThis.__DailyReportActionStateContext??(0,ne.createContext)(null);globalThis.__DailyReportActionStateContext=yo;var fo=(e,t)=>{let r=(0,ne.useContext)(e);if(r===null)throw new Error(`[daily-report] ${t} must be used within a DailyReportActionProvider`);return r},Pe=()=>fo(bo,"useDailyReportActions"),Ro=()=>fo(yo,"useDailyReportActionState"),Bs=()=>{let e=fo(bo,"useDailyReportActionContext"),t=fo(yo,"useDailyReportActionContext");return(0,ne.useMemo)(()=>({...e,...t}),[e,t])},nr=(e,t)=>{if(!e)return t;if(e.displayName?.trim())return e.displayName;if(e.name){let n=[e.name.familyName,e.name.givenName].filter(o=>typeof o=="string"&&o!=="").join(" ");if(n.trim())return n.trim()}let r=e.emails?.[0]?.value;return r||t},Vu=()=>({pendingAddCommentIds:{current:new Map},pendingDeleteCommentIds:{current:new Map},pendingStarUpdates:{current:new Map},pendingReadUpdates:{current:new Map},resolvedIdMap:{current:new Map}}),Wu=e=>({functions:{toggleSse:()=>e.current.toggleSse(),addComment:(t,r,n)=>e.current.addComment(t,r,n),deleteComment:(t,r,n)=>e.current.deleteComment(t,r,n),toggleStar:(t,r,n)=>e.current.toggleStar(t,r,n),toggleRead:(t,r,n)=>e.current.toggleRead(t,r,n),createReport:t=>e.current.createReport(t),updateReport:(t,r,n)=>e.current.updateReport(t,r,n),publishReport:(t,r)=>e.current.publishReport(t,r),deleteReport:(t,r)=>e.current.deleteReport(t,r),removeStaleItem:t=>e.current.removeStaleItem(t),refetchData:()=>e.current.refetchData(),clearCacheAndRefetch:()=>e.current.clearCacheAndRefetch()},onSseMessage:t=>e.current.handleSseMessage(t)}),go=({children:e,user:t,userId:r})=>{let{apiBasePath:n,draftLabelName:o,labels:a}=U(),{notifyError:i}=_s(),[s]=(0,ne.useState)(Vu),{pendingAddCommentIds:d,pendingDeleteCommentIds:m,pendingStarUpdates:u,pendingReadUpdates:p,resolvedIdMap:y}=s,[v,f]=(0,ne.useState)(0),[D]=(0,ne.useState)(Cs),[S,l]=(0,ne.useState)(!1),g=(0,ne.useRef)(!1),T=(0,ne.useRef)(new Map),x=(0,ne.useRef)(new Set),P=(0,ne.useRef)(new Set),M=nt(),$=M.phase==="complete"&&!M.isRevalidating,[B,F]=ks({itemsRevision:M.itemsRevision,itemsChanges:M.itemsChanges,readItems:Ss},$,x.current),J=B.items,V=(0,ne.useCallback)(()=>vs()===(r??null),[r]),le=async()=>{ht.info("[DailyReportActionProvider] Refetching data without page reload..."),ga(),f(c=>c+1),X.listeners.forEach(c=>{c(-1)})},K=async()=>{ht.info("[DailyReportActionProvider] Clearing client & server/DB cache and refetching data without page reload..."),Vr(),x.current.clear(),F(Fs);try{sessionStorage.clear()}catch{}try{let c=new FormData;c.append("intent","clearCache");let b=await fetch(`${n}/action`,{method:"POST",body:c});if(!b.ok){let E=await b.json().catch(()=>null);ht.warn("[DailyReportActionProvider] Failed to clear server-side cache:",b.status,E)}}catch(c){ht.warn("[DailyReportActionProvider] Failed to clear server-side cache:",c)}V()&&(ga({forceRefresh:!0}),f(c=>c+1),X.listeners.forEach(c=>{c(-1)}))},ue=(0,ne.useRef)(new Map),Z=(c,b)=>{let E=ue.current,L=E.get(c);if(L){L.messages.push(b);return}let _={messages:[b],unsubscribe:()=>{},timer:setTimeout(()=>{let w=E.get(c);w&&(w.unsubscribe(),E.delete(c),ht.warn(`[SSE Queue] Expired: reportHubId=${c}, dropped=${w.messages.length} messages`))},3e4)};_.unsubscribe=ki(c,()=>{let w=E.get(c);if(w&&tt(c,{ignoreExpiry:!0})){w.unsubscribe(),clearTimeout(w.timer),E.delete(c),ht.info(`[SSE Queue] Replaying ${w.messages.length} messages for reportHubId=${c}`);for(let G of w.messages)Fe.current.handleSseMessage(G)}}),E.set(c,_)},j=c=>{P.current.add(c),setTimeout(()=>{P.current.delete(c)},3e4)},Ce=(0,ne.useCallback)(c=>!!c&&P.current.has(c),[]),pe=(0,ne.useCallback)((c,b)=>{b!==void 0&&Yr({reportHubId:c,businessDate:b})},[]),Ue=()=>{r&&(g.current=!0,l(c=>!c))};(0,ne.useEffect)(()=>{if(!r)return;let c=setTimeout(()=>{g.current||l(!0)},Ii);return()=>clearTimeout(c)},[r]);let ze=c=>{V()&&(x.current.add(c),io(c),F(b=>Zr(b,c)),D.discard(c))};(0,ne.useEffect)(()=>{if($)for(let c of x.current)hs(c)||x.current.delete(c)},[$,M.itemsRevision]);let ie=c=>{if(V()&&!Ce(c.clientTempId))switch(c.type){case"comment-add":{let{comment:b,reportHubId:E}=c,L=tt(E,{ignoreExpiry:!0});if(L){if(L.postedComments.some(C=>C.id===b.id))return;let _=!1,w=d.current.get(E);if(w){for(let[C,N]of w.entries())if(N===b.content){w.delete(C),y.current.set(C,b.id),_=!0;break}}let G={...b,userName:b.userName||(_?nr(t,a.unknownUser):a.unknownUser),createdAt:b.createdAt||new Date().toISOString(),isMine:_},h={...L,postedComments:[...L.postedComments,G].sort((C,N)=>new Date(C.createdAt||0).getTime()-new Date(N.createdAt||0).getTime())};Jt(E,h),Wr(E),Kr(E),f(C=>C+1)}else Z(E,c);break}case"comment-delete":{let{commentId:b,reportHubId:E}=c,L=tt(E,{ignoreExpiry:!0});if(L){let _={...L,postedComments:L.postedComments.filter(w=>w.id!==b)};Jt(E,_),Wr(E),Kr(E),f(w=>w+1)}else Z(E,c);break}case"status-update":{let{statusType:b,value:E,reportHubId:L}=c,_=tt(L,{ignoreExpiry:!0});if(b==="star")if(u.current.get(L)===E&&u.current.delete(L),_){let w={..._,isStarred:E};Jt(L,w),f(G=>G+1)}else Z(L,c);else if(b==="read")if(p.current.get(L)===E&&p.current.delete(L),_){let w={..._,isRead:E};Jt(L,w),f(G=>G+1)}else Z(L,c);break}case"report-delete":{let{reportHubId:b}=c;x.current.add(b),io(b),F(_=>Zr(_,b)),D.discard(b);let E=ue.current.get(b);E&&(E.unsubscribe(),clearTimeout(E.timer),ue.current.delete(b));let L=tt(b,{ignoreExpiry:!0});L?.date&&($n(b,L.date),f(_=>_+1));break}case"report-create":case"report-update":case"report-publish":{let{report:b}=c;Hi(b),(c.type==="report-create"||c.type==="report-publish")&&pe(b.reportHubId,b.date),f(E=>E+1);break}}};(0,ne.useEffect)(()=>()=>{for(let c of ue.current.values())c.unsubscribe(),clearTimeout(c.timer);ue.current.clear()},[]);let De=async(c,b,E,L,_,w)=>{w?.skipLock||Wr(c),_.onOptimistic?.();let G=L.clientTempId||crypto.randomUUID();j(G);let h=new FormData;h.append("intent",b),h.append("reportHubId",String(c)),typeof E=="string"&&h.append("businessDate",E),h.append("operationTimestamp",String(Date.now())),h.append("clientTempId",G);for(let[C,N]of Object.entries(L))C!=="clientTempId"&&h.append(C,N);try{let C=await fetch(`${n}/action`,{method:"POST",body:h,headers:{Accept:"application/json"}});if(!C.ok){let Y=new Error(`Failed to ${b}`);throw Object.assign(Y,{status:C.status}),Y}let N=await C.json();if(N.status!=="OK"||b!=="create"&&String(N.reportHubId)!==String(c))throw new Error(`Invalid response for ${b}`);if(typeof N.clientTempId!="string"||N.clientTempId!==G)throw new Error(`Invalid clientTempId for ${b}`);if(!V())throw ht.warn(`[executeAction] ${b} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${b}`);return await _.onSuccess?.(N)}catch(C){throw ht.error(`${b} failed:`,C),V()&&(_.onFailure?.(),Fe.current.notifyError({operation:b,message:a.operationFailed(b),cause:C})),C}finally{w?.keepLock||w?.skipLock||Kr(c)}},Je={toggleSse:Ue,addComment:async(c,b,E)=>{let L=-1*Date.now(),_=De(c,"addComment",E,{content:b,clientTempId:String(L)},{onOptimistic:()=>{d.current.has(c)||d.current.set(c,new Map),d.current.get(c)?.set(L,b),f(w=>w+1)},onSuccess:w=>{if(!w.newComment)throw new Error("No new comment returned");let G=w.newComment.id;y.current.set(L,G),d.current.get(c)?.delete(L);let h=tt(c,{ignoreExpiry:!0});return h&&!h.postedComments.some(C=>C.id===G)&&rt(c,{postedComments:[...h.postedComments,{...w.newComment,id:G,isMine:!0,userName:nr(t,a.unknownUser)}],updatedAt:w.updatedAt}),G},onFailure:()=>{d.current.get(c)?.delete(L)}},{skipLock:!0}).finally(()=>T.current.delete(L));T.current.set(L,_),await _},deleteComment:async(c,b,E)=>{m.current.has(c)||m.current.set(c,new Set),m.current.get(c)?.add(b),f(_=>_+1);let L=b;if(b<0){let _=y.current.get(b);if(_!==void 0)L=_;else{let w=T.current.get(b);if(!w)return;try{L=await w}catch{return}}}await De(c,"deleteComment",E,{commentId:String(L)},{onSuccess:_=>{let w=typeof _.deletedCommentId=="string"?Number(_.deletedCommentId):L,G=tt(c,{ignoreExpiry:!0});G&&(rt(c,{postedComments:G.postedComments.filter(h=>h.id!==w),updatedAt:_.updatedAt}),Pi(w)),m.current.get(c)?.delete(b)},onFailure:()=>{m.current.get(c)?.delete(b)}},{skipLock:!0})},toggleStar:async(c,b,E)=>{await De(c,"toggleStar",E,{isStarred:String(b)},{onOptimistic:()=>{rt(c,{isStarred:b}),u.current.set(c,b),f(L=>L+1)},onSuccess:L=>{L.updatedStatus&&typeof L.updatedStatus.isStarred=="boolean"&&tt(c,{ignoreExpiry:!0})&&(rt(c,{isStarred:L.updatedStatus.isStarred,updatedAt:L.updatedAt}),f(w=>w+1)),u.current.delete(c)},onFailure:()=>{rt(c,{isStarred:!b}),u.current.delete(c)}},{skipLock:!0})},toggleRead:async(c,b,E)=>{await De(c,"toggleRead",E,{isRead:String(b)},{onOptimistic:()=>{rt(c,{isRead:b}),p.current.set(c,b),f(L=>L+1)},onSuccess:L=>{L.updatedStatus&&typeof L.updatedStatus.isRead=="boolean"&&tt(c,{ignoreExpiry:!0})&&(rt(c,{isRead:L.updatedStatus.isRead,updatedAt:L.updatedAt}),f(w=>w+1)),p.current.delete(c)},onFailure:()=>{rt(c,{isRead:!b}),p.current.delete(c)}},{skipLock:!0})},createReport:async c=>{let b=-1*Date.now(),E=new Date().toISOString(),L={reportHubId:b,date:c,createdAt:E,author:nr(t,a.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:nr(t,a.unknownUser),updatedBy:nr(t,a.unknownUser),updatedAt:E,category:null,creationCategory:null,visitTimeFrom:null,visitTimeTo:null,customerName:null,interviewers:[],subject:"",content:"",externalComments:[],isRead:!0,isStarred:!1,labels:[{id:0,name:o,color:"#9ca3af"}],postedComments:[],attachments:[]};Mi(L,Date.now()+3e5,!1),F(_=>mo(_,{reportHubId:b,businessDate:c},Number.NEGATIVE_INFINITY));try{let _=await De(0,"create",c,{clientTempId:String(b)},{onSuccess:h=>h});if(_.clientTempId&&_.clientTempId!==String(b))throw ht.warn(`[createReport] ID mismatch. req=${b}, res=${_.clientTempId}`),new Error("Optimistic ID mismatch");let w=Number(_.reportHubId),G=Ra();return Yr({reportHubId:w,businessDate:c}),Wr(w),_.report&&(Jt(w,_.report),f(h=>h+1)),F(h=>mo(Zr(h,b),{reportHubId:w,businessDate:c},G)),setTimeout(()=>Kr(w),1e3),w}catch(_){throw ht.error("[createReport] Failed or mismatched",_),F(w=>Zr(w,b)),_}},updateReport:async(c,b,E)=>{await De(c,"update",E,{title:b.title,content:b.content},{onSuccess:()=>{tt(c,{ignoreExpiry:!0})&&(rt(c,{subject:b.title,content:b.content}),f(_=>_+1))}})},publishReport:async(c,b)=>{let E=tt(c,{ignoreExpiry:!0}),L=E?.labels||[];await De(c,"publish",b,{},{onOptimistic:()=>{if(E){let _=E.labels.filter(w=>w.name!==o);rt(c,{labels:_}),f(w=>w+1)}},onSuccess:_=>{_.report&&(Jt(c,_.report),f(w=>w+1)),b!==void 0&&Yr({reportHubId:c,businessDate:b})},onFailure:()=>{rt(c,{labels:L}),f(_=>_+1)}},{skipLock:!0})},deleteReport:async(c,b)=>{let E=J.find(L=>L.reportHubId===c);x.current.add(c),io(c),F(L=>Hs(L,c));try{await De(c,"delete",b,{},{onSuccess:L=>{$n(c,b),D.discard(c)}})}catch(L){if(L.status===404){$n(c,b),D.discard(c);return}if(!V())return;x.current.delete(c);let w=E===void 0?b:E.businessDate,G=Ra();w!==void 0&&Yr({reportHubId:c,businessDate:w}),E&&F(h=>mo(h,E,G))}},removeStaleItem:ze,refetchData:le,clearCacheAndRefetch:K,handleSseMessage:ie,notifyError:i},Fe=(0,ne.useRef)(Je);(0,ne.useLayoutEffect)(()=>{Fe.current=Je});let[Ge]=(0,ne.useState)(()=>Wu(Fe)),Et=lo({isSseEnabled:S,onMessage:Ge.onSseMessage}),Qe=(0,ne.useMemo)(()=>({...s,...Ge.functions,user:t}),[s,Ge,t]),I=(0,ne.useMemo)(()=>({version:v,items:J,isSseEnabled:S,sseStatus:Et}),[v,J,S,Et]);return(0,po.jsx)(ha.Provider,{value:D,children:(0,po.jsx)(bo.Provider,{value:Qe,children:(0,po.jsx)(yo.Provider,{value:I,children:e})})})};var Us=require("react/jsx-runtime"),Ku={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},$t=Object.freeze({2:3,3:4,4:5,5:6}),qe=({level:e,...t})=>{let r=Ku[e];return(0,Us.jsx)(r,{...t})};var Lt=require("react");var Vs=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var va="tile",Qr=Vs[va],$u=2,Jr=16,Ws=5,Ks=Qr.maxWidth/$u,zu=Ws*(Ks+Jr)-Jr,$s=e=>{let t=Math.min(Ws,1+Math.floor((e+Jr)/(Ks+Jr)));return Math.floor((Math.min(e,zu)-(t-1)*Jr)/t)},Sa=`round(nearest, 100cqi * ${Qr.maxHeight} / ${Qr.maxWidth}, 1px)`,zs=Object.freeze({aspectRatio:`${Qr.maxWidth} / ${Qr.maxHeight}`,height:Sa,contain:"strict"}),Gs=Object.freeze({marginBlockEnd:`calc(round(up, ${Sa}, ${4}px) - ${Sa})`});var Gu="download",ju="thumbnail",Yu="1",Tr=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[Gu]:Yu})}`;case"thumbnail":return`${n}?${new URLSearchParams({[ju]:r.variant})}`}};var ho=require("react");var en=(0,ho.createContext)(null),xr=()=>(0,ho.useContext)(en)===!1?-1:void 0,js=(e,t)=>{let{before:r,after:n}=Yn(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};var St=require("react"),Qs=require("react-dom");var Ys=require("react-dom");var Ea=new WeakMap,qs=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,qu=e=>{e.frame=null;let t=[...e.observations.values()].filter(qs);t.length!==0&&(0,Ys.flushSync)(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},Xu=(e,t)=>{for(let r of t){let n=e.observations.get(r.target);if(n===void 0)continue;let o=r.contentBoxSize[0].inlineSize;o!==0&&(n.observedTrackWidth=$s(o))}e.frame!==null||![...e.observations.values()].some(qs)||(e.frame=e.view.requestAnimationFrame(()=>qu(e)))},Zu=e=>{let t=Ea.get(e);if(t!==void 0)return t;let r=e.defaultView;if(r===null)throw new Error("[daily-report] An attachment tile grid must belong to a document with a window to be measured");let n={view:r,observer:new r.ResizeObserver(o=>Xu(n,o)),observations:new Map,frame:null};return Ea.set(e,n),n},Xs=(e,t)=>{let r=e.ownerDocument,n=Zu(r);if(n.observations.has(e))throw new Error("[daily-report] An attachment tile grid is already observed");let o={onTrackWidth:t,observedTrackWidth:null,handedTrackWidth:null};return n.observations.set(e,o),n.observer.observe(e),()=>{n.observations.get(e)===o&&(n.observations.delete(e),n.observer.unobserve(e),!(n.observations.size>0)&&(n.frame!==null&&n.view.cancelAnimationFrame(n.frame),n.observer.disconnect(),Ea.delete(r)))}};var At=require("react/jsx-runtime"),tn="\u2026",Ju=tn.codePointAt(0),So="data-attachment-file-name",Qu=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,em=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,el=(0,St.createContext)(null),tl=e=>{let t=e.lastIndexOf(".");return t<=0||t===e.length-1?{stem:e,extension:""}:{stem:e.slice(0,t),extension:e.slice(t)}},Zs=(e,t,r,n)=>{let o=Array.from(e),a=0,i=o.length-1;for(;a<i;){let s=Math.ceil((a+i)/2);n(o.slice(0,s).join("")+t)<=r?a=s:i=s-1}return o.slice(0,a).join("")},tm=(e,t,r)=>{if(r(e)<=t)return e;let{stem:n,extension:o}=tl(e.normalize("NFC")),a=t/2,i=r(o)<=a?o:`${Zs(o,tn,a,r)}${tn}`;return r(n+i)<=t?n+i:`${Zs(n,tn+i,t,r)}${tn}${i}`},Js=new WeakMap,rl=e=>{let t=Js.get(e);if(t!==void 0)return t;let r=e.createElement("canvas").getContext("2d");if(r===null)throw new Error("[daily-report] Attachment file names are fitted with a canvas 2D context, which this document cannot create");let n={context:r,font:"",measures:new Map};return Js.set(e,n),n},rm=(e,t)=>{let r=e.measures.get(t);if(r!==void 0)return r;let n=o=>(e.font!==t&&(e.context.font=t,e.font=t),e.context.measureText(o).width);return e.measures.set(t,n),n},nl=e=>{let t=new Set;for(let r of e.matchAll(Qu)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},nm=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:nl(t.fontFamily),measure:rm(rl(e.ownerDocument),r)}},om=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,am=e=>{let t=new Set([Ju]);for(let r of e.querySelectorAll(`[${So}]`)){let n=r.getAttribute(So);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},im=(e,t)=>{for(let r of e.split(",")){let n=em.exec(r.trim());if(n===null)return!0;let[,o,a]=n,i=Number.parseInt(o.replaceAll("?","0"),16),s=a===void 0?Number.parseInt(o.replaceAll("?","F"),16):Number.parseInt(a,16);for(let d of t)if(d>=i&&d<=s)return!0}return!1},Ta=new WeakMap,ol=e=>{let t=Ta.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return Ta.set(e,r),r},al=(e,t)=>{let r=nm(e.container.querySelector(`[${So}]`));e.fitted={trackWidth:t,nameFont:r};let n=ol(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=lm(n)),e.applyFit({width:t,measure:r.measure})},sm=(e,t)=>{let r=t.map(o=>({families:nl(o.family),unicodeRange:o.unicodeRange})),n=[];for(let o of e.registrations){let{fitted:a}=o;if(a===null)continue;let i=r.filter(d=>Array.from(d.families).some(m=>a.nameFont.families.has(m)));if(i.length===0)continue;let s=am(o.container);i.some(d=>im(d.unicodeRange,s))&&(rl(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&(0,Qs.flushSync)(()=>{for(let[o,a]of n)al(o,a)})},lm=e=>{let t=e.document.fonts,r=n=>{sm(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},dm=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=Xs(e,a=>al(r,a)),o=ol(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),Ta.delete(o.document))}},il=({containerRef:e,children:t})=>{let[r,n]=(0,St.useState)(null);return(0,St.useLayoutEffect)(()=>{let o=e.current;return dm(o,i=>{n(s=>om(s,i)?s:i)})},[e]),(0,At.jsx)(el,{value:r,children:t})},rn=({fileName:e,className:t,testId:r})=>{let n=(0,St.useContext)(el),o=(0,St.useMemo)(()=>n===null?null:tm(e,n.width,n.measure),[e,n]),{stem:a,extension:i}=tl(e);return(0,At.jsxs)("span",{className:R("block min-w-0",t),title:e,"data-testid":r,[So]:e,children:[o===null?(0,At.jsxs)("span",{"aria-hidden":"true",className:"flex min-w-0",children:[(0,At.jsx)("span",{className:"truncate",children:a}),i!==""&&(0,At.jsx)("span",{className:"max-w-1/2 shrink-0 truncate",children:i})]}):(0,At.jsx)("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:o}),(0,At.jsx)("span",{className:"sr-only",children:e})]})};var ml=Ee(require("lucide-react/dist/esm/icons/image-off.js")),ke=require("react");var vo=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),sl=vo.queueWaitMs+vo.readMs+vo.renderMs+vo.transferMarginMs;var cm=Object.freeze({kind:"loaded"}),ll=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",d=null,m=null,u=null,p=null,y=null,v=K=>(K!==null&&n.clearTimeout(K),null),f=()=>{p?.(),p=null},D=()=>{y?.(),y=null},S=K=>K===null||K.kind==="loaded"?0:K.kind==="failing"?K.failedAttempts:i.maxAttempts,l=K=>{s="cooling",u=n.setTimeout(F,K)},g=()=>{o.abortInFlight(),D();let K=S(r.get(t))+1;if(K>=i.maxAttempts){s="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:K,retryAt:n.now()+i.retryDelayMs}),o.reset(),l(i.retryDelayMs)},T=K=>{if(s==="loading"){if(m=v(m),!K){g();return}s="done",r.set(t,cm),D()}},x=()=>{m=null,T(!1)},P=()=>{s="loading",o.showActivity(!0),f(),m=n.setTimeout(x,i.loadTimeoutMs),o.grant()},M=()=>{d=null,s="queued",y=a.request(P)},$=()=>{d===null&&(d=n.setTimeout(M,i.settleMs))},B=K=>{if(o.showActivity(K),K){s==="watching"&&$();return}if(s==="queued"){D(),s="watching";return}d=v(d)},F=()=>{u=null,s="watching",o.showActivity(!1),p=n.observe(e,B)},J=()=>{let K=s==="loading";s="done",f(),d=v(d),m=v(m),u=v(u),o.showActivity(!1),K&&(o.abortInFlight(),y!==null&&o.reset()),D()},V=r.get(t);if(V?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:T,dispose:J};if(V?.kind==="exhausted"){if(n.now()-V.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:T,dispose:J};r.delete(t)}o.reset();let le=V?.kind==="failing"?V.retryAt-n.now():0;return le>0?l(le):F(),{settle:T,dispose:J}};var um=e=>{if(!Number.isInteger(e)||e<=0)throw Oe("createLoadSlotLimiter: limit","an integer >= 1",e);let t=0,r=new Set,n=()=>{for(let o of r){r.delete(o),o.onGranted();return}t-=1};return{request:o=>{let a={onGranted:o},i=!1;return t<e?(t+=1,o()):r.add(a),()=>{i||(i=!0,!r.delete(a)&&n())}}}},dl=um(2);var mm=e=>{if(!Number.isInteger(e)||e<=0)throw Oe("createThumbnailProgressStore: maxUrls","an integer >= 1",e);let t=new Map,r=(n,o)=>{t.delete(n),t.set(n,o)};return{peek:n=>t.get(n)??null,get:n=>{let o=t.get(n);return o===void 0?null:(r(n,o),o)},set:(n,o)=>{if(r(n,o),t.size<=e)return;let[a]=t.keys();t.delete(a)},delete:n=>{t.delete(n)}}},xa=mm(1024);var Ia=new WeakMap,pm=e=>{let t=Ia.get(e);if(t!==void 0)return t;let r=e.defaultView;if(r===null)throw new Error("[daily-report] A thumbnail frame must belong to a document with a window to be observed");let n=new WeakMap,a={observer:new r.IntersectionObserver(i=>{for(let s of i)n.get(s.target)?.onChange(s.isIntersecting)}),observations:n,observed:0};return Ia.set(e,a),a},cl=(e,t)=>{let r=e.ownerDocument,n=pm(r);if(n.observations.has(e))throw new Error("[daily-report] A thumbnail frame is already observed");let o={onChange:t};return n.observations.set(e,o),n.observed+=1,n.observer.observe(e),()=>{n.observations.get(e)===o&&(n.observations.delete(e),n.observer.unobserve(e),n.observed-=1,!(n.observed>0)&&(n.observer.disconnect(),Ia.delete(r)))}};var zt=require("react/jsx-runtime"),fm={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},bm="data-thumbnail-active",ym="data-daily-report-attachment-preview",pl={[ym]:""},Rm=Object.freeze({settleMs:250,loadTimeoutMs:sl,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),ul=e=>{let t=xa.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},gm=()=>({limiter:dl,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:cl,tuning:Rm}),hm=(e,t,r,n)=>({grant:()=>r(o=>o.url!==e||o.status==="granted"||o.status==="loaded"?o:{url:e,status:"granted"}),reset:()=>r(o=>o.url!==e||o.status==="idle"?o:{url:e,status:"idle"}),exhausted:()=>r(o=>o.url!==e||o.status==="failed"?o:{url:e,status:"failed"}),abortInFlight:()=>{let o=n.current;o?.getAttribute("src")===e&&o.removeAttribute("src")},shows:()=>{let o=n.current;return o?.getAttribute("src")===e&&o.complete&&o.naturalWidth>0},showActivity:o=>{t.toggleAttribute(bm,o)}}),fl=(0,ke.memo)(({thumbnailUrl:e,unavailableLabel:t})=>{let r=(0,ke.useRef)(null),n=(0,ke.useRef)(null),o=(0,ke.useRef)(null),[a,i]=(0,ke.useState)(()=>ul(e));a.url!==e&&i(ul(e)),(0,ke.useLayoutEffect)(()=>{if(a.status==="failed")return;let u=n.current,p=a.status==="idle"?null:a.url;u.getAttribute("src")!==p&&(p===null?u.removeAttribute("src"):u.setAttribute("src",p))},[a]),(0,ke.useEffect)(()=>{let u=r.current,p=ll(u,e,xa,gm(),hm(e,u,i,n));return o.current=p,()=>{o.current=null,p.dispose()}},[e]);let s=(0,ke.useCallback)(u=>{u!==null&&(n.current=u)},[]),d=(0,ke.useCallback)(()=>{i(u=>u.status==="granted"?{url:u.url,status:"loaded"}:u),o.current?.settle(!0)},[]),m=(0,ke.useCallback)(()=>{o.current?.settle(!1)},[]);return(0,zt.jsx)("span",{className:"block",children:(0,zt.jsx)("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":fm[a.status],style:zs,className:"relative block w-full",children:(0,zt.jsx)("span",{"data-testid":"daily-report-attachment-thumbnail-skin",className:"absolute inset-0 flex items-center justify-center overflow-hidden rounded-lg bg-slate-100 after:pointer-events-none after:absolute after:inset-0 after:rounded-[inherit] after:ring-1 after:ring-slate-900/10 after:ring-inset dark:bg-slate-800 dark:after:ring-white/10 [[data-daily-report-attachment-preview]:active_&]:after:ring-blue-500 dark:[[data-daily-report-attachment-preview]:active_&]:after:ring-blue-400 motion-safe:[[data-thumbnail-state=pending][data-thumbnail-active]_&]:animate-pulse [[data-thumbnail-state=pending]_&]:bg-slate-200 dark:[[data-thumbnail-state=pending]_&]:bg-slate-700 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover:not(:active)_&]:after:ring-blue-300 dark:[@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover:not(:active)_&]:after:ring-blue-400/60",children:a.status==="failed"?(0,zt.jsxs)("span",{className:`flex size-full flex-col items-center justify-center gap-1 px-2 text-center text-slate-600 text-xs dark:text-slate-400 ${An}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[(0,zt.jsx)(ml.default,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):(0,zt.jsx)("img",{ref:s,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:d,onError:m,className:"max-h-full max-w-full opacity-0 motion-safe:transition-opacity motion-safe:duration-200 motion-safe:ease-out [[data-thumbnail-state=loaded]_&]:opacity-100","data-testid":"daily-report-attachment-thumbnail"})})})})});var oe=require("react/jsx-runtime"),bl=1024,Ca=["B","KB","MB","GB"],yl="text-slate-500 text-sm line-through dark:text-slate-400",Sm=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=bl&&r<Ca.length-1;)t/=bl,r+=1;return r===0?`${t} ${Ca[r]}`:`${t.toFixed(1)} ${Ca[r]}`},Rl=({attachment:e,labels:t,className:r})=>(0,oe.jsxs)("span",{className:r,children:[Sm(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),Da=({href:e,children:t,...r})=>{let n=xr();return(0,oe.jsx)("a",{href:e,...r,tabIndex:n,children:t})},gl=({downloadUrl:e,label:t,fileName:r})=>(0,oe.jsxs)(Da,{href:e,className:R("relative ml-auto shrink-0 rounded-sm text-slate-500 text-xs underline decoration-slate-300 underline-offset-2 after:absolute after:-inset-x-2 after:-inset-y-1 hover:text-slate-700 hover:decoration-current dark:text-slate-400 dark:decoration-slate-600 dark:hover:text-slate-200",re),"data-testid":"daily-report-attachment-download",children:[t," ",(0,oe.jsx)("span",{className:"sr-only",children:r})]}),vm=(0,Lt.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=(0,oe.jsx)(fl,{thumbnailUrl:Tr(t,e.id,{kind:"thumbnail",variant:va}),unavailableLabel:r.attachmentThumbnailUnavailable}),o=e.state==="absent";return(0,oe.jsxs)("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[o?(0,oe.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[n,(0,oe.jsx)(rn,{fileName:e.fileName,className:yl,testId:"daily-report-attachment-name"})]}):(0,oe.jsxs)(Da,{href:Tr(t,e.id,{kind:"inline"}),className:R("flex min-w-0 flex-col gap-2 rounded-lg",re),"data-testid":"daily-report-attachment-link",...pl,children:[n,(0,oe.jsx)(rn,{fileName:e.fileName,className:"text-blue-600 text-sm dark:text-blue-400 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover_&]:underline"})]}),(0,oe.jsxs)("div",{className:"flex h-4 min-w-0 items-center gap-2 text-slate-500 text-xs tabular-nums dark:text-slate-400",style:Gs,children:[(0,oe.jsx)(Rl,{attachment:e,labels:r,className:"truncate"}),!o&&(0,oe.jsx)(gl,{downloadUrl:Tr(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})]})}),Em=(0,Lt.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=e.state==="absent";return(0,oe.jsxs)("li",{className:"flex items-center gap-2 rounded-lg bg-slate-50 p-2 dark:bg-slate-800/40","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[(0,oe.jsxs)("div",{className:"flex min-w-0 flex-col",children:[n?(0,oe.jsx)(rn,{fileName:e.fileName,className:yl,testId:"daily-report-attachment-name"}):(0,oe.jsx)(Da,{href:Tr(t,e.id,{kind:"inline"}),className:R("flex min-w-0 rounded-sm",re),"data-testid":"daily-report-attachment-link",children:(0,oe.jsx)(rn,{fileName:e.fileName,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),(0,oe.jsx)(Rl,{attachment:e,labels:r,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!n&&(0,oe.jsx)(gl,{downloadUrl:Tr(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})}),Tm=({attachments:e,headingId:t,apiBasePath:r,labels:n})=>{let o=(0,Lt.useRef)(null);return(0,oe.jsx)(il,{containerRef:o,children:(0,oe.jsx)("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:(0,oe.jsx)("ul",{"aria-labelledby":t,className:"grid @min-[1008px]:w-[calc(round(down,100%-64px,5px)+64px)] @min-[240px]:w-[calc(round(down,100%-16px,2px)+16px)] @min-[496px]:w-[calc(round(down,100%-32px,3px)+32px)] @min-[752px]:w-[calc(round(down,100%-48px,4px)+48px)] w-[round(down,100%,1px)] max-w-[1264px] @min-[1008px]:grid-cols-5 @min-[240px]:grid-cols-2 @min-[496px]:grid-cols-3 @min-[752px]:grid-cols-4 grid-cols-1 gap-[16px]","data-testid":"daily-report-attachment-grid",children:e.map(a=>(0,oe.jsx)(vm,{attachment:a,apiBasePath:r,labels:n},a.id))})})})},Eo=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=U(),o=(0,Lt.useId)(),{tileAttachments:a,rowAttachments:i}=(0,Lt.useMemo)(()=>({tileAttachments:e.filter(s=>s.hasThumbnail),rowAttachments:e.filter(s=>!s.hasThumbnail)}),[e]);return e.length===0?null:(0,oe.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[(0,oe.jsx)(qe,{level:$t[n],id:o,className:R("m-0",Xt),children:r.attachments}),(0,oe.jsxs)("div",{className:"flex flex-col gap-4",children:[a.length>0&&(0,oe.jsx)(Tm,{attachments:a,headingId:o,apiBasePath:t,labels:r}),i.length>0&&(0,oe.jsx)("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:i.map(s=>(0,oe.jsx)(Em,{attachment:s,apiBasePath:t,labels:r},s.id))})]})]})};var Il=require("@aiquants/swipe-overlay"),Ie=require("react");var _t=require("react");var hl=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Oe("mergeComments: unknownAuthorName","a non-blank string",n);let o=e.map((i,s)=>({id:`legacy-${s}`,authorName:i.name||n,content:i.text||"",isMine:!1,color:i.color||void 0,isLegacy:!0})),a=t.map(i=>({id:i.id,authorName:i.userName||n,content:i.content??"",createdAt:i.createdAt??"",isMine:r?i.userId===r:i.isMine,isLegacy:!1}));return[...o,...a]},Sl=e=>{if(!e)return"text-gray-700 dark:text-gray-300";let t=e.toLowerCase();return t.includes("red")||t.includes("\u8D64")?"text-red-600 dark:text-red-400":t.includes("green")||t.includes("\u7DD1")?"text-green-600 dark:text-green-400":t.includes("blue")||t.includes("\u9752")?"text-blue-600 dark:text-blue-400":t.includes("yellow")||t.includes("\u9EC4")?"text-yellow-600 dark:text-yellow-400":t.includes("orange")||t.includes("\u6A59")?"text-orange-500 dark:text-orange-400":"text-gray-700 dark:text-gray-300"};var To=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:i,deleteComment:s}=Pe(),{version:d}=Ro(),{labels:m}=U(),u=m.unknownUser,[p,y]=(0,_t.useState)(null),v=(0,_t.useCallback)(l=>e&&s(e.reportHubId,l,e.date),[e,s]),f=(0,_t.useCallback)(l=>e&&t?i(e.reportHubId,l,e.date):Promise.resolve(),[e,t,i]),D=(0,_t.useRef)([]);return{uiComments:(0,_t.useMemo)(()=>{if(!e)return[];let l=hl(e.externalComments,e.postedComments,r,u),g=o.current.get(e.reportHubId);g?.size&&(l=l.filter(x=>!g.has(x.id)));let T=n.current.get(e.reportHubId);if(T?.size&&t){let x=new Set(l.map(M=>M.id)),P=nr(t,u);for(let[M,$]of T){if(g?.has(M)||x.has(M))continue;let B=a.current.get(M);B&&x.has(B)||l.some(F=>F.isMine&&F.content===$&&typeof F.id=="number"&&F.id>0)||l.push({id:M,authorName:P,content:$,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1})}}return JSON.stringify(l)===JSON.stringify(D.current)?D.current:(D.current=l,l)},[e,t,r,u,o,n,a,d]),handleAddComment:f,handleDeleteComment:v,pendingDeleteId:p,setPendingDeleteId:y,resolvedIdMap:a.current}};var nn=e=>e.isComposing||e.keyCode===229,xo=e=>({key:e.key,keyCode:e.keyCode,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,defaultPrevented:e.defaultPrevented,isComposing:e.nativeEvent.isComposing,target:e.target});var xm={kind:"hold"},Im=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),Cm=(e,t)=>{let r=e.getAttribute("role");return r!==null&&Im.has(r)&&e!==t&&e.contains(t)},on=e=>e.key==="Escape"&&!e.defaultPrevented&&!nn(e),vl=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||nn(e))return null;let r=e.target;if(!(xe(r)&&t.contains(r)))return null;let n=Gi(t);if(n.length===0)return xm;let{before:o,within:a,after:i}=Yn(t,r);return e.shiftKey?o.some(s=>!Cm(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};var Io=require("react/jsx-runtime"),we=({render:e})=>{let t=xr();return(0,Io.jsx)(Io.Fragment,{children:e(t)})};var El=Ee(require("@heroicons/react/24/outline/TrashIcon.js")),Gt=require("react");var Ke=require("react/jsx-runtime"),Aa="data-comment-id",Co="data-comment-delete-button",Do="data-comment-delete-slot",Dm=R(Ve,Za),Am="relative flex h-5 items-center",Lm=R(Be,"motion-safe:fade-in motion-safe:zoom-in-95 absolute top-full right-0 z-20 mt-1 whitespace-nowrap bg-red-600 font-bold text-white text-xs shadow-lg hover:bg-red-700 active:bg-red-800 motion-safe:animate-in motion-safe:duration-200",re),_m=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,La=(0,Gt.memo)(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:d})=>{let[m,u]=(0,Gt.useState)(!1),{labels:p}=U(),y=(0,Gt.useId)(),v=(0,Gt.useRef)(null),f=_m(e.id,o,d),D=()=>{let l=v.current;l!==null&&s(l),a(null),u(!0),typeof e.id=="number"&&n?.(e.id)},S=l=>{if(!f)return;let g=l.relatedTarget;xe(g)&&l.currentTarget.contains(g)||a(null)};return(0,Ke.jsxs)("li",{[Aa]:e.id,"data-deleted":m?"true":void 0,className:R("relative rounded-xl border border-slate-200 border-solid bg-white p-[11px] dark:border-slate-700 dark:bg-slate-900/70",e.isMine&&"border-blue-200 bg-blue-50 dark:border-blue-800/70 dark:bg-blue-950/40",m&&"hidden",f?"z-50":"z-0 hover:z-10"),children:[(0,Ke.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,Ke.jsx)("div",{className:R("font-semibold text-xs",Sl(e.color)),children:ye(e.authorName)}),(0,Ke.jsxs)("div",{className:"flex items-center gap-2",children:[e.createdAt&&(0,Ke.jsx)("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:fe(e.createdAt)}),e.isMine&&!e.isLegacy&&(0,Ke.jsxs)("div",{[Do]:e.id,className:Am,onBlur:S,children:[(0,Ke.jsx)(we,{render:l=>(0,Ke.jsx)("button",{ref:v,type:"button",tabIndex:l,className:Dm,title:p.commentDelete,"aria-label":p.commentDelete,"aria-expanded":f,"aria-controls":f?y:void 0,[Co]:e.id,onClick:()=>i(e.id,f),children:(0,Ke.jsx)(El.default,{"aria-hidden":"true",className:f?Le.deletePending:Le.delete})})}),f&&(0,Ke.jsx)(we,{render:l=>(0,Ke.jsx)("button",{id:y,type:"button",tabIndex:l,"data-delete-confirmation":!0,className:Lm,onClick:D,children:p.commentDeleteConfirm})})]})]})]}),(0,Ke.jsx)("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:e.content})]})});La.displayName="DailyReportPostedComment";var be=require("react/jsx-runtime"),wm="data-daily-report-comment-section",Nm="data-daily-report-comment-heading",Om=R(Tt,re),Cl=(e,t)=>e>0||t,Mm=R("h-9 min-w-0 flex-1 rounded-lg border border-slate-300 border-solid bg-slate-50 px-[7px] text-sm focus:bg-white dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200 dark:focus:bg-slate-900",re),Pm=R("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",re),Tl=e=>e.querySelector(`[${Co}][aria-expanded="true"]`),km=(e,t,r)=>{let n=[...e.querySelectorAll(`[${Co}]`)].filter(s=>s===t||s.closest("[data-deleted]")===null),o=n.indexOf(t),a=n.at(o+1);if(a!==void 0)return{kind:"trash",button:a};if(o>0)return{kind:"trash",button:n[o-1]};let i=[...e.querySelectorAll(`[${Aa}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return Cl(i,r)?{kind:"heading"}:{kind:"report"}},Hm=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:d,onSectionRemoved:m})=>{let u=(0,Ie.useRef)(null),p=(0,Il.useOverlayEscapeStack)(),y=(0,Ie.useId)(),v=o!==null,f=(0,Ie.useCallback)(()=>{let l=u.current,g=l===null?null:Tl(l),T=g===null?null:g.closest(`[${Do}]`),x=l===null?null:We(l);a(null),g!==null&&T!==null&&x!==null&&T.contains(x)&&g.focus({preventScroll:!0})},[a]);(0,Ie.useEffect)(()=>{if(v)return p({id:y,onEscape:l=>on(l)?(f(),!0):!1})},[v,p,y,f]),(0,Ie.useEffect)(()=>{let l=u.current;if(!v||l===null)return;let g=l.ownerDocument,T=x=>{let P=Tl(l)?.closest(`[${Do}]`);P!=null&&xe(x.target)&&P.contains(x.target)||a(null)};return g.addEventListener("pointerdown",T,!0),()=>g.removeEventListener("pointerdown",T,!0)},[v,a]);let D=(0,Ie.useCallback)((l,g)=>{g?f():a(l)},[f,a]),S=(0,Ie.useCallback)(l=>{let g=u.current;if(g===null)return;let T=km(g,l,s);if(T.kind==="report"){m();return}let x=T.kind==="trash"?T.button:d.current;if(x===null)throw new Error("[daily-report] the comment section's heading is not attached");x.focus({preventScroll:!0})},[s,d,m]);return e.length===0?null:(0,be.jsx)("ul",{ref:u,className:"space-y-2",children:e.map(l=>(0,be.jsx)(La,{comment:l,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:D,onBeforeHide:S,resolvedIdMap:i},l.id))})},xl=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=U(),a=(0,Ie.useRef)(null);return Cl(r.comments.length,r.canComment)?(0,be.jsxs)("div",{[wm]:"",className:R("flex flex-col gap-2",e),children:[(0,be.jsx)(qe,{ref:a,level:$t[o],tabIndex:-1,[Nm]:"",className:Om,children:n.comments}),(0,be.jsx)(Hm,{...r,headingRef:a}),t]}):null},Dl=(0,Ie.memo)(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:i,onDeleteComment:s,pendingDeleteId:d,onPendingDeleteIdChange:m,resolvedIdMap:u})=>{let p=t?(0,be.jsx)(Fm,{reportHubId:e.reportHubId,businessDate:e.date,onAddComment:i}):null,y={comments:a,canComment:t,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:s,pendingDeleteId:d,onPendingDeleteIdChange:m,resolvedIdMap:u,onSectionRemoved:r,className:o};return n==="in-section"?(0,be.jsx)(xl,{...y,children:p}):(0,be.jsxs)(be.Fragment,{children:[(0,be.jsx)(xl,{...y}),p&&(0,be.jsx)("div",{className:"mt-auto",children:p})]})});Dl.displayName="ReportCommentsView";var an=(0,Ie.memo)(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:i})=>{let{user:s}=Pe(),{uiComments:d,handleAddComment:m,handleDeleteComment:u,pendingDeleteId:p,setPendingDeleteId:y,resolvedIdMap:v}=To(e,s,t),f=(0,Ie.useCallback)(async D=>{await m(D),n?.()},[m,n]);return(0,be.jsx)(Dl,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:i,comments:d,onAddComment:f,onDeleteComment:u,pendingDeleteId:p,onPendingDeleteIdChange:y,resolvedIdMap:v})});an.displayName="ReportComments";var Fm=({reportHubId:e,businessDate:t,onAddComment:r})=>{let[n,o]=(0,Ie.useState)(!1),a=(0,Ie.useRef)(null),{labels:i}=U();return(0,be.jsxs)("form",{className:"flex gap-2",ref:a,onSubmit:async d=>{d.preventDefault();let u=new FormData(d.currentTarget).get("content")?.trim();if(u&&r){o(!0),a.current?.reset();try{await r(u)}catch{if(a.current){let p=a.current.elements.namedItem("content");p&&(p.value=u)}}finally{o(!1)}}},children:[(0,be.jsx)("input",{type:"hidden",name:"intent",value:"addComment"}),(0,be.jsx)("input",{type:"hidden",name:"reportHubId",value:e}),typeof t=="string"&&(0,be.jsx)("input",{type:"hidden",name:"businessDate",value:t}),(0,be.jsx)(we,{render:d=>(0,be.jsx)("input",{type:"text",name:"content",tabIndex:d,placeholder:i.commentPlaceholder,className:Mm,autoComplete:"off"})}),(0,be.jsx)(we,{render:d=>(0,be.jsx)("button",{type:"submit",tabIndex:d,className:Pm,disabled:n,children:i.commentSend})})]})};var Fl=require("react");var Al=require("@radix-ui/react-slot"),Ll=require("class-variance-authority"),_l=Ee(require("react"));var wl=require("react/jsx-runtime"),Bm=(0,Ll.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 ${re}`,{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-solid border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-2",lg:"h-11 rounded-md px-4",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),wt=_l.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>(0,wl.jsx)(n?Al.Slot:"button",{className:R(Bm({variant:t,size:r,className:e})),ref:a,...o}));wt.displayName="Button";var Ol=require("react/jsx-runtime");function Nl({className:e,type:t,...r}){return(0,Ol.jsx)("input",{type:t,"data-slot":"input",className:R(`flex h-9 w-full min-w-0 rounded-md border border-input border-solid bg-transparent px-[7px] py-[3px] text-base shadow-xs selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive md:text-sm dark:bg-input/30 ${re}`,e),...r})}var Ml=Ee(require("@radix-ui/react-label"));var Pl=require("react/jsx-runtime");function sn({className:e,...t}){return(0,Pl.jsx)(Ml.Root,{"data-slot":"label",className:R("flex select-none items-center gap-2 font-medium text-sm leading-none [:where(.group)[data-disabled=true]_&]:pointer-events-none [:where(.group)[data-disabled=true]_&]:opacity-50 [:where(.peer):disabled~&]:cursor-not-allowed [:where(.peer):disabled~&]:opacity-50",e),...t})}var Hl=require("react/jsx-runtime");function kl({className:e,...t}){return(0,Hl.jsx)("textarea",{"data-slot":"textarea",className:R(`flex min-h-15 w-full rounded-md border border-input border-solid bg-transparent p-[7px] text-base shadow-xs placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive md:text-sm dark:bg-input/30 ${re}`,e),...t})}var _e=require("react/jsx-runtime"),Ir=e=>({title:e.subject??"",content:e.content??""}),Um=e=>{e.preventDefault()},Ao=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=Pe(),{labels:i}=U(),s=Kt(),{title:d,content:m}=As(e.reportHubId),[u,p]=(0,Fl.useState)(!1),y=async()=>{p(!0);try{await o(e.reportHubId,{title:d,content:m},e.date)}catch{}finally{p(!1)}},v=async()=>{p(!0);try{await o(e.reportHubId,{title:d,content:m},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{p(!1)}},f=`report-title-${e.reportHubId}`,D=`report-content-${e.reportHubId}`;return(0,_e.jsxs)("form",{className:"space-y-4 p-1",onSubmit:Um,children:[(0,_e.jsxs)("div",{className:"space-y-2",children:[(0,_e.jsx)(sn,{htmlFor:f,children:i.formTitle}),(0,_e.jsx)(we,{render:S=>(0,_e.jsx)(Nl,{ref:n,id:f,value:d,onChange:l=>s.setInput(e.reportHubId,{title:l.target.value}),placeholder:i.formTitlePlaceholder,disabled:u,tabIndex:S})})]}),(0,_e.jsxs)("div",{className:"space-y-2",children:[(0,_e.jsx)(sn,{htmlFor:D,children:i.formContent}),(0,_e.jsx)(we,{render:S=>(0,_e.jsx)(kl,{id:D,value:m,onChange:l=>s.setInput(e.reportHubId,{content:l.target.value}),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:u,tabIndex:S})})]}),(0,_e.jsxs)("div",{className:"flex justify-end gap-2",children:[t&&(0,_e.jsx)(we,{render:S=>(0,_e.jsx)(wt,{type:"button",variant:"outline",onClick:t,disabled:u,tabIndex:S,children:i.formCancel})}),(0,_e.jsx)(we,{render:S=>(0,_e.jsx)(wt,{type:"button",variant:"secondary",onClick:y,disabled:u,tabIndex:S,children:i.formSave})}),(0,_e.jsx)(we,{render:S=>(0,_e.jsx)(wt,{type:"button",onClick:v,disabled:u,tabIndex:S,children:i.formPublish})})]})]})};var Kl=Ee(require("lucide-react/dist/esm/icons/check.js")),$l=Ee(require("lucide-react/dist/esm/icons/pencil.js")),zl=Ee(require("lucide-react/dist/esm/icons/trash-2.js"));var _a=require("react/jsx-runtime"),_o=24,Bl=2,Vm=20,Lo=5,Wm=3,Km=()=>{let e=Math.cos(2*Math.PI/Lo)/Math.cos(Math.PI/Lo),t=Array.from({length:2*Lo},(y,v)=>{let f=-Math.PI/2+v*Math.PI/Lo,D=v%2===0?1:e;return{x:D*Math.cos(f),y:D*Math.sin(f)}}),r=t.map(y=>y.x),n=t.map(y=>y.y),[o,a,i,s]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],d=(Vm-Bl)/(a-o),m=_o/2-d*(o+a)/2,u=_o/2-d*(i+s)/2,p=y=>String(Number(y.toFixed(Wm)));return t.map(y=>`${p(m+d*y.x)},${p(u+d*y.y)}`).join(" ")},$m=Km(),Cr=({filled:e})=>(0,_a.jsx)("svg",{viewBox:`0 0 ${_o} ${_o}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:Bl,strokeLinejoin:"round",className:e?Le.starOn:Le.starOff,children:(0,_a.jsx)("polygon",{points:$m})});var Nt=require("react/jsx-runtime"),Dr=({config:e,id:t,className:r})=>(0,Nt.jsx)("span",{id:t,className:R(ei,e.badgeClassName,r),children:e.name===void 0?e.label:(0,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsx)("span",{"aria-hidden":"true",children:(0,Nt.jsx)("abbr",{title:e.name,children:e.label})}),(0,Nt.jsx)("span",{className:"sr-only",children:e.name})]})});var wa=require("react/jsx-runtime"),wo=24,zm=6,Ar=({className:e})=>(0,wa.jsx)("svg",{viewBox:`0 0 ${wo} ${wo}`,"aria-hidden":"true",className:R(Le.read,e),children:(0,wa.jsx)("circle",{cx:wo/2,cy:wo/2,r:zm,fill:"currentColor"})});var Ul=require("react/jsx-runtime"),Gm=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/,or=({text:e})=>Gm.test(e)?(0,Ul.jsx)("time",{dateTime:e,children:e}):e;var Ne=require("react/jsx-runtime"),Re=({label:e,classNames:t,valueId:r,children:n})=>(0,Ne.jsxs)("div",{className:t.field,children:[(0,Ne.jsx)("dt",{className:t.label,children:e}),(0,Ne.jsx)("dd",{id:r,className:R("m-0",t.value),children:n})]}),jt={field:"flex flex-col gap-1",label:"font-semibold text-slate-600 text-xs uppercase tracking-wide dark:text-slate-400",value:"text-slate-700 text-sm dark:text-slate-200"},Vl=({report:e,visitTimeDisplay:t,labels:r})=>{let n=e.category?.trim(),o=e.creationCategory?.trim();return(0,Ne.jsxs)("dl",{className:"m-0 flex flex-col gap-2 rounded-xl bg-slate-100 p-3 text-slate-600 text-xs dark:bg-slate-800/60 dark:text-slate-300",children:[(0,Ne.jsx)(Re,{label:r.author,classNames:jt,children:ye(e.author)}),(0,Ne.jsx)(Re,{label:r.createdAt,classNames:jt,children:(0,Ne.jsx)(or,{text:fe(e.createdAt)})}),(0,Ne.jsx)(Re,{label:r.updatedBy,classNames:jt,children:ye(e.updatedBy)}),(0,Ne.jsx)(Re,{label:r.updatedAt,classNames:jt,children:(0,Ne.jsx)(or,{text:fe(e.updatedAt)})}),(0,Ne.jsx)(Re,{label:r.businessDate,classNames:jt,children:(0,Ne.jsx)(or,{text:fe(e.date)})}),t!==null&&(0,Ne.jsx)(Re,{label:r.visitTime,classNames:jt,children:t}),n&&(0,Ne.jsx)(Re,{label:r.category,classNames:jt,children:n}),o&&(0,Ne.jsx)(Re,{label:r.creationCategory,classNames:jt,children:o})]})};var de=require("react/jsx-runtime"),No={field:R(Be,"gap-1 whitespace-nowrap bg-slate-100 text-slate-800 dark:bg-slate-800 dark:text-slate-100"),label:"text-slate-600 text-xs uppercase tracking-wide dark:text-slate-400",value:""},jm={field:R(Be,"gap-1 whitespace-nowrap bg-blue-50 font-semibold text-blue-800 text-xs dark:bg-blue-500/15 dark:text-blue-200"),label:"text-blue-700 text-xs uppercase tracking-wide dark:text-blue-300",value:""},Wl={field:R(Be,"gap-1 whitespace-nowrap bg-amber-100 text-amber-900 dark:bg-amber-500/15 dark:text-amber-200"),label:"text-amber-800 text-xs uppercase tracking-wide dark:text-amber-300",value:""},Gl=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:d,sourceConfig:m,visitTimeDisplay:u,markerIds:p,labels:y})=>{let v=r?y.starRemove:y.starAdd,f=t?y.markUnread:y.markRead,D=e.category?.trim(),S=e.creationCategory?.trim();return(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[(0,de.jsx)(cr,{id:p.attachments,count:e.attachments.length,label:y.attachments}),m?(0,de.jsx)(Dr,{id:p.source,config:m}):null,(0,de.jsx)(we,{render:l=>(0,de.jsx)("button",{type:"button",onClick:a,tabIndex:l,className:Ve,title:v,"aria-label":v,"data-detail-star-button":e.reportHubId,children:(0,de.jsx)(Cr,{filled:r})})}),(0,de.jsx)(we,{render:l=>(0,de.jsx)("button",{type:"button",onClick:o,tabIndex:l,className:Ve,title:f,"aria-label":f,"data-detail-read-button":e.reportHubId,children:t?(0,de.jsx)(Kl.default,{className:Le.read}):(0,de.jsx)(Ar,{})})}),i&&(0,de.jsx)(we,{render:l=>(0,de.jsx)("button",{ref:s,type:"button",onClick:i,tabIndex:l,"data-detail-edit-button":e.reportHubId,className:Ve,title:y.edit,"aria-label":y.edit,children:(0,de.jsx)($l.default,{className:Le.edit})})}),n&&(0,de.jsx)(we,{render:l=>(0,de.jsx)("button",{type:"button",onClick:d,tabIndex:l,"data-detail-delete-button":e.reportHubId,className:Ve,title:y.deleteReport,"aria-label":y.deleteReport,children:(0,de.jsx)(zl.default,{className:Le.delete})})}),(0,de.jsxs)("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[(0,de.jsx)(Re,{label:y.id,classNames:jm,children:e.reportHubId}),(0,de.jsx)(Re,{label:y.businessDate,classNames:No,children:(0,de.jsx)(or,{text:fe(e.date)})}),(0,de.jsx)(Re,{label:y.author,classNames:No,children:ye(e.employeeName)}),(0,de.jsx)(Re,{label:y.visitTime,classNames:No,children:ye(u)}),(0,de.jsx)(Re,{label:y.updatedAt,classNames:No,children:(0,de.jsx)(or,{text:fe(e.updatedAt)})}),D&&(0,de.jsx)(Re,{label:y.category,classNames:Wl,children:D}),S&&(0,de.jsx)(Re,{label:y.creationCategory,classNames:Wl,children:S})]})]})};var ot=require("react");var k=require("react"),Ha=require("react-dom");var Lr=e=>({owner:e,focusIndex:null}),Na=Object.freeze({owner:null,focusIndex:null}),jl=(e,t)=>{if(e.length===0)return Na;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:e[r].reportHubId,index:r},focusIndex:r}},Yl=(e,t)=>{switch(t.kind){case"focusIn":return Lr(t.row);case"focusOut":return t.to==="outside"?Na:Lr(e);case"pointerPress":return t.at==="outside"?Na:Lr(e);case"listChanged":{if(e===null)return Lr(e);let r=he(t.items,e.reportHubId,e.index);return r===-1?jl(t.items,e.index):Lr(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Lr(e):jl(t.items,t.selection.index)}};var Ym=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),Oo={capture:!0},Mo=new WeakMap,qm=e=>{let t=o=>{Ym.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,Oo),e.removeEventListener("pointerdown",r,Oo)}};return e.addEventListener("keydown",t,Oo),e.addEventListener("pointerdown",r,Oo),n},ql=e=>{let t=Mo.get(e),r=t===void 0?qm(e):t;t===void 0&&Mo.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),Mo.delete(e)))}},Xl=e=>{let t=Mo.get(e);return t===void 0?null:t.last};var Po=e=>e.matches(":focus-visible")&&Xl(e.ownerDocument)!=="pointer";var Xm="data-daily-report-keyboard-focus",Yt={capture:!0},Zl=e=>{let t=ql(e.ownerDocument),r=s=>{e.toggleAttribute(Xm,xe(s)&&Po(s))},n=s=>r(s.target),o=s=>{xe(s.relatedTarget)&&e.contains(s.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,Yt),e.addEventListener("keydown",n,Yt),e.addEventListener("focusout",o,Yt),e.addEventListener("pointerdown",a,Yt);let i=We(e);return r(i!==null&&e.contains(i)?i:null),()=>{e.removeEventListener("focusin",n,Yt),e.removeEventListener("keydown",n,Yt),e.removeEventListener("focusout",o,Yt),e.removeEventListener("pointerdown",a,Yt),r(null),t()}};var Zm='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',Jm=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],Qm=Jm.map(e=>`[role="${e}"]`).join(", "),ep=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),tp=new Set(["Enter"," "]),rp=new Map([["Home","exitBefore"],["End","exitAfter"]]),Oa=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return rp.get(e.key)??null;let r=ep.get(e.key);return r!==void 0?r:tp.has(e.key)&&t.rowActivation?"activate":null},Jl=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},Ql=(e,t,r)=>{let n=Oa(e,r);if(n===null||e.defaultPrevented||nn(e)||t===null||!xe(e.target)||!t.contains(e.target))return null;let o=Wt(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:Jl(e.target,Zm,t)||Jl(e.target,Qm,t)?null:n};var ko={kind:"stay"},Ho=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},ed=e=>Math.floor(.875*e),qt=(e,t)=>({kind:"move",index:e,align:t}),ln=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",np=({index:e,count:t,viewport:r,focusedRowTop:n,heightOf:o})=>{let a=o(e),i=n+a,s={index:e+1,top:i};for(let d=e+1;d<t;d++){let m=o(d);if(a+=m,a>r)break;s={index:d,top:i},i+=m}return s},op=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>{let o=n(e),a=r,i={index:e-1,top:r-n(e-1)};for(let s=e-1;s>=0;s--){let d=n(s);if(a-=d,o+=d,o>t)break;i={index:s,top:a}}return i},ap=(e,t,r)=>{let{index:n,count:o,viewport:a,focusedRowTop:i,heightOf:s}=t,d=i+s(n);switch(e){case"previous":{if(n===0)return ko;if(r==="top")return qt(n-1,"top");let m=s(n-1);return qt(n-1,ln(i-m,m,a,-1))}case"next":return n===o-1?ko:r==="top"?qt(n+1,"top"):qt(n+1,ln(d,s(n+1),a,1));case"first":return qt(0,"top");case"last":return qt(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(d>a)return{kind:"reveal",delta:Math.min(d-a,ed(a))};if(n===o-1)return ko;let m=np(t);return qt(m.index,ln(m.top,s(m.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,ed(a))};if(n===0)return ko;let m=op(t);return qt(m.index,ln(m.top,s(m.index),a,-1))}}},ip=({index:e,focusedRowTop:t,heightOf:r},n)=>ad(n,{index:e,offsetPx:-t},r),nd=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let d=ap(e,o,n);if(d.kind==="stay")break;d.kind==="reveal"?(i+=d.delta,o={...o,focusedRowTop:o.focusedRowTop-d.delta}):d.align==="none"?o={...o,index:d.index,focusedRowTop:ip(o,d.index)}:(a={index:d.index,align:d.align},i=0,o={...o,index:d.index,focusedRowTop:d.align==="top"?0:o.viewport-o.heightOf(d.index)})}return{index:o.index,alignment:a,scrollDelta:i}},od=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>ln(r,n(e),t,1),ad=(e,t,r)=>{let n=-t.offsetPx;for(let o=t.index;o<e;o++)n+=r(o);for(let o=e;o<t.index;o++)n-=r(o);return n},dn=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=Ho(n);if(n.kind==="uniform")return{index:t,count:r,viewport:o,focusedRowTop:t*n.rowHeight-a,heightOf:i};let s=e.getScrollAnchor();return s===null?null:{index:t,count:r,viewport:o,focusedRowTop:ad(t,s,i),heightOf:i}},td=1,id=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=cn(o,n,t,r);return{start:Math.max(0,o.index-td),end:Math.min(t-1,a+td)}},cn=(e,t,r,n)=>{let o=Ho(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},sd=(e,t)=>e.top<t.top?e.top-t.top:e.bottom>t.bottom?Math.min(e.bottom-t.bottom,e.top-t.top):0,rd=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),ld=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(rd(t,n,o))return t.reportHubId;if(rd(r,n,o))return r.reportHubId;let a=e[n.visibleStartIndex];return a===void 0?null:a.reportHubId};var Pa=1,un=2,Ma=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?Pa:0)|(n===t||n===r?un:0),sp=e=>{if($r(e))return!0;let t=We(e);return t!==null&&e.contains(t)},lp=(e,t)=>{let r=e.closest(`[${Zn}]`);return r!==null&&r!==e&&Qt(r)===t&&We(e)===r},dd={capture:!0},cd=({getContainer:e,initialSelectedId:t})=>{let r={selectedId:t,tabStopId:t,arrivingId:null},n=null,o=null,a=!1,i=null,s=new Map,d=new Map,m=null,u=new Map,p=l=>Ma(r,l),y=l=>{let g=d.get(l);if(g===void 0)return;let T=(p(l)&un)!==0?"0":"-1";g.getAttribute("tabindex")!==T&&g.setAttribute("tabindex",T)},v=()=>{if(n===null)return;let l=n;n=null,y(l)},f=(l,g)=>{v();let T={...r};l(r);let x=r,P=new Set([T.selectedId,T.tabStopId,T.arrivingId,x.selectedId,x.tabStopId,x.arrivingId]);for(let M of P){if(M===null)continue;let $=Ma(T,M),B=Ma(x,M);if($===B)continue;(($^B)&un)!==0&&(M===g?n=M:y(M));let F=s.get(M);if(F!==void 0)for(let J of[...F])J()}},D=l=>{let g=l.ownerDocument,T=n!==null&&!$r(l);T?g.addEventListener("focusout",v,dd):v(),a=!0;try{l.focus({preventScroll:!0})}finally{a=!1,T&&g.removeEventListener("focusout",v,dd),v()}},S=l=>{let g=e();g!==null&&(o=null,sp(g)&&D(l))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:p,setTabStopId:l=>{f(g=>{g.tabStopId=l},null)},settleSelection:(l,g)=>{f(T=>{T.selectedId=l,T.tabStopId=g,T.arrivingId=null},null)},arrive:l=>{f(g=>{g.arrivingId=l},l)},subscribe:(l,g)=>{let T=s.get(l)??new Set;return T.add(g),s.set(l,T),()=>{T.delete(g),T.size===0&&s.get(l)===T&&s.delete(l)}},registerFocusTarget:(l,g)=>{if(d.set(l,g),y(l),o===l){S(g);return}i===null||i.reportHubId!==l||($r(g)||lp(g,l))&&D(g)},unregisterFocusTarget:(l,g)=>{d.get(l)===g&&d.delete(l)},requestFocus:l=>{o=l;let g=d.get(l);g!==void 0&&S(g)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>i,setFocusOwner:l=>{i=l},restoreFocus:l=>{if(i===null||i.reportHubId!==l)return;let g=d.get(l);g===void 0||!$r(g)||D(g)},holdBodiesOutside:l=>{m=l},isBodyHeldAt:l=>m!==null&&(l<m.start||l>m.end),registerHeldBody:(l,g,T)=>{let x={indexHint:g,release:T};return u.set(l,x),()=>{u.get(l)===x&&u.delete(l)}},releaseHeldBodiesWithin:(l,g)=>{if(l!==null)for(let[T,{indexHint:x,release:P}]of[...u]){let M=g(T,x);M>=l.start&&M<=l.end&&P()}}}};var ft={previous:{axis:"row",amount:-1},next:{axis:"row",amount:1},pageBackward:{axis:"page",amount:-1},pageForward:{axis:"page",amount:1},first:{axis:"first",amount:1},last:{axis:"last",amount:1},activate:{axis:"activate",amount:1}},ka=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),dp=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),ud=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),cp=new Map(Object.values(ft).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),md=e=>{let t=cp.get(e);if(t===void 0)throw new Error(`[daily-report] a repeat step must be one of REPEAT_STEPS; got the ${e.axis} axis with ${e.amount}`);return t},up=(e,t,r)=>e==="row"||e==="page"?t+r:r,pd=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:md(e)}),fd=(e,t)=>{switch(t.kind){case"repeat":{let{step:r}=t;if(e.axis!==r.axis)throw new Error(`[daily-report] a ${r.axis} repeat cannot continue a ${e.axis} stream`);return e.fence==="open"?(e.fence="immediate",md(r)):(e.pending=up(e.axis,e.pending,r.amount),ka)}case"frame":{if(e.fence==="open")return ka;if(e.fence==="immediate")return e.fence="flush",dp;if(e.pending===0)return e.fence="open",ka;let r=e.pending;return e.pending=0,{apply:{axis:e.axis,amount:r},flush:!0,requestFrame:!0,ended:!1}}case"keyup":return e.pending===0?ud:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return ud}};var mp=Object.freeze({kind:"frame"}),pp=Object.freeze({kind:"keyup"}),fp=Object.freeze({kind:"cancel"}),bp=Object.freeze({previous:Object.freeze({kind:"repeat",step:ft.previous}),next:Object.freeze({kind:"repeat",step:ft.next}),pageBackward:Object.freeze({kind:"repeat",step:ft.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:ft.pageForward}),first:Object.freeze({kind:"repeat",step:ft.first}),last:Object.freeze({kind:"repeat",step:ft.last}),activate:Object.freeze({kind:"repeat",step:ft.activate})}),yp=(e,t)=>{if(e==="first"||e==="last")return{command:e,count:1};let r=Math.abs(t);return e==="row"?{command:t>0?"next":"previous",count:r}:{command:t>0?"pageForward":"pageBackward",count:r}},Rp=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),gp=e=>{let t=Qt(e),r=Rr(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},Fo=(e,t)=>{let r=(0,k.useCallback)(a=>e.subscribe(t,a),[e,t]),n=(0,k.useCallback)(()=>e.rowStateOf(t),[e,t]),o=(0,k.useSyncExternalStore)(r,n,n);return{isCurrent:(o&Pa)!==0,isTabStop:(o&un)!==0}},Bo=(e,t,r)=>{let[n,o]=(0,k.useState)(()=>!e.isBodyHeldAt(r));return(0,k.useLayoutEffect)(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return(0,k.startTransition)(a),i},[e,t,r,n]),n},bd=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:d,rowActivation:m})=>{let[u]=(0,k.useState)(()=>cd({getContainer:()=>n.current,initialSelectedId:t})),p=(0,k.useRef)({items:e,onSelect:r,rowSizing:s,arrowAlign:d,rowActivation:m}),y=(0,k.useRef)(null),v=(0,k.useRef)(null),[f,D]=(0,k.useState)(null),S=(0,k.useRef)(null),l=(0,k.useRef)(null),[g,T]=(0,k.useState)(null),x=(0,k.useRef)(!1),P=(0,k.useRef)(null),[M,$]=(0,k.useState)(0),B=(0,k.useMemo)(()=>({id:t,indexHint:t===null?null:qi(f,t)}),[t,f]),F=(0,k.useRef)(B);(0,k.useLayoutEffect)(()=>{p.current={items:e,onSelect:r,rowSizing:s,arrowAlign:d,rowActivation:m},F.current=B},[e,r,s,d,m,B]);let J=(0,k.useCallback)((I,c)=>{let b=v.current;if(b!==null&&b.items===I&&b.reportHubId===c)return b.index;let E=he(I,c,b!==null&&b.reportHubId===c?b.index:null);return E!==-1&&(v.current={items:I,reportHubId:c,index:E}),E},[]),V=(0,k.useCallback)((I,c)=>{v.current={items:p.current.items,reportHubId:I,index:c},D(b=>b!==null&&b.reportHubId===I&&b.index===c?b:{reportHubId:I,index:c})},[]),le=(0,k.useCallback)(I=>{let c=u.getFocusOwner();if(c===null)return null;let b=he(I,c.reportHubId,c.index);return b===-1?null:{reportHubId:c.reportHubId,index:b}},[u]),K=(0,k.useCallback)(I=>{let c=p.current.items,b=I===null?null:{reportHubId:I,index:J(c,I)};return ld(c,le(c),b,y.current,P.current)},[J,le]),ue=(0,k.useCallback)(()=>{u.setTabStopId(K(u.getSelectedId()))},[u,K]),Z=(0,k.useCallback)(I=>{let c=u.getFocusOwner();c===I||c!==null&&I!==null&&c.reportHubId===I.reportHubId&&c.index===I.index||(u.setFocusOwner(I),x.current||ue())},[u,ue]),j=(0,k.useCallback)(I=>{let c=Yl(u.getFocusOwner(),I);Z(c.owner),c.focusIndex!==null&&(S.current=c.focusIndex,u.requestFocus(c.owner.reportHubId))},[u,Z]);(0,k.useLayoutEffect)(()=>{u.settleSelection(t,K(t))},[u,t,e,M,K]),(0,k.useLayoutEffect)(()=>{let I=o.current;if(I!==null)return Zl(I)},[o]),(0,k.useLayoutEffect)(()=>{let I=n.current;if(I===null)return;let c=I.ownerDocument,b=E=>{let L=n.current,_=E.target;j({kind:"pointerPress",at:L!==null&&xe(_)&&L.contains(_)?"inside":"outside"})};return c.addEventListener("pointerdown",b,{capture:!0}),()=>c.removeEventListener("pointerdown",b,{capture:!0})},[n,j]),(0,k.useLayoutEffect)(()=>{let I=u.pendingFocusId();I!==null&&he(e,I,S.current)===-1&&u.cancelFocusRequest(),j({kind:"listChanged",items:e})},[u,e,j]);let Ce=(0,k.useCallback)(I=>{j({kind:"removed",reportHubId:I,selection:v.current,items:p.current.items})},[j]),pe=(0,k.useCallback)((I,c,b)=>{let{items:E,onSelect:L,rowSizing:_,arrowAlign:w}=p.current,G=a.current;if(L===null||G===null)return null;let h=he(E,b.reportHubId,b.index);if(h===-1)return null;let C=dn(G,h,E.length,_);if(C===null)return null;let N=nd(I,c,C,w),Y=E[N.index],ve=N.index!==h;if(ve){u.arrive(Y.reportHubId),P.current=Y.reportHubId,S.current=N.index,x.current=!0;try{u.requestFocus(Y.reportHubId)}finally{x.current=!1}}try{(0,Ha.flushSync)(()=>{ve&&(u.pendingFocusId()===null&&u.settleSelection(Y.reportHubId,Y.reportHubId),L(Y.reportHubId,N.index)),N.alignment!==null&&i.toIndex(N.alignment.index,{align:N.alignment.align}),N.scrollDelta!==0&&i.by(N.scrollDelta),ve&&(V(Y.reportHubId,N.index),$(Rt=>Rt+1));let ut=id(G,E.length,_);u.holdBodiesOutside(ut),u.releaseHeldBodiesWithin(ut,(Rt,gn)=>he(E,Rt,gn))})}finally{u.holdBodiesOutside(null)}return ve?{reportHubId:Y.reportHubId,index:N.index}:{reportHubId:b.reportHubId,index:h}},[u,a,i,V]),Ue=(0,k.useCallback)(I=>{let{items:c,onSelect:b}=p.current;if(b===null)return;let E=he(c,I.reportHubId,I.index);E!==-1&&(b(I.reportHubId,E),V(I.reportHubId,E))},[V]),ze=(0,k.useCallback)(I=>{let c=n.current,b=c===null?null:We(c),E=c!==null&&b!==null&&c.contains(b)?zr(Wt(b,c),p.current.items):null;return E===null?I.origin:E},[n]),ie=(0,k.useCallback)((I,c)=>{let b=ze(I);if(c.axis==="activate"){Ue(b);return}let E=yp(c.axis,c.amount),L=pe(E.command,E.count,b);L!==null&&(I.origin=L)},[ze,Ue,pe]),De=(0,k.useCallback)(I=>{l.current=null,I.frame!==0&&I.view.cancelAnimationFrame(I.frame),T(null)},[]),lt=(0,k.useCallback)((I,c,b)=>{let{apply:E}=c;E!==null&&(c.flush?(0,Ha.flushSync)(()=>ie(I,E)):ie(I,E)),l.current===I&&(c.ended?De(I):c.requestFrame&&(I.frame=I.view.requestAnimationFrame(b)))},[ie,De]),Ae=(0,k.useCallback)((I,c,b)=>{lt(I,fd(I.state,c),b)},[lt]),Se=(0,k.useCallback)(()=>{let I=l.current;I!==null&&(I.frame=0,Ae(I,mp,Se))},[Ae]),dt=(0,k.useCallback)(()=>{let I=l.current;I!==null&&Ae(I,pp,Se)},[Ae,Se]),ct=(0,k.useCallback)(()=>{let I=l.current;I!==null&&Ae(I,fp,Se)},[Ae,Se]),Mt=(0,k.useCallback)((I,c,b)=>{T(F.current);let{state:E,effects:L}=pd(ft[I]),_={state:E,origin:c,view:b,frame:0};l.current=_,lt(_,L,Se)},[lt,Se]);(0,k.useLayoutEffect)(()=>()=>{let I=l.current;l.current=null,I!==null&&I.frame!==0&&I.view.cancelAnimationFrame(I.frame)},[]);let Pt=(0,k.useCallback)(I=>{let c=l.current,b=c!==null&&I.repeat?Oa(I,p.current):null;if(c!==null&&b!==null&&b!=="exitBefore"&&b!=="exitAfter"&&ft[b].axis===c.state.axis){I.preventDefault(),Ae(c,bp[b],Se);return}let{items:E,onSelect:L,rowSizing:_,rowActivation:w}=p.current,G=n.current,h=L===null?null:Ql(xo(I),G,{rowActivation:w});if(u.cancelFocusRequest(),dt(),h===null||G===null)return;if(h==="exitBefore"||h==="exitAfter"){let Y=js(G,h==="exitBefore"?"before":"after");if(Y===null)return;I.preventDefault(),Y.focus();return}let C=We(G),N=zr(Wt(C!==null&&G.contains(C)?C:I.target,G),E);if(N!==null){if(h!=="activate"){let Y=a.current;if(Y===null||dn(Y,N.index,E.length,_)===null)return}if(I.preventDefault(),I.repeat){Mt(h,N,Ye(G));return}h==="activate"?Ue(N):pe(h,1,N)}},[u,n,a,Se,Ae,dt,Mt,Ue,pe]),kt=(0,k.useCallback)(()=>{dt()},[dt]),Je=(0,k.useCallback)(I=>{let c=n.current,b=I.target,E=Wt(b,c);if(j({kind:"focusIn",row:E===null?null:gp(E)}),u.isMovingFocus())return;let L=a.current;if(c===null||L===null||!xe(b)||!Po(b))return;let _=E===null?null:E.closest('[role="list"]');if(E===null||_===null)return;let w=_.getBoundingClientRect(),G=E.getBoundingClientRect(),h=G.height<=w.height?G:Rp(b.getBoundingClientRect(),Ft),C=sd(h,w),N=L.getViewportSize();C===0||!(N>0&&w.height>0)||i.by(C*N/w.height)},[u,n,a,i,j]),Fe=(0,k.useCallback)(I=>{let c=n.current,b=I.relatedTarget,E=xe(b)?c?.contains(b)?"view":"outside":"nowhere";E!=="view"&&ct(),j({kind:"focusOut",to:E})},[n,ct,j]),Ge=(0,k.useCallback)(()=>{u.cancelFocusRequest(),ct()},[u,ct]),Et=(0,k.useCallback)(I=>{y.current={visibleStartIndex:I.visibleStartIndex,visibleEndIndex:I.visibleEndIndex},P.current=null,ue()},[ue]),Qe=(0,k.useMemo)(()=>({onKeyDown:Pt,onKeyUp:kt,onPointerDownCapture:Ge,onWheelCapture:Ge,onTouchStartCapture:Ge,onFocus:Je,onBlur:Fe}),[Pt,kt,Ge,Je,Fe]);return{cursor:u,containerProps:Qe,handleRangeChange:Et,selection:B,settledSelection:g===null?B:g,resolveSelectedIndex:J,rememberSelection:V,focusAfterRemoval:Ce}};var Uo=require("react/jsx-runtime"),hp=R(Bt,vn,En,Sn,"h-full"),Sp="h-full w-full",yd=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:d}=Fo(a,e),m=(0,ot.useContext)(Ct),u=(0,ot.useContext)(It),p=Bo(a,e,m),y=(0,ot.useRef)(null),v=(0,ot.useRef)(null),f=(0,ot.useCallback)(D=>(y.current=D,a.registerFocusTarget(e,D),()=>{y.current=null,a.unregisterFocusTarget(e,D)}),[a,e]);return(0,ot.useLayoutEffect)(()=>{let D=y.current,S=D===null||!p?null:D.firstElementChild,l=S instanceof HTMLElement?S:null,g=v.current;g!==null&&g.body===l||(g!==null&&g.stop(),v.current=l===null?null:{body:l,stop:o(l)})}),(0,ot.useLayoutEffect)(()=>()=>{v.current?.stop(),v.current=null},[]),(0,ot.useLayoutEffect)(()=>{a.restoreFocus(e)},[a,e,n]),(0,Uo.jsx)(en.Provider,{value:d,children:(0,Uo.jsx)("div",{ref:f,className:hp,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":m+1,"aria-setsize":u,"aria-labelledby":p&&t.kind==="card"?t.ids.heading:void 0,"aria-describedby":p&&t.kind==="card"?t.describedBy:void 0,"aria-label":t.kind==="label"?t.label:void 0,"aria-busy":r||!p?!0:void 0,"aria-current":s?"true":void 0,children:p?i:(0,Uo.jsx)("div",{...je,className:Sp})})})};var H=require("react/jsx-runtime"),vp=R("flex w-full flex-col",gt,In,Pr),Ep=R(gt,Pr),Tp=R("rounded-2xl",Pr),xp=R("rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-700 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",Pr),He="bg-slate-200 dark:bg-slate-700",Ip=(e,t)=>{let r=ye(e.name);return e.affiliation?.trim()?t.interviewerWithAffiliation(r,e.affiliation):r},Cp=()=>(0,H.jsxs)("div",{...je,className:Ep,children:[(0,H.jsxs)("div",{className:"mb-4 flex flex-wrap gap-2",children:[(0,H.jsx)("div",{className:R("h-6 w-20 rounded-full",He)}),(0,H.jsx)("div",{className:R("h-6 w-24 rounded-full",He)}),(0,H.jsx)("div",{className:R("h-6 w-24 rounded-full",He)}),(0,H.jsx)("div",{className:R("h-6 w-28 rounded-full",He)})]}),(0,H.jsxs)("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,H.jsxs)("div",{className:"space-y-4",children:[(0,H.jsx)("div",{className:R("h-5 w-40 rounded",He)}),(0,H.jsx)("div",{className:R("h-5 w-56 rounded",He)}),(0,H.jsx)("div",{className:R("h-24 rounded-xl",He)})]}),(0,H.jsxs)("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[(0,H.jsx)("div",{className:R("mb-2 h-4 w-24 rounded",He)}),(0,H.jsx)("div",{className:R("mb-2 h-4 w-28 rounded",He)}),(0,H.jsx)("div",{className:R("h-4 w-32 rounded",He)})]})]}),(0,H.jsxs)("div",{className:"space-y-4",children:[(0,H.jsx)("div",{className:R("h-4 w-24 rounded",He)}),(0,H.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,H.jsx)("div",{className:R("h-6 w-16 rounded-full",He)}),(0,H.jsx)("div",{className:R("h-6 w-16 rounded-full",He)}),(0,H.jsx)("div",{className:R("h-6 w-16 rounded-full",He)})]}),(0,H.jsxs)("div",{className:"space-y-2",children:[(0,H.jsx)("div",{className:R("h-16 rounded-xl",He)}),(0,H.jsx)("div",{className:R("h-16 rounded-xl",He)})]})]})]}),Dp=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:d}=Vt(e.reportHubId,e.businessDate),{removeStaleItem:m}=Pe(),{draftLabelName:u,sourceTypeConfigs:p}=U(),y=Kt(),v=co(e.reportHubId),f=v==="editing"||v==="automatic",D=(0,me.useRef)(!1),S=(0,me.useRef)(!1),l=(0,me.useRef)(!1);(0,me.useEffect)(()=>{if(d){l.current=!0;return}!(a||s||i)&&l.current&&e.reportHubId>0&&m(e.reportHubId)},[a,s,d,i,e.reportHubId,m]);let g=a?.labels.some(pe=>pe.name===u),T=n&&a?.userId===n,x=(0,me.useMemo)(()=>a===null?void 0:()=>{D.current=!0,y.open(e.reportHubId,Ir(a),!1)},[y,e.reportHubId,a]),P=(0,me.useCallback)(()=>{S.current=!0,y.dismiss(e.reportHubId)},[y,e.reportHubId]),M=(0,me.useCallback)(()=>{S.current=!0,y.discard(e.reportHubId)},[y,e.reportHubId]),$=(0,me.useCallback)(pe=>{pe===null||!D.current||(D.current=!1,pe.focus())},[]),B=(0,me.useCallback)(pe=>{pe===null||!S.current||(S.current=!1,pe.focus())},[]);(0,me.useLayoutEffect)(()=>{f||(S.current=!1)},[f]),(0,me.useEffect)(()=>{a!==null&&(T&&g&&v==="display"?y.open(e.reportHubId,Ir(a),!0):!g&&v==="automatic"&&y.discard(e.reportHubId))},[a,T,g,v,y,e.reportHubId]);let F=(0,me.useCallback)(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),J=(0,me.useId)(),V=(0,me.useMemo)(()=>({heading:`${J}-heading`,state:`${J}-state`,attachments:`${J}-attachments`,source:`${J}-source`}),[J]),le=a!==null&&a.attachments.length>0,K=a===null?void 0:Ut(a.sourceType,p),ue=[V.state,...le?[V.attachments]:[],...K!==void 0?[V.source]:[]].join(" "),Z=!i&&a!==null&&!f?{kind:"card",ids:V,describedBy:ue}:{kind:"label",label:fe(e.businessDate)},j=!i&&a===null&&s,Ce=i?"error":a===null?s?"loading":"missing":f?"editing":"resolved";return(0,H.jsx)(yd,{itemId:e.reportHubId,name:Z,isBusy:j,bodyKind:Ce,observeRowHeight:t,cursor:o,children:i?(0,H.jsx)(Ap,{itemId:e.reportHubId}):a?f?(0,H.jsx)("div",{...je,className:Tp,children:(0,H.jsx)(Ao,{report:a,onCancel:P,onPublishSuccess:M,titleInputRef:$})}):(0,H.jsx)(gd,{item:e,report:a,sourceConfig:K,textIds:V,onCommentAdded:r,userId:n,onEdit:T?x:void 0,editButtonRef:B,onCommentSectionRemoved:F}):(0,H.jsx)(Cp,{})})},Rd=(0,me.memo)(Dp),gd=(0,me.memo)(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:d})=>{let{toggleStar:m,toggleRead:u,pendingStarUpdates:p,pendingReadUpdates:y,deleteReport:v}=Pe(),{labels:f,headingLevel:D}=U(),S=$t[D],l=Pn(t.sourceType,r),g=(0,me.useCallback)(()=>o?.(e.reportHubId),[o,e.reportHubId]),T=p.current.get(t.reportHubId),x=T===void 0?t.isStarred:T,P=y.current.get(t.reportHubId),M=P===void 0?t.isRead:P,$=!!(a&&t.userId===a),B=async()=>{try{await u(t.reportHubId,!M,t.date)}catch{}},F=async()=>{try{await m(t.reportHubId,!x,t.date)}catch{}},J=async()=>{confirm(f.confirmDelete)&&await v(t.reportHubId,t.date)},V=(0,me.useMemo)(()=>t.content?t.content.replace(/<br\s*\/??\s*>/gi,`
4
- `).trim():"",[t.content]),le=(0,me.useMemo)(()=>{let K=t.visitTimeFrom?.trim(),ue=t.visitTimeTo?.trim();return K&&ue?`${K} - ${ue}`:K||ue||null},[t.visitTimeFrom,t.visitTimeTo]);return(0,H.jsxs)("div",{...je,onDoubleClick:i,className:vp,children:[(0,H.jsx)(qe,{level:D,id:n.heading,className:"sr-only",children:`${fe(t.date)} ${ye(t.employeeName)} ${ye(t.subject)}`}),(0,H.jsx)("span",{id:n.state,className:"sr-only",children:f.rowState({isRead:M,isStarred:x})}),(0,H.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,H.jsx)(Gl,{report:t,sourceConfig:r,isRead:M,isStarred:x,isMine:$,onToggleRead:B,onToggleStar:F,onEdit:i,editButtonRef:s,onDelete:J,visitTimeDisplay:le,markerIds:n,labels:f}),(0,H.jsxs)("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,H.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,H.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,H.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,H.jsx)(qe,{level:S,className:Tt,children:f.customer}),(0,H.jsx)("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:ye(t.customerName)})]}),(0,H.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,H.jsx)(qe,{level:S,className:Tt,children:f.subject}),(0,H.jsx)("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:ye(t.subject)})]})]}),V&&(0,H.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,H.jsx)(qe,{level:S,className:Tt,children:f.content}),(0,H.jsx)("div",{className:R("whitespace-pre-wrap",xn),children:V})]}),t.interviewers.length>0&&(0,H.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,H.jsx)(qe,{level:S,className:Tt,children:f.interviewers}),(0,H.jsx)("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map(K=>(0,H.jsx)("li",{className:R(Be,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:Ip(K,f)},JSON.stringify([K.name,K.affiliation])))})]}),(0,H.jsx)(Eo,{attachments:t.attachments}),(0,H.jsx)(an,{report:t,userId:a,canComment:l,onCommentAdded:g,onSectionRemoved:d,formPlacement:"after-section"})]}),(0,H.jsx)(Vl,{report:t,visitTimeDisplay:le,labels:f})]})]})]})});gd.displayName="DailyReportResolvedItem";var Ap=({itemId:e})=>{let{labels:t}=U();return(0,H.jsx)("div",{...je,className:xp,children:(0,H.jsx)("p",{children:t.reportLoadFailed(e)})})};var vt=require("react");var at=require("react");var Lp=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e[o]?.reportHubId!==t[o]?.reportHubId)return!0;return!1},_p=(e,t,r,n)=>{let o=e*r+t,a=Math.min(Math.max(Math.floor(o/r),0),n-1);return{index:a,offsetPx:o-a*r}},wp=(e,t,r,n)=>{let o=e,a=t;for(;a<0&&o>0;)o-=1,a+=r(o);for(;o<n-1&&a>=r(o);)a-=r(o),o+=1;return{index:o,offsetPx:a}},Np=(e,t,r,n,o)=>{if(t===e.recordedAt)return e;if(!(t>0))return null;let a=e.offsetPx+(t-e.recordedAt),{index:i,offsetPx:s}=n.kind==="uniform"?_p(e.index,a,n.rowHeight,r.length):wp(e.index,a,Ho(n),r.length);return{reportHubId:r[i].reportHubId,index:i,offsetPx:s,lastVisibleIndex:cn({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},Op=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=he(t,e[n].reportHubId,n-1);if(o!==-1)return o}return-1},hd=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=(0,at.useRef)(null),a=(0,at.useRef)(e),i=(0,at.useRef)(r),s=(0,at.useCallback)(()=>{let m=t.current,u=m===null?-1:m.getScrollPosition(),p=m===null||!(u>0)?null:m.getScrollAnchor(),y=a.current,v=p===null?void 0:y[p.index],f=m===null?0:m.getViewportSize();o.current=p===null||v===void 0||!(f>0)?null:{reportHubId:v.reportHubId,index:p.index,offsetPx:p.offsetPx,lastVisibleIndex:cn(p,f,y.length,i.current),recordedAt:u}},[t]),d=(0,at.useMemo)(()=>({toIndex:(m,u)=>{let p=t.current;p!==null&&(p.scrollToIndex(m,u),s())},by:m=>{let u=t.current;u!==null&&(u.scrollBy(m),s())},resizeRow:(m,u)=>{let p=t.current;p!==null&&(p.updateItemSize(m,u),s())}}),[t,s]);return(0,at.useLayoutEffect)(()=>{let m=a.current;a.current=e;let u=o.current,p=t.current;if(m===e||u===null||p===null||n())return;let y=Np(u,p.getScrollPosition(),m,i.current,p.getViewportSize());if(y===null){o.current=null;return}let v=he(e,y.reportHubId,y.index),f=v===-1?Op(m,e,y):v;if(f===-1){o.current=null;return}if(f===y.index&&!Lp(m,e,y.index,y.lastVisibleIndex)){o.current=y;return}p.scrollToIndex(f,{align:"top",offset:-y.offsetPx}),o.current={reportHubId:e[f].reportHubId,index:f,offsetPx:y.offsetPx,lastVisibleIndex:cn({index:f,offsetPx:y.offsetPx},p.getViewportSize(),e.length,r),recordedAt:p.getScrollPosition()}},[e,t,r,n]),(0,at.useLayoutEffect)(()=>{i.current=r},[r]),(0,at.useMemo)(()=>({handleRangeChange:s,handleScrollAdjust:s,scroller:d}),[s,d])};var Sd=require("react"),Mp=20,vd=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>(0,Sd.useCallback)(a=>{t.current=a;let i=a.querySelector(`[data-testid="${e}"]`);return i!==null&&Object.defineProperty(i,"__virtualScroll",{configurable:!0,get:()=>{let s=r.current;if(s!==null)return{getViewportSize:()=>s.getViewportSize(),getScrollPosition:()=>s.getScrollPosition(),getScrollAnchor:()=>s.getScrollAnchor(),getRange:()=>s.getRange(),getFenwickSize:()=>s.getFenwickSize(),findReportIndex:d=>o.current.findIndex(m=>m.reportHubId===d),getReportItem:d=>o.current[d],getReportIds:(d=Mp)=>o.current.slice(0,d).map(m=>m.reportHubId),revealIndex:(d,m)=>n.toIndex(d,m)}}}),()=>{i!==null&&delete i.__virtualScroll,t.current=null}},[e,t,r,n,o]);var Ed=require("react/jsx-runtime"),Vo=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let i=(0,vt.useRef)(null),s=(0,vt.useCallback)(x=>(i.current=x,()=>{i.current=null}),[]),{handleRangeChange:d,handleScrollAdjust:m,scroller:u}=hd({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:p,...y}=bd({...a,containerRef:e,handleRef:i,scroller:u}),v=vd({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:u,itemsRef:r}),{labels:f}=U(),D=(0,vt.useId)(),S=a.onSelect!==null,l=(0,vt.useCallback)(x=>{p(x),d(),o(x)},[p,d,o]),g=(0,vt.useMemo)(()=>({role:"list","aria-label":f.title,"aria-describedby":S?D:void 0}),[f.title,S,D]),T=(0,vt.useMemo)(()=>S?(0,Ed.jsx)("span",{id:D,className:"sr-only",children:f.listKeyboardHelp}):null,[S,D,f.listKeyboardHelp]);return{...y,handleRangeChange:l,handleScrollAdjust:m,attachVirtualScroll:s,handleRef:i,scroller:u,attachScrollContainer:v,contentProps:g,keyboardHelp:T}};var Xe=require("react/jsx-runtime"),Id={pointerDragInputs:Wn,wheelSpeedMultiplier:kn,inertiaOptions:gr(!1),enableKeyboardNavigation:!1},Pp={...Id,inertiaOptions:gr(!0)},Td="daily-report-detail-list",kp=R("relative w-full",Ln,Dn),Hp=R(et,"relative"),Fp=300,Wo=e=>{let t=(0,W.useRef)(null),[r,n]=(0,W.useState)(null),o=Xn(t),a=hr(r),i=(0,W.useCallback)(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return(0,Xe.jsx)("div",{ref:i,className:Cn,children:o===null?null:(0,Xe.jsx)(Bp,{...e,viewportHeight:o,reducedMotion:a})})},Bp=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:i,reducedMotion:s})=>{let[{initialScrollAnchor:d,restored:m}]=(0,W.useState)(()=>{let h=a?.current;if(!h||h.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!h.topItem)return{initialScrollAnchor:void 0,restored:!0};let C=e.findIndex(N=>N.reportHubId===h.topItem?.reportHubId);return C!==-1?{initialScrollAnchor:{index:C,offsetPx:h.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:h.topItem.index,offsetPx:0},restored:!0}}),u=(0,W.useRef)(m),p=(0,W.useRef)(n??null),y=(0,W.useRef)(a?.current.measuredHeights??new Map),v=(0,W.useRef)(null),f=Gn(),D=zn(),[S]=(0,W.useState)(Qn),l=(0,W.useRef)(null),g=(0,W.useRef)(null),T=(0,W.useRef)(e),x=(0,W.useRef)(o);(0,W.useLayoutEffect)(()=>{T.current=e,x.current=o},[e,o]);let P=(0,W.useRef)(null),[M,$]=(0,W.useState)(0),B=(0,W.useRef)(null),F=e.length,J=t===void 0?F:t,V=(0,W.useCallback)(h=>h>=F?Fn:e[h],[e,F]),le=(0,W.useCallback)(h=>{let C=y.current.get(V(h).reportHubId);return C===void 0?Li:C},[V]),K=(0,W.useCallback)(h=>V(h).reportHubId,[V]),ue=(0,W.useMemo)(()=>({kind:"measured",heightOf:le}),[le]),Z=(0,W.useCallback)((h,C)=>{P.current={reportHubId:h,index:C},$(N=>N+1),x.current?.(h)},[]),j=(0,W.useCallback)((h,C)=>{if(F===0)return;let N=Math.max(0,h),Y=Math.min(F-1,C);if(N>Y)return;let ve=new Set;for(let ut=N;ut<=Y;ut++){let Rt=V(ut);if(Rt.businessDate&&ve.add(Rt.businessDate),ve.size>=Ci)break}ve.forEach(ut=>{D(ut)})},[V,F,D]),Ce=(0,W.useCallback)(h=>{if(F===0)return;let{renderingStartIndex:C,renderingEndIndex:N,visibleStartIndex:Y}=h,ve=V(Y);ve.businessDate&&S.setLabel(fe(ve.businessDate)),j(C,N),j(N+1,N+Hn),j(C-Hn,C-1)},[V,F,j,S]),pe=(0,W.useCallback)(()=>B.current!==null,[]),{cursor:Ue,containerProps:ze,handleRangeChange:ie,handleScrollAdjust:De,attachVirtualScroll:lt,handleRef:Ae,scroller:Se,attachScrollContainer:dt,contentProps:ct,keyboardHelp:Mt,resolveSelectedIndex:Pt,rememberSelection:kt}=Vo({items:e,selectedId:n??null,onSelect:o===void 0?null:Z,containerRef:v,rootRef:v,testId:Td,itemsRef:T,rowSizing:ue,arrowAlign:"top",rowActivation:!0,isViewRevealPending:pe,onRangeChange:Ce}),Je=(0,W.useCallback)((h,C)=>{if(Ae.current===null)return!1;let N=T.current,Y=C!==null&&C.reportHubId===h?he(N,h,C.index):Pt(N,h);return Y===-1?!1:(u.current&&(u.current=!1,h===p.current)||C!==null&&C.reportHubId===h&&C.index===Y||Se.toIndex(Y,{align:"top"}),!0)},[Ae,Pt,Se]);(0,W.useEffect)(()=>{let h=P.current;P.current=null,B.current=null,n!=null&&(Je(n,h)||(B.current=n))},[n,Je]),(0,W.useEffect)(()=>{let h=B.current;h!==null&&Je(h,null)&&(B.current=null)},[e,Je]),(0,W.useEffect)(()=>{let h=a?.current;h&&(h.anchorReportHubId=n??null)},[n,a]),(0,W.useEffect)(()=>{P.current=null},[M]);let Fe=(0,W.useRef)(null),Ge=(0,W.useCallback)(()=>{Ae.current&&(Fe.current=Ae.current);let h=a?.current,C=Fe.current;if(h&&C){let Y=C.getScrollAnchor(),ve=Y?T.current[Y.index]:void 0;Y&&ve&&(h.topItem={reportHubId:ve.reportHubId,index:Y.index,offsetPx:Y.offsetPx})}let N=v.current;N&&(N.toggleAttribute(lr,!0),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{N.toggleAttribute(lr,!1),g.current=null},150))},[Ae,a]),Et=(0,W.useCallback)(h=>(0,Xe.jsx)(eo,{...h,store:S}),[S]);(0,W.useEffect)(()=>{let h=v.current;if(!h)return;let C=()=>{S.setWheelScrollActive(!0),l.current&&clearTimeout(l.current),l.current=window.setTimeout(()=>{S.setWheelScrollActive(!1),l.current=null},Bn)};return h.addEventListener("wheel",C,{passive:!0}),()=>{h.removeEventListener("wheel",C),l.current&&clearTimeout(l.current)}},[S]);let Qe=(0,W.useRef)(null),I=(0,W.useCallback)(h=>{for(let C of h){let N=C.target.parentElement,Y=N===null?null:Qt(N),ve=N===null?null:Rr(N),ut=C.borderBoxSize[0];if(Y===null||ve===null||ut===void 0)continue;let Rt=ut.blockSize+2*Ft;if(y.current.get(Y)===Rt)continue;let gn=he(T.current,Y,ve-1);gn!==-1&&(y.current.set(Y,Rt),Se.resizeRow(gn,Rt))}},[Se]),c=(0,W.useCallback)(h=>{Qe.current===null&&(Qe.current=new ResizeObserver(I));let C=Qe.current;return C.observe(h),()=>C.unobserve(h)},[I]);(0,W.useEffect)(()=>()=>{Qe.current?.disconnect(),Qe.current=null},[]),(0,W.useEffect)(()=>{F!==0&&j(0,Math.min(F-1,Hn))},[F,j]);let b=(0,W.useRef)(null),E=(0,W.useCallback)(h=>{let C=he(T.current,h,null);C!==-1&&(b.current!==null&&clearTimeout(b.current),b.current=setTimeout(()=>{b.current=null;let N=he(T.current,h,C);N!==-1&&Se.toIndex(N,{align:"bottom"})},Fp))},[Se]);(0,W.useEffect)(()=>()=>{b.current!==null&&clearTimeout(b.current)},[]);let L=(0,W.useCallback)(h=>{if(!x.current)return;let C=Wt(h.target,v.current);if(C===null||Qi(h.target,C))return;let N=zr(C,T.current);N!==null&&(kt(N.reportHubId,N.index),Z(N.reportHubId,N.index))},[Z,kt]),_=(0,W.useCallback)((h,C)=>(0,Xe.jsx)(Ct.Provider,{value:C,children:(0,Xe.jsx)(Rd,{item:h,observeRowHeight:c,onCommentAdded:E,userId:r,cursor:Ue})},h.reportHubId),[c,E,r,Ue]),w=(0,W.useMemo)(()=>({...Vn,renderThumbOverlay:Et}),[Et]),G=(0,W.useMemo)(()=>(0,Xe.jsx)(It.Provider,{value:J,children:(0,Xe.jsx)(xd.VirtualScroll,{ref:lt,itemCount:F,getItem:V,getItemKey:K,getItemHeight:le,viewportSize:i,initialScrollAnchor:d,overscanCount:Un,scrollBarOptions:w,behaviorOptions:s?Pp:Id,onRangeChange:ie,onScrollAdjust:De,onScroll:Ge,testId:Td,className:kp,locale:f.locale,labels:f.labels,contentProps:ct,children:_})}),[lt,J,F,V,K,le,i,s,d,w,ie,De,Ge,f.locale,f.labels,ct,_]);return(0,Xe.jsx)(Xe.Fragment,{children:(0,Xe.jsxs)("div",{ref:dt,className:Hp,...ze,onClick:L,children:[Mt,G]})})};var Fa=Ee(require("lucide-react/dist/esm/icons/refresh-cw.js")),Cd=require("react");var ar=require("react");var mn=(e,t,r=250)=>{let n=hr(t),[o,a]=(0,ar.useState)(e),i=(0,ar.useRef)(e),s=(0,ar.useRef)(!0);return(0,ar.useEffect)(()=>{if(s.current){s.current=!1,i.current=e,a(e);return}let d=i.current;if(d===e)return;if(n||t===null){i.current=e,a(e);return}let m=Ye(t),u=null,p=null,y=v=>{p===null&&(p=v);let f=Math.min(1,Math.max(0,(v-p)/r)),D=1-(1-f)**3,S=Math.round(d+(e-d)*D);i.current=S,a(S),f<1&&(u=m.requestAnimationFrame(y))};return u=m.requestAnimationFrame(y),()=>{u!==null&&m.cancelAnimationFrame(u)}},[e,r,n,t]),n?e:o};var bt=require("react/jsx-runtime"),Up=({loadedCount:e,totalCount:t})=>{let{labels:r}=U(),[n,o]=(0,Cd.useState)(null),a=mn(e,n),i=mn(t===null?0:t,n),s=t!==null&&t>0?Math.min(100,Math.round(e/t*100)):null;return(0,bt.jsxs)("span",{ref:o,"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:R(Be,"gap-1 bg-blue-100 font-medium text-blue-800 text-xs tabular-nums dark:bg-blue-900/40 dark:text-blue-300"),children:[(0,bt.jsx)("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 motion-safe:animate-pulse dark:bg-blue-400"}),s!==null?r.streamProgressRatio(a,i,s):r.streamProgressCount(a)]})},_r=()=>{let e=nt(),{labels:t}=U();return e.phase==="streaming"?(0,bt.jsx)(Up,{loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?(0,bt.jsxs)("span",{role:"status","data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:R(Be,"gap-1 bg-amber-100 font-medium text-amber-800 text-xs tabular-nums dark:bg-amber-900/40 dark:text-amber-300"),children:[(0,bt.jsx)(Fa.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?(0,bt.jsxs)("span",{role:"status","data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:R(Be,"gap-1 bg-rose-100 font-medium text-rose-800 text-xs dark:bg-rose-900/40 dark:text-rose-300"),children:[t.streamFailed,(0,bt.jsx)("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:()=>so(),className:R("inline-flex h-5 items-center rounded-full bg-rose-200 px-2 font-semibold text-rose-900 hover:bg-rose-300 dark:bg-rose-800 dark:text-rose-100 dark:hover:bg-rose-700",re),children:t.streamRetry})]}):e.isRevalidating?(0,bt.jsxs)("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"revalidating",className:"inline-flex items-center gap-1 text-slate-500 text-xs dark:text-slate-400",children:[(0,bt.jsx)(Fa.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null};var ir=require("@aiquants/resize-panels"),Qd=require("@aiquants/virtualscroll"),ee=require("react");var Dd=require("react"),Ad="(max-width: 639px)",Vp=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};let t=window.matchMedia(Ad);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},Wp=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(Ad).matches:!1,Kp=()=>!1,Ld=()=>(0,Dd.useSyncExternalStore)(Vp,Wp,Kp);var it=require("@aiquants/swipe-overlay"),te=require("react");var Ko=require("react");var _d=Object.freeze({id:null,indexHint:null}),$o=(0,Ko.createContext)(Object.freeze({selected:_d,settled:_d})),pn=(e,t)=>{let{id:r,indexHint:n}=t;return(0,Ko.useMemo)(()=>{if(r===null)return null;let o=he(e,r,n);return o===-1?null:e[o]},[e,r,n])};var Hd=Ee(require("lucide-react/dist/esm/icons/check.js")),Fd=Ee(require("lucide-react/dist/esm/icons/pencil.js")),Bd=Ee(require("lucide-react/dist/esm/icons/trash-2.js")),Q=require("react");var Ot=Ee(require("@radix-ui/react-tabs")),Ze=Ee(require("react"));var wr=require("react/jsx-runtime"),wd=Ze.createContext(null),Nd=e=>{let t=Ze.useContext(wd);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},Od=(e,t)=>`${e}-trigger-${t}`,Md=(e,t)=>`${e}-panel-${t}`,fn=Ze.forwardRef(({value:e,children:t,...r},n)=>{let o=Ze.useId(),a=Ze.useMemo(()=>({baseId:o,value:e}),[o,e]);return(0,wr.jsx)(Ot.Root,{ref:n,value:e,...r,children:(0,wr.jsx)(wd,{value:a,children:t})})});fn.displayName=Ot.Root.displayName;var bn=Ze.forwardRef(({className:e,...t},r)=>(0,wr.jsx)(Ot.List,{ref:r,className:R("inline-flex",e),...t}));bn.displayName=Ot.List.displayName;var yn=Ze.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=Nd("TabsTrigger");return(0,wr.jsx)(Ot.Trigger,{ref:n,value:t,...r,id:Od(o,t),"aria-controls":Md(o,t),className:R(`${si} ${re}`,e)})});yn.displayName=Ot.Trigger.displayName;var Nr=Ze.forwardRef(({className:e,value:t,children:r,...n},o)=>{let{baseId:a,value:i}=Nd("TabsContent"),s=t===i;return(0,wr.jsx)("div",{ref:o,role:"tabpanel",id:Md(a,t),"aria-labelledby":Od(a,t),"data-state":s?"active":"inactive",hidden:!s,tabIndex:0,...n,className:R(`mt-2 data-[state=inactive]:hidden ${re}`,e),children:s?r:null})});Nr.displayName="TabsContent";var O=require("react/jsx-runtime"),Ud=R(Xt,"w-24 shrink-0"),Pd={field:"flex items-baseline",label:Ud,value:"flex-1"},$p={field:"flex min-w-0 flex-1 items-baseline",label:Ud,value:"wrap-break-word min-w-0 flex-1"},zp={field:"flex flex-col gap-1",label:Xt,value:""},Gp={field:"flex items-center gap-1",label:Xt,value:""},kd=R("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",Xo,ja,Ga),jp=R("flex flex-col gap-1",Zo),Yp=R("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",re),qp=500,Ba=e=>{let t=e,r=new Set;return{isDwelling:()=>t,set:n=>{if(n!==t){t=n;for(let o of[...r])o()}},subscribe:n=>(r.add(n),()=>{r.delete(n)})}},Xp=(e,t,r,n,o,a)=>{let i=(0,Q.useRef)(null),s=e?.reportHubId;(0,Q.useLayoutEffect)(()=>{i.current=null},[s]),(0,Q.useEffect)(()=>{n||(i.current=null)},[n]);let d=(0,Q.useCallback)(async(m,u)=>{u||(i.current=m.reportHubId);try{await a(m.reportHubId,!m.isRead,m.date)}catch{}},[a]);return(0,Q.useEffect)(()=>{if(!(r&&e&&!e.isRead&&!t)||i.current===e.reportHubId)return;let m=null,u=()=>{m!==null&&clearTimeout(m),m=o.isDwelling()?setTimeout(()=>d(e,!0),qp):null};u();let p=o.subscribe(u);return()=>{p(),m!==null&&clearTimeout(m)}},[e,t,r,d,o]),{handleToggleRead:d}},Ua="article",Zp=["article","relations"],Jp=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},Qp=R("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",gt),ef=9,tf=.875,rf=16,Vd=4*Math.ceil((2*Ft+2*Tn+2*Xa+ef*tf*rf)/4),Wd=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=U(),a=(0,Q.useId)(),i=(0,Q.useId)(),[s,d]=(0,Q.useState)(Ua),{selected:m,settled:u}=(0,Q.useContext)($o),p=pn(e,m),y=pn(e,(0,Q.useDeferredValue)(u)),v=p===null?null:p.reportHubId,D=(y===null?null:y.reportHubId)===v,[S]=(0,Q.useState)(()=>Ba(D));return(0,Q.useLayoutEffect)(()=>{S.set(D)},[S,D]),(0,O.jsx)("aside",{"data-testid":"daily-report-side-pane","data-report-id":p?.reportHubId,"data-displayed-report-id":y?.reportHubId,"aria-busy":D?void 0:!0,className:Qp,children:y===null?(0,O.jsx)("div",{className:R("flex h-full flex-1 items-center justify-center text-center",dr),children:(0,O.jsx)("p",{className:An,children:o.selectPrompt})}):(0,O.jsx)(zo,{item:y,headingId:a,authorId:i,activeTab:s,onActiveTabChange:d,autoMarkRead:t,isActive:!0,dwell:S,userId:r,onReportDeleted:n},y.reportHubId)})},zo=(0,Q.memo)(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:d,onReportDeleted:m})=>{let{draftLabelName:u,labels:p,sourceTypeConfigs:y,headingLevel:v}=U(),{report:f,error:D,isLoading:S}=Vt(e.reportHubId,e.businessDate),l=Kt(),g=co(e.reportHubId),T=g==="editing"||g==="automatic",x=(0,Q.useRef)(null),P=(0,Q.useRef)(null),M=(0,Q.useRef)(!1),$=(0,Q.useRef)(!1),B=!!(d&&f?.userId===d),F=f?.labels.some(ie=>ie.name===u);(0,Q.useEffect)(()=>{f!==null&&(B&&F&&g==="display"?l.open(e.reportHubId,Ir(f),!0):!F&&g==="automatic"&&l.discard(e.reportHubId))},[f,B,F,g,l,e.reportHubId]);let J=(0,Q.useMemo)(()=>f===null?void 0:()=>{M.current=!0,l.open(e.reportHubId,Ir(f),!1)},[l,e.reportHubId,f]),V=(0,Q.useCallback)(()=>{$.current=!0,l.dismiss(e.reportHubId)},[l,e.reportHubId]),le=(0,Q.useCallback)(()=>{$.current=!0,l.discard(e.reportHubId)},[l,e.reportHubId]),K=(0,Q.useCallback)(ie=>{ie===null||!M.current||(M.current=!1,ie.focus())},[]),ue=(0,Q.useCallback)(ie=>{ie===null||!$.current||($.current=!1,ie.focus())},[]),Z=(0,Q.useCallback)(()=>{P.current?.focus({preventScroll:!0})},[]);(0,Q.useLayoutEffect)(()=>{T||!$.current||($.current=!1,P.current?.focus())},[T]);let j=(0,Q.useCallback)(()=>{setTimeout(()=>{let ie=x.current;ie!==null&&ie.scrollTo({top:ie.scrollHeight,behavior:os(ie)})},100)},[]),Ce=fe(e.businessDate),pe=f===null?null:ye(f.employeeName),Ue=S||!f,ze=f===null?void 0:Ut(f.sourceType,y);return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)("div",{className:jp,children:[(0,O.jsx)("dl",{className:"m-0",children:(0,O.jsx)(Re,{label:p.businessDate,classNames:zp,children:(0,O.jsx)(qe,{ref:P,level:v,id:t,tabIndex:-1,className:Yp,children:Ce})})}),(0,O.jsxs)("div",{className:"flex min-h-4 items-center gap-1 text-slate-500 text-xs dark:text-slate-300",children:[(0,O.jsx)("dl",{className:"m-0",children:(0,O.jsx)(Re,{label:p.author,classNames:Gp,valueId:r,children:Ue?(0,O.jsx)("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):pe})}),ze?(0,O.jsx)(Dr,{config:ze,className:"ml-2"}):null]})]}),(0,O.jsxs)(fn,{value:n,onValueChange:ie=>o(Jp(ie)),className:"flex min-h-0 flex-1 flex-col",children:[(0,O.jsx)("div",{className:Zo,children:(0,O.jsx)(bn,{"aria-label":p.reportTabList,className:R(ai,"grid grid-cols-2 gap-1"),children:Zp.map(ie=>(0,O.jsx)(yn,{value:ie,children:ie==="article"?p.tabArticle:p.tabRelations},ie))})}),(0,O.jsx)(Nr,{ref:x,value:"article",className:kd,children:T?f?(0,O.jsx)(Ao,{report:f,onCancel:V,onPublishSuccess:le,titleInputRef:K}):(0,O.jsx)("p",{className:dr,children:p.loading}):(0,O.jsx)(nf,{report:f,sourceConfig:ze,isLoading:S,error:D,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:j,userId:d,onEdit:B?J:void 0,editButtonRef:ue,onReportDeleted:m,onCommentSectionRemoved:Z})}),(0,O.jsx)(Nr,{value:"relations",className:kd,children:(0,O.jsx)("p",{className:dr,children:p.relationsEmpty})})]})]})});zo.displayName="DailyReportSidePaneContent";var Or=({className:e="w-32"})=>(0,O.jsx)("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),nf=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:i=!0,dwell:s,onCommentAdded:d,userId:m,onEdit:u,editButtonRef:p,onReportDeleted:y,onCommentSectionRemoved:v})=>{let{toggleStar:f,toggleRead:D,deleteReport:S}=Pe(),{labels:l,headingLevel:g}=U(),T=$t[g],{handleToggleRead:x}=Xp(e,r,a,i,s,D),P=e!==null&&Pn(e.sourceType,t),M=(0,Q.useMemo)(()=>e?.content?e.content.replace(/<br\s*\/?\s*>/gi,`
3
+ `,a)){let s=n.slice(a,i);o.push(t.length===0?s:[...t,s].join("")),t=[],a=i+1}return a<n.length&&t.push(n.slice(a)),o};return{push:n=>r(e.decode(n,{stream:!0})),end:()=>{let n=r(e.decode()),o=t.join("");return t=[],o===""?n:[...n,o]}}};var tm=50,rm=32,Bs=0,nm=()=>(Bs+=1,Bs),om=1e3,am=3e4,im=6,sm=3e4,yo=Symbol("read-stall"),lm="/daily_report/api",xr=class{constructor(t={}){this.itemMap=new Map;this.listeners=new Set;this.state={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null};this.streamAnchorRevision=0;this.lastCursor=null;this.lastSnapshot=null;this.consecutiveFailures=0;this.started=!1;this.disposed=!1;this.loopGeneration=0;this.activeAbortController=null;this.activeSeenIds=null;this.externalRemovalTombstones=new Set;this.pendingForceRefresh=!1;this.wakeRetryWait=null;this.handleOnline=()=>this.wakeRetryWait?.();this.publishCoalesceTimer=null;this.lastItemsPublishAt=Number.NEGATIVE_INFINITY;this.pendingItemsChange=Zr();this.apiBasePath=t.apiBasePath??lm,this.fetchFn=t.fetchFn??((r,n)=>fetch(r,n)),this.setTimeoutFn=t.setTimeoutFn??((r,n)=>setTimeout(r,n)),this.clearTimeoutFn=t.clearTimeoutFn??(r=>clearTimeout(r)),this.warn=t.warn??((...r)=>console.warn(...r)),this.readStallTimeoutMs=t.readStallTimeoutMs??sm,this.publishCoalesceMs=t.publishCoalesceMs??tm,this.now=t.now??(()=>performance.now()),typeof window<"u"&&window.addEventListener("online",this.handleOnline)}getState(){return this.state}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}start(){this.started||this.disposed||(this.started=!0,this.runStreamLoop({revalidate:!1,forceRefresh:!1}))}retry(){this.disposed||this.state.phase!=="failed"||(this.consecutiveFailures=0,this.runStreamLoop({revalidate:this.state.hasCompletedOnce,forceRefresh:!1}))}refresh(t={}){if(!this.disposed){if(this.state.phase==="failed"){this.consecutiveFailures=0,this.runStreamLoop({revalidate:this.state.hasCompletedOnce,forceRefresh:t.forceRefresh??!1});return}if(this.state.phase==="complete"){if(this.state.isRevalidating){t.forceRefresh&&(this.pendingForceRefresh=!0);return}this.lastCursor=null,this.consecutiveFailures=0,this.runStreamLoop({revalidate:!0,forceRefresh:t.forceRefresh??!1})}}}resync(){if(!this.disposed){if(this.state.phase==="streaming"||this.state.phase==="retrying"){this.pendingForceRefresh=!0;return}this.refresh({forceRefresh:!0})}}applyExternalUpsert(t){if(this.disposed||!t||typeof t.reportHubId!="number")return;this.externalRemovalTombstones.delete(t.reportHubId),this.activeSeenIds?.add(t.reportHubId);let r=this.itemMap.get(t.reportHubId),n={reportHubId:t.reportHubId,businessDate:t.businessDate,sourceType:t.sourceType??r?.sourceType};this.putItem(r,n)&&this.schedulePublishItems()}applyExternalRemoval(t){this.disposed||(this.activeSeenIds?.delete(t),this.externalRemovalTombstones.add(t),this.deleteItem(t)&&this.schedulePublishItems())}has(t){return this.itemMap.has(t)}readItems(){let t=Array.from(this.itemMap.values());if(this.pendingItemsChange.isEmpty())return t;let{appended:r,replaced:n,removed:o}=this.pendingItemsChange.build(this.state.itemsRevision,this.state.itemsRevision),a=new Set(r.map(d=>d.reportHubId)),i=new Map(n.map(({previous:d})=>[d.reportHubId,d])),s=[];for(let d of t){if(a.has(d.reportHubId))continue;let m=i.get(d.reportHubId);s.push(m===void 0?d:m)}for(let d of o)s.push(d);return s}dispose(){this.disposed=!0,this.loopGeneration+=1,this.activeAbortController?.abort(),this.cancelScheduledPublishItems(),this.wakeRetryWait?.(),typeof window<"u"&&window.removeEventListener("online",this.handleOnline),this.listeners.clear()}async runStreamLoop(t){let r=++this.loopGeneration;for(this.activeAbortController?.abort(),this.wakeRetryWait?.(),this.lastCursor===null&&(this.activeSeenIds=new Set,this.externalRemovalTombstones.clear(),this.lastSnapshot=null),t.forceRefresh&&(this.pendingForceRefresh=!1),this.publish({phase:t.revalidate?this.state.phase:"streaming",isRevalidating:t.revalidate,error:null});!this.disposed&&r===this.loopGeneration;){let n=await this.streamOnce(t.forceRefresh);if(this.disposed||r!==this.loopGeneration)return;if(n.kind==="complete"){this.pruneUnseenItems(),this.consecutiveFailures=0,this.cancelScheduledPublishItems();let o=this.takePendingItems();this.publish({phase:"complete",isRevalidating:!1,hasCompletedOnce:!0,completedAt:Date.now(),error:null,...o}),this.pendingForceRefresh&&!this.disposed&&(this.pendingForceRefresh=!1,this.lastCursor=null,this.runStreamLoop({revalidate:!0,forceRefresh:!0}));return}if(n.kind==="aborted")return;if(n.kind==="auth-required"){this.publish({phase:"auth-required",isRevalidating:!1});return}if(this.consecutiveFailures+=1,this.consecutiveFailures>=im){t.revalidate&&this.state.hasCompletedOnce?(this.warn("[DailyReportIdsStream] revalidation gave up:",n.error.message),this.pendingForceRefresh=!1,this.publish({isRevalidating:!1,error:n.error})):this.publish({phase:"failed",isRevalidating:!1,error:n.error});return}this.publish({phase:t.revalidate?this.state.phase:"retrying",error:n.error}),await this.waitBeforeRetry(Math.min(om*2**(this.consecutiveFailures-1),am))}}pruneUnseenItems(){let t=this.activeSeenIds;if(this.activeSeenIds=null,!!t)for(let r of Array.from(this.itemMap.keys()))t.has(r)||this.deleteItem(r)}async streamOnce(t){let r=new AbortController;this.activeAbortController=r;try{let n=this.fetchFn(this.buildStreamUrl(t),{signal:r.signal,headers:{Accept:"application/x-ndjson"},cache:"no-store"}),o=null,a=this.readStallTimeoutMs<=0?await n:await Promise.race([n,new Promise(c=>{o=this.setTimeoutFn(()=>c(yo),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===yo)return r.abort(),n.catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no response headers within timeout")};if(a.status===401||a.status===403)return{kind:"auth-required"};if(!(a.ok&&a.body))return{kind:"retryable",error:new Error(`ids stream HTTP ${a.status}`)};let i=a.body.getReader(),s=Fs(),d=!1,m=!1;for(;;){let c=await this.readWithStallGuard(i);if(c===yo)return r.abort(),i.cancel().catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let p=c.done?s.end():s.push(c.value),b=!1;for(let S of p){if(S.trim()==="")continue;let f;try{f=JSON.parse(S)}catch{this.warn("[DailyReportIdsStream] skipped malformed line");continue}let E=Oi(f);if(E==="unknown"){this.warn("[DailyReportIdsStream] skipped line of unknown kind");continue}if(E==="error"){d=!0;continue}let h=f;b=this.absorbChunkLine(h)||b,typeof h.total=="number"&&Number.isFinite(h.total)&&h.total!==this.state.totalCount&&this.publish({totalCount:h.total}),h.nextCursor&&(h.nextCursor.businessDate===null||Pi(h.nextCursor.businessDate))&&(this.lastCursor=h.nextCursor),h.isLast&&(m=!0)}if(b&&(this.consecutiveFailures=0,this.schedulePublishItems()),c.done)break}return d?{kind:"retryable",error:new Error("Stream interrupted by server error")}:m?{kind:"complete"}:{kind:"retryable",error:new Error("Stream ended before completion")}}catch(n){return n instanceof Error&&n.name==="AbortError"?{kind:"aborted"}:{kind:"retryable",error:n instanceof Error?n:new Error(String(n))}}finally{this.activeAbortController===r&&(this.activeAbortController=null)}}async readWithStallGuard(t){if(this.readStallTimeoutMs<=0)return t.read();let r=null,n=new Promise(o=>{r=this.setTimeoutFn(()=>o(yo),this.readStallTimeoutMs)});try{return await Promise.race([t.read(),n])}finally{r!==null&&this.clearTimeoutFn(r)}}absorbChunkLine(t){t.restarted===!0&&(this.lastCursor=null,this.lastSnapshot=null,this.activeSeenIds=new Set,this.externalRemovalTombstones.clear()),typeof t.snapshot=="string"&&(this.lastSnapshot=t.snapshot),t.streamAnchor!==void 0&&this.absorbStreamAnchor(t.streamAnchor);let r=t.provisional===!0,n=!1;for(let o of t.items)!o||typeof o.reportHubId!="number"||this.externalRemovalTombstones.has(o.reportHubId)||(r||this.activeSeenIds?.add(o.reportHubId),n=this.putItem(this.itemMap.get(o.reportHubId),o)||n);return n}putItem(t,r){return t===void 0?(this.itemMap.set(r.reportHubId,r),this.pendingItemsChange.add(r),!0):t.businessDate===r.businessDate&&t.sourceType===r.sourceType?!1:(this.itemMap.set(r.reportHubId,r),this.pendingItemsChange.change(t,r),!0)}deleteItem(t){let r=this.itemMap.get(t);return r===void 0?!1:(this.itemMap.delete(t),this.pendingItemsChange.remove(r),!0)}absorbStreamAnchor(t){if(t!==null&&!(typeof t=="string"&&Un(t))){this.warn(`[DailyReportIdsStream] ids stream carried a malformed streamAnchor: ${String(t)}`);return}this.streamAnchorRevision+=1,this.publish({streamAnchor:{lastEventId:t,revision:this.streamAnchorRevision}})}takePendingItems(){if(this.pendingItemsChange.isEmpty())return{};this.lastItemsPublishAt=this.now();let t=nm(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange=Zr(),{loadedCount:this.itemMap.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-rm),r]}}publishItems(){let t=this.takePendingItems();t.itemsRevision!==void 0&&this.publish(t)}schedulePublishItems(){if(this.publishCoalesceMs<=0){this.publishItems();return}let t=this.now()-this.lastItemsPublishAt;if(t>=this.publishCoalesceMs){this.publishItems();return}this.publishCoalesceTimer===null&&(this.publishCoalesceTimer=this.setTimeoutFn(()=>{this.publishCoalesceTimer=null,this.publishItems()},this.publishCoalesceMs-t))}cancelScheduledPublishItems(){this.publishCoalesceTimer!==null&&(this.clearTimeoutFn(this.publishCoalesceTimer),this.publishCoalesceTimer=null)}publish(t){this.state={...this.state,...t};for(let r of this.listeners)r()}buildStreamUrl(t){let r=new URLSearchParams;this.lastCursor&&(r.set("cursor_report_hub_id",String(this.lastCursor.reportHubId)),this.lastCursor.businessDate!==null&&r.set("cursor_business_date",this.lastCursor.businessDate),this.lastSnapshot!==null&&r.set("cursor_snapshot",this.lastSnapshot)),t&&r.set("forceRefresh","true");let n=r.toString();return`${this.apiBasePath}/${Hn}${n?`?${n}`:""}`}waitBeforeRetry(t){return new Promise(r=>{let n=null,o=()=>{n!==null&&(this.clearTimeoutFn(n),n=null),this.wakeRetryWait===o&&(this.wakeRetryWait=null),r()};this.wakeRetryWait=o,n=this.setTimeoutFn(o,t)})}};var dm=6e4,ae=null,Us=!1,Jr=new Set,Ro={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},Oa=()=>{for(let e of Jr)e()},Ws=()=>{ae&&(ae.unsubscribe(),ae.client.dispose(),ae=null,Oa())},Cr=e=>{if(typeof window>"u")return;let t=e.apiBasePath??hr.apiBasePath;if(ae&&(ae.userKey!==e.userKey||ae.apiBasePath!==t)&&(ae.userKey!==e.userKey&&Gr(),Ws()),!ae){let r=new xr({apiBasePath:t});ae={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(Oa)},cm(),r.start(),Oa();return}ho(ae)},ho=e=>{let t=e.client.getState();if(t.phase==="failed"){e.client.retry();return}t.phase==="complete"&&!t.isRevalidating&&t.completedAt!==null&&Date.now()-t.completedAt>dm&&e.client.refresh()},cm=()=>{if(Us||typeof document>"u"||typeof window>"u")return;Us=!0;let e=()=>{ae&&ho(ae)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},So=e=>{if(!(typeof window>"u")){if(!ae){Cr(e);return}if(ae.userKey!==e.userKey){Gr(),Ws(),Cr(e);return}ho(ae)}},vo=()=>{typeof window>"u"||!ae||ho(ae)},Qr=e=>{ae?.client.applyExternalUpsert(e)},Eo=e=>{ae?.client.applyExternalRemoval(e)},Ks=e=>ae===null?!1:ae.client.has(e),um=()=>ae===null?[]:ae.client.readItems(),Ma=()=>ae===null?0:ae.client.getState().itemsRevision,To=()=>{ae?.client.retry()},en=()=>{ae?.client.resync()},Pa=(e={})=>{ae?.client.refresh(e)},zs=()=>ae?.userKey,Io=e=>(Jr.add(e),()=>Jr.delete(e)),go=()=>ae?.client.getState()??Ro,mm=()=>Ro,$s=()=>(0,bt.useSyncExternalStore)(Io,go,mm),ka=(e,t)=>{let r=Ro,n=e(Ro);return()=>{let o=go();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},js=ka(({phase:e,isRevalidating:t,error:r,streamAnchor:n,loadedCount:o})=>({phase:e,isRevalidating:t,error:r,streamAnchor:n,hasItems:o>0}),(e,t)=>e.phase===t.phase&&e.isRevalidating===t.isRevalidating&&e.error===t.error&&e.streamAnchor===t.streamAnchor&&e.hasItems===t.hasItems),pm=js(),xo=()=>(0,bt.useSyncExternalStore)(Io,js,()=>pm),Gs=ka(({phase:e,isRevalidating:t,loadedCount:r,totalCount:n})=>({phase:e,isRevalidating:t,loadedCount:r,totalCount:n}),(e,t)=>e.phase===t.phase&&e.isRevalidating===t.isRevalidating&&e.loadedCount===t.loadedCount&&e.totalCount===t.totalCount),fm=Gs(),Ys=()=>(0,bt.useSyncExternalStore)(Io,Gs,()=>fm),qs=ka(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),bm=qs(),Xs=()=>(0,bt.useSyncExternalStore)(Io,qs,()=>bm),Zs=e=>e.phase==="complete"&&!e.isRevalidating,Vs=e=>`${e.itemsRevision}:${Zs(e)}`,Js=()=>{let[,e]=(0,bt.useState)(0),t=go(),r=Vs(t);return(0,bt.useLayoutEffect)(()=>{let n=r,o=()=>{let a=Vs(go());a!==n&&(n=a,(0,bt.startTransition)(()=>e(i=>i+1)))};return Jr.add(o),o(),()=>{Jr.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readItems:um,settled:Zs(t)}};var sr=yr(1,"daily-report-sse-connection"),ym=Object.freeze({kind:"resyncing"}),Qs={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},Rm=1,rl=ha*3,gm=rl+ha,Co=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=V(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=xo(),[d,m]=(0,yt.useState)({generation:0,minAnchorRevision:1,anchored:!1}),c=d.generation>0&&!d.anchored,p=c&&a==="complete"&&!i?s:null,b=(0,yt.useRef)(0),S=(0,yt.useRef)(null),f=(0,yt.useRef)(n);f.current=n;let E=(0,yt.useRef)(0);E.current=o===null?0:o.revision,(0,yt.useEffect)(()=>{d.anchored||o===null||o.revision<d.minAnchorRevision||(S.current=o.lastEventId,b.current=0,m({...d,anchored:!0}))},[d,o]),(0,yt.useEffect)(()=>{if(!e||p===null)return;let{initialDelayMs:l,maxDelayMs:g,multiplier:T}=Qs,C=tn.systemSseRuntime.random()*Math.min(g,l*T**b.current);sr.warn(`SSE resync: the ids rescan gave up (${p.message}); rescanning in ${Math.round(C)} ms`);let k=tn.systemSseRuntime.setTimer(()=>{b.current+=1,en()},C);return()=>tn.systemSseRuntime.clearTimer(k)},[e,p]);let{status:h}=(0,tl.useReopeningEventSource)(e&&d.anchored?`${r}#${d.generation}`:null,{resolveUrl:({lastEventId:l})=>l===null?r:`${r}?${Hi}=${encodeURIComponent(l)}`,initialLastEventId:S.current,withCredentials:!1,createEventSource:el.createBrowserEventSource,runtime:tn.systemSseRuntime,backoff:Qs,healthyOpenMs:gm,nativeRetryLimit:Rm,giveUpAfterFailures:"never",terminalEvents:ki,heartbeat:{staleAfterMs:rl,onHeartbeat:null},events:{message:l=>{l.lastEventId!==""&&(Un(l.lastEventId)?S.current=l.lastEventId:sr.warn("SSE event carried a malformed id; keeping the previous cursor:",l.lastEventId));try{let g=JSON.parse(l.data),T=Fi.safeParse(g);if(!T.success){sr.error("SSE Validation Error:",T.error.flatten(),"raw message:",g);return}if(T.data.type==="connected"){sr.info("SSE Subscribe Ready");return}t(T.data)}catch(g){sr.error("SSE Parse Error",g)}}}});return(0,yt.useEffect)(()=>{if(h.kind==="faulted"){sr.error("SSE connection faulted:",h.error);return}if(h.kind==="terminated")switch(h.terminalEvent){case"auth-required":f.current();return;case"forbidden":sr.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let l=E.current+1;m(g=>({generation:g.generation+1,minAnchorRevision:l,anchored:!1})),en();return}}},[h]),e&&c?ym:h};var _t=require("react"),nl=()=>{let e=new Map,t=new Map,r=(n,o)=>{o===null?e.delete(n):e.set(n,o);let a=t.get(n);if(a!==void 0)for(let i of[...a])i()};return{modeOf:n=>{let o=e.get(n);return o===void 0?"display":o.mode},inputOf:n=>{let o=e.get(n);return o===void 0||o.mode==="dismissed"?null:o.input},subscribe:(n,o)=>{let a=t.get(n),i=a===void 0?new Set:a;return a===void 0&&t.set(n,i),i.add(o),()=>{i.delete(o),i.size===0&&t.get(n)===i&&t.delete(n)}},open:(n,o,a)=>{let i=e.get(n);i!==void 0&&i.mode!=="dismissed"||r(n,{mode:a?"automatic":"editing",input:o})},setInput:(n,o)=>{let a=e.get(n);a===void 0||a.mode==="dismissed"||r(n,{mode:a.mode,input:{...a.input,...o}})},dismiss:n=>{e.get(n)?.mode!=="dismissed"&&r(n,{mode:"dismissed"})},discard:n=>{e.has(n)&&r(n,null)}}},Ha=(0,_t.createContext)(null),Gt=()=>{let e=(0,_t.useContext)(Ha);if(e===null)throw new Error("[daily-report] the draft store is read outside a DailyReportActionProvider");return e},ol=(e,t)=>(0,_t.useCallback)(r=>e.subscribe(t,r),[e,t]),Ao=e=>{let t=Gt(),r=()=>t.modeOf(e);return(0,_t.useSyncExternalStore)(ol(t,e),r,r)},al=e=>{let t=Gt(),r=()=>t.inputOf(e),n=(0,_t.useSyncExternalStore)(ol(t,e),r,r);if(n===null)throw new Error(`[daily-report] the edit form is rendered for report ${e}, whose editor is not open`);return n};var Pe=require("react");var Ar=require("react/jsx-runtime"),hm=8e3,Sm="fixed inset-x-0 bottom-4 z-[100] mx-auto flex w-fit max-w-[92vw] items-center gap-2 rounded-lg border border-red-300 border-solid bg-red-600 px-[15px] py-[7px] text-sm text-white shadow-lg motion-safe:fade-in motion-safe:slide-in-from-bottom-2 motion-safe:animate-in motion-safe:duration-200 dark:border-red-500/60 dark:bg-red-700",vm=R("flex size-6 shrink-0 items-center justify-center rounded font-bold text-white/90 hover:bg-red-700 hover:text-white dark:hover:bg-red-800",mi),il=(0,Pe.createContext)({notifyError:()=>{}}),sl=()=>(0,Pe.useContext)(il),Do=({children:e})=>{let{onError:t,labels:r}=V(),[n,o]=(0,Pe.useState)(null),a=(0,Pe.useRef)(t);a.current=t;let i=(0,Pe.useRef)(null),s=(0,Pe.useCallback)(c=>{let p=a.current;if(p){p(c);return}o(c)},[]),d=(0,Pe.useCallback)(()=>{i.current!==null&&(clearTimeout(i.current),i.current=null),o(null)},[]);(0,Pe.useEffect)(()=>{if(n)return i.current=setTimeout(()=>o(null),hm),()=>{i.current!==null&&(clearTimeout(i.current),i.current=null)}},[n]);let m=(0,Pe.useMemo)(()=>({notifyError:s}),[s]);return(0,Ar.jsxs)(il.Provider,{value:m,children:[e,n&&(0,Ar.jsxs)("div",{role:"alert","data-testid":"daily-report-error-banner",className:Sm,children:[(0,Ar.jsx)("span",{className:"font-medium",children:n.message}),(0,Ar.jsx)("button",{type:"button","aria-label":r.close,onClick:d,className:vm,children:"\u2715"})]})]})};var dl=require("react");var Em={items:[],held:new Map,revision:null,settled:!1},ll=(e,t)=>{let r=0,n=e.length;for(;r<n;){let o=r+n>>1;tr(e[o],t)<0?r=o+1:n=o}return r<e.length&&e[r].reportHubId===t.reportHubId?r:-1},cl=(e,t,r)=>{let n=r,o=e.length;for(;n<o;){let a=n+o>>1;tr(e[a],t)<=0?n=a+1:o=a}return n},Tm=(e,t)=>e.businessDate===t.businessDate,Im=(e,t)=>{if(ya(t)||t.sort(tr),e.length===0||tr(e[e.length-1],t[0])<0)return e.concat(t);let r=[],n=0;for(let o of t){let a=cl(e,o,n);a>n&&r.push(e.slice(n,a)),r.push([o]),n=a}return n<e.length&&r.push(e.slice(n)),r.flat()},ul=e=>{let{revision:t}=e;if(!e.settled||t===null)return e;let r=[...e.held.values()].filter(a=>a.item.reportHubId>0&&t>a.since).map(a=>a.item.reportHubId);if(r.length===0)return e;let n=new Set(r),o=new Map(e.held);for(let a of n)o.delete(a);return{...e,items:e.items.filter(a=>!n.has(a.reportHubId)),held:o}},ml=(e,t,r,n)=>{let o=new Set,a=[];for(let s of t.readItems())o.add(s.reportHubId),n.has(s.reportHubId)||a.push(s);let i=new Map;for(let s of e.items){if(o.has(s.reportHubId)||n.has(s.reportHubId))continue;let d=e.held.get(s.reportHubId);i.set(s.reportHubId,d===void 0?{item:s,since:Number.NEGATIVE_INFINITY}:d),a.push(s)}return ya(a)||a.sort(tr),ul({items:a,held:i,revision:t.itemsRevision,settled:r})},xm=(e,t,r,n)=>{let o=e.revision;if(o===t.itemsRevision&&e.settled===r)return e;let a=o===null?null:o===t.itemsRevision?[]:Hs(t.itemsChanges,o);if(o===null||a===null)return ml(e,t,r,n);let i=Zr();for(let l of a)i.fold(l);let{appended:s,replaced:d,removed:m}=i.build(o,t.itemsRevision),c=null,p=()=>(c===null&&(c=new Map(e.held)),c),b=[],S=new Set,f=[];for(let l of m)e.held.has(l.reportHubId)||ll(e.items,l)===-1||(r||n.has(l.reportHubId)?S.add(l.reportHubId):p().set(l.reportHubId,{item:l,since:Number.NEGATIVE_INFINITY}));let E=(l,g)=>{let T=l.reportHubId,C=e.held.get(T);C!==void 0&&p().delete(T);let k=C===void 0?g:C.item,M=k===void 0?-1:ll(e.items,k);if(n.has(T)){M!==-1&&S.add(T);return}if(M!==-1&&Tm(e.items[M],l)){e.items[M].sourceType!==l.sourceType&&b.push({index:M,item:l});return}M!==-1&&S.add(T),f.push(l)};for(let{previous:l,next:g}of d)E(g,l);for(let l of s)E(l,void 0);let h=e.items;if(b.length>0){h=h.slice();for(let{index:l,item:g}of b)h[l]=g}return S.size>0&&(h=h.filter(l=>!S.has(l.reportHubId))),f.length>0&&(h=Im(h,f)),ul({items:h,held:c===null?e.held:c,revision:t.itemsRevision,settled:r})},pl=(e,t,r)=>{let[n,o]=(0,dl.useState)(()=>ml(Em,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>xm(a,e,t,r)),[n,o]},_o=(e,t,r)=>{if(e.items.some(a=>a.reportHubId===t.reportHubId))return e;let n=e.items.slice();n.splice(cl(n,t,0),0,t);let o=new Map(e.held);return o.set(t.reportHubId,{item:t,since:r}),{...e,items:n,held:o}},rn=(e,t)=>{if(!e.held.has(t))return e;let r=new Map(e.held);return r.delete(t),{...e,items:e.items.filter(n=>n.reportHubId!==t),held:r}},fl=(e,t)=>{if(!e.items.some(n=>n.reportHubId===t))return e;let r=new Map(e.held);return r.delete(t),{...e,items:e.items.filter(n=>n.reportHubId!==t),held:r}},bl=e=>({...e,revision:null});var Dr=require("react/jsx-runtime"),Lt=yr(1,"daily-report-action-context"),Cm=3e4,Am=3e4,Dm=1e3,Lo=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},_m=e=>{let t=new Map,r=n=>{for(let[o,a]of t){if(a>n)return;t.delete(o)}};return{add:n=>{let o=e();r(o),t.delete(n),t.set(n,o+Cm)},has:n=>(r(e()),t.has(n))}},Lm=(e,t)=>!("clientTempId"in e)||e.clientTempId!==t.clientTempId?!1:"reportHubId"in t?"reportHubId"in e&&e.reportHubId===String(t.reportHubId):!0,No=globalThis.__DailyReportActionsContext??(0,te.createContext)(null);globalThis.__DailyReportActionsContext=No;var Oo=globalThis.__DailyReportActionStateContext??(0,te.createContext)(null);globalThis.__DailyReportActionStateContext=Oo;var wo=(e,t)=>{let r=(0,te.useContext)(e);if(r===null)throw new Error(`[daily-report] ${t} must be used within a DailyReportActionProvider`);return r},ke=()=>wo(No,"useDailyReportActions"),Mo=()=>wo(Oo,"useDailyReportActionState"),yl=()=>{let e=wo(No,"useDailyReportActionContext"),t=wo(Oo,"useDailyReportActionContext");return(0,te.useMemo)(()=>({...e,...t}),[e,t])},lr=(e,t)=>{if(!e)return t;if(e.displayName?.trim())return e.displayName;if(e.name){let n=[e.name.familyName,e.name.givenName].filter(o=>typeof o=="string"&&o!=="").join(" ");if(n.trim())return n.trim()}let r=e.emails?.[0]?.value;return r||t},wm=()=>({pendingAddCommentIds:{current:new Map},pendingDeleteCommentIds:{current:new Map},pendingStarUpdates:{current:new Map},pendingReadUpdates:{current:new Map},resolvedIdMap:{current:new Map}}),Nm=e=>({functions:{toggleSse:()=>e.current.toggleSse(),addComment:(t,r,n)=>e.current.addComment(t,r,n),deleteComment:(t,r,n)=>e.current.deleteComment(t,r,n),toggleStar:(t,r,n)=>e.current.toggleStar(t,r,n),toggleRead:(t,r,n)=>e.current.toggleRead(t,r,n),createReport:t=>e.current.createReport(t),updateReport:(t,r,n)=>e.current.updateReport(t,r,n),publishReport:(t,r)=>e.current.publishReport(t,r),deleteReport:(t,r)=>e.current.deleteReport(t,r),removeStaleItem:t=>e.current.removeStaleItem(t),refetchData:()=>e.current.refetchData(),clearCacheAndRefetch:()=>e.current.clearCacheAndRefetch()},onSseMessage:t=>e.current.handleSseMessage(t)}),Om=Object.freeze({kind:"idle"}),Rl=(0,te.memo)(({isSseEnabled:e,onMessage:t,onStatus:r})=>{let n=Co({isSseEnabled:e,onMessage:t});return(0,te.useLayoutEffect)(()=>{r(n)},[n,r]),null});Rl.displayName="DailyReportSseConnectionHost";var Po=({children:e,user:t,userId:r})=>{let{apiBasePath:n,draftLabelName:o,labels:a}=V(),{notifyError:i}=sl(),[s]=(0,te.useState)(wm),{pendingAddCommentIds:d,pendingDeleteCommentIds:m,pendingStarUpdates:c,pendingReadUpdates:p,resolvedIdMap:b}=s,[S,f]=(0,te.useState)(0),[E]=(0,te.useState)(nl),[h,l]=(0,te.useState)(!1),[g,T]=(0,te.useState)(Om),C=(0,te.useRef)(!1),k=(0,te.useRef)(new Map),M=(0,te.useRef)(new Set),[j]=(0,te.useState)(()=>_m(()=>performance.now())),[P]=(0,te.useState)(()=>new Map),z=Js(),[Z,U]=pl(z,z.settled,M.current),ie=Z.items,W=(0,te.useCallback)(()=>zs()===(r??null),[r]),Re=async()=>{Lt.info("[DailyReportActionProvider] Refetching data without page reload..."),Pa(),f(u=>u+1),q.listeners.forEach(u=>{u(-1)})},ee=async()=>{Lt.info("[DailyReportActionProvider] Clearing client & server/DB cache and refetching data without page reload..."),Gr(),M.current.clear(),U(bl);try{sessionStorage.clear()}catch{}try{let u=await fetch(`${n}/${Kt.action}`,{method:"POST",body:Na({intent:"clearCache"})});if(!u.ok){let y=await u.json().catch(()=>null);Lt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",u.status,y)}}catch(u){Lt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",u)}W()&&(Pa({forceRefresh:!0}),f(u=>u+1),q.listeners.forEach(u=>{u(-1)}))},G=(u,y)=>{y.unsubscribe(),P.delete(u)},Ce=(u,y)=>{G(u,y),Lt.warn(`[SSE Queue] Expired: reportHubId=${u}, dropped=${y.messages.length} messages`)},me=(u,y)=>{let _=performance.now(),x=P.get(u);if(x!==void 0&&x.expiresAt>_){x.messages.push(y);return}x!==void 0&&Ce(u,x);let L;L={messages:[y],unsubscribe:ls(u,()=>{if(L.expiresAt<=performance.now()){Ce(u,L);return}if(rt(u,{ignoreExpiry:!0})){G(u,L),Lt.info(`[SSE Queue] Replaying ${L.messages.length} messages for reportHubId=${u}`);for(let v of L.messages)mt.current.handleSseMessage(v)}}),expiresAt:_+Am},P.set(u,L)};(0,te.useLayoutEffect)(()=>()=>{for(let u of P.values())u.unsubscribe();P.clear()},[P]);let Ve=(0,te.useCallback)((u,y)=>{y!==void 0&&Qr({reportHubId:u,businessDate:y})},[]),Ye=()=>{r&&(C.current=!0,l(u=>!u))};(0,te.useEffect)(()=>{if(!r)return;let u=setTimeout(()=>{C.current||l(!0)},Xi);return()=>clearTimeout(u)},[r]);let se=u=>{W()&&(M.current.add(u),Eo(u),U(y=>rn(y,u)),E.discard(u))};(0,te.useEffect)(()=>{if(Z.settled)for(let u of M.current)Ks(u)||M.current.delete(u)},[Z.settled,Z.revision]);let lt=u=>{if(W()&&!j.has(u.clientTempId))switch(u.type){case"comment-add":{let{comment:y,reportHubId:_}=u,x=rt(_,{ignoreExpiry:!0});if(x){if(x.postedComments.some(N=>N.id===y.id))return;let L=!1,H=d.current.get(_);if(H){for(let[N,Y]of H.entries())if(Y===y.content){H.delete(N),b.current.set(N,y.id),L=!0;break}}let v={...y,userName:y.userName||(L?lr(t,a.unknownUser):a.unknownUser),createdAt:y.createdAt||new Date().toISOString(),isMine:L},D={...x,postedComments:[...x.postedComments,v].sort((N,Y)=>new Date(N.createdAt||0).getTime()-new Date(Y.createdAt||0).getTime())};or(_,D),no(_),oo(_),f(N=>N+1)}else me(_,u);break}case"comment-delete":{let{commentId:y,reportHubId:_}=u,x=rt(_,{ignoreExpiry:!0});if(x){let L={...x,postedComments:x.postedComments.filter(H=>H.id!==y)};or(_,L),no(_),oo(_),f(H=>H+1)}else me(_,u);break}case"status-update":{let{statusType:y,value:_,reportHubId:x}=u,L=rt(x,{ignoreExpiry:!0});if(y==="star")if(c.current.get(x)===_&&c.current.delete(x),L){let H={...L,isStarred:_};or(x,H),f(v=>v+1)}else me(x,u);else if(y==="read")if(p.current.get(x)===_&&p.current.delete(x),L){let H={...L,isRead:_};or(x,H),f(v=>v+1)}else me(x,u);break}case"report-delete":{let{reportHubId:y}=u;M.current.add(y),Eo(y),U(L=>rn(L,y)),E.discard(y);let _=P.get(y);_!==void 0&&G(y,_);let x=rt(y,{ignoreExpiry:!0});x?.date&&(ro(y,x.date),f(L=>L+1));break}case"report-create":case"report-update":case"report-publish":{let{report:y}=u;ds(y),(u.type==="report-create"||u.type==="report-publish")&&Ve(y.reportHubId,y.date),f(_=>_+1);break}}},Ae=async(u,y,_={})=>{let{intent:x}=u,{lockedReportHubId:L}=_;L!==void 0&&no(L),y.onOptimistic?.(),j.add(u.clientTempId);try{let H=await fetch(`${n}/${Kt.action}`,{method:"POST",body:Na(u),headers:{Accept:"application/json"}});if(!H.ok)throw new Lo(x,H.status);let v=ks(x,await H.json());if(v===null)throw new Error(`[daily-report] ${x} answered a body that is not its result`);if(!Lm(v,u))throw new Error(`[daily-report] ${x} answered another request`);if(!W())throw Lt.warn(`[executeAction] ${x} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${x}`);return y.onSuccess(v)}catch(H){throw Lt.error(`${x} failed:`,H),W()&&(y.onFailure?.(),mt.current.notifyError({operation:x,message:a.operationFailed(x),cause:H})),H}finally{L!==void 0&&oo(L)}},fe=(u,y,_)=>({reportHubId:u,clientTempId:_,businessDate:typeof y=="string"?y:null,operationTimestamp:Date.now()}),et={toggleSse:Ye,addComment:async(u,y,_)=>{let x=-1*Date.now(),L=Ae({...fe(u,_,String(x)),intent:"addComment",content:y},{onOptimistic:()=>{d.current.has(u)||d.current.set(u,new Map),d.current.get(u)?.set(x,y),f(H=>H+1)},onSuccess:({newComment:H})=>{let v=H.id;b.current.set(x,v),d.current.get(u)?.delete(x);let D=rt(u,{ignoreExpiry:!0});return D&&!D.postedComments.some(N=>N.id===v)&&nt(u,{postedComments:[...D.postedComments,{...H,isMine:!0,userName:lr(t,a.unknownUser)}]}),v},onFailure:()=>{d.current.get(u)?.delete(x)}}).finally(()=>k.current.delete(x));k.current.set(x,L),await L},deleteComment:async(u,y,_)=>{m.current.has(u)||m.current.set(u,new Set),m.current.get(u)?.add(y),f(L=>L+1);let x=y;if(y<0){let L=b.current.get(y);if(L!==void 0)x=L;else{let H=k.current.get(y);if(!H)return;try{x=await H}catch{return}}}await Ae({...fe(u,_,crypto.randomUUID()),intent:"deleteComment",commentId:x},{onSuccess:()=>{let L=rt(u,{ignoreExpiry:!0});L&&(nt(u,{postedComments:L.postedComments.filter(H=>H.id!==x)}),ss(x)),m.current.get(u)?.delete(y)},onFailure:()=>{m.current.get(u)?.delete(y)}})},toggleStar:async(u,y,_)=>{await Ae({...fe(u,_,crypto.randomUUID()),intent:"toggleStar",value:y},{onOptimistic:()=>{nt(u,{isStarred:y}),c.current.set(u,y),f(x=>x+1)},onSuccess:({updatedStatus:x})=>{rt(u,{ignoreExpiry:!0})&&(nt(u,{isStarred:x.isStarred}),f(L=>L+1)),c.current.delete(u)},onFailure:()=>{nt(u,{isStarred:!y}),c.current.delete(u)}})},toggleRead:async(u,y,_)=>{await Ae({...fe(u,_,crypto.randomUUID()),intent:"toggleRead",value:y},{onOptimistic:()=>{nt(u,{isRead:y}),p.current.set(u,y),f(x=>x+1)},onSuccess:({updatedStatus:x})=>{rt(u,{ignoreExpiry:!0})&&(nt(u,{isRead:x.isRead}),f(L=>L+1)),p.current.delete(u)},onFailure:()=>{nt(u,{isRead:!y}),p.current.delete(u)}})},createReport:async u=>{let y=-1*Date.now(),_=new Date().toISOString(),x={reportHubId:y,date:u,createdAt:_,author:lr(t,a.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:lr(t,a.unknownUser),updatedBy:lr(t,a.unknownUser),updatedAt:_,category:null,creationCategory:null,visitTimeFrom:null,visitTimeTo:null,customerName:null,interviewers:[],subject:"",content:"",externalComments:[],isRead:!0,isStarred:!1,labels:[{id:0,name:o,color:"#9ca3af"}],postedComments:[],attachments:[]};as(x,Date.now()+3e5,!1),U(L=>_o(L,{reportHubId:y,businessDate:u},Number.NEGATIVE_INFINITY));try{let L=await Ae({intent:"create",clientTempId:String(y),businessDate:u,operationTimestamp:Date.now()},{onSuccess:D=>D.report}),H=L.reportHubId,v=Ma();return Qr({reportHubId:H,businessDate:u}),is(H,Dm),or(H,L),f(D=>D+1),U(D=>_o(rn(D,y),{reportHubId:H,businessDate:u},v)),H}catch(L){throw Lt.error("[createReport] Failed",L),U(H=>rn(H,y)),L}},updateReport:async(u,y,_)=>{await Ae({...fe(u,_,crypto.randomUUID()),intent:"update",changes:{title:y.title,content:y.content}},{onSuccess:()=>{rt(u,{ignoreExpiry:!0})&&(nt(u,{subject:y.title,content:y.content}),f(L=>L+1))}},{lockedReportHubId:u})},publishReport:async(u,y)=>{let _=rt(u,{ignoreExpiry:!0});await Ae({...fe(u,y,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{_&&(nt(u,{labels:_.labels.filter(x=>x.name!==o)}),f(x=>x+1))},onSuccess:({report:x})=>{x!==null&&(or(u,x),f(L=>L+1)),y!==void 0&&Qr({reportHubId:u,businessDate:y})},onFailure:()=>{_&&(nt(u,{labels:_.labels}),f(x=>x+1))}})},deleteReport:async(u,y)=>{let _=ie.find(x=>x.reportHubId===u);M.current.add(u),Eo(u),U(x=>fl(x,u));try{await Ae({...fe(u,y,crypto.randomUUID()),intent:"delete"},{onSuccess:()=>{ro(u,y),E.discard(u)}},{lockedReportHubId:u})}catch(x){if(x instanceof Lo&&x.status===404){ro(u,y),E.discard(u);return}if(!W())return;M.current.delete(u);let L=_===void 0?y:_.businessDate,H=Ma();L!==void 0&&Qr({reportHubId:u,businessDate:L}),_&&U(v=>_o(v,_,H))}},removeStaleItem:se,refetchData:Re,clearCacheAndRefetch:ee,handleSseMessage:lt,notifyError:i},mt=(0,te.useRef)(et);(0,te.useLayoutEffect)(()=>{mt.current=et});let[We]=(0,te.useState)(()=>Nm(mt)),I=(0,te.useMemo)(()=>({...s,...We.functions,user:t}),[s,We,t]),w=(0,te.useMemo)(()=>({version:S,items:ie,isSseEnabled:h,sseStatus:g}),[S,ie,h,g]);return(0,Dr.jsx)(Ha.Provider,{value:E,children:(0,Dr.jsx)(No.Provider,{value:I,children:(0,Dr.jsxs)(Oo.Provider,{value:w,children:[(0,Dr.jsx)(Rl,{isSseEnabled:h,onMessage:We.onSseMessage,onStatus:T}),e]})})})};var gl=require("react/jsx-runtime"),Mm={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},Yt=Object.freeze({2:3,3:4,4:5,5:6}),Ze=({level:e,...t})=>{let r=Mm[e];return(0,gl.jsx)(r,{...t})};var Nt=require("react");var hl=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var Ba="tile",on=hl[Ba],Pm=2,nn=16,Sl=5,vl=on.maxWidth/Pm,km=Sl*(vl+nn)-nn,El=e=>{let t=Math.min(Sl,1+Math.floor((e+nn)/(vl+nn)));return Math.floor((Math.min(e,km)-(t-1)*nn)/t)},Fa=`round(nearest, 100cqi * ${on.maxHeight} / ${on.maxWidth}, 1px)`,Tl=Object.freeze({aspectRatio:`${on.maxWidth} / ${on.maxHeight}`,height:Fa,contain:"strict"}),Il=Object.freeze({marginBlockEnd:`calc(round(up, ${Fa}, ${4}px) - ${Fa})`});var Hm="download",Fm="thumbnail",Bm="1",_r=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[Hm]:Bm})}`;case"thumbnail":return`${n}?${new URLSearchParams({[Fm]:r.variant})}`}};var ko=require("react");var an=(0,ko.createContext)(null),Lr=()=>(0,ko.useContext)(an)===!1?-1:void 0,xl=(e,t)=>{let{before:r,after:n}=lo(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};var Et=require("react"),wl=require("react-dom");var Cl=require("react-dom");var Ua=new WeakMap,Al=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,Um=e=>{e.frame=null;let t=[...e.observations.values()].filter(Al);t.length!==0&&(0,Cl.flushSync)(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},Vm=(e,t)=>{for(let r of t){let n=e.observations.get(r.target);if(n===void 0)continue;let o=r.contentBoxSize[0].inlineSize;o!==0&&(n.observedTrackWidth=El(o))}e.frame!==null||![...e.observations.values()].some(Al)||(e.frame=e.view.requestAnimationFrame(()=>Um(e)))},Wm=e=>{let t=Ua.get(e);if(t!==void 0)return t;let r=e.defaultView;if(r===null)throw new Error("[daily-report] An attachment tile grid must belong to a document with a window to be measured");let n={view:r,observer:new r.ResizeObserver(o=>Vm(n,o)),observations:new Map,frame:null};return Ua.set(e,n),n},Dl=(e,t)=>{let r=e.ownerDocument,n=Wm(r);if(n.observations.has(e))throw new Error("[daily-report] An attachment tile grid is already observed");let o={onTrackWidth:t,observedTrackWidth:null,handedTrackWidth:null};return n.observations.set(e,o),n.observer.observe(e),()=>{n.observations.get(e)===o&&(n.observations.delete(e),n.observer.unobserve(e),!(n.observations.size>0)&&(n.frame!==null&&n.view.cancelAnimationFrame(n.frame),n.observer.disconnect(),Ua.delete(r)))}};var wt=require("react/jsx-runtime"),sn="\u2026",Km=sn.codePointAt(0),Ho="data-attachment-file-name",zm=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,$m=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,Nl=(0,Et.createContext)(null),Ol=e=>{let t=e.lastIndexOf(".");return t<=0||t===e.length-1?{stem:e,extension:""}:{stem:e.slice(0,t),extension:e.slice(t)}},_l=(e,t,r,n)=>{let o=Array.from(e),a=0,i=o.length-1;for(;a<i;){let s=Math.ceil((a+i)/2);n(o.slice(0,s).join("")+t)<=r?a=s:i=s-1}return o.slice(0,a).join("")},jm=(e,t,r)=>{if(r(e)<=t)return e;let{stem:n,extension:o}=Ol(e.normalize("NFC")),a=t/2,i=r(o)<=a?o:`${_l(o,sn,a,r)}${sn}`;return r(n+i)<=t?n+i:`${_l(n,sn+i,t,r)}${sn}${i}`},Ll=new WeakMap,Ml=e=>{let t=Ll.get(e);if(t!==void 0)return t;let r=e.createElement("canvas").getContext("2d");if(r===null)throw new Error("[daily-report] Attachment file names are fitted with a canvas 2D context, which this document cannot create");let n={context:r,font:"",measures:new Map};return Ll.set(e,n),n},Gm=(e,t)=>{let r=e.measures.get(t);if(r!==void 0)return r;let n=o=>(e.font!==t&&(e.context.font=t,e.font=t),e.context.measureText(o).width);return e.measures.set(t,n),n},Pl=e=>{let t=new Set;for(let r of e.matchAll(zm)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},Ym=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:Pl(t.fontFamily),measure:Gm(Ml(e.ownerDocument),r)}},qm=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,Xm=e=>{let t=new Set([Km]);for(let r of e.querySelectorAll(`[${Ho}]`)){let n=r.getAttribute(Ho);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},Zm=(e,t)=>{for(let r of e.split(",")){let n=$m.exec(r.trim());if(n===null)return!0;let[,o,a]=n,i=Number.parseInt(o.replaceAll("?","0"),16),s=a===void 0?Number.parseInt(o.replaceAll("?","F"),16):Number.parseInt(a,16);for(let d of t)if(d>=i&&d<=s)return!0}return!1},Va=new WeakMap,kl=e=>{let t=Va.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return Va.set(e,r),r},Hl=(e,t)=>{let r=Ym(e.container.querySelector(`[${Ho}]`));e.fitted={trackWidth:t,nameFont:r};let n=kl(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=Qm(n)),e.applyFit({width:t,measure:r.measure})},Jm=(e,t)=>{let r=t.map(o=>({families:Pl(o.family),unicodeRange:o.unicodeRange})),n=[];for(let o of e.registrations){let{fitted:a}=o;if(a===null)continue;let i=r.filter(d=>Array.from(d.families).some(m=>a.nameFont.families.has(m)));if(i.length===0)continue;let s=Xm(o.container);i.some(d=>Zm(d.unicodeRange,s))&&(Ml(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&(0,wl.flushSync)(()=>{for(let[o,a]of n)Hl(o,a)})},Qm=e=>{let t=e.document.fonts,r=n=>{Jm(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},ep=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=Dl(e,a=>Hl(r,a)),o=kl(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),Va.delete(o.document))}},Fl=({containerRef:e,children:t})=>{let[r,n]=(0,Et.useState)(null);return(0,Et.useLayoutEffect)(()=>{let o=e.current;return ep(o,i=>{n(s=>qm(s,i)?s:i)})},[e]),(0,wt.jsx)(Nl,{value:r,children:t})},ln=({fileName:e,className:t,testId:r})=>{let n=(0,Et.useContext)(Nl),o=(0,Et.useMemo)(()=>n===null?null:jm(e,n.width,n.measure),[e,n]),{stem:a,extension:i}=Ol(e);return(0,wt.jsxs)("span",{className:R("block min-w-0",t),title:e,"data-testid":r,[Ho]:e,children:[o===null?(0,wt.jsxs)("span",{"aria-hidden":"true",className:"flex min-w-0",children:[(0,wt.jsx)("span",{className:"truncate",children:a}),i!==""&&(0,wt.jsx)("span",{className:"max-w-1/2 shrink-0 truncate",children:i})]}):(0,wt.jsx)("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:o}),(0,wt.jsx)("span",{className:"sr-only",children:e})]})};var zl=Te(require("lucide-react/dist/esm/icons/image-off.js")),He=require("react");var Fo=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),Bl=Fo.queueWaitMs+Fo.readMs+Fo.renderMs+Fo.transferMarginMs;var tp=Object.freeze({kind:"loaded"}),Ul=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",d=null,m=null,c=null,p=null,b=null,S=W=>(W!==null&&n.clearTimeout(W),null),f=()=>{p?.(),p=null},E=()=>{b?.(),b=null},h=W=>W===null||W.kind==="loaded"?0:W.kind==="failing"?W.failedAttempts:i.maxAttempts,l=W=>{s="cooling",c=n.setTimeout(z,W)},g=()=>{o.abortInFlight(),E();let W=h(r.get(t))+1;if(W>=i.maxAttempts){s="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:W,retryAt:n.now()+i.retryDelayMs}),o.reset(),l(i.retryDelayMs)},T=W=>{if(s==="loading"){if(m=S(m),!W){g();return}s="done",r.set(t,tp),E()}},C=()=>{m=null,T(!1)},k=()=>{s="loading",o.showActivity(!0),f(),m=n.setTimeout(C,i.loadTimeoutMs),o.grant()},M=()=>{d=null,s="queued",b=a.request(k)},j=()=>{d===null&&(d=n.setTimeout(M,i.settleMs))},P=W=>{if(o.showActivity(W),W){s==="watching"&&j();return}if(s==="queued"){E(),s="watching";return}d=S(d)},z=()=>{c=null,s="watching",o.showActivity(!1),p=n.observe(e,P)},Z=()=>{let W=s==="loading";s="done",f(),d=S(d),m=S(m),c=S(c),o.showActivity(!1),W&&(o.abortInFlight(),b!==null&&o.reset()),E()},U=r.get(t);if(U?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:T,dispose:Z};if(U?.kind==="exhausted"){if(n.now()-U.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:T,dispose:Z};r.delete(t)}o.reset();let ie=U?.kind==="failing"?U.retryAt-n.now():0;return ie>0?l(ie):z(),{settle:T,dispose:Z}};var rp=e=>{if(!Number.isInteger(e)||e<=0)throw Me("createLoadSlotLimiter: limit","an integer >= 1",e);let t=0,r=new Set,n=()=>{for(let o of r){r.delete(o),o.onGranted();return}t-=1};return{request:o=>{let a={onGranted:o},i=!1;return t<e?(t+=1,o()):r.add(a),()=>{i||(i=!0,!r.delete(a)&&n())}}}},Vl=rp(2);var np=e=>{if(!Number.isInteger(e)||e<=0)throw Me("createThumbnailProgressStore: maxUrls","an integer >= 1",e);let t=new Map,r=(n,o)=>{t.delete(n),t.set(n,o)};return{peek:n=>t.get(n)??null,get:n=>{let o=t.get(n);return o===void 0?null:(r(n,o),o)},set:(n,o)=>{if(r(n,o),t.size<=e)return;let[a]=t.keys();t.delete(a)},delete:n=>{t.delete(n)}}},Wa=np(1024);var Ka=new WeakMap,op=e=>{let t=Ka.get(e);if(t!==void 0)return t;let r=e.defaultView;if(r===null)throw new Error("[daily-report] A thumbnail frame must belong to a document with a window to be observed");let n=new WeakMap,a={observer:new r.IntersectionObserver(i=>{for(let s of i)n.get(s.target)?.onChange(s.isIntersecting)}),observations:n,observed:0};return Ka.set(e,a),a},Wl=(e,t)=>{let r=e.ownerDocument,n=op(r);if(n.observations.has(e))throw new Error("[daily-report] A thumbnail frame is already observed");let o={onChange:t};return n.observations.set(e,o),n.observed+=1,n.observer.observe(e),()=>{n.observations.get(e)===o&&(n.observations.delete(e),n.observer.unobserve(e),n.observed-=1,!(n.observed>0)&&(n.observer.disconnect(),Ka.delete(r)))}};var qt=require("react/jsx-runtime"),ap={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},ip="data-thumbnail-active",sp="data-daily-report-attachment-preview",$l={[sp]:""},lp=Object.freeze({settleMs:250,loadTimeoutMs:Bl,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),Kl=e=>{let t=Wa.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},dp=()=>({limiter:Vl,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:Wl,tuning:lp}),cp=(e,t,r,n)=>({grant:()=>r(o=>o.url!==e||o.status==="granted"||o.status==="loaded"?o:{url:e,status:"granted"}),reset:()=>r(o=>o.url!==e||o.status==="idle"?o:{url:e,status:"idle"}),exhausted:()=>r(o=>o.url!==e||o.status==="failed"?o:{url:e,status:"failed"}),abortInFlight:()=>{let o=n.current;o?.getAttribute("src")===e&&o.removeAttribute("src")},shows:()=>{let o=n.current;return o?.getAttribute("src")===e&&o.complete&&o.naturalWidth>0},showActivity:o=>{t.toggleAttribute(ip,o)}}),jl=(0,He.memo)(({thumbnailUrl:e,unavailableLabel:t})=>{let r=(0,He.useRef)(null),n=(0,He.useRef)(null),o=(0,He.useRef)(null),[a,i]=(0,He.useState)(()=>Kl(e));a.url!==e&&i(Kl(e)),(0,He.useLayoutEffect)(()=>{if(a.status==="failed")return;let c=n.current,p=a.status==="idle"?null:a.url;c.getAttribute("src")!==p&&(p===null?c.removeAttribute("src"):c.setAttribute("src",p))},[a]),(0,He.useEffect)(()=>{let c=r.current,p=Ul(c,e,Wa,dp(),cp(e,c,i,n));return o.current=p,()=>{o.current=null,p.dispose()}},[e]);let s=(0,He.useCallback)(c=>{c!==null&&(n.current=c)},[]),d=(0,He.useCallback)(()=>{i(c=>c.status==="granted"?{url:c.url,status:"loaded"}:c),o.current?.settle(!0)},[]),m=(0,He.useCallback)(()=>{o.current?.settle(!1)},[]);return(0,qt.jsx)("span",{className:"block",children:(0,qt.jsx)("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":ap[a.status],style:Tl,className:"relative block w-full",children:(0,qt.jsx)("span",{"data-testid":"daily-report-attachment-thumbnail-skin",className:"absolute inset-0 flex items-center justify-center overflow-hidden rounded-lg bg-slate-100 after:pointer-events-none after:absolute after:inset-0 after:rounded-[inherit] after:ring-1 after:ring-slate-900/10 after:ring-inset dark:bg-slate-800 dark:after:ring-white/10 [[data-daily-report-attachment-preview]:active_&]:after:ring-blue-500 dark:[[data-daily-report-attachment-preview]:active_&]:after:ring-blue-400 motion-safe:[[data-thumbnail-state=pending][data-thumbnail-active]_&]:animate-pulse [[data-thumbnail-state=pending]_&]:bg-slate-200 dark:[[data-thumbnail-state=pending]_&]:bg-slate-700 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover:not(:active)_&]:after:ring-blue-300 dark:[@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover:not(:active)_&]:after:ring-blue-400/60",children:a.status==="failed"?(0,qt.jsxs)("span",{className:`flex size-full flex-col items-center justify-center gap-1 px-2 text-center text-slate-600 text-xs dark:text-slate-400 ${Pn}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[(0,qt.jsx)(zl.default,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):(0,qt.jsx)("img",{ref:s,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:d,onError:m,className:"max-h-full max-w-full opacity-0 motion-safe:transition-opacity motion-safe:duration-200 motion-safe:ease-out [[data-thumbnail-state=loaded]_&]:opacity-100","data-testid":"daily-report-attachment-thumbnail"})})})})});var oe=require("react/jsx-runtime"),Gl=1024,za=["B","KB","MB","GB"],Yl="text-slate-500 text-sm line-through dark:text-slate-400",up=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=Gl&&r<za.length-1;)t/=Gl,r+=1;return r===0?`${t} ${za[r]}`:`${t.toFixed(1)} ${za[r]}`},ql=({attachment:e,labels:t,className:r})=>(0,oe.jsxs)("span",{className:r,children:[up(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),$a=({href:e,children:t,...r})=>{let n=Lr();return(0,oe.jsx)("a",{href:e,...r,tabIndex:n,children:t})},Xl=({downloadUrl:e,label:t,fileName:r})=>(0,oe.jsxs)($a,{href:e,className:R("relative ml-auto shrink-0 rounded-sm text-slate-500 text-xs underline decoration-slate-300 underline-offset-2 after:absolute after:-inset-x-2 after:-inset-y-1 hover:text-slate-700 hover:decoration-current dark:text-slate-400 dark:decoration-slate-600 dark:hover:text-slate-200",ne),"data-testid":"daily-report-attachment-download",children:[t," ",(0,oe.jsx)("span",{className:"sr-only",children:r})]}),mp=(0,Nt.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=(0,oe.jsx)(jl,{thumbnailUrl:_r(t,e.id,{kind:"thumbnail",variant:Ba}),unavailableLabel:r.attachmentThumbnailUnavailable}),o=e.state==="absent";return(0,oe.jsxs)("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[o?(0,oe.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[n,(0,oe.jsx)(ln,{fileName:e.fileName,className:Yl,testId:"daily-report-attachment-name"})]}):(0,oe.jsxs)($a,{href:_r(t,e.id,{kind:"inline"}),className:R("flex min-w-0 flex-col gap-2 rounded-lg",ne),"data-testid":"daily-report-attachment-link",...$l,children:[n,(0,oe.jsx)(ln,{fileName:e.fileName,className:"text-blue-600 text-sm dark:text-blue-400 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover_&]:underline"})]}),(0,oe.jsxs)("div",{className:"flex h-4 min-w-0 items-center gap-2 text-slate-500 text-xs tabular-nums dark:text-slate-400",style:Il,children:[(0,oe.jsx)(ql,{attachment:e,labels:r,className:"truncate"}),!o&&(0,oe.jsx)(Xl,{downloadUrl:_r(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})]})}),pp=(0,Nt.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=e.state==="absent";return(0,oe.jsxs)("li",{className:"flex items-center gap-2 rounded-lg bg-slate-50 p-2 dark:bg-slate-800/40","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[(0,oe.jsxs)("div",{className:"flex min-w-0 flex-col",children:[n?(0,oe.jsx)(ln,{fileName:e.fileName,className:Yl,testId:"daily-report-attachment-name"}):(0,oe.jsx)($a,{href:_r(t,e.id,{kind:"inline"}),className:R("flex min-w-0 rounded-sm",ne),"data-testid":"daily-report-attachment-link",children:(0,oe.jsx)(ln,{fileName:e.fileName,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),(0,oe.jsx)(ql,{attachment:e,labels:r,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!n&&(0,oe.jsx)(Xl,{downloadUrl:_r(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})}),fp=({attachments:e,headingId:t,apiBasePath:r,labels:n})=>{let o=(0,Nt.useRef)(null);return(0,oe.jsx)(Fl,{containerRef:o,children:(0,oe.jsx)("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:(0,oe.jsx)("ul",{"aria-labelledby":t,className:"grid @min-[1008px]:w-[calc(round(down,100%-64px,5px)+64px)] @min-[240px]:w-[calc(round(down,100%-16px,2px)+16px)] @min-[496px]:w-[calc(round(down,100%-32px,3px)+32px)] @min-[752px]:w-[calc(round(down,100%-48px,4px)+48px)] w-[round(down,100%,1px)] max-w-[1264px] @min-[1008px]:grid-cols-5 @min-[240px]:grid-cols-2 @min-[496px]:grid-cols-3 @min-[752px]:grid-cols-4 grid-cols-1 gap-[16px]","data-testid":"daily-report-attachment-grid",children:e.map(a=>(0,oe.jsx)(mp,{attachment:a,apiBasePath:r,labels:n},a.id))})})})},Bo=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=V(),o=(0,Nt.useId)(),{tileAttachments:a,rowAttachments:i}=(0,Nt.useMemo)(()=>({tileAttachments:e.filter(s=>s.hasThumbnail),rowAttachments:e.filter(s=>!s.hasThumbnail)}),[e]);return e.length===0?null:(0,oe.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[(0,oe.jsx)(Ze,{level:Yt[n],id:o,className:R("m-0",er),children:r.attachments}),(0,oe.jsxs)("div",{className:"flex flex-col gap-4",children:[a.length>0&&(0,oe.jsx)(fp,{attachments:a,headingId:o,apiBasePath:t,labels:r}),i.length>0&&(0,oe.jsx)("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:i.map(s=>(0,oe.jsx)(pp,{attachment:s,apiBasePath:t,labels:r},s.id))})]})]})};var od=require("@aiquants/swipe-overlay"),Le=require("react");var Ot=require("react");var Zl=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Me("mergeComments: unknownAuthorName","a non-blank string",n);let o=e.map((i,s)=>({id:`legacy-${s}`,authorName:i.name||n,content:i.text||"",isMine:!1,color:i.color||void 0,isLegacy:!0})),a=t.map(i=>({id:i.id,authorName:i.userName||n,content:i.content??"",createdAt:i.createdAt??"",isMine:r?i.userId===r:i.isMine,isLegacy:!1}));return[...o,...a]},Jl=e=>{if(!e)return"text-gray-700 dark:text-gray-300";let t=e.toLowerCase();return t.includes("red")||t.includes("\u8D64")?"text-red-600 dark:text-red-400":t.includes("green")||t.includes("\u7DD1")?"text-green-600 dark:text-green-400":t.includes("blue")||t.includes("\u9752")?"text-blue-600 dark:text-blue-400":t.includes("yellow")||t.includes("\u9EC4")?"text-yellow-600 dark:text-yellow-400":t.includes("orange")||t.includes("\u6A59")?"text-orange-500 dark:text-orange-400":"text-gray-700 dark:text-gray-300"};var Uo=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:i,deleteComment:s}=ke(),{version:d}=Mo(),{labels:m}=V(),c=m.unknownUser,[p,b]=(0,Ot.useState)(null),S=(0,Ot.useCallback)(l=>e&&s(e.reportHubId,l,e.date),[e,s]),f=(0,Ot.useCallback)(l=>e&&t?i(e.reportHubId,l,e.date):Promise.resolve(),[e,t,i]),E=(0,Ot.useRef)([]);return{uiComments:(0,Ot.useMemo)(()=>{if(!e)return[];let l=Zl(e.externalComments,e.postedComments,r,c),g=o.current.get(e.reportHubId);g?.size&&(l=l.filter(C=>!g.has(C.id)));let T=n.current.get(e.reportHubId);if(T?.size&&t){let C=new Set(l.map(M=>M.id)),k=lr(t,c);for(let[M,j]of T){if(g?.has(M)||C.has(M))continue;let P=a.current.get(M);P&&C.has(P)||l.some(z=>z.isMine&&z.content===j&&typeof z.id=="number"&&z.id>0)||l.push({id:M,authorName:k,content:j,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1})}}return JSON.stringify(l)===JSON.stringify(E.current)?E.current:(E.current=l,l)},[e,t,r,c,o,n,a,d]),handleAddComment:f,handleDeleteComment:S,pendingDeleteId:p,setPendingDeleteId:b,resolvedIdMap:a.current}};var dn=e=>e.isComposing||e.keyCode===229,Vo=e=>({key:e.key,keyCode:e.keyCode,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,defaultPrevented:e.defaultPrevented,isComposing:e.nativeEvent.isComposing,target:e.target});var bp={kind:"hold"},yp=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),Rp=(e,t)=>{let r=e.getAttribute("role");return r!==null&&yp.has(r)&&e!==t&&e.contains(t)},cn=e=>e.key==="Escape"&&!e.defaultPrevented&&!dn(e),Ql=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||dn(e))return null;let r=e.target;if(!(De(r)&&t.contains(r)))return null;let n=hs(t);if(n.length===0)return bp;let{before:o,within:a,after:i}=lo(t,r);return e.shiftKey?o.some(s=>!Rp(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};var Wo=require("react/jsx-runtime"),Ne=({render:e})=>{let t=Lr();return(0,Wo.jsx)(Wo.Fragment,{children:e(t)})};var ed=Te(require("@heroicons/react/24/outline/TrashIcon.js")),Xt=require("react");var $e=require("react/jsx-runtime"),ja="data-comment-id",Ko="data-comment-delete-button",zo="data-comment-delete-slot",gp=R(Ke,bi),hp="relative flex h-5 items-center",Sp=R(Be,"motion-safe:fade-in motion-safe:zoom-in-95 absolute top-full right-0 z-20 mt-1 whitespace-nowrap bg-red-600 font-bold text-white text-xs shadow-lg hover:bg-red-700 active:bg-red-800 motion-safe:animate-in motion-safe:duration-200",ne),vp=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,Ga=(0,Xt.memo)(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:d})=>{let[m,c]=(0,Xt.useState)(!1),{labels:p}=V(),b=(0,Xt.useId)(),S=(0,Xt.useRef)(null),f=vp(e.id,o,d),E=()=>{let l=S.current;l!==null&&s(l),a(null),c(!0),typeof e.id=="number"&&n?.(e.id)},h=l=>{if(!f)return;let g=l.relatedTarget;De(g)&&l.currentTarget.contains(g)||a(null)};return(0,$e.jsxs)("li",{[ja]:e.id,"data-deleted":m?"true":void 0,className:R("relative rounded-xl border border-slate-200 border-solid bg-white p-[11px] dark:border-slate-700 dark:bg-slate-900/70",e.isMine&&"border-blue-200 bg-blue-50 dark:border-blue-800/70 dark:bg-blue-950/40",m&&"hidden",f?"z-50":"z-0 hover:z-10"),children:[(0,$e.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,$e.jsx)("div",{className:R("font-semibold text-xs",Jl(e.color)),children:ge(e.authorName)}),(0,$e.jsxs)("div",{className:"flex items-center gap-2",children:[e.createdAt&&(0,$e.jsx)("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:be(e.createdAt)}),e.isMine&&!e.isLegacy&&(0,$e.jsxs)("div",{[zo]:e.id,className:hp,onBlur:h,children:[(0,$e.jsx)(Ne,{render:l=>(0,$e.jsx)("button",{ref:S,type:"button",tabIndex:l,className:gp,title:p.commentDelete,"aria-label":p.commentDelete,"aria-expanded":f,"aria-controls":f?b:void 0,[Ko]:e.id,onClick:()=>i(e.id,f),children:(0,$e.jsx)(ed.default,{"aria-hidden":"true",className:f?_e.deletePending:_e.delete})})}),f&&(0,$e.jsx)(Ne,{render:l=>(0,$e.jsx)("button",{id:b,type:"button",tabIndex:l,"data-delete-confirmation":!0,className:Sp,onClick:E,children:p.commentDeleteConfirm})})]})]})]}),(0,$e.jsx)("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:e.content})]})});Ga.displayName="DailyReportPostedComment";var xe=require("react/jsx-runtime"),Ep="data-daily-report-comment-section",Tp="data-daily-report-comment-heading",Ip=R(It,ne),ad=(e,t)=>e>0||t,xp=R("h-9 min-w-0 flex-1 rounded-lg border border-slate-300 border-solid bg-slate-50 px-[7px] text-sm focus:bg-white dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200 dark:focus:bg-slate-900",ne),Cp=R("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",ne),td=e=>e.querySelector(`[${Ko}][aria-expanded="true"]`),Ap=(e,t,r)=>{let n=[...e.querySelectorAll(`[${Ko}]`)].filter(s=>s===t||s.closest("[data-deleted]")===null),o=n.indexOf(t),a=n.at(o+1);if(a!==void 0)return{kind:"trash",button:a};if(o>0)return{kind:"trash",button:n[o-1]};let i=[...e.querySelectorAll(`[${ja}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return ad(i,r)?{kind:"heading"}:{kind:"report"}},Dp=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:d,onSectionRemoved:m})=>{let c=(0,Le.useRef)(null),p=(0,od.useOverlayEscapeStack)(),b=(0,Le.useId)(),S=o!==null,f=(0,Le.useCallback)(()=>{let l=c.current,g=l===null?null:td(l),T=g===null?null:g.closest(`[${zo}]`),C=l===null?null:ze(l);a(null),g!==null&&T!==null&&C!==null&&T.contains(C)&&g.focus({preventScroll:!0})},[a]);(0,Le.useEffect)(()=>{if(S)return p({id:b,onEscape:l=>cn(l)?(f(),!0):!1})},[S,p,b,f]),(0,Le.useEffect)(()=>{let l=c.current;if(!S||l===null)return;let g=l.ownerDocument,T=C=>{let k=td(l)?.closest(`[${zo}]`);k!=null&&De(C.target)&&k.contains(C.target)||a(null)};return g.addEventListener("pointerdown",T,!0),()=>g.removeEventListener("pointerdown",T,!0)},[S,a]);let E=(0,Le.useCallback)((l,g)=>{g?f():a(l)},[f,a]),h=(0,Le.useCallback)(l=>{let g=c.current;if(g===null)return;let T=Ap(g,l,s);if(T.kind==="report"){m();return}let C=T.kind==="trash"?T.button:d.current;if(C===null)throw new Error("[daily-report] the comment section's heading is not attached");C.focus({preventScroll:!0})},[s,d,m]);return e.length===0?null:(0,xe.jsx)("ul",{ref:c,className:"space-y-2",children:e.map(l=>(0,xe.jsx)(Ga,{comment:l,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:E,onBeforeHide:h,resolvedIdMap:i},l.id))})},rd=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=V(),a=(0,Le.useRef)(null);return ad(r.comments.length,r.canComment)?(0,xe.jsxs)("div",{[Ep]:"",className:R("flex flex-col gap-2",e),children:[(0,xe.jsx)(Ze,{ref:a,level:Yt[o],tabIndex:-1,[Tp]:"",className:Ip,children:n.comments}),(0,xe.jsx)(Dp,{...r,headingRef:a}),t]}):null},id=(0,Le.memo)(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:i,onDeleteComment:s,pendingDeleteId:d,onPendingDeleteIdChange:m,resolvedIdMap:c})=>{let p=t?(0,xe.jsx)(_p,{onAddComment:i}):null,b={comments:a,canComment:t,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:s,pendingDeleteId:d,onPendingDeleteIdChange:m,resolvedIdMap:c,onSectionRemoved:r,className:o};return n==="in-section"?(0,xe.jsx)(rd,{...b,children:p}):(0,xe.jsxs)(xe.Fragment,{children:[(0,xe.jsx)(rd,{...b}),p&&(0,xe.jsx)("div",{className:"mt-auto",children:p})]})});id.displayName="ReportCommentsView";var un=(0,Le.memo)(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:i})=>{let{user:s}=ke(),{uiComments:d,handleAddComment:m,handleDeleteComment:c,pendingDeleteId:p,setPendingDeleteId:b,resolvedIdMap:S}=Uo(e,s,t),f=(0,Le.useCallback)(async E=>{await m(E),n?.()},[m,n]);return(0,xe.jsx)(id,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:i,comments:d,onAddComment:f,onDeleteComment:c,pendingDeleteId:p,onPendingDeleteIdChange:b,resolvedIdMap:S})});un.displayName="ReportComments";var nd="content",_p=({onAddComment:e})=>{let[t,r]=(0,Le.useState)(!1),{labels:n}=V();return(0,xe.jsxs)("form",{className:"flex gap-2",onSubmit:async a=>{a.preventDefault();let i=a.currentTarget,s=i.elements.namedItem(nd);if(!(s instanceof Ue(i).HTMLInputElement))return;let d=s.value.trim();if(d&&e){r(!0),i.reset();try{await e(d)}catch{s.value=d}finally{r(!1)}}},children:[(0,xe.jsx)(Ne,{render:a=>(0,xe.jsx)("input",{type:"text",name:nd,tabIndex:a,placeholder:n.commentPlaceholder,className:xp,autoComplete:"off"})}),(0,xe.jsx)(Ne,{render:a=>(0,xe.jsx)("button",{type:"submit",tabIndex:a,className:Cp,disabled:t,children:n.commentSend})})]})};var Rd=require("react");var sd=require("@radix-ui/react-slot"),ld=require("class-variance-authority"),dd=Te(require("react"));var cd=require("react/jsx-runtime"),Lp=(0,ld.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 ${ne}`,{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-solid border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-2",lg:"h-11 rounded-md px-4",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),Mt=dd.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>(0,cd.jsx)(n?sd.Slot:"button",{className:R(Lp({variant:t,size:r,className:e})),ref:a,...o}));Mt.displayName="Button";var md=require("react/jsx-runtime");function ud({className:e,type:t,...r}){return(0,md.jsx)("input",{type:t,"data-slot":"input",className:R(`flex h-9 w-full min-w-0 rounded-md border border-input border-solid bg-transparent px-[7px] py-[3px] text-base shadow-xs selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive md:text-sm dark:bg-input/30 ${ne}`,e),...r})}var pd=Te(require("@radix-ui/react-label"));var fd=require("react/jsx-runtime");function mn({className:e,...t}){return(0,fd.jsx)(pd.Root,{"data-slot":"label",className:R("flex select-none items-center gap-2 font-medium text-sm leading-none [:where(.group)[data-disabled=true]_&]:pointer-events-none [:where(.group)[data-disabled=true]_&]:opacity-50 [:where(.peer):disabled~&]:cursor-not-allowed [:where(.peer):disabled~&]:opacity-50",e),...t})}var yd=require("react/jsx-runtime");function bd({className:e,...t}){return(0,yd.jsx)("textarea",{"data-slot":"textarea",className:R(`flex min-h-15 w-full rounded-md border border-input border-solid bg-transparent p-[7px] text-base shadow-xs placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive md:text-sm dark:bg-input/30 ${ne}`,e),...t})}var we=require("react/jsx-runtime"),wr=e=>({title:e.subject??"",content:e.content??""}),wp=e=>{e.preventDefault()},$o=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=ke(),{labels:i}=V(),s=Gt(),{title:d,content:m}=al(e.reportHubId),[c,p]=(0,Rd.useState)(!1),b=async()=>{p(!0);try{await o(e.reportHubId,{title:d,content:m},e.date)}catch{}finally{p(!1)}},S=async()=>{p(!0);try{await o(e.reportHubId,{title:d,content:m},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{p(!1)}},f=`report-title-${e.reportHubId}`,E=`report-content-${e.reportHubId}`;return(0,we.jsxs)("form",{className:"space-y-4 p-1",onSubmit:wp,children:[(0,we.jsxs)("div",{className:"space-y-2",children:[(0,we.jsx)(mn,{htmlFor:f,children:i.formTitle}),(0,we.jsx)(Ne,{render:h=>(0,we.jsx)(ud,{ref:n,id:f,value:d,onChange:l=>s.setInput(e.reportHubId,{title:l.target.value}),placeholder:i.formTitlePlaceholder,disabled:c,tabIndex:h})})]}),(0,we.jsxs)("div",{className:"space-y-2",children:[(0,we.jsx)(mn,{htmlFor:E,children:i.formContent}),(0,we.jsx)(Ne,{render:h=>(0,we.jsx)(bd,{id:E,value:m,onChange:l=>s.setInput(e.reportHubId,{content:l.target.value}),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:c,tabIndex:h})})]}),(0,we.jsxs)("div",{className:"flex justify-end gap-2",children:[t&&(0,we.jsx)(Ne,{render:h=>(0,we.jsx)(Mt,{type:"button",variant:"outline",onClick:t,disabled:c,tabIndex:h,children:i.formCancel})}),(0,we.jsx)(Ne,{render:h=>(0,we.jsx)(Mt,{type:"button",variant:"secondary",onClick:b,disabled:c,tabIndex:h,children:i.formSave})}),(0,we.jsx)(Ne,{render:h=>(0,we.jsx)(Mt,{type:"button",onClick:S,disabled:c,tabIndex:h,children:i.formPublish})})]})]})};var Ed=Te(require("lucide-react/dist/esm/icons/check.js")),Td=Te(require("lucide-react/dist/esm/icons/pencil.js")),Id=Te(require("lucide-react/dist/esm/icons/trash-2.js"));var Ya=require("react/jsx-runtime"),Go=24,gd=2,Np=20,jo=5,Op=3,Mp=()=>{let e=Math.cos(2*Math.PI/jo)/Math.cos(Math.PI/jo),t=Array.from({length:2*jo},(b,S)=>{let f=-Math.PI/2+S*Math.PI/jo,E=S%2===0?1:e;return{x:E*Math.cos(f),y:E*Math.sin(f)}}),r=t.map(b=>b.x),n=t.map(b=>b.y),[o,a,i,s]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],d=(Np-gd)/(a-o),m=Go/2-d*(o+a)/2,c=Go/2-d*(i+s)/2,p=b=>String(Number(b.toFixed(Op)));return t.map(b=>`${p(m+d*b.x)},${p(c+d*b.y)}`).join(" ")},Pp=Mp(),Nr=({filled:e})=>(0,Ya.jsx)("svg",{viewBox:`0 0 ${Go} ${Go}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:gd,strokeLinejoin:"round",className:e?_e.starOn:_e.starOff,children:(0,Ya.jsx)("polygon",{points:Pp})});var Pt=require("react/jsx-runtime"),Or=({config:e,id:t,className:r})=>(0,Pt.jsx)("span",{id:t,className:R(gi,e.badgeClassName,r),children:e.name===void 0?e.label:(0,Pt.jsxs)(Pt.Fragment,{children:[(0,Pt.jsx)("span",{"aria-hidden":"true",children:(0,Pt.jsx)("abbr",{title:e.name,children:e.label})}),(0,Pt.jsx)("span",{className:"sr-only",children:e.name})]})});var qa=require("react/jsx-runtime"),Yo=24,kp=6,Mr=({className:e})=>(0,qa.jsx)("svg",{viewBox:`0 0 ${Yo} ${Yo}`,"aria-hidden":"true",className:R(_e.read,e),children:(0,qa.jsx)("circle",{cx:Yo/2,cy:Yo/2,r:kp,fill:"currentColor"})});var hd=require("react/jsx-runtime"),Hp=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/,dr=({text:e})=>Hp.test(e)?(0,hd.jsx)("time",{dateTime:e,children:e}):e;var Oe=require("react/jsx-runtime"),he=({label:e,classNames:t,valueId:r,children:n})=>(0,Oe.jsxs)("div",{className:t.field,children:[(0,Oe.jsx)("dt",{className:t.label,children:e}),(0,Oe.jsx)("dd",{id:r,className:R("m-0",t.value),children:n})]}),Zt={field:"flex flex-col gap-1",label:"font-semibold text-slate-600 text-xs uppercase tracking-wide dark:text-slate-400",value:"text-slate-700 text-sm dark:text-slate-200"},Sd=({report:e,visitTimeDisplay:t,labels:r})=>{let n=e.category?.trim(),o=e.creationCategory?.trim();return(0,Oe.jsxs)("dl",{className:"m-0 flex flex-col gap-2 rounded-xl bg-slate-100 p-3 text-slate-600 text-xs dark:bg-slate-800/60 dark:text-slate-300",children:[(0,Oe.jsx)(he,{label:r.author,classNames:Zt,children:ge(e.author)}),(0,Oe.jsx)(he,{label:r.createdAt,classNames:Zt,children:(0,Oe.jsx)(dr,{text:be(e.createdAt)})}),(0,Oe.jsx)(he,{label:r.updatedBy,classNames:Zt,children:ge(e.updatedBy)}),(0,Oe.jsx)(he,{label:r.updatedAt,classNames:Zt,children:(0,Oe.jsx)(dr,{text:be(e.updatedAt)})}),(0,Oe.jsx)(he,{label:r.businessDate,classNames:Zt,children:(0,Oe.jsx)(dr,{text:be(e.date)})}),t!==null&&(0,Oe.jsx)(he,{label:r.visitTime,classNames:Zt,children:t}),n&&(0,Oe.jsx)(he,{label:r.category,classNames:Zt,children:n}),o&&(0,Oe.jsx)(he,{label:r.creationCategory,classNames:Zt,children:o})]})};var de=require("react/jsx-runtime"),qo={field:R(Be,"gap-1 whitespace-nowrap bg-slate-100 text-slate-800 dark:bg-slate-800 dark:text-slate-100"),label:"text-slate-600 text-xs uppercase tracking-wide dark:text-slate-400",value:""},Fp={field:R(Be,"gap-1 whitespace-nowrap bg-blue-50 font-semibold text-blue-800 text-xs dark:bg-blue-500/15 dark:text-blue-200"),label:"text-blue-700 text-xs uppercase tracking-wide dark:text-blue-300",value:""},vd={field:R(Be,"gap-1 whitespace-nowrap bg-amber-100 text-amber-900 dark:bg-amber-500/15 dark:text-amber-200"),label:"text-amber-800 text-xs uppercase tracking-wide dark:text-amber-300",value:""},xd=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:d,sourceConfig:m,visitTimeDisplay:c,markerIds:p,labels:b})=>{let S=r?b.starRemove:b.starAdd,f=t?b.markUnread:b.markRead,E=e.category?.trim(),h=e.creationCategory?.trim();return(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[(0,de.jsx)(br,{id:p.attachments,count:e.attachments.length,label:b.attachments}),m?(0,de.jsx)(Or,{id:p.source,config:m}):null,(0,de.jsx)(Ne,{render:l=>(0,de.jsx)("button",{type:"button",onClick:a,tabIndex:l,className:Ke,title:S,"aria-label":S,"data-detail-star-button":e.reportHubId,children:(0,de.jsx)(Nr,{filled:r})})}),(0,de.jsx)(Ne,{render:l=>(0,de.jsx)("button",{type:"button",onClick:o,tabIndex:l,className:Ke,title:f,"aria-label":f,"data-detail-read-button":e.reportHubId,children:t?(0,de.jsx)(Ed.default,{className:_e.read}):(0,de.jsx)(Mr,{})})}),i&&(0,de.jsx)(Ne,{render:l=>(0,de.jsx)("button",{ref:s,type:"button",onClick:i,tabIndex:l,"data-detail-edit-button":e.reportHubId,className:Ke,title:b.edit,"aria-label":b.edit,children:(0,de.jsx)(Td.default,{className:_e.edit})})}),n&&(0,de.jsx)(Ne,{render:l=>(0,de.jsx)("button",{type:"button",onClick:d,tabIndex:l,"data-detail-delete-button":e.reportHubId,className:Ke,title:b.deleteReport,"aria-label":b.deleteReport,children:(0,de.jsx)(Id.default,{className:_e.delete})})}),(0,de.jsxs)("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[(0,de.jsx)(he,{label:b.id,classNames:Fp,children:e.reportHubId}),(0,de.jsx)(he,{label:b.businessDate,classNames:qo,children:(0,de.jsx)(dr,{text:be(e.date)})}),(0,de.jsx)(he,{label:b.author,classNames:qo,children:ge(e.employeeName)}),(0,de.jsx)(he,{label:b.visitTime,classNames:qo,children:ge(c)}),(0,de.jsx)(he,{label:b.updatedAt,classNames:qo,children:(0,de.jsx)(dr,{text:be(e.updatedAt)})}),E&&(0,de.jsx)(he,{label:b.category,classNames:vd,children:E}),h&&(0,de.jsx)(he,{label:b.creationCategory,classNames:vd,children:h})]})]})};var ot=require("react");var F=require("react"),ti=require("react-dom");var Pr=e=>({owner:e,focusIndex:null}),Xa=Object.freeze({owner:null,focusIndex:null}),Cd=(e,t)=>{if(e.length===0)return Xa;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:e[r].reportHubId,index:r},focusIndex:r}},Ad=(e,t)=>{switch(t.kind){case"focusIn":return Pr(t.row);case"focusOut":return t.to==="outside"?Xa:Pr(e);case"pointerPress":return t.at==="outside"?Xa:Pr(e);case"listChanged":{if(e===null)return Pr(e);let r=Se(t.items,e.reportHubId,e.index);return r===-1?Cd(t.items,e.index):Pr(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Pr(e):Cd(t.items,t.selection.index)}};var Bp=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),Xo={capture:!0},Zo=new WeakMap,Up=e=>{let t=o=>{Bp.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,Xo),e.removeEventListener("pointerdown",r,Xo)}};return e.addEventListener("keydown",t,Xo),e.addEventListener("pointerdown",r,Xo),n},Dd=e=>{let t=Zo.get(e),r=t===void 0?Up(e):t;t===void 0&&Zo.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),Zo.delete(e)))}},_d=e=>{let t=Zo.get(e);return t===void 0?null:t.last};var Jo=e=>e.matches(":focus-visible")&&_d(e.ownerDocument)!=="pointer";var Vp="data-daily-report-keyboard-focus",Jt={capture:!0},Ld=e=>{let t=Dd(e.ownerDocument),r=s=>{e.toggleAttribute(Vp,De(s)&&Jo(s))},n=s=>r(s.target),o=s=>{De(s.relatedTarget)&&e.contains(s.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,Jt),e.addEventListener("keydown",n,Jt),e.addEventListener("focusout",o,Jt),e.addEventListener("pointerdown",a,Jt);let i=ze(e);return r(i!==null&&e.contains(i)?i:null),()=>{e.removeEventListener("focusin",n,Jt),e.removeEventListener("keydown",n,Jt),e.removeEventListener("focusout",o,Jt),e.removeEventListener("pointerdown",a,Jt),r(null),t()}};var Wp='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',Kp=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],zp=Kp.map(e=>`[role="${e}"]`).join(", "),$p=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),jp=new Set(["Enter"," "]),Gp=new Map([["Home","exitBefore"],["End","exitAfter"]]),Za=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return Gp.get(e.key)??null;let r=$p.get(e.key);return r!==void 0?r:jp.has(e.key)&&t.rowActivation?"activate":null},wd=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},Nd=(e,t,r)=>{let n=Za(e,r);if(n===null||e.defaultPrevented||dn(e)||t===null||!De(e.target)||!t.contains(e.target))return null;let o=jt(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:wd(e.target,Wp,t)||wd(e.target,zp,t)?null:n};var Qo={kind:"stay"},ea=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},Od=e=>Math.floor(.875*e),Qt=(e,t)=>({kind:"move",index:e,align:t}),pn=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",Yp=({index:e,count:t,viewport:r,focusedRowTop:n,heightOf:o})=>{let a=o(e),i=n+a,s={index:e+1,top:i};for(let d=e+1;d<t;d++){let m=o(d);if(a+=m,a>r)break;s={index:d,top:i},i+=m}return s},qp=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>{let o=n(e),a=r,i={index:e-1,top:r-n(e-1)};for(let s=e-1;s>=0;s--){let d=n(s);if(a-=d,o+=d,o>t)break;i={index:s,top:a}}return i},Xp=(e,t,r)=>{let{index:n,count:o,viewport:a,focusedRowTop:i,heightOf:s}=t,d=i+s(n);switch(e){case"previous":{if(n===0)return Qo;if(r==="top")return Qt(n-1,"top");let m=s(n-1);return Qt(n-1,pn(i-m,m,a,-1))}case"next":return n===o-1?Qo:r==="top"?Qt(n+1,"top"):Qt(n+1,pn(d,s(n+1),a,1));case"first":return Qt(0,"top");case"last":return Qt(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(d>a)return{kind:"reveal",delta:Math.min(d-a,Od(a))};if(n===o-1)return Qo;let m=Yp(t);return Qt(m.index,pn(m.top,s(m.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,Od(a))};if(n===0)return Qo;let m=qp(t);return Qt(m.index,pn(m.top,s(m.index),a,-1))}}},Zp=({index:e,focusedRowTop:t,heightOf:r},n)=>Fd(n,{index:e,offsetPx:-t},r),kd=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let d=Xp(e,o,n);if(d.kind==="stay")break;d.kind==="reveal"?(i+=d.delta,o={...o,focusedRowTop:o.focusedRowTop-d.delta}):d.align==="none"?o={...o,index:d.index,focusedRowTop:Zp(o,d.index)}:(a={index:d.index,align:d.align},i=0,o={...o,index:d.index,focusedRowTop:d.align==="top"?0:o.viewport-o.heightOf(d.index)})}return{index:o.index,alignment:a,scrollDelta:i}},Hd=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>pn(r,n(e),t,1),Fd=(e,t,r)=>{let n=-t.offsetPx;for(let o=t.index;o<e;o++)n+=r(o);for(let o=e;o<t.index;o++)n-=r(o);return n},fn=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=ea(n);if(n.kind==="uniform")return{index:t,count:r,viewport:o,focusedRowTop:t*n.rowHeight-a,heightOf:i};let s=e.getScrollAnchor();return s===null?null:{index:t,count:r,viewport:o,focusedRowTop:Fd(t,s,i),heightOf:i}},Md=1,Bd=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=bn(o,n,t,r);return{start:Math.max(0,o.index-Md),end:Math.min(t-1,a+Md)}},bn=(e,t,r,n)=>{let o=ea(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},Ud=(e,t)=>e.top<t.top?e.top-t.top:e.bottom>t.bottom?Math.min(e.bottom-t.bottom,e.top-t.top):0,Pd=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),Vd=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(Pd(t,n,o))return t.reportHubId;if(Pd(r,n,o))return r.reportHubId;let a=e[n.visibleStartIndex];return a===void 0?null:a.reportHubId};var Qa=1,yn=2,Ja=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?Qa:0)|(n===t||n===r?yn:0),Jp=e=>{if(Yr(e))return!0;let t=ze(e);return t!==null&&e.contains(t)},Qp=(e,t)=>{let r=e.closest(`[${mo}]`);return r!==null&&r!==e&&ar(r)===t&&ze(e)===r},Wd={capture:!0},Kd=({getContainer:e,initialSelectedId:t})=>{let r={selectedId:t,tabStopId:t,arrivingId:null},n=null,o=null,a=!1,i=null,s=new Map,d=new Map,m=null,c=new Map,p=l=>Ja(r,l),b=l=>{let g=d.get(l);if(g===void 0)return;let T=(p(l)&yn)!==0?"0":"-1";g.getAttribute("tabindex")!==T&&g.setAttribute("tabindex",T)},S=()=>{if(n===null)return;let l=n;n=null,b(l)},f=(l,g)=>{S();let T={...r};l(r);let C=r,k=new Set([T.selectedId,T.tabStopId,T.arrivingId,C.selectedId,C.tabStopId,C.arrivingId]);for(let M of k){if(M===null)continue;let j=Ja(T,M),P=Ja(C,M);if(j===P)continue;((j^P)&yn)!==0&&(M===g?n=M:b(M));let z=s.get(M);if(z!==void 0)for(let Z of[...z])Z()}},E=l=>{let g=l.ownerDocument,T=n!==null&&!Yr(l);T?g.addEventListener("focusout",S,Wd):S(),a=!0;try{l.focus({preventScroll:!0})}finally{a=!1,T&&g.removeEventListener("focusout",S,Wd),S()}},h=l=>{let g=e();g!==null&&(o=null,Jp(g)&&E(l))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:p,setTabStopId:l=>{f(g=>{g.tabStopId=l},null)},settleSelection:(l,g)=>{f(T=>{T.selectedId=l,T.tabStopId=g,T.arrivingId=null},null)},arrive:l=>{f(g=>{g.arrivingId=l},l)},subscribe:(l,g)=>{let T=s.get(l)??new Set;return T.add(g),s.set(l,T),()=>{T.delete(g),T.size===0&&s.get(l)===T&&s.delete(l)}},registerFocusTarget:(l,g)=>{if(d.set(l,g),b(l),o===l){h(g);return}i===null||i.reportHubId!==l||(Yr(g)||Qp(g,l))&&E(g)},unregisterFocusTarget:(l,g)=>{d.get(l)===g&&d.delete(l)},requestFocus:l=>{o=l;let g=d.get(l);g!==void 0&&h(g)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>i,setFocusOwner:l=>{i=l},restoreFocus:l=>{if(i===null||i.reportHubId!==l)return;let g=d.get(l);g===void 0||!Yr(g)||E(g)},holdBodiesOutside:l=>{m=l},isBodyHeldAt:l=>m!==null&&(l<m.start||l>m.end),registerHeldBody:(l,g,T)=>{let C={indexHint:g,release:T};return c.set(l,C),()=>{c.get(l)===C&&c.delete(l)}},releaseHeldBodiesWithin:(l,g)=>{if(l!==null)for(let[T,{indexHint:C,release:k}]of[...c]){let M=g(T,C);M>=l.start&&M<=l.end&&k()}}}};var Rt={previous:{axis:"row",amount:-1},next:{axis:"row",amount:1},pageBackward:{axis:"page",amount:-1},pageForward:{axis:"page",amount:1},first:{axis:"first",amount:1},last:{axis:"last",amount:1},activate:{axis:"activate",amount:1}},ei=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),ef=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),zd=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),tf=new Map(Object.values(Rt).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),$d=e=>{let t=tf.get(e);if(t===void 0)throw new Error(`[daily-report] a repeat step must be one of REPEAT_STEPS; got the ${e.axis} axis with ${e.amount}`);return t},rf=(e,t,r)=>e==="row"||e==="page"?t+r:r,jd=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:$d(e)}),Gd=(e,t)=>{switch(t.kind){case"repeat":{let{step:r}=t;if(e.axis!==r.axis)throw new Error(`[daily-report] a ${r.axis} repeat cannot continue a ${e.axis} stream`);return e.fence==="open"?(e.fence="immediate",$d(r)):(e.pending=rf(e.axis,e.pending,r.amount),ei)}case"frame":{if(e.fence==="open")return ei;if(e.fence==="immediate")return e.fence="flush",ef;if(e.pending===0)return e.fence="open",ei;let r=e.pending;return e.pending=0,{apply:{axis:e.axis,amount:r},flush:!0,requestFrame:!0,ended:!1}}case"keyup":return e.pending===0?zd:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return zd}};var nf=Object.freeze({kind:"frame"}),of=Object.freeze({kind:"keyup"}),af=Object.freeze({kind:"cancel"}),sf=Object.freeze({previous:Object.freeze({kind:"repeat",step:Rt.previous}),next:Object.freeze({kind:"repeat",step:Rt.next}),pageBackward:Object.freeze({kind:"repeat",step:Rt.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:Rt.pageForward}),first:Object.freeze({kind:"repeat",step:Rt.first}),last:Object.freeze({kind:"repeat",step:Rt.last}),activate:Object.freeze({kind:"repeat",step:Rt.activate})}),lf=(e,t)=>{if(e==="first"||e==="last")return{command:e,count:1};let r=Math.abs(t);return e==="row"?{command:t>0?"next":"previous",count:r}:{command:t>0?"pageForward":"pageBackward",count:r}},df=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),cf=e=>{let t=ar(e),r=Er(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},ta=(e,t)=>{let r=(0,F.useCallback)(a=>e.subscribe(t,a),[e,t]),n=(0,F.useCallback)(()=>e.rowStateOf(t),[e,t]),o=(0,F.useSyncExternalStore)(r,n,n);return{isCurrent:(o&Qa)!==0,isTabStop:(o&yn)!==0}},ra=(e,t,r)=>{let[n,o]=(0,F.useState)(()=>!e.isBodyHeldAt(r));return(0,F.useLayoutEffect)(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return(0,F.startTransition)(a),i},[e,t,r,n]),n},Yd=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:d,rowActivation:m})=>{let[c]=(0,F.useState)(()=>Kd({getContainer:()=>n.current,initialSelectedId:t})),p=(0,F.useRef)({items:e,onSelect:r,rowSizing:s,arrowAlign:d,rowActivation:m}),b=(0,F.useRef)(null),S=(0,F.useRef)(null),[f,E]=(0,F.useState)(null),h=(0,F.useRef)(null),l=(0,F.useRef)(null),[g,T]=(0,F.useState)(null),C=(0,F.useRef)(!1),k=(0,F.useRef)(null),[M,j]=(0,F.useState)(0),P=(0,F.useMemo)(()=>({id:t,indexHint:t===null?null:Es(f,t)}),[t,f]),z=(0,F.useRef)(P);(0,F.useLayoutEffect)(()=>{p.current={items:e,onSelect:r,rowSizing:s,arrowAlign:d,rowActivation:m},z.current=P},[e,r,s,d,m,P]);let Z=(0,F.useCallback)((I,w)=>{let u=S.current;if(u!==null&&u.items===I&&u.reportHubId===w)return u.index;let y=Se(I,w,u!==null&&u.reportHubId===w?u.index:null);return y!==-1&&(S.current={items:I,reportHubId:w,index:y}),y},[]),U=(0,F.useCallback)((I,w)=>{S.current={items:p.current.items,reportHubId:I,index:w},E(u=>u!==null&&u.reportHubId===I&&u.index===w?u:{reportHubId:I,index:w})},[]),ie=(0,F.useCallback)(I=>{let w=c.getFocusOwner();if(w===null)return null;let u=Se(I,w.reportHubId,w.index);return u===-1?null:{reportHubId:w.reportHubId,index:u}},[c]),W=(0,F.useCallback)(I=>{let w=p.current.items,u=I===null?null:{reportHubId:I,index:Z(w,I)};return Vd(w,ie(w),u,b.current,k.current)},[Z,ie]),Re=(0,F.useCallback)(()=>{c.setTabStopId(W(c.getSelectedId()))},[c,W]),ee=(0,F.useCallback)(I=>{let w=c.getFocusOwner();w===I||w!==null&&I!==null&&w.reportHubId===I.reportHubId&&w.index===I.index||(c.setFocusOwner(I),C.current||Re())},[c,Re]),G=(0,F.useCallback)(I=>{let w=Ad(c.getFocusOwner(),I);ee(w.owner),w.focusIndex!==null&&(h.current=w.focusIndex,c.requestFocus(w.owner.reportHubId))},[c,ee]);(0,F.useLayoutEffect)(()=>{c.settleSelection(t,W(t))},[c,t,e,M,W]),(0,F.useLayoutEffect)(()=>{let I=o.current;if(I!==null)return Ld(I)},[o]),(0,F.useLayoutEffect)(()=>{let I=n.current;if(I===null)return;let w=I.ownerDocument,u=y=>{let _=n.current,x=y.target;G({kind:"pointerPress",at:_!==null&&De(x)&&_.contains(x)?"inside":"outside"})};return w.addEventListener("pointerdown",u,{capture:!0}),()=>w.removeEventListener("pointerdown",u,{capture:!0})},[n,G]),(0,F.useLayoutEffect)(()=>{let I=c.pendingFocusId();I!==null&&Se(e,I,h.current)===-1&&c.cancelFocusRequest(),G({kind:"listChanged",items:e})},[c,e,G]);let Ce=(0,F.useCallback)(I=>{G({kind:"removed",reportHubId:I,selection:S.current,items:p.current.items})},[G]),me=(0,F.useCallback)((I,w,u)=>{let{items:y,onSelect:_,rowSizing:x,arrowAlign:L}=p.current,H=a.current;if(_===null||H===null)return null;let v=Se(y,u.reportHubId,u.index);if(v===-1)return null;let D=fn(H,v,y.length,x);if(D===null)return null;let N=kd(I,w,D,L),Y=y[N.index],Ee=N.index!==v;if(Ee){c.arrive(Y.reportHubId),k.current=Y.reportHubId,h.current=N.index,C.current=!0;try{c.requestFocus(Y.reportHubId)}finally{C.current=!1}}try{(0,ti.flushSync)(()=>{Ee&&(c.pendingFocusId()===null&&c.settleSelection(Y.reportHubId,Y.reportHubId),_(Y.reportHubId,N.index)),N.alignment!==null&&i.toIndex(N.alignment.index,{align:N.alignment.align}),N.scrollDelta!==0&&i.by(N.scrollDelta),Ee&&(U(Y.reportHubId,N.index),j(St=>St+1));let pt=Bd(H,y.length,x);c.holdBodiesOutside(pt),c.releaseHeldBodiesWithin(pt,(St,In)=>Se(y,St,In))})}finally{c.holdBodiesOutside(null)}return Ee?{reportHubId:Y.reportHubId,index:N.index}:{reportHubId:u.reportHubId,index:v}},[c,a,i,U]),Ve=(0,F.useCallback)(I=>{let{items:w,onSelect:u}=p.current;if(u===null)return;let y=Se(w,I.reportHubId,I.index);y!==-1&&(u(I.reportHubId,y),U(I.reportHubId,y))},[U]),Ye=(0,F.useCallback)(I=>{let w=n.current,u=w===null?null:ze(w),y=w!==null&&u!==null&&w.contains(u)?qr(jt(u,w),p.current.items):null;return y===null?I.origin:y},[n]),se=(0,F.useCallback)((I,w)=>{let u=Ye(I);if(w.axis==="activate"){Ve(u);return}let y=lf(w.axis,w.amount),_=me(y.command,y.count,u);_!==null&&(I.origin=_)},[Ye,Ve,me]),lt=(0,F.useCallback)(I=>{l.current=null,I.frame!==0&&I.view.cancelAnimationFrame(I.frame),T(null)},[]),Ae=(0,F.useCallback)((I,w,u)=>{let{apply:y}=w;y!==null&&(w.flush?(0,ti.flushSync)(()=>se(I,y)):se(I,y)),l.current===I&&(w.ended?lt(I):w.requestFrame&&(I.frame=I.view.requestAnimationFrame(u)))},[se,lt]),fe=(0,F.useCallback)((I,w,u)=>{Ae(I,Gd(I.state,w),u)},[Ae]),ve=(0,F.useCallback)(()=>{let I=l.current;I!==null&&(I.frame=0,fe(I,nf,ve))},[fe]),dt=(0,F.useCallback)(()=>{let I=l.current;I!==null&&fe(I,of,ve)},[fe,ve]),ct=(0,F.useCallback)(()=>{let I=l.current;I!==null&&fe(I,af,ve)},[fe,ve]),Ht=(0,F.useCallback)((I,w,u)=>{T(z.current);let{state:y,effects:_}=jd(Rt[I]),x={state:y,origin:w,view:u,frame:0};l.current=x,Ae(x,_,ve)},[Ae,ve]);(0,F.useLayoutEffect)(()=>()=>{let I=l.current;l.current=null,I!==null&&I.frame!==0&&I.view.cancelAnimationFrame(I.frame)},[]);let Ft=(0,F.useCallback)(I=>{let w=l.current,u=w!==null&&I.repeat?Za(I,p.current):null;if(w!==null&&u!==null&&u!=="exitBefore"&&u!=="exitAfter"&&Rt[u].axis===w.state.axis){I.preventDefault(),fe(w,sf[u],ve);return}let{items:y,onSelect:_,rowSizing:x,rowActivation:L}=p.current,H=n.current,v=_===null?null:Nd(Vo(I),H,{rowActivation:L});if(c.cancelFocusRequest(),dt(),v===null||H===null)return;if(v==="exitBefore"||v==="exitAfter"){let Y=xl(H,v==="exitBefore"?"before":"after");if(Y===null)return;I.preventDefault(),Y.focus();return}let D=ze(H),N=qr(jt(D!==null&&H.contains(D)?D:I.target,H),y);if(N!==null){if(v!=="activate"){let Y=a.current;if(Y===null||fn(Y,N.index,y.length,x)===null)return}if(I.preventDefault(),I.repeat){Ht(v,N,Ue(H));return}v==="activate"?Ve(N):me(v,1,N)}},[c,n,a,ve,fe,dt,Ht,Ve,me]),Bt=(0,F.useCallback)(()=>{dt()},[dt]),ht=(0,F.useCallback)(I=>{let w=n.current,u=I.target,y=jt(u,w);if(G({kind:"focusIn",row:y===null?null:cf(y)}),c.isMovingFocus())return;let _=a.current;if(w===null||_===null||!De(u)||!Jo(u))return;let x=y===null?null:y.closest('[role="list"]');if(y===null||x===null)return;let L=x.getBoundingClientRect(),H=y.getBoundingClientRect(),v=H.height<=L.height?H:df(u.getBoundingClientRect(),Vt),D=Ud(v,L),N=_.getViewportSize();D===0||!(N>0&&L.height>0)||i.by(D*N/L.height)},[c,n,a,i,G]),ut=(0,F.useCallback)(I=>{let w=n.current,u=I.relatedTarget,y=De(u)?w?.contains(u)?"view":"outside":"nowhere";y!=="view"&&ct(),G({kind:"focusOut",to:y})},[n,ct,G]),et=(0,F.useCallback)(()=>{c.cancelFocusRequest(),ct()},[c,ct]),mt=(0,F.useCallback)(I=>{b.current={visibleStartIndex:I.visibleStartIndex,visibleEndIndex:I.visibleEndIndex},k.current=null,Re()},[Re]),We=(0,F.useMemo)(()=>({onKeyDown:Ft,onKeyUp:Bt,onPointerDownCapture:et,onWheelCapture:et,onTouchStartCapture:et,onFocus:ht,onBlur:ut}),[Ft,Bt,et,ht,ut]);return{cursor:c,containerProps:We,handleRangeChange:mt,selection:P,settledSelection:g===null?P:g,resolveSelectedIndex:Z,rememberSelection:U,focusAfterRemoval:Ce}};var na=require("react/jsx-runtime"),uf=R(Wt,An,Dn,Cn,"h-full"),mf="h-full w-full",qd=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:d}=ta(a,e),m=(0,ot.useContext)(Dt),c=(0,ot.useContext)(At),p=ra(a,e,m),b=(0,ot.useRef)(null),S=(0,ot.useRef)(null),f=(0,ot.useCallback)(E=>(b.current=E,a.registerFocusTarget(e,E),()=>{b.current=null,a.unregisterFocusTarget(e,E)}),[a,e]);return(0,ot.useLayoutEffect)(()=>{let E=b.current,h=E===null||!p?null:E.firstElementChild,l=h instanceof HTMLElement?h:null,g=S.current;g!==null&&g.body===l||(g!==null&&g.stop(),S.current=l===null?null:{body:l,stop:o(l)})}),(0,ot.useLayoutEffect)(()=>()=>{S.current?.stop(),S.current=null},[]),(0,ot.useLayoutEffect)(()=>{a.restoreFocus(e)},[a,e,n]),(0,na.jsx)(an.Provider,{value:d,children:(0,na.jsx)("div",{ref:f,className:uf,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":m+1,"aria-setsize":c,"aria-labelledby":p&&t.kind==="card"?t.ids.heading:void 0,"aria-describedby":p&&t.kind==="card"?t.describedBy:void 0,"aria-label":t.kind==="label"?t.label:void 0,"aria-busy":r||!p?!0:void 0,"aria-current":s?"true":void 0,children:p?i:(0,na.jsx)("div",{...qe,className:mf})})})};var B=require("react/jsx-runtime"),pf=R("flex w-full flex-col",vt,wn,Vr),ff=R(vt,Vr),bf=R("rounded-2xl",Vr),yf=R("rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-700 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",Vr),Fe="bg-slate-200 dark:bg-slate-700",Rf=(e,t)=>{let r=ge(e.name);return e.affiliation?.trim()?t.interviewerWithAffiliation(r,e.affiliation):r},gf=()=>(0,B.jsxs)("div",{...qe,className:ff,children:[(0,B.jsxs)("div",{className:"mb-4 flex flex-wrap gap-2",children:[(0,B.jsx)("div",{className:R("h-6 w-20 rounded-full",Fe)}),(0,B.jsx)("div",{className:R("h-6 w-24 rounded-full",Fe)}),(0,B.jsx)("div",{className:R("h-6 w-24 rounded-full",Fe)}),(0,B.jsx)("div",{className:R("h-6 w-28 rounded-full",Fe)})]}),(0,B.jsxs)("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,B.jsxs)("div",{className:"space-y-4",children:[(0,B.jsx)("div",{className:R("h-5 w-40 rounded",Fe)}),(0,B.jsx)("div",{className:R("h-5 w-56 rounded",Fe)}),(0,B.jsx)("div",{className:R("h-24 rounded-xl",Fe)})]}),(0,B.jsxs)("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[(0,B.jsx)("div",{className:R("mb-2 h-4 w-24 rounded",Fe)}),(0,B.jsx)("div",{className:R("mb-2 h-4 w-28 rounded",Fe)}),(0,B.jsx)("div",{className:R("h-4 w-32 rounded",Fe)})]})]}),(0,B.jsxs)("div",{className:"space-y-4",children:[(0,B.jsx)("div",{className:R("h-4 w-24 rounded",Fe)}),(0,B.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,B.jsx)("div",{className:R("h-6 w-16 rounded-full",Fe)}),(0,B.jsx)("div",{className:R("h-6 w-16 rounded-full",Fe)}),(0,B.jsx)("div",{className:R("h-6 w-16 rounded-full",Fe)})]}),(0,B.jsxs)("div",{className:"space-y-2",children:[(0,B.jsx)("div",{className:R("h-16 rounded-xl",Fe)}),(0,B.jsx)("div",{className:R("h-16 rounded-xl",Fe)})]})]})]}),hf=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:d}=$t(e.reportHubId,e.businessDate),{removeStaleItem:m}=ke(),{draftLabelName:c,sourceTypeConfigs:p}=V(),b=Gt(),S=Ao(e.reportHubId),f=S==="editing"||S==="automatic",E=(0,pe.useRef)(!1),h=(0,pe.useRef)(!1),l=(0,pe.useRef)(!1);(0,pe.useEffect)(()=>{if(d){l.current=!0;return}!(a||s||i)&&l.current&&e.reportHubId>0&&m(e.reportHubId)},[a,s,d,i,e.reportHubId,m]);let g=a?.labels.some(me=>me.name===c),T=n&&a?.userId===n,C=(0,pe.useMemo)(()=>a===null?void 0:()=>{E.current=!0,b.open(e.reportHubId,wr(a),!1)},[b,e.reportHubId,a]),k=(0,pe.useCallback)(()=>{h.current=!0,b.dismiss(e.reportHubId)},[b,e.reportHubId]),M=(0,pe.useCallback)(()=>{h.current=!0,b.discard(e.reportHubId)},[b,e.reportHubId]),j=(0,pe.useCallback)(me=>{me===null||!E.current||(E.current=!1,me.focus())},[]),P=(0,pe.useCallback)(me=>{me===null||!h.current||(h.current=!1,me.focus())},[]);(0,pe.useLayoutEffect)(()=>{f||(h.current=!1)},[f]),(0,pe.useEffect)(()=>{a!==null&&(T&&g&&S==="display"?b.open(e.reportHubId,wr(a),!0):!g&&S==="automatic"&&b.discard(e.reportHubId))},[a,T,g,S,b,e.reportHubId]);let z=(0,pe.useCallback)(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),Z=(0,pe.useId)(),U=(0,pe.useMemo)(()=>({heading:`${Z}-heading`,state:`${Z}-state`,attachments:`${Z}-attachments`,source:`${Z}-source`}),[Z]),ie=a!==null&&a.attachments.length>0,W=a===null?void 0:zt(a.sourceType,p),Re=[U.state,...ie?[U.attachments]:[],...W!==void 0?[U.source]:[]].join(" "),ee=!i&&a!==null&&!f?{kind:"card",ids:U,describedBy:Re}:{kind:"label",label:be(e.businessDate)},G=!i&&a===null&&s,Ce=i?"error":a===null?s?"loading":"missing":f?"editing":"resolved";return(0,B.jsx)(qd,{itemId:e.reportHubId,name:ee,isBusy:G,bodyKind:Ce,observeRowHeight:t,cursor:o,children:i?(0,B.jsx)(Sf,{itemId:e.reportHubId}):a?f?(0,B.jsx)("div",{...qe,className:bf,children:(0,B.jsx)($o,{report:a,onCancel:k,onPublishSuccess:M,titleInputRef:j})}):(0,B.jsx)(Zd,{item:e,report:a,sourceConfig:W,textIds:U,onCommentAdded:r,userId:n,onEdit:T?C:void 0,editButtonRef:P,onCommentSectionRemoved:z}):(0,B.jsx)(gf,{})})},Xd=(0,pe.memo)(hf),Zd=(0,pe.memo)(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:d})=>{let{toggleStar:m,toggleRead:c,pendingStarUpdates:p,pendingReadUpdates:b,deleteReport:S}=ke(),{labels:f,headingLevel:E}=V(),h=Yt[E],l=jn(t.sourceType,r),g=(0,pe.useCallback)(()=>o?.(e.reportHubId),[o,e.reportHubId]),T=p.current.get(t.reportHubId),C=T===void 0?t.isStarred:T,k=b.current.get(t.reportHubId),M=k===void 0?t.isRead:k,j=!!(a&&t.userId===a),P=async()=>{try{await c(t.reportHubId,!M,t.date)}catch{}},z=async()=>{try{await m(t.reportHubId,!C,t.date)}catch{}},Z=async()=>{confirm(f.confirmDelete)&&await S(t.reportHubId,t.date)},U=(0,pe.useMemo)(()=>t.content?t.content.replace(/<br\s*\/??\s*>/gi,`
4
+ `).trim():"",[t.content]),ie=(0,pe.useMemo)(()=>{let W=t.visitTimeFrom?.trim(),Re=t.visitTimeTo?.trim();return W&&Re?`${W} - ${Re}`:W||Re||null},[t.visitTimeFrom,t.visitTimeTo]);return(0,B.jsxs)("div",{...qe,onDoubleClick:i,className:pf,children:[(0,B.jsx)(Ze,{level:E,id:n.heading,className:"sr-only",children:`${be(t.date)} ${ge(t.employeeName)} ${ge(t.subject)}`}),(0,B.jsx)("span",{id:n.state,className:"sr-only",children:f.rowState({isRead:M,isStarred:C})}),(0,B.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,B.jsx)(xd,{report:t,sourceConfig:r,isRead:M,isStarred:C,isMine:j,onToggleRead:P,onToggleStar:z,onEdit:i,editButtonRef:s,onDelete:Z,visitTimeDisplay:ie,markerIds:n,labels:f}),(0,B.jsxs)("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,B.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,B.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,B.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,B.jsx)(Ze,{level:h,className:It,children:f.customer}),(0,B.jsx)("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:ge(t.customerName)})]}),(0,B.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,B.jsx)(Ze,{level:h,className:It,children:f.subject}),(0,B.jsx)("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:ge(t.subject)})]})]}),U&&(0,B.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,B.jsx)(Ze,{level:h,className:It,children:f.content}),(0,B.jsx)("div",{className:R("whitespace-pre-wrap",Ln),children:U})]}),t.interviewers.length>0&&(0,B.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,B.jsx)(Ze,{level:h,className:It,children:f.interviewers}),(0,B.jsx)("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map(W=>(0,B.jsx)("li",{className:R(Be,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:Rf(W,f)},JSON.stringify([W.name,W.affiliation])))})]}),(0,B.jsx)(Bo,{attachments:t.attachments}),(0,B.jsx)(un,{report:t,userId:a,canComment:l,onCommentAdded:g,onSectionRemoved:d,formPlacement:"after-section"})]}),(0,B.jsx)(Sd,{report:t,visitTimeDisplay:ie,labels:f})]})]})]})});Zd.displayName="DailyReportResolvedItem";var Sf=({itemId:e})=>{let{labels:t}=V();return(0,B.jsx)("div",{...qe,className:yf,children:(0,B.jsx)("p",{children:t.reportLoadFailed(e)})})};var Tt=require("react");var Je=require("react");var vf=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e[o]?.reportHubId!==t[o]?.reportHubId)return!0;return!1},Ef=(e,t,r,n)=>{let o=e*r+t,a=Math.min(Math.max(Math.floor(o/r),0),n-1);return{index:a,offsetPx:o-a*r}},Tf=(e,t,r,n)=>{let o=e,a=t;for(;a<0&&o>0;)o-=1,a+=r(o);for(;o<n-1&&a>=r(o);)a-=r(o),o+=1;return{index:o,offsetPx:a}},If=(e,t,r,n,o)=>{if(t===e.recordedAt)return e;if(!(t>0))return null;let a=e.offsetPx+(t-e.recordedAt),{index:i,offsetPx:s}=n.kind==="uniform"?Ef(e.index,a,n.rowHeight,r.length):Tf(e.index,a,ea(n),r.length);return{reportHubId:r[i].reportHubId,index:i,offsetPx:s,lastVisibleIndex:bn({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},xf=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=Se(t,e[n].reportHubId,n-1);if(o!==-1)return o}return-1},Jd=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=(0,Je.useRef)(null),a=(0,Je.useRef)(e),i=(0,Je.useRef)(r),s=(0,Je.useCallback)(()=>{let c=t.current,p=c===null?-1:c.getScrollPosition(),b=c===null||!(p>0)?null:c.getScrollAnchor(),S=a.current,f=b===null?void 0:S[b.index],E=c===null?0:c.getViewportSize();o.current=b===null||f===void 0||!(E>0)?null:{reportHubId:f.reportHubId,index:b.index,offsetPx:b.offsetPx,lastVisibleIndex:bn(b,E,S.length,i.current),recordedAt:p}},[t]),d=(0,Je.useMemo)(()=>({toIndex:(c,p)=>{let b=t.current;b!==null&&(b.scrollToIndex(c,p),s())},by:c=>{let p=t.current;p!==null&&(p.scrollBy(c),s())},resizeRow:(c,p)=>{let b=t.current;b!==null&&(b.updateItemSize(c,p),s())}}),[t,s]);(0,Je.useLayoutEffect)(()=>{let c=a.current;a.current=e;let p=o.current,b=t.current;if(c===e||p===null||b===null||n())return;let S=If(p,b.getScrollPosition(),c,i.current,b.getViewportSize());if(S===null){o.current=null;return}let f=Se(e,S.reportHubId,S.index),E=f===-1?xf(c,e,S):f;if(E===-1){o.current=null;return}if(E===S.index&&!vf(c,e,S.index,S.lastVisibleIndex)){o.current=S;return}b.scrollToIndex(E,{align:"top",offset:-S.offsetPx}),o.current={reportHubId:e[E].reportHubId,index:E,offsetPx:S.offsetPx,lastVisibleIndex:bn({index:E,offsetPx:S.offsetPx},b.getViewportSize(),e.length,r),recordedAt:b.getScrollPosition()}},[e,t,r,n]),(0,Je.useLayoutEffect)(()=>{i.current=r},[r]);let m=(0,Je.useCallback)(c=>{if(c.cause!=="clamp"){s();return}let p=o.current;p!==null&&(o.current={...p,recordedAt:p.recordedAt+c.delta})},[s]);return(0,Je.useMemo)(()=>({handleRangeChange:s,handleScrollAdjust:m,scroller:d}),[s,m,d])};var Qd=require("react"),Cf=20,ec=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>(0,Qd.useCallback)(a=>{t.current=a;let i=a.querySelector(`[data-testid="${e}"]`);return i!==null&&Object.defineProperty(i,"__virtualScroll",{configurable:!0,get:()=>{let s=r.current;if(s!==null)return{getViewportSize:()=>s.getViewportSize(),getScrollPosition:()=>s.getScrollPosition(),getScrollAnchor:()=>s.getScrollAnchor(),getRange:()=>s.getRange(),getFenwickSize:()=>s.getFenwickSize(),findReportIndex:d=>o.current.findIndex(m=>m.reportHubId===d),getReportItem:d=>o.current[d],getReportIds:(d=Cf)=>o.current.slice(0,d).map(m=>m.reportHubId),revealIndex:(d,m)=>n.toIndex(d,m)}}}),()=>{i!==null&&delete i.__virtualScroll,t.current=null}},[e,t,r,n,o]);var tc=require("react/jsx-runtime"),oa=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let i=(0,Tt.useRef)(null),s=(0,Tt.useCallback)(C=>(i.current=C,()=>{i.current=null}),[]),{handleRangeChange:d,handleScrollAdjust:m,scroller:c}=Jd({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:p,...b}=Yd({...a,containerRef:e,handleRef:i,scroller:c}),S=ec({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:c,itemsRef:r}),{labels:f}=V(),E=(0,Tt.useId)(),h=a.onSelect!==null,l=(0,Tt.useCallback)(C=>{p(C),d(),o(C)},[p,d,o]),g=(0,Tt.useMemo)(()=>({role:"list","aria-label":f.title,"aria-describedby":h?E:void 0}),[f.title,h,E]),T=(0,Tt.useMemo)(()=>h?(0,tc.jsx)("span",{id:E,className:"sr-only",children:f.listKeyboardHelp}):null,[h,E,f.listKeyboardHelp]);return{...b,handleRangeChange:l,handleScrollAdjust:m,attachVirtualScroll:s,handleRef:i,scroller:c,attachScrollContainer:S,contentProps:g,keyboardHelp:T}};var je=require("react/jsx-runtime"),oc={pointerDragInputs:Qn,wheelSpeedMultiplier:Gn,inertiaOptions:Tr(!1),enableKeyboardNavigation:!1},Af={...oc,inertiaOptions:Tr(!0)},rc="daily-report-detail-list",Df=R("relative w-full",kn,Mn),_f=R(tt,"relative"),Lf=300,aa=e=>{let t=(0,K.useRef)(null),[r,n]=(0,K.useState)(null),o=uo(t),a=Ir(r),i=(0,K.useCallback)(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return(0,je.jsx)("div",{ref:i,className:Nn,children:(0,je.jsx)("div",{className:On,children:o===null?null:(0,je.jsx)(wf,{...e,viewportHeight:o,reducedMotion:a})})})},wf=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:i,reducedMotion:s})=>{let[{initialScrollAnchor:d,restored:m}]=(0,K.useState)(()=>{let v=a?.current;if(!v||v.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!v.topItem)return{initialScrollAnchor:void 0,restored:!0};let D=e.findIndex(N=>N.reportHubId===v.topItem?.reportHubId);return D!==-1?{initialScrollAnchor:{index:D,offsetPx:v.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:v.topItem.index,offsetPx:0},restored:!0}}),c=(0,K.useRef)(m),p=(0,K.useRef)(n??null),b=(0,K.useRef)(a?.current.measuredHeights??new Map),S=(0,K.useRef)(null),f=io(),E=ao(),[h]=(0,K.useState)(fo),l=(0,K.useRef)(null),g=(0,K.useRef)(null),T=(0,K.useRef)(e),C=(0,K.useRef)(o);(0,K.useLayoutEffect)(()=>{T.current=e,C.current=o},[e,o]);let k=(0,K.useRef)(null),[M,j]=(0,K.useState)(0),P=(0,K.useRef)(null),z=e.length,Z=t===void 0?z:t,U=(0,K.useCallback)(v=>v>=z?qn:e[v],[e,z]),ie=(0,K.useCallback)(v=>{let D=b.current.get(U(v).reportHubId);return D===void 0?es:D},[U]),W=(0,K.useCallback)(v=>U(v).reportHubId,[U]),Re=(0,K.useMemo)(()=>({kind:"measured",heightOf:ie}),[ie]),ee=(0,K.useCallback)((v,D)=>{k.current={reportHubId:v,index:D},j(N=>N+1),C.current?.(v)},[]),G=(0,K.useCallback)((v,D)=>{if(z===0)return;let N=Math.max(0,v),Y=Math.min(z-1,D);if(N>Y)return;let Ee=new Set;for(let pt=N;pt<=Y;pt++){let St=U(pt);if(St.businessDate&&Ee.add(St.businessDate),Ee.size>=Zi)break}Ee.forEach(pt=>{E(pt)})},[U,z,E]),Ce=(0,K.useCallback)(v=>{if(z===0)return;let{renderingStartIndex:D,renderingEndIndex:N,visibleStartIndex:Y}=v,Ee=U(Y);Ee.businessDate&&h.setLabel(be(Ee.businessDate)),G(D,N),G(N+1,N+Yn),G(D-Yn,D-1)},[U,z,G,h]),me=(0,K.useCallback)(()=>P.current!==null,[]),{cursor:Ve,containerProps:Ye,handleRangeChange:se,handleScrollAdjust:lt,attachVirtualScroll:Ae,handleRef:fe,scroller:ve,attachScrollContainer:dt,contentProps:ct,keyboardHelp:Ht,resolveSelectedIndex:Ft,rememberSelection:Bt}=oa({items:e,selectedId:n??null,onSelect:o===void 0?null:ee,containerRef:S,rootRef:S,testId:rc,itemsRef:T,rowSizing:Re,arrowAlign:"top",rowActivation:!0,isViewRevealPending:me,onRangeChange:Ce}),ht=(0,K.useCallback)((v,D)=>{if(fe.current===null)return!1;let N=T.current,Y=D!==null&&D.reportHubId===v?Se(N,v,D.index):Ft(N,v);return Y===-1?!1:(c.current&&(c.current=!1,v===p.current)||D!==null&&D.reportHubId===v&&D.index===Y||ve.toIndex(Y,{align:"top"}),!0)},[fe,Ft,ve]);(0,K.useEffect)(()=>{let v=k.current;k.current=null,P.current=null,n!=null&&(ht(n,v)||(P.current=n))},[n,ht]),(0,K.useEffect)(()=>{let v=P.current;v!==null&&ht(v,null)&&(P.current=null)},[e,ht]),(0,K.useEffect)(()=>{let v=a?.current;v&&(v.anchorReportHubId=n??null)},[n,a]),(0,K.useEffect)(()=>{k.current=null},[M]);let ut=(0,K.useRef)(null),et=(0,K.useCallback)(()=>{fe.current&&(ut.current=fe.current);let v=a?.current,D=ut.current;if(v&&D){let Y=D.getScrollAnchor(),Ee=Y?T.current[Y.index]:void 0;Y&&Ee&&(v.topItem={reportHubId:Ee.reportHubId,index:Y.index,offsetPx:Y.offsetPx})}let N=S.current;N&&(N.toggleAttribute(pr,!0),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{N.toggleAttribute(pr,!1),g.current=null},150))},[fe,a]),mt=(0,K.useCallback)(v=>(0,je.jsx)(bo,{...v,store:h}),[h]);(0,K.useEffect)(()=>{let v=S.current;if(!v)return;let D=()=>{h.setWheelScrollActive(!0),l.current&&clearTimeout(l.current),l.current=window.setTimeout(()=>{h.setWheelScrollActive(!1),l.current=null},Xn)};return v.addEventListener("wheel",D,{passive:!0}),()=>{v.removeEventListener("wheel",D),l.current&&clearTimeout(l.current)}},[h]);let We=(0,K.useRef)(null),I=(0,K.useCallback)(v=>{for(let D of v){let N=D.target.parentElement,Y=N===null?null:ar(N),Ee=N===null?null:Er(N),pt=D.borderBoxSize[0];if(Y===null||Ee===null||pt===void 0)continue;let St=pt.blockSize+2*Vt;if(b.current.get(Y)===St)continue;let In=Se(T.current,Y,Ee-1);In!==-1&&(b.current.set(Y,St),ve.resizeRow(In,St))}},[ve]),w=(0,K.useCallback)(v=>{We.current===null&&(We.current=new ResizeObserver(I));let D=We.current;return D.observe(v),()=>D.unobserve(v)},[I]);(0,K.useEffect)(()=>()=>{We.current?.disconnect(),We.current=null},[]),(0,K.useEffect)(()=>{z!==0&&G(0,Math.min(z-1,Yn))},[z,G]);let u=(0,K.useRef)(null),y=(0,K.useCallback)(v=>{let D=Se(T.current,v,null);D!==-1&&(u.current!==null&&clearTimeout(u.current),u.current=setTimeout(()=>{u.current=null;let N=Se(T.current,v,D);N!==-1&&ve.toIndex(N,{align:"bottom"})},Lf))},[ve]);(0,K.useEffect)(()=>()=>{u.current!==null&&clearTimeout(u.current)},[]);let _=(0,K.useCallback)(v=>{if(!C.current)return;let D=jt(v.target,S.current);if(D===null||Cs(v.target,D))return;let N=qr(D,T.current);N!==null&&(Bt(N.reportHubId,N.index),ee(N.reportHubId,N.index))},[ee,Bt]),x=(0,K.useCallback)((v,D)=>(0,je.jsx)(Dt.Provider,{value:D,children:(0,je.jsx)(Xd,{item:v,observeRowHeight:w,onCommentAdded:y,userId:r,cursor:Ve})},v.reportHubId),[w,y,r,Ve]),L=(0,K.useMemo)(()=>({...Jn,renderThumbOverlay:mt}),[mt]),H=(0,K.useMemo)(()=>(0,je.jsx)(At.Provider,{value:Z,children:(0,je.jsx)(nc.VirtualScroll,{ref:Ae,itemCount:z,getItem:U,getItemKey:W,getItemHeight:ie,viewportSize:i,initialScrollAnchor:d,overscanCount:Zn,scrollBarOptions:L,behaviorOptions:s?Af:oc,onRangeChange:se,onScrollAdjust:lt,onScroll:et,testId:rc,className:Df,locale:f.locale,labels:f.labels,contentProps:ct,children:x})}),[Ae,Z,z,U,W,ie,i,s,d,L,se,lt,et,f.locale,f.labels,ct,x]);return(0,je.jsx)(je.Fragment,{children:(0,je.jsxs)("div",{ref:dt,className:_f,...Ye,onClick:_,children:[Ht,H]})})};var ri=Te(require("lucide-react/dist/esm/icons/refresh-cw.js"));var Rn=require("react/jsx-runtime"),gn=e=>10**String(e).length-1,ia=({text:e,widestText:t,ref:r})=>(0,Rn.jsxs)("span",{ref:r,className:Ai,children:[(0,Rn.jsx)("span",{"aria-hidden":"true",className:Di,children:t}),(0,Rn.jsx)("span",{className:_i,children:e})]});var at=require("react/jsx-runtime"),Nf=(e,t,r)=>{if(r===null||r===0)return{text:e.streamProgressCount(t),widestText:e.streamProgressCount(gn(t))};let n=gn(Math.max(t,r));return{text:e.streamProgressRatio(t,r,Math.min(100,Math.round(t/r*100))),widestText:e.streamProgressRatio(n,n,100)}},Of=({loadedCount:e,totalCount:t})=>{let{labels:r}=V(),{text:n,widestText:o}=Nf(r,e,t);return(0,at.jsxs)("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:R(Be,"gap-1 bg-blue-100 font-medium text-blue-800 text-xs tabular-nums dark:bg-blue-900/40 dark:text-blue-300"),children:[(0,at.jsx)("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 motion-safe:animate-pulse dark:bg-blue-400"}),(0,at.jsx)(ia,{text:n,widestText:o})]})},kr=()=>{let e=Ys(),{labels:t}=V();return e.phase==="streaming"?(0,at.jsx)(Of,{loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?(0,at.jsxs)("span",{role:"status","data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:R(Be,"gap-1 bg-amber-100 font-medium text-amber-800 text-xs tabular-nums dark:bg-amber-900/40 dark:text-amber-300"),children:[(0,at.jsx)(ri.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?(0,at.jsxs)("span",{role:"status","data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:R(Be,"gap-1 bg-rose-100 font-medium text-rose-800 text-xs dark:bg-rose-900/40 dark:text-rose-300"),children:[t.streamFailed,(0,at.jsx)("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:()=>To(),className:R("inline-flex h-5 items-center rounded-full bg-rose-200 px-2 font-semibold text-rose-900 hover:bg-rose-300 dark:bg-rose-800 dark:text-rose-100 dark:hover:bg-rose-700",ne),children:t.streamRetry})]}):e.isRevalidating?(0,at.jsxs)("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"revalidating",className:"inline-flex items-center gap-1 text-slate-500 text-xs dark:text-slate-400",children:[(0,at.jsx)(ri.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null};var cr=require("@aiquants/resize-panels"),wc=require("@aiquants/virtualscroll"),Q=require("react");var ac=require("react"),ic="(max-width: 639px)",Mf=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};let t=window.matchMedia(ic);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},Pf=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(ic).matches:!1,kf=()=>!1,sc=()=>(0,ac.useSyncExternalStore)(Mf,Pf,kf);var it=require("@aiquants/swipe-overlay"),re=require("react");var sa=require("react");var lc=Object.freeze({id:null,indexHint:null}),la=(0,sa.createContext)(Object.freeze({selected:lc,settled:lc})),hn=(e,t)=>{let{id:r,indexHint:n}=t;return(0,sa.useMemo)(()=>{if(r===null)return null;let o=Se(e,r,n);return o===-1?null:e[o]},[e,r,n])};var bc=Te(require("lucide-react/dist/esm/icons/check.js")),yc=Te(require("lucide-react/dist/esm/icons/pencil.js")),Rc=Te(require("lucide-react/dist/esm/icons/trash-2.js")),J=require("react");var kt=Te(require("@radix-ui/react-tabs")),Qe=Te(require("react"));var Hr=require("react/jsx-runtime"),dc=Qe.createContext(null),cc=e=>{let t=Qe.useContext(dc);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},uc=(e,t)=>`${e}-trigger-${t}`,mc=(e,t)=>`${e}-panel-${t}`,Sn=Qe.forwardRef(({value:e,children:t,...r},n)=>{let o=Qe.useId(),a=Qe.useMemo(()=>({baseId:o,value:e}),[o,e]);return(0,Hr.jsx)(kt.Root,{ref:n,value:e,...r,children:(0,Hr.jsx)(dc,{value:a,children:t})})});Sn.displayName=kt.Root.displayName;var vn=Qe.forwardRef(({className:e,...t},r)=>(0,Hr.jsx)(kt.List,{ref:r,className:R("inline-flex",e),...t}));vn.displayName=kt.List.displayName;var En=Qe.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=cc("TabsTrigger");return(0,Hr.jsx)(kt.Trigger,{ref:n,value:t,...r,id:uc(o,t),"aria-controls":mc(o,t),className:R(`${xi} ${ne}`,e)})});En.displayName=kt.Trigger.displayName;var Fr=Qe.forwardRef(({className:e,value:t,children:r,...n},o)=>{let{baseId:a,value:i}=cc("TabsContent"),s=t===i;return(0,Hr.jsx)("div",{ref:o,role:"tabpanel",id:mc(a,t),"aria-labelledby":uc(a,t),"data-state":s?"active":"inactive",hidden:!s,tabIndex:0,...n,className:R(`mt-2 data-[state=inactive]:hidden ${ne}`,e),children:s?r:null})});Fr.displayName="TabsContent";var O=require("react/jsx-runtime"),gc=R(er,"w-24 shrink-0"),pc={field:"flex items-baseline",label:gc,value:"flex-1"},Hf={field:"flex min-w-0 flex-1 items-baseline",label:gc,value:"wrap-break-word min-w-0 flex-1"},Ff={field:"flex flex-col gap-1",label:er,value:""},Bf={field:"flex items-center gap-1",label:er,value:""},fc=R("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",fa,ui,ci),Uf=R("flex flex-col gap-1",ba),Vf=R("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",ne),Wf=500,ni=e=>{let t=e,r=new Set;return{isDwelling:()=>t,set:n=>{if(n!==t){t=n;for(let o of[...r])o()}},subscribe:n=>(r.add(n),()=>{r.delete(n)})}},Kf=(e,t,r,n,o,a)=>{let i=(0,J.useRef)(null),s=e?.reportHubId;(0,J.useLayoutEffect)(()=>{i.current=null},[s]),(0,J.useEffect)(()=>{n||(i.current=null)},[n]);let d=(0,J.useCallback)(async(m,c)=>{c||(i.current=m.reportHubId);try{await a(m.reportHubId,!m.isRead,m.date)}catch{}},[a]);return(0,J.useEffect)(()=>{if(!(r&&e&&!e.isRead&&!t)||i.current===e.reportHubId)return;let m=null,c=()=>{m!==null&&clearTimeout(m),m=o.isDwelling()?setTimeout(()=>d(e,!0),Wf):null};c();let p=o.subscribe(c);return()=>{p(),m!==null&&clearTimeout(m)}},[e,t,r,d,o]),{handleToggleRead:d}},oi="article",zf=["article","relations"],$f=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},jf=R("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",vt),Gf=9,Yf=.875,qf=16,hc=4*Math.ceil((2*Vt+2*_n+2*fi+Gf*Yf*qf)/4),Sc=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=V(),a=(0,J.useId)(),i=(0,J.useId)(),[s,d]=(0,J.useState)(oi),{selected:m,settled:c}=(0,J.useContext)(la),p=hn(e,m),b=hn(e,(0,J.useDeferredValue)(c)),S=p===null?null:p.reportHubId,E=(b===null?null:b.reportHubId)===S,[h]=(0,J.useState)(()=>ni(E));return(0,J.useLayoutEffect)(()=>{h.set(E)},[h,E]),(0,O.jsx)("aside",{"data-testid":"daily-report-side-pane","data-report-id":p?.reportHubId,"data-displayed-report-id":b?.reportHubId,"aria-busy":E?void 0:!0,className:jf,children:b===null?(0,O.jsx)("div",{className:R("flex h-full flex-1 items-center justify-center text-center",fr),children:(0,O.jsx)("p",{className:Pn,children:o.selectPrompt})}):(0,O.jsx)(da,{item:b,headingId:a,authorId:i,activeTab:s,onActiveTabChange:d,autoMarkRead:t,isActive:!0,dwell:h,userId:r,onReportDeleted:n},b.reportHubId)})},da=(0,J.memo)(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:d,onReportDeleted:m})=>{let{draftLabelName:c,labels:p,sourceTypeConfigs:b,headingLevel:S}=V(),{report:f,error:E,isLoading:h}=$t(e.reportHubId,e.businessDate),l=Gt(),g=Ao(e.reportHubId),T=g==="editing"||g==="automatic",C=(0,J.useRef)(null),k=(0,J.useRef)(null),M=(0,J.useRef)(!1),j=(0,J.useRef)(!1),P=!!(d&&f?.userId===d),z=f?.labels.some(se=>se.name===c);(0,J.useEffect)(()=>{f!==null&&(P&&z&&g==="display"?l.open(e.reportHubId,wr(f),!0):!z&&g==="automatic"&&l.discard(e.reportHubId))},[f,P,z,g,l,e.reportHubId]);let Z=(0,J.useMemo)(()=>f===null?void 0:()=>{M.current=!0,l.open(e.reportHubId,wr(f),!1)},[l,e.reportHubId,f]),U=(0,J.useCallback)(()=>{j.current=!0,l.dismiss(e.reportHubId)},[l,e.reportHubId]),ie=(0,J.useCallback)(()=>{j.current=!0,l.discard(e.reportHubId)},[l,e.reportHubId]),W=(0,J.useCallback)(se=>{se===null||!M.current||(M.current=!1,se.focus())},[]),Re=(0,J.useCallback)(se=>{se===null||!j.current||(j.current=!1,se.focus())},[]),ee=(0,J.useCallback)(()=>{k.current?.focus({preventScroll:!0})},[]);(0,J.useLayoutEffect)(()=>{T||!j.current||(j.current=!1,k.current?.focus())},[T]);let G=(0,J.useCallback)(()=>{setTimeout(()=>{let se=C.current;se!==null&&se.scrollTo({top:se.scrollHeight,behavior:ws(se)})},100)},[]),Ce=be(e.businessDate),me=f===null?null:ge(f.employeeName),Ve=h||!f,Ye=f===null?void 0:zt(f.sourceType,b);return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)("div",{className:Uf,children:[(0,O.jsx)("dl",{className:"m-0",children:(0,O.jsx)(he,{label:p.businessDate,classNames:Ff,children:(0,O.jsx)(Ze,{ref:k,level:S,id:t,tabIndex:-1,className:Vf,children:Ce})})}),(0,O.jsxs)("div",{className:"flex min-h-4 items-center gap-1 text-slate-500 text-xs dark:text-slate-300",children:[(0,O.jsx)("dl",{className:"m-0",children:(0,O.jsx)(he,{label:p.author,classNames:Bf,valueId:r,children:Ve?(0,O.jsx)("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):me})}),Ye?(0,O.jsx)(Or,{config:Ye,className:"ml-2"}):null]})]}),(0,O.jsxs)(Sn,{value:n,onValueChange:se=>o($f(se)),className:"flex min-h-0 flex-1 flex-col",children:[(0,O.jsx)("div",{className:ba,children:(0,O.jsx)(vn,{"aria-label":p.reportTabList,className:R(Ti,"grid grid-cols-2 gap-1"),children:zf.map(se=>(0,O.jsx)(En,{value:se,children:se==="article"?p.tabArticle:p.tabRelations},se))})}),(0,O.jsx)(Fr,{ref:C,value:"article",className:fc,children:T?f?(0,O.jsx)($o,{report:f,onCancel:U,onPublishSuccess:ie,titleInputRef:W}):(0,O.jsx)("p",{className:fr,children:p.loading}):(0,O.jsx)(Xf,{report:f,sourceConfig:Ye,isLoading:h,error:E,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:G,userId:d,onEdit:P?Z:void 0,editButtonRef:Re,onReportDeleted:m,onCommentSectionRemoved:ee})}),(0,O.jsx)(Fr,{value:"relations",className:fc,children:(0,O.jsx)("p",{className:fr,children:p.relationsEmpty})})]})]})});da.displayName="DailyReportSidePaneContent";var Br=({className:e="w-32"})=>(0,O.jsx)("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),Xf=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:i=!0,dwell:s,onCommentAdded:d,userId:m,onEdit:c,editButtonRef:p,onReportDeleted:b,onCommentSectionRemoved:S})=>{let{toggleStar:f,toggleRead:E,deleteReport:h}=ke(),{labels:l,headingLevel:g}=V(),T=Yt[g],{handleToggleRead:C}=Kf(e,r,a,i,s,E),k=e!==null&&jn(e.sourceType,t),M=(0,J.useMemo)(()=>e?.content?e.content.replace(/<br\s*\/?\s*>/gi,`
5
5
  `).replace(/<\/p>/gi,`
6
- `).replace(/<[^>]+>/g,""):null,[e]),$=async V=>{try{await f(V.reportHubId,!V.isStarred,V.date)}catch{}},B=async V=>{if(confirm(l.confirmDelete)){try{await S(V.reportHubId,V.date)}catch{alert(l.deleteFailed);return}y(V.reportHubId)}};if(n)return(0,O.jsx)("p",{className:Fr,children:l.reportLoadFailed(o.reportHubId)});let F=!e,J=!!(m&&e?.userId===m);return(0,O.jsxs)("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:u,children:[(0,O.jsxs)("div",{className:"flex items-start gap-2",children:[(0,O.jsx)("dl",{className:"m-0 flex min-w-0 flex-1",children:(0,O.jsx)(Re,{label:l.subject,classNames:$p,children:F?(0,O.jsx)(Or,{className:"w-3/4"}):(0,O.jsx)("span",{className:"text-sm",children:ye(e?.subject)})})}),!F&&e&&(0,O.jsxs)("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[(0,O.jsx)("button",{type:"button",onClick:()=>$(e),className:Ve,title:e.isStarred?l.starRemove:l.starAdd,"aria-label":e.isStarred?l.starRemove:l.starAdd,"data-detail-star-button":e.reportHubId,children:(0,O.jsx)(Cr,{filled:e.isStarred})}),(0,O.jsx)("button",{type:"button",onClick:()=>x(e,!1),className:Ve,title:e.isRead?l.markUnread:l.markRead,"aria-label":e.isRead?l.markUnread:l.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?(0,O.jsx)(Hd.default,{className:Le.read}):(0,O.jsx)(Ar,{})}),u&&(0,O.jsx)("button",{ref:p,type:"button",onClick:u,"data-detail-edit-button":e.reportHubId,className:Ve,title:l.edit,"aria-label":l.edit,children:(0,O.jsx)(Fd.default,{className:Le.edit})}),J&&(0,O.jsx)("button",{type:"button",onClick:()=>B(e),"data-detail-delete-button":e.reportHubId,className:Ve,title:l.deleteReport,"aria-label":l.deleteReport,children:(0,O.jsx)(Bd.default,{className:Le.delete})})]})]}),(0,O.jsx)("dl",{className:"m-0",children:(0,O.jsx)(Re,{label:l.customer,classNames:Pd,children:F?(0,O.jsx)(Or,{className:"w-1/2"}):(0,O.jsx)("span",{className:"text-sm",children:ye(e?.customerName)})})}),(0,O.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,O.jsx)(qe,{level:T,className:Tt,children:l.content}),(0,O.jsx)("div",{className:R("min-h-22",xn),children:F?(0,O.jsxs)("div",{className:"space-y-2",children:[(0,O.jsx)(Or,{className:"w-full"}),(0,O.jsx)(Or,{className:"w-11/12"}),(0,O.jsx)(Or,{className:"w-4/5"})]}):M?(0,O.jsx)("div",{className:"whitespace-pre-wrap",children:M}):(0,O.jsx)("p",{className:"text-slate-500 dark:text-slate-400",children:l.contentEmpty})})]}),(0,O.jsx)("dl",{className:"m-0",children:(0,O.jsx)(Re,{label:l.visitTime,classNames:Pd,children:F?(0,O.jsx)(Or,{className:"w-1/3"}):(0,O.jsxs)("span",{className:"text-sm",children:[ye(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",ye(e?.visitTimeTo)]})})}),e&&(0,O.jsx)(Eo,{attachments:e.attachments}),e&&(0,O.jsx)(an,{report:e,userId:m,canComment:P,onCommentAdded:d,onSectionRemoved:v,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};var yt=require("react/jsx-runtime"),of="fixed inset-y-0 left-0 m-0 flex h-auto max-h-none w-auto max-w-none touch-manipulation overflow-hidden border-0 bg-transparent p-0 text-inherit outline-none backdrop:bg-transparent motion-safe:transition-[right] motion-safe:duration-500 motion-safe:ease-[ease]",af={right:"var(--aqdr-overlay-right, 0px)"},sf="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",lf=R("relative ml-auto flex h-full w-full max-w-full touch-none shadow-xl motion-safe:transition-[transform] motion-safe:duration-200 motion-safe:ease-out",li),df=R("inline-flex h-9 touch-manipulation items-center rounded-full border border-slate-300 border-solid px-[15px] font-medium text-slate-600 text-sm shadow-sm hover:bg-slate-100 dark:border-slate-600 dark:text-slate-200 dark:hover:bg-slate-800",re),cf=50,Kd=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=(0,te.useState)(!1),[d,m]=(0,te.useState)(!1),u=(0,te.useRef)(null),p=(0,te.useRef)(null),y=(0,te.useRef)(null),v=(0,te.useRef)(e),f=(0,te.useRef)(!0),D=pn(r,t),S=(0,te.useCallback)(()=>{let x=o.current;if(x===null)return;let P=x.ownerDocument.body;y.current={body:P,overflow:P.style.overflow},P.style.overflow="hidden"},[o]),l=(0,te.useCallback)(()=>{let x=y.current;x!==null&&(x.body.style.overflow=x.overflow,y.current=null)},[]);(0,te.useEffect)(()=>{if(f.current){f.current=!1,v.current=e;return}let x=!v.current;v.current=e,x&&e&&a!==null?s(!0):!e&&i&&(p.current=a,s(!1),l())},[e,a,i,l]);let g=e&&i&&D!==null;(0,te.useEffect)(()=>{if(g)m(!0);else{let x=setTimeout(()=>m(!1),300);return()=>clearTimeout(x)}},[g]),(0,te.useEffect)(()=>{if(e&&i&&a!==null&&!u.current){let x=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:x},"",window.location.href),u.current=x}else!(e&&i)&&u.current&&(u.current=null);return e&&i?S():l(),l},[e,i,a,S,l]),(0,te.useEffect)(()=>{let x=()=>{u.current&&(p.current=a,u.current=null,s(!1),n(null))};return window.addEventListener("popstate",x),()=>window.removeEventListener("popstate",x)},[a,n]);let T=(0,te.useCallback)(()=>{e&&(p.current=a,s(!1),n(null),u.current&&(u.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:i,setIsMobileDetailOpen:s,isOverlayMounted:d,shouldShowOverlay:g,handleOverlayClose:T,lastClosedItemIdRef:p,selectedItem:D}},$d=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=U(),s=(0,te.useRef)(null),d=(0,te.useId)(),m=(0,te.useId)(),[u,p]=(0,te.useState)(Ua),y=(0,it.useOverlayEscapeStack)(),v=(0,te.useId)(),f=(0,te.useRef)(!1),D=(0,te.useRef)(e),S=(0,te.useRef)(null),[l]=(0,te.useState)(()=>Ba(e)),{isBlocked:g,requestBlock:T,reset:x}=(0,it.useSwipeGuardState)(),P=(0,it.useTransitionDisplay)(e,t),{overlayRef:M,overlayStyle:$,attemptClose:B,isSwiping:F}=(0,it.useSwipeToDismissOverlay)({isOpen:e,onClose:r,isCloseBlocked:(0,te.useCallback)(()=>g,[g]),skipWhenTextSelected:!0}),J=(0,te.useRef)(B);(0,te.useLayoutEffect)(()=>{J.current=B,D.current=e,l.set(e)},[B,e,l]),(0,te.useEffect)(()=>{if(e)return y({id:v,onEscape:Z=>on(Z)&&J.current()})},[e,y,v]),(0,te.useLayoutEffect)(()=>{let Z=s.current;if(Z===null)return;if(e){if(f.current)return;Z.showModal(),f.current=!0,Z.ownerDocument.getElementById(d)?.focus();return}if(!f.current)return;f.current=!1;let j=We(Z);j!==null&&Z.contains(j)&&sa(j)&&j.blur(),Z.close()},[e,d]),(0,te.useEffect)(()=>{e||x()},[e,x]);let V=(0,it.useTapClick)(()=>B()),le=Z=>{let j=xo(Z);if(on(j)){B()&&Z.preventDefault();return}if(j.key==="Escape"){S.current=Z.timeStamp;return}let Ce=vl(j,Z.currentTarget);Ce!==null&&(Z.preventDefault(),Ce.kind==="wrap"&&Ce.element.focus())},K=Z=>{Z.preventDefault();let j=S.current;S.current=null,!(j!==null&&Z.timeStamp-j<=cf)&&J.current()},ue=Z=>{let j=Z.currentTarget;j.open||!D.current||(f.current=!1,!J.current()&&(j.showModal(),f.current=!0))};return P?(0,yt.jsxs)("dialog",{ref:s,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${d} ${m}`,tabIndex:-1,className:R(of,e&&!F?"pointer-events-auto":"pointer-events-none"),style:af,inert:!e,onKeyDown:le,onCancel:K,onClose:ue,children:[(0,yt.jsx)("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:R(sf,e?"opacity-100":"opacity-0"),...V}),(0,yt.jsx)("div",{ref:M,"data-daily-report-overlay-panel":"",className:R(lf,e?"pointer-events-auto":"pointer-events-none"),style:$,children:(0,yt.jsxs)("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[(0,yt.jsx)(it.SwipeCloseGuardContext.Provider,{value:{isBlocked:g,requestBlock:T},children:(0,yt.jsx)("div",{"data-testid":"daily-report-side-pane","data-report-id":P.reportHubId,"data-displayed-report-id":P.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:(0,yt.jsx)(zo,{item:P,headingId:d,authorId:m,activeTab:u,onActiveTabChange:p,autoMarkRead:n,isActive:e,dwell:l,userId:o,onReportDeleted:a},P.reportHubId)})}),(0,yt.jsx)("div",{className:"flex justify-start",children:(0,yt.jsx)("button",{type:"button","data-overlay-interactive":"true",className:df,onClick:()=>B(),children:i.close})})]})})]}):null};var qd=Ee(require("lucide-react/dist/esm/icons/check.js")),ce=require("react");var st=require("react");var uf=6.75,mf=4,pf=1e-6,ff=e=>4*Math.ceil((2*Ft+2*Tn+mf+uf*e-pf)/4),Go=(0,st.createContext)(null),bf="data-daily-report-root-font-size-probe",yf={position:"fixed",insetBlockStart:0,insetInlineStart:0,visibility:"hidden",pointerEvents:"none",overflow:"hidden",writingMode:"horizontal-tb",boxSizing:"content-box",padding:0,border:0,margin:0,blockSize:"1rem",inlineSize:0},Rf=e=>{let t=Ye(e).getComputedStyle(e.ownerDocument.documentElement).fontSize,r=/^(\d+(?:\.\d+)?)px$/.exec(t);if(r===null||!(Number(r[1])>0))throw new Error(`[daily-report] the root element has no computed font size in px; got ${JSON.stringify(t)}`);return Number(r[1])},zd=()=>{let e=(0,st.useRef)(null),[t,r]=(0,st.useState)(null);(0,st.useLayoutEffect)(()=>{let o=e.current;if(o===null)throw new Error("[daily-report] useListRowSlotHeight needs the List to render remProbe");let a=null,i=()=>{let d=ff(Rf(o));d!==a&&(a=d,r(d))};i();let s=new ResizeObserver(i);return s.observe(o),()=>s.disconnect()},[]);let n=(0,st.useMemo)(()=>(0,st.createElement)("div",{ref:e,"aria-hidden":!0,[bf]:"",style:yf}),[]);return{rowSlotHeight:t,remProbe:n}};var z=require("react/jsx-runtime"),gf=R(Bt,vn,En,Sn),hf=R("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",gt,In,qa),Sf="min-w-24",vf="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",Ef={touchAction:"manipulation"},Tf=R("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",Sf),xf=R("relative z-10",Ve),If=R("flex h-full",gt),Cf="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",Mr="h-4 rounded bg-slate-200 dark:bg-slate-700",Df=()=>(0,z.jsx)("div",{"data-skeleton":!0,...je,className:If,children:(0,z.jsxs)("div",{className:Cf,children:[(0,z.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,z.jsx)("div",{className:R(Mr,"w-24")}),(0,z.jsx)("div",{className:R(Mr,"w-24")}),(0,z.jsx)("div",{className:R(Mr,"w-24")})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("div",{className:R(Mr,"w-full")}),(0,z.jsx)("div",{className:R(Mr,"w-11/12")}),(0,z.jsx)("div",{className:R(Mr,"w-5/6")})]})]})}),Af=e=>{e.target===e.currentTarget&&e.preventDefault()},Lf="h-full w-full",Xd=(0,ce.createContext)(!1),Gd=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=(0,ce.useContext)(Ct),a=(0,ce.useContext)(It),i=(0,ce.useContext)(Go);if(i===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let s=(0,ce.useMemo)(()=>({height:i}),[i]),{isCurrent:d,isTabStop:m}=Fo(t,e),u=Bo(t,e,o);return(0,z.jsx)(en.Provider,{value:m,children:(0,z.jsx)(Xd.Provider,{value:d,children:(0,z.jsx)("div",{ref:r?.focusTargetRef,role:"listitem","data-daily-report-row":e,"aria-posinset":o+1,"aria-setsize":a,"aria-label":r?.label,"aria-busy":r?.isBusy||!u?!0:void 0,"aria-current":r!==null&&d?"true":void 0,tabIndex:r===null?-1:void 0,className:gf,style:s,onMouseDown:Af,children:u?n:(0,z.jsx)("div",{...je,className:Lf})})})})},_f=/(<br\s*\/?\s*>|<\/p>|\r?\n)|<[^>]+>/gi,wf=e=>{if(!e)return[];let t=[],r="",n=0,o=()=>{let a=r.replace(/\u3000/g," ").trim();a.length>0&&t.push(a),r=""};for(let a of e.matchAll(_f))if(r+=e.slice(n,a.index),n=a.index+a[0].length,a[1]!==void 0&&(o(),t.length===Ai))return t;return r+=e.slice(n),o(),t},Nf=({id:e})=>{let{labels:t}=U(),r=(0,ce.useContext)(Ct),n=(0,ce.useContext)(It);return(0,z.jsx)("span",{id:e,hidden:!0,children:n===Gr?t.listRowPositionInUnknownTotal(r+1):t.listRowPosition(r+1,n)})},Of=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=(0,ce.useContext)(Xd);return(0,z.jsx)("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:Tf,children:o})},jd=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=xr();return(0,z.jsx)("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:xf,children:n})},Zd=(0,ce.memo)(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=U(),{toggleStar:i,toggleRead:s}=Pe(),d=(0,ce.useId)(),m=(0,ce.useId)(),u=(0,ce.useId)(),p=(0,ce.useId)(),y=(0,ce.useId)(),v=(0,ce.useMemo)(()=>wf(t.content??null),[t.content]),f=ye(t.employeeName),D=fe(e.businessDate),S=$=>{$.currentTarget.focus({preventScroll:!0});let B=Ji($.currentTarget);B!==null&&r(e.reportHubId,B)},l=async()=>{let $=!t.isStarred;try{await i(t.reportHubId,$,t.date)}catch{}},g=async()=>{let $=!t.isRead;try{await s(t.reportHubId,$,t.date)}catch{}},T=t.isStarred?o.starRemove:o.starAdd,x=t.isRead?o.markUnread:o.markRead,P=Ut(t.sourceType,a),M=[d,u,...t.attachments.length>0?[p]:[],...P===void 0?[]:[y],m].join(" ");return(0,z.jsxs)("div",{"data-daily-report-card":!0,...je,style:Ef,className:hf,children:[(0,z.jsx)(Nf,{id:d}),(0,z.jsx)("span",{id:u,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),(0,z.jsxs)(Of,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:M,onClick:S,children:[(0,z.jsx)("span",{className:R(Be,"shrink-0 bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:(0,z.jsx)("span",{className:"whitespace-nowrap font-medium text-slate-900 dark:text-slate-100",children:D})})," ",(0,z.jsx)("span",{className:R(Be,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:(0,z.jsx)("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:f})})]}),(0,z.jsxs)("div",{className:R(Ja,"ml-auto"),children:[(0,z.jsx)(cr,{id:p,count:t.attachments.length,label:o.attachments}),P?(0,z.jsx)(Dr,{id:y,config:P}):null,(0,z.jsx)(jd,{label:T,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:l,children:(0,z.jsx)(Cr,{filled:t.isStarred})}),(0,z.jsx)(jd,{label:x,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:g,children:t.isRead?(0,z.jsx)(qd.default,{className:Le.read}):(0,z.jsx)(Ar,{})})]}),(0,z.jsx)("div",{id:m,className:vf,children:v.length>0?v.map(($,B)=>(0,z.jsx)("p",{className:"wrap-break-word line-clamp-1",children:$},B)):(0,z.jsx)("p",{children:o.contentEmptyPreview})})]})});Zd.displayName="ListReportCard";var Yd=(e,t)=>(0,ce.useCallback)(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),Va=(0,ce.memo)(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=U(),{removeStaleItem:o}=Pe(),{report:a,error:i,isLoading:s,isRefetching:d}=Vt(e.reportHubId,e.businessDate),m=(0,ce.useRef)(!1);(0,ce.useEffect)(()=>{if(d){m.current=!0;return}!(a||s||i)&&m.current&&e.reportHubId>0&&o(e.reportHubId)},[a,s,d,i,e.reportHubId,o]);let u=Yd(r,e.reportHubId),p=Yd(r,e.reportHubId),y=(v,f)=>(0,z.jsx)(Gd,{reportHubId:e.reportHubId,cursor:r,cardless:{label:fe(e.businessDate),isBusy:f,focusTargetRef:u},children:v});return i?y((0,z.jsx)("div",{...je,className:"flex h-full items-center justify-center rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-700 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",children:(0,z.jsx)("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?y((0,z.jsx)(Df,{}),!0):a?(0,z.jsx)(Gd,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:(0,z.jsx)(Zd,{item:e,report:a,onSelect:t,focusTargetRef:p})}):y((0,z.jsx)("div",{...je,className:"flex h-full items-center justify-center rounded-2xl border border-slate-200 border-solid bg-slate-50 p-[15px] text-slate-500 text-sm dark:border-slate-700 dark:bg-slate-900/40 dark:text-slate-400",children:(0,z.jsx)("p",{children:n.reportNotFound})}),!1)});Va.displayName="ListReportItem";var ge=require("react/jsx-runtime"),ec={pointerDragInputs:Wn,inertiaOptions:gr(!1),wheelSpeedMultiplier:kn,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},Mf={...ec,inertiaOptions:gr(!0)},Pf=Object.freeze({value:360,unit:"pixels"}),kf=Object.freeze({value:160,unit:"pixels"}),Hf=Object.freeze({value:Vd,unit:"pixels"}),Ff=Object.freeze({value:520,unit:"pixels"}),Bf=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),Uf=R("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",re),Vf=R("relative w-full",Ln,Dn),Wf=R(et,"relative isolate overflow-hidden"),Jd="daily-report-list",Kf=()=>!1,$f=e=>{let[t,r]=(0,ee.useState)(!1);return(0,ee.useLayoutEffect)(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] the List root is not attached");let o=i=>{for(let s of i)r(s.contentRect.width>0&&s.contentRect.width<Di)},a=new(Ye(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},jo=e=>{let t=(0,ee.useRef)(null),[r,n]=(0,ee.useState)(null),o=Xn(t),a=$f(t),{rowSlotHeight:i,remProbe:s}=zd(),d=hr(r),m=(0,ee.useCallback)(u=>(t.current=u,n(u),()=>{t.current=null,n(null)}),[]);return(0,ge.jsxs)("div",{ref:m,className:Cn,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:(0,ge.jsx)(zf,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:d})]})},zf=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:i,rootRef:s,viewportHeight:d,rowSlotHeight:m,isContainerNarrow:u,reducedMotion:p})=>{let[y]=(0,ee.useState)(()=>i?.current??0),v=(0,ee.useRef)(null),{labels:f}=U(),D=Gn(),[S]=(0,ee.useState)(Qn),g=Ld()||u,T=(0,ee.useRef)(null),x=e.length,P=t===void 0?x:t,M=(0,ee.useRef)(null),$=(0,ee.useCallback)(h=>o(h),[o]),B=(0,ee.useCallback)(h=>h<x?e[h]:Fn,[e,x]),F=(0,ee.useCallback)(h=>{let C=B(h.visibleStartIndex);C.reportHubId>0&&S.setLabel(fe(C.businessDate))},[B,S]),J=(0,ee.useMemo)(()=>({kind:"uniform",rowHeight:m}),[m]),V=(0,ee.useRef)(e);(0,ee.useLayoutEffect)(()=>{V.current=e},[e]);let{cursor:le,containerProps:K,handleRangeChange:ue,handleScrollAdjust:Z,attachVirtualScroll:j,handleRef:Ce,scroller:pe,attachScrollContainer:Ue,contentProps:ze,keyboardHelp:ie,selection:De,settledSelection:lt,resolveSelectedIndex:Ae,rememberSelection:Se,focusAfterRemoval:dt}=Vo({items:e,selectedId:n,onSelect:$,containerRef:v,rootRef:s,testId:Jd,itemsRef:V,rowSizing:J,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:Kf,onRangeChange:F}),{isMobileDetailOpen:ct,setIsMobileDetailOpen:Mt,isOverlayMounted:Pt,shouldShowOverlay:kt,handleOverlayClose:Je,lastClosedItemIdRef:Fe,selectedItem:Ge}=Kd({isMobileLayout:g,selection:De,dailyReportItems:e,onSelectItem:o,rootRef:s}),Et=(0,ee.useMemo)(()=>({selected:De,settled:lt}),[De,lt]);(0,ee.useEffect)(()=>{let h=v.current,C=()=>{S.setWheelScrollActive(!0),T.current&&clearTimeout(T.current),T.current=window.setTimeout(()=>{S.setWheelScrollActive(!1),T.current=null},Bn)};return h?.addEventListener("wheel",C,{passive:!0}),()=>{h?.removeEventListener("wheel",C),T.current&&clearTimeout(T.current)}},[S]),(0,ee.useEffect)(()=>{!x&&n!==null&&o(null)},[x,n,o]),(0,ee.useEffect)(()=>{if(ct||Fe.current===null)return;let h=Fe.current;Fe.current=null;let C=Ae(e,h);if(C===-1)return;let N=Ce.current;if(N!==null){let Y=dn(N,C,e.length,J),ve=Y===null?"none":od(Y);ve!=="none"&&pe.toIndex(C,{align:ve})}le.requestFocus(h)},[ct,e,Fe,le,Ae,Ce,J,pe]),(0,ee.useEffect)(()=>{x>0&&S.setLabel(fe(e[0].businessDate))},[e,x,S]);let Qe=(0,ee.useCallback)((h,C)=>{h<=0||(Se(h,C),o(h),g&&Mt(!0))},[g,o,Mt,Se]),I=(0,ee.useCallback)(()=>m,[m]),c=(0,ee.useRef)(m);(0,ee.useLayoutEffect)(()=>{let h=c.current;c.current=m;let C=Ce.current;if(h===m||C===null)return;let N=C.getScrollPosition();N>0&&pe.by(N*m/h-N)},[Ce,m,pe]);let b=(0,ee.useCallback)(h=>B(h).reportHubId,[B]),E=(0,ee.useCallback)((h,C)=>(0,ge.jsx)(Ct.Provider,{value:C,children:(0,ge.jsx)(Va,{item:h,onSelect:Qe,cursor:le})},h.reportHubId),[Qe,le]),L=(0,ee.useCallback)(h=>{i&&(i.current=h);let C=v.current;C&&(C.toggleAttribute(lr,!0),M.current&&clearTimeout(M.current),M.current=setTimeout(()=>{C.toggleAttribute(lr,!1),M.current=null},150))},[i]),_=(0,ee.useCallback)(h=>(0,ge.jsx)(eo,{...h,store:S}),[S]),w=(0,ee.useMemo)(()=>(0,ge.jsxs)("div",{ref:Ue,className:Wf,...K,children:[ie,(0,ge.jsx)(It.Provider,{value:P,children:(0,ge.jsx)(Go.Provider,{value:m,children:(0,ge.jsx)(Qd.VirtualScroll,{ref:j,itemCount:x,getItem:B,getItemKey:b,getItemHeight:I,viewportSize:d,initialScrollOffset:y,overscanCount:Un,scrollBarOptions:{...Vn,renderThumbOverlay:_},behaviorOptions:p?Mf:ec,onRangeChange:ue,onScrollAdjust:Z,onScroll:L,testId:Jd,className:Vf,locale:D.locale,labels:D.labels,contentProps:ze,children:E})})})]}),[Ue,j,K,P,x,B,b,I,d,m,p,y,_,ue,Z,L,ie,ze,D.locale,D.labels,E]),G=(0,ee.useMemo)(()=>(0,ge.jsxs)(ir.PanelGroup,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[(0,ge.jsx)(ir.Panel,{id:"daily-report-list-panel",defaultSize:Pf,minSize:kf,maxSize:Ff,contentOverflow:"hidden",className:Gf,children:w}),(0,ge.jsx)(ir.PanelResizeHandle,{id:"daily-report-list-handle",thickness:10,indicator:Bf,className:Uf,"aria-label":f.resizeHandle}),(0,ge.jsx)(ir.Panel,{id:"daily-report-detail-panel",minSize:Hf,contentOverflow:"hidden",className:jf,children:(0,ge.jsx)(Wd,{dailyReportItems:e,autoMarkRead:r,userId:a,onReportDeleted:dt})})]}),[w,f.resizeHandle,e,r,a,dt]);return(0,ge.jsxs)(ge.Fragment,{children:[g?(0,ge.jsx)("div",{className:et,children:w}):(0,ge.jsx)($o.Provider,{value:Et,children:G}),Pt&&(0,ge.jsx)($d,{isOpen:kt,selectedItem:Ge,onClose:Je,autoMarkRead:g&&r,userId:a,onReportDeleted:dt})]})},Gf=R("flex min-h-0",za),jf=R("flex min-h-0 flex-1",Bt);var sr=require("react");var ac=Ee(require("lucide-react/dist/esm/icons/plus.js")),ic=Ee(require("lucide-react/dist/esm/icons/refresh-cw.js")),sc=Ee(require("lucide-react/dist/esm/icons/rotate-cw.js")),$e=require("react"),lc=require("react-router");var Rn=Ee(require("@radix-ui/react-switch")),tc=Ee(require("react"));var Wa=require("react/jsx-runtime"),Yo=tc.forwardRef(({className:e,...t},r)=>(0,Wa.jsx)(Rn.Root,{className:R(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${ti} ${ni} ${re}`,e),...t,ref:r,children:(0,Wa.jsx)(Rn.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${ri} ${oi}`})}));Yo.displayName=Rn.Root.displayName;var rc=require("react"),nc=e=>{let t=e,r=new Set;return{get:()=>t,set:n=>{if(n!==t){t=n;for(let o of[...r])o()}},subscribe:n=>(r.add(n),()=>{r.delete(n)})}},Ka=e=>(0,rc.useSyncExternalStore)(e.subscribe,e.get,e.get);var q=require("react/jsx-runtime"),Yf="list",qf=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},Xf=R(ii,di,"ml-[8px] flex flex-wrap items-center gap-2"),oc="relative h-4 w-4 p-0 after:absolute after:-inset-1",Zf="flex items-center gap-2",Jf=({count:e})=>{let{labels:t}=U(),[r,n]=(0,$e.useState)(null),o=mn(e,r);return(0,q.jsx)("span",{ref:n,className:"tabular-nums",children:t.totalCount(o)})},Qf=({setSize:e})=>{let{labels:t}=U();return e===Gr?(0,q.jsx)("span",{children:t.totalCountLoading}):(0,q.jsx)(Jf,{count:e})},eb=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let i=Ka(e);return(0,q.jsx)(jo,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:i,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},tb=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=Ka(e);return(0,q.jsx)(Wo,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},rb=({tabItems:e,actions:t})=>{let[r,n]=(0,$e.useState)(Yf),{labels:o}=U();return(0,q.jsxs)(fn,{value:r,onValueChange:a=>n(qf(a)),className:R("@container/views",et),children:[(0,q.jsxs)("div",{className:R(Xf,ci[r]),children:[(0,q.jsx)(bn,{"aria-label":o.viewTabList,className:"flex flex-wrap gap-1",children:e.map(({value:a,label:i})=>(0,q.jsx)(yn,{value:a,children:i},a))}),t]}),e.map(({value:a,content:i})=>(0,q.jsx)(Nr,{value:a,className:R("mt-0",et),children:i},a))]})},qo=({userId:e})=>{let[t,r]=(0,$e.useState)(!1),{labels:n,renderHeader:o,showDevControls:a}=U(),{toggleSse:i,createReport:s,refetchData:d,clearCacheAndRefetch:m}=Pe(),{isSseEnabled:u,items:p}=Ro(),[y]=(0,lc.useSearchParams)(),v=es(p.length,nt()),f=(0,$e.useRef)(0),D=(0,$e.useRef)({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[S]=(0,$e.useState)(()=>nc(p.length===0?null:p[0].reportHubId)),l=(0,$e.useRef)(!1);(0,$e.useEffect)(()=>{!l.current&&p.length>0&&(l.current=!0,S.get()===null&&S.set(p[0].reportHubId))},[p,S]);let g=async()=>{await d()},T=async()=>{await m()},x=async()=>{let B=y.get("businessDate")||Jo(),F=await s(B);S.set(F)};(0,$e.useEffect)(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let P=$=>{r($),localStorage.setItem("daily-report-auto-read",String($))},M=(0,$e.useMemo)(()=>[{value:"list",label:n.tabList,content:(0,q.jsx)(eb,{selectionStore:S,dailyReportItems:p,rowSetSize:v,autoMarkRead:t,userId:e,scrollOffsetRef:f})},{value:"tree",label:n.tabTree,content:(0,q.jsx)("div",{className:R("flex flex-1 items-center justify-center",dr),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:(0,q.jsx)(tb,{selectionStore:S,dailyReportItems:p,rowSetSize:v,userId:e,scrollRestoreRef:D})}],[p,v,t,e,n,S]);return(0,q.jsxs)(q.Fragment,{children:[o({title:n.title,annotation:(0,q.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[(0,q.jsx)(_r,{}),(0,q.jsx)(Qf,{setSize:v}),(0,q.jsx)("span",{children:n.debounce(br)})]})}),(0,q.jsx)("div",{className:kr,children:(0,q.jsx)("div",{className:Hr,children:(0,q.jsx)(rb,{tabItems:M,actions:(0,q.jsxs)("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[(0,q.jsxs)(wt,{size:"sm",onClick:x,className:"flex h-6 items-center gap-1 rounded-lg bg-amber-700 px-2 font-medium text-white text-xs shadow-xs hover:bg-amber-800 dark:bg-amber-700 dark:hover:bg-amber-800",title:n.createReportTitle,children:[(0,q.jsx)(ac.default,{className:"h-3 w-3"}),(0,q.jsx)("span",{children:n.createReport})]}),a&&(0,q.jsxs)("div",{className:"hidden h-6 items-center gap-1 rounded-lg border border-amber-300/70 border-solid bg-amber-50/60 px-[3px] text-slate-600 sm:flex dark:border-amber-700/50 dark:bg-amber-950/40 dark:text-slate-300",title:n.devControls,"data-testid":"dev-controls-toolbox",children:[(0,q.jsx)("span",{className:"select-none font-bold font-mono text-amber-800 text-xs uppercase dark:text-amber-200",children:"dev"}),(0,q.jsx)(Yo,{id:"sse-mode","aria-label":n.devSseToggle,title:n.devSseToggle,checked:u,onCheckedChange:i}),(0,q.jsxs)("div",{className:Zf,"data-testid":"dev-icon-buttons",children:[(0,q.jsx)(wt,{variant:"ghost",size:"icon",onClick:g,className:R(oc,"text-slate-600 hover:bg-amber-200/60 hover:text-slate-900 dark:text-slate-300 dark:hover:bg-amber-800/60 dark:hover:text-slate-100"),title:n.devReload,"data-testid":"dev-reload-btn",children:(0,q.jsx)(sc.default,{className:"size-3"})}),(0,q.jsx)(wt,{variant:"ghost",size:"icon",onClick:T,className:R(oc,"text-amber-800 hover:bg-amber-200/60 hover:text-amber-950 dark:text-amber-300 dark:hover:bg-amber-800/60 dark:hover:text-amber-100"),title:n.devClearCache,"data-testid":"dev-clear-cache-btn",children:(0,q.jsx)(ic.default,{className:"size-3"})})]})]}),(0,q.jsxs)("div",{className:"flex items-center gap-1 pl-1",title:n.autoReadTitle,children:[(0,q.jsx)(Yo,{id:"auto-read-mode",checked:t,onCheckedChange:P}),(0,q.jsx)(sn,{htmlFor:"auto-read-mode",className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:n.autoRead})]})]})})})})]})};var se=require("react/jsx-runtime"),dc=R(et,Bt),cc=R("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",gt),nb=()=>{let{labels:e,renderHeader:t}=U();return(0,se.jsxs)(se.Fragment,{children:[t({title:e.title,annotation:(0,se.jsx)("span",{className:R("font-bold",Fr),children:e.loadErrorBadge})}),(0,se.jsx)("div",{className:kr,children:(0,se.jsx)("div",{className:Hr,children:(0,se.jsx)("div",{className:dc,children:(0,se.jsxs)("div",{className:R(cc,"border-red-200 dark:border-red-900"),children:[(0,se.jsx)("p",{className:R("font-medium",Fr),children:e.loadError}),(0,se.jsx)("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:()=>so(),className:R("rounded bg-slate-100 px-4 py-2 text-slate-700 text-sm hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-300 dark:hover:bg-slate-700",re),children:e.reload})]})})})})]})},ob=()=>{let{labels:e,renderHeader:t}=U();return(0,se.jsxs)(se.Fragment,{children:[t({title:e.title,annotation:(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[(0,se.jsx)(_r,{}),(0,se.jsx)("span",{children:e.totalCountLoading}),(0,se.jsx)("span",{children:e.debounce(br)})]})}),(0,se.jsx)("div",{className:kr,children:(0,se.jsx)("div",{className:Hr,children:(0,se.jsx)("div",{className:dc,children:(0,se.jsx)("div",{className:cc,children:e.loadingIds})})})})]})},ab=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=U(),o=nt(),a=(0,sr.useRef)(n);(0,sr.useLayoutEffect)(()=>{a.current=n}),(0,sr.useEffect)(()=>{vr({apiBasePath:r,userKey:t??null})},[r,t]),(0,sr.useEffect)(()=>{o.phase==="auth-required"&&a.current()},[o.phase]);let i=o.loadedCount>0||o.phase==="complete";return(0,se.jsx)(uo,{children:(0,se.jsx)(go,{user:e,userId:t,children:i?(0,se.jsx)(qo,{userId:t}):o.phase==="failed"?(0,se.jsx)(nb,{}):(0,se.jsx)(ob,{})},t??"anonymous")})},uc=({config:e,...t})=>(0,se.jsx)(Mn,{config:e,children:(0,se.jsx)(ab,{...t})});var mc=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:i,formMethod:s,json:d,nextUrl:m,text:u})=>{if(!n)return!1;if(!(r.pathname===m.pathname&&r.search===m.search&&r.hash===m.hash))return n;if(a){let v=a.get("intent");if(v==="toggleRead"||v==="toggleStar"||v==="addComment"||v==="deleteComment"||v==="create"||v==="update"||v==="publish"||v==="delete")return!1}return e!==void 0||t!==void 0||o!==void 0||a!==void 0||i!==void 0||s!==void 0||d!==void 0||u!==void 0?n:!1},pc=e=>{let t=async r=>{ao();let n=await r.serverLoader(),o=n.userId;return oo({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};0&&(module.exports={DAILY_REPORT_LABEL_CATALOGS,DAILY_REPORT_LABEL_KEYS,DAILY_REPORT_LAYOUT_LATTICE_PX,DailyReportActionProvider,DailyReportAttachmentIndicator,DailyReportConfigProvider,DailyReportDetailList,DailyReportErrorProvider,DailyReportIdsStreamClient,DailyReportIdsStreamStatus,DailyReportList,DailyReportPage,DailyReportResolvedContent,bootstrapDailyReportIdsStreamSession,createDailyReportClientLoader,dailyReportShouldRevalidate,defaultDailyReportClientConfig,ensureDailyReportIdsStreamSession,primeDailyReportIdsStreamSession,resolveDailyReportLabels,resolveSourceTypeConfig,resyncDailyReportIdsStream,useDailyReportActionContext,useDailyReportComments,useDailyReportConfig,useDailyReportDetail,useDailyReportIdsStream,useDailyReportPrefetch,useDailyReportSseConnection});
6
+ `).replace(/<[^>]+>/g,""):null,[e]),j=async U=>{try{await f(U.reportHubId,!U.isStarred,U.date)}catch{}},P=async U=>{if(confirm(l.confirmDelete)){try{await h(U.reportHubId,U.date)}catch{alert(l.deleteFailed);return}b(U.reportHubId)}};if(n)return(0,O.jsx)("p",{className:zr,children:l.reportLoadFailed(o.reportHubId)});let z=!e,Z=!!(m&&e?.userId===m);return(0,O.jsxs)("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:c,children:[(0,O.jsxs)("div",{className:"flex items-start gap-2",children:[(0,O.jsx)("dl",{className:"m-0 flex min-w-0 flex-1",children:(0,O.jsx)(he,{label:l.subject,classNames:Hf,children:z?(0,O.jsx)(Br,{className:"w-3/4"}):(0,O.jsx)("span",{className:"text-sm",children:ge(e?.subject)})})}),!z&&e&&(0,O.jsxs)("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[(0,O.jsx)("button",{type:"button",onClick:()=>j(e),className:Ke,title:e.isStarred?l.starRemove:l.starAdd,"aria-label":e.isStarred?l.starRemove:l.starAdd,"data-detail-star-button":e.reportHubId,children:(0,O.jsx)(Nr,{filled:e.isStarred})}),(0,O.jsx)("button",{type:"button",onClick:()=>C(e,!1),className:Ke,title:e.isRead?l.markUnread:l.markRead,"aria-label":e.isRead?l.markUnread:l.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?(0,O.jsx)(bc.default,{className:_e.read}):(0,O.jsx)(Mr,{})}),c&&(0,O.jsx)("button",{ref:p,type:"button",onClick:c,"data-detail-edit-button":e.reportHubId,className:Ke,title:l.edit,"aria-label":l.edit,children:(0,O.jsx)(yc.default,{className:_e.edit})}),Z&&(0,O.jsx)("button",{type:"button",onClick:()=>P(e),"data-detail-delete-button":e.reportHubId,className:Ke,title:l.deleteReport,"aria-label":l.deleteReport,children:(0,O.jsx)(Rc.default,{className:_e.delete})})]})]}),(0,O.jsx)("dl",{className:"m-0",children:(0,O.jsx)(he,{label:l.customer,classNames:pc,children:z?(0,O.jsx)(Br,{className:"w-1/2"}):(0,O.jsx)("span",{className:"text-sm",children:ge(e?.customerName)})})}),(0,O.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,O.jsx)(Ze,{level:T,className:It,children:l.content}),(0,O.jsx)("div",{className:R("min-h-22",Ln),children:z?(0,O.jsxs)("div",{className:"space-y-2",children:[(0,O.jsx)(Br,{className:"w-full"}),(0,O.jsx)(Br,{className:"w-11/12"}),(0,O.jsx)(Br,{className:"w-4/5"})]}):M?(0,O.jsx)("div",{className:"whitespace-pre-wrap",children:M}):(0,O.jsx)("p",{className:"text-slate-500 dark:text-slate-400",children:l.contentEmpty})})]}),(0,O.jsx)("dl",{className:"m-0",children:(0,O.jsx)(he,{label:l.visitTime,classNames:pc,children:z?(0,O.jsx)(Br,{className:"w-1/3"}):(0,O.jsxs)("span",{className:"text-sm",children:[ge(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",ge(e?.visitTimeTo)]})})}),e&&(0,O.jsx)(Bo,{attachments:e.attachments}),e&&(0,O.jsx)(un,{report:e,userId:m,canComment:k,onCommentAdded:d,onSectionRemoved:S,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};var gt=require("react/jsx-runtime"),Zf="fixed inset-y-0 left-0 m-0 flex h-auto max-h-none w-auto max-w-none touch-manipulation overflow-hidden border-0 bg-transparent p-0 text-inherit outline-none backdrop:bg-transparent motion-safe:transition-[right] motion-safe:duration-500 motion-safe:ease-[ease]",Jf={right:"var(--aqdr-overlay-right, 0px)"},Qf="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",eb=R("relative ml-auto flex h-full w-full max-w-full touch-none shadow-xl motion-safe:transition-[transform] motion-safe:duration-200 motion-safe:ease-out",Ci),tb=R("inline-flex h-9 touch-manipulation items-center rounded-full border border-slate-300 border-solid px-[15px] font-medium text-slate-600 text-sm shadow-sm hover:bg-slate-100 dark:border-slate-600 dark:text-slate-200 dark:hover:bg-slate-800",ne),rb=50,vc=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=(0,re.useState)(!1),[d,m]=(0,re.useState)(!1),c=(0,re.useRef)(null),p=(0,re.useRef)(null),b=(0,re.useRef)(null),S=(0,re.useRef)(e),f=(0,re.useRef)(!0),E=hn(r,t),h=(0,re.useCallback)(()=>{let C=o.current;if(C===null)return;let k=C.ownerDocument.body;b.current={body:k,overflow:k.style.overflow},k.style.overflow="hidden"},[o]),l=(0,re.useCallback)(()=>{let C=b.current;C!==null&&(C.body.style.overflow=C.overflow,b.current=null)},[]);(0,re.useEffect)(()=>{if(f.current){f.current=!1,S.current=e;return}let C=!S.current;S.current=e,C&&e&&a!==null?s(!0):!e&&i&&(p.current=a,s(!1),l())},[e,a,i,l]);let g=e&&i&&E!==null;(0,re.useEffect)(()=>{if(g)m(!0);else{let C=setTimeout(()=>m(!1),300);return()=>clearTimeout(C)}},[g]),(0,re.useEffect)(()=>{if(e&&i&&a!==null&&!c.current){let C=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:C},"",window.location.href),c.current=C}else!(e&&i)&&c.current&&(c.current=null);return e&&i?h():l(),l},[e,i,a,h,l]),(0,re.useEffect)(()=>{let C=()=>{c.current&&(p.current=a,c.current=null,s(!1),n(null))};return window.addEventListener("popstate",C),()=>window.removeEventListener("popstate",C)},[a,n]);let T=(0,re.useCallback)(()=>{e&&(p.current=a,s(!1),n(null),c.current&&(c.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:i,setIsMobileDetailOpen:s,isOverlayMounted:d,shouldShowOverlay:g,handleOverlayClose:T,lastClosedItemIdRef:p,selectedItem:E}},Ec=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=V(),s=(0,re.useRef)(null),d=(0,re.useId)(),m=(0,re.useId)(),[c,p]=(0,re.useState)(oi),b=(0,it.useOverlayEscapeStack)(),S=(0,re.useId)(),f=(0,re.useRef)(!1),E=(0,re.useRef)(e),h=(0,re.useRef)(null),[l]=(0,re.useState)(()=>ni(e)),{isBlocked:g,requestBlock:T,reset:C}=(0,it.useSwipeGuardState)(),k=(0,it.useTransitionDisplay)(e,t),{overlayRef:M,overlayStyle:j,attemptClose:P,isSwiping:z}=(0,it.useSwipeToDismissOverlay)({isOpen:e,onClose:r,isCloseBlocked:(0,re.useCallback)(()=>g,[g]),skipWhenTextSelected:!0}),Z=(0,re.useRef)(P);(0,re.useLayoutEffect)(()=>{Z.current=P,E.current=e,l.set(e)},[P,e,l]),(0,re.useEffect)(()=>{if(e)return b({id:S,onEscape:ee=>cn(ee)&&Z.current()})},[e,b,S]),(0,re.useLayoutEffect)(()=>{let ee=s.current;if(ee===null)return;if(e){if(f.current)return;ee.showModal(),f.current=!0,ee.ownerDocument.getElementById(d)?.focus();return}if(!f.current)return;f.current=!1;let G=ze(ee);G!==null&&ee.contains(G)&&_a(G)&&G.blur(),ee.close()},[e,d]),(0,re.useEffect)(()=>{e||C()},[e,C]);let U=(0,it.useTapClick)(()=>P()),ie=ee=>{let G=Vo(ee);if(cn(G)){P()&&ee.preventDefault();return}if(G.key==="Escape"){h.current=ee.timeStamp;return}let Ce=Ql(G,ee.currentTarget);Ce!==null&&(ee.preventDefault(),Ce.kind==="wrap"&&Ce.element.focus())},W=ee=>{ee.preventDefault();let G=h.current;h.current=null,!(G!==null&&ee.timeStamp-G<=rb)&&Z.current()},Re=ee=>{let G=ee.currentTarget;G.open||!E.current||(f.current=!1,!Z.current()&&(G.showModal(),f.current=!0))};return k?(0,gt.jsxs)("dialog",{ref:s,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${d} ${m}`,tabIndex:-1,className:R(Zf,e&&!z?"pointer-events-auto":"pointer-events-none"),style:Jf,inert:!e,onKeyDown:ie,onCancel:W,onClose:Re,children:[(0,gt.jsx)("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:R(Qf,e?"opacity-100":"opacity-0"),...U}),(0,gt.jsx)("div",{ref:M,"data-daily-report-overlay-panel":"",className:R(eb,e?"pointer-events-auto":"pointer-events-none"),style:j,children:(0,gt.jsxs)("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[(0,gt.jsx)(it.SwipeCloseGuardContext.Provider,{value:{isBlocked:g,requestBlock:T},children:(0,gt.jsx)("div",{"data-testid":"daily-report-side-pane","data-report-id":k.reportHubId,"data-displayed-report-id":k.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:(0,gt.jsx)(da,{item:k,headingId:d,authorId:m,activeTab:c,onActiveTabChange:p,autoMarkRead:n,isActive:e,dwell:l,userId:o,onReportDeleted:a},k.reportHubId)})}),(0,gt.jsx)("div",{className:"flex justify-start",children:(0,gt.jsx)("button",{type:"button","data-overlay-interactive":"true",className:tb,onClick:()=>P(),children:i.close})})]})})]}):null};var Ac=Te(require("lucide-react/dist/esm/icons/check.js")),ue=require("react");var st=require("react");var nb=6.75,ob=4,ab=1e-6,ib=e=>4*Math.ceil((2*Vt+2*_n+ob+nb*e-ab)/4),ca=(0,st.createContext)(null),sb="data-daily-report-root-font-size-probe",lb={position:"fixed",insetBlockStart:0,insetInlineStart:0,visibility:"hidden",pointerEvents:"none",overflow:"hidden",writingMode:"horizontal-tb",boxSizing:"content-box",padding:0,border:0,margin:0,blockSize:"1rem",inlineSize:0},db=e=>{let t=Ue(e).getComputedStyle(e.ownerDocument.documentElement).fontSize,r=/^(\d+(?:\.\d+)?)px$/.exec(t);if(r===null||!(Number(r[1])>0))throw new Error(`[daily-report] the root element has no computed font size in px; got ${JSON.stringify(t)}`);return Number(r[1])},Tc=()=>{let e=(0,st.useRef)(null),[t,r]=(0,st.useState)(null);(0,st.useLayoutEffect)(()=>{let o=e.current;if(o===null)throw new Error("[daily-report] useListRowSlotHeight needs the List to render remProbe");let a=null,i=()=>{let d=ib(db(o));d!==a&&(a=d,r(d))};i();let s=new ResizeObserver(i);return s.observe(o),()=>s.disconnect()},[]);let n=(0,st.useMemo)(()=>(0,st.createElement)("div",{ref:e,"aria-hidden":!0,[sb]:"",style:lb}),[]);return{rowSlotHeight:t,remProbe:n}};var $=require("react/jsx-runtime"),cb=R(Wt,An,Dn,Cn),ub=R("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",vt,wn,pi),mb="min-w-24",pb="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",fb={touchAction:"manipulation"},bb=R("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",mb),yb=R("relative z-10",Ke),Rb=R("flex h-full",vt),gb="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",Ur="h-4 rounded bg-slate-200 dark:bg-slate-700",hb=()=>(0,$.jsx)("div",{"data-skeleton":!0,...qe,className:Rb,children:(0,$.jsxs)("div",{className:gb,children:[(0,$.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,$.jsx)("div",{className:R(Ur,"w-24")}),(0,$.jsx)("div",{className:R(Ur,"w-24")}),(0,$.jsx)("div",{className:R(Ur,"w-24")})]}),(0,$.jsxs)("div",{className:"space-y-2",children:[(0,$.jsx)("div",{className:R(Ur,"w-full")}),(0,$.jsx)("div",{className:R(Ur,"w-11/12")}),(0,$.jsx)("div",{className:R(Ur,"w-5/6")})]})]})}),Sb=e=>{e.target===e.currentTarget&&e.preventDefault()},vb="h-full w-full",Dc=(0,ue.createContext)(!1),Ic=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=(0,ue.useContext)(Dt),a=(0,ue.useContext)(At),i=(0,ue.useContext)(ca);if(i===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let s=(0,ue.useMemo)(()=>({height:i}),[i]),{isCurrent:d,isTabStop:m}=ta(t,e),c=ra(t,e,o);return(0,$.jsx)(an.Provider,{value:m,children:(0,$.jsx)(Dc.Provider,{value:d,children:(0,$.jsx)("div",{ref:r?.focusTargetRef,role:"listitem","data-daily-report-row":e,"aria-posinset":o+1,"aria-setsize":a,"aria-label":r?.label,"aria-busy":r?.isBusy||!c?!0:void 0,"aria-current":r!==null&&d?"true":void 0,tabIndex:r===null?-1:void 0,className:cb,style:s,onMouseDown:Sb,children:c?n:(0,$.jsx)("div",{...qe,className:vb})})})})},Eb=/(<br\s*\/?\s*>|<\/p>|\r?\n)|<[^>]+>/gi,Tb=e=>{if(!e)return[];let t=[],r="",n=0,o=()=>{let a=r.replace(/\u3000/g," ").trim();a.length>0&&t.push(a),r=""};for(let a of e.matchAll(Eb))if(r+=e.slice(n,a.index),n=a.index+a[0].length,a[1]!==void 0&&(o(),t.length===Qi))return t;return r+=e.slice(n),o(),t},Ib=({id:e})=>{let{labels:t}=V(),r=(0,ue.useContext)(Dt),n=(0,ue.useContext)(At);return(0,$.jsx)("span",{id:e,hidden:!0,children:n===Xr?t.listRowPositionInUnknownTotal(r+1):t.listRowPosition(r+1,n)})},xb=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=(0,ue.useContext)(Dc);return(0,$.jsx)("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:bb,children:o})},xc=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=Lr();return(0,$.jsx)("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:yb,children:n})},_c=(0,ue.memo)(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=V(),{toggleStar:i,toggleRead:s}=ke(),d=(0,ue.useId)(),m=(0,ue.useId)(),c=(0,ue.useId)(),p=(0,ue.useId)(),b=(0,ue.useId)(),S=(0,ue.useMemo)(()=>Tb(t.content??null),[t.content]),f=ge(t.employeeName),E=be(e.businessDate),h=j=>{j.currentTarget.focus({preventScroll:!0});let P=xs(j.currentTarget);P!==null&&r(e.reportHubId,P)},l=async()=>{let j=!t.isStarred;try{await i(t.reportHubId,j,t.date)}catch{}},g=async()=>{let j=!t.isRead;try{await s(t.reportHubId,j,t.date)}catch{}},T=t.isStarred?o.starRemove:o.starAdd,C=t.isRead?o.markUnread:o.markRead,k=zt(t.sourceType,a),M=[d,c,...t.attachments.length>0?[p]:[],...k===void 0?[]:[b],m].join(" ");return(0,$.jsxs)("div",{"data-daily-report-card":!0,...qe,style:fb,className:ub,children:[(0,$.jsx)(Ib,{id:d}),(0,$.jsx)("span",{id:c,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),(0,$.jsxs)(xb,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:M,onClick:h,children:[(0,$.jsx)("span",{className:R(Be,"shrink-0 bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:(0,$.jsx)("span",{className:"whitespace-nowrap font-medium text-slate-900 dark:text-slate-100",children:E})})," ",(0,$.jsx)("span",{className:R(Be,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:(0,$.jsx)("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:f})})]}),(0,$.jsxs)("div",{className:R(yi,"ml-auto"),children:[(0,$.jsx)(br,{id:p,count:t.attachments.length,label:o.attachments}),k?(0,$.jsx)(Or,{id:b,config:k}):null,(0,$.jsx)(xc,{label:T,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:l,children:(0,$.jsx)(Nr,{filled:t.isStarred})}),(0,$.jsx)(xc,{label:C,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:g,children:t.isRead?(0,$.jsx)(Ac.default,{className:_e.read}):(0,$.jsx)(Mr,{})})]}),(0,$.jsx)("div",{id:m,className:pb,children:S.length>0?S.map((j,P)=>(0,$.jsx)("p",{className:"wrap-break-word line-clamp-1",children:j},P)):(0,$.jsx)("p",{children:o.contentEmptyPreview})})]})});_c.displayName="ListReportCard";var Cc=(e,t)=>(0,ue.useCallback)(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),ai=(0,ue.memo)(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=V(),{removeStaleItem:o}=ke(),{report:a,error:i,isLoading:s,isRefetching:d}=$t(e.reportHubId,e.businessDate),m=(0,ue.useRef)(!1);(0,ue.useEffect)(()=>{if(d){m.current=!0;return}!(a||s||i)&&m.current&&e.reportHubId>0&&o(e.reportHubId)},[a,s,d,i,e.reportHubId,o]);let c=Cc(r,e.reportHubId),p=Cc(r,e.reportHubId),b=(S,f)=>(0,$.jsx)(Ic,{reportHubId:e.reportHubId,cursor:r,cardless:{label:be(e.businessDate),isBusy:f,focusTargetRef:c},children:S});return i?b((0,$.jsx)("div",{...qe,className:"flex h-full items-center justify-center rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-700 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",children:(0,$.jsx)("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?b((0,$.jsx)(hb,{}),!0):a?(0,$.jsx)(Ic,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:(0,$.jsx)(_c,{item:e,report:a,onSelect:t,focusTargetRef:p})}):b((0,$.jsx)("div",{...qe,className:"flex h-full items-center justify-center rounded-2xl border border-slate-200 border-solid bg-slate-50 p-[15px] text-slate-500 text-sm dark:border-slate-700 dark:bg-slate-900/40 dark:text-slate-400",children:(0,$.jsx)("p",{children:n.reportNotFound})}),!1)});ai.displayName="ListReportItem";var ye=require("react/jsx-runtime"),Nc={pointerDragInputs:Qn,inertiaOptions:Tr(!1),wheelSpeedMultiplier:Gn,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},Cb={...Nc,inertiaOptions:Tr(!0)},Ab=Object.freeze({value:360,unit:"pixels"}),Db=Object.freeze({value:160,unit:"pixels"}),_b=Object.freeze({value:hc,unit:"pixels"}),Lb=Object.freeze({value:520,unit:"pixels"}),wb=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),Nb=R("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",ne),Ob=R("relative w-full",kn,Mn),Mb=R(tt,"relative isolate overflow-hidden"),Lc="daily-report-list",Pb=()=>!1,kb=e=>{let[t,r]=(0,Q.useState)(!1);return(0,Q.useLayoutEffect)(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] the List root is not attached");let o=i=>{for(let s of i)r(s.contentRect.width>0&&s.contentRect.width<Ji)},a=new(Ue(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},ua=e=>{let t=(0,Q.useRef)(null),[r,n]=(0,Q.useState)(null),o=uo(t),a=kb(t),{rowSlotHeight:i,remProbe:s}=Tc(),d=Ir(r),m=(0,Q.useCallback)(c=>(t.current=c,n(c),()=>{t.current=null,n(null)}),[]);return(0,ye.jsxs)("div",{ref:m,className:Nn,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:(0,ye.jsx)(Hb,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:d})]})},Hb=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:i,rootRef:s,viewportHeight:d,rowSlotHeight:m,isContainerNarrow:c,reducedMotion:p})=>{let[b]=(0,Q.useState)(()=>i?.current??0),S=(0,Q.useRef)(null),{labels:f}=V(),E=io(),[h]=(0,Q.useState)(fo),g=sc()||c,T=(0,Q.useRef)(null),C=e.length,k=t===void 0?C:t,M=(0,Q.useRef)(null),j=(0,Q.useCallback)(v=>o(v),[o]),P=(0,Q.useCallback)(v=>v<C?e[v]:qn,[e,C]),z=(0,Q.useCallback)(v=>{let D=P(v.visibleStartIndex);D.reportHubId>0&&h.setLabel(be(D.businessDate))},[P,h]),Z=(0,Q.useMemo)(()=>({kind:"uniform",rowHeight:m}),[m]),U=(0,Q.useRef)(e);(0,Q.useLayoutEffect)(()=>{U.current=e},[e]);let{cursor:ie,containerProps:W,handleRangeChange:Re,handleScrollAdjust:ee,attachVirtualScroll:G,handleRef:Ce,scroller:me,attachScrollContainer:Ve,contentProps:Ye,keyboardHelp:se,selection:lt,settledSelection:Ae,resolveSelectedIndex:fe,rememberSelection:ve,focusAfterRemoval:dt}=oa({items:e,selectedId:n,onSelect:j,containerRef:S,rootRef:s,testId:Lc,itemsRef:U,rowSizing:Z,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:Pb,onRangeChange:z}),{isMobileDetailOpen:ct,setIsMobileDetailOpen:Ht,isOverlayMounted:Ft,shouldShowOverlay:Bt,handleOverlayClose:ht,lastClosedItemIdRef:ut,selectedItem:et}=vc({isMobileLayout:g,selection:lt,dailyReportItems:e,onSelectItem:o,rootRef:s}),mt=(0,Q.useMemo)(()=>({selected:lt,settled:Ae}),[lt,Ae]);(0,Q.useEffect)(()=>{let v=S.current,D=()=>{h.setWheelScrollActive(!0),T.current&&clearTimeout(T.current),T.current=window.setTimeout(()=>{h.setWheelScrollActive(!1),T.current=null},Xn)};return v?.addEventListener("wheel",D,{passive:!0}),()=>{v?.removeEventListener("wheel",D),T.current&&clearTimeout(T.current)}},[h]),(0,Q.useEffect)(()=>{!C&&n!==null&&o(null)},[C,n,o]),(0,Q.useEffect)(()=>{if(ct||ut.current===null)return;let v=ut.current;ut.current=null;let D=fe(e,v);if(D===-1)return;let N=Ce.current;if(N!==null){let Y=fn(N,D,e.length,Z),Ee=Y===null?"none":Hd(Y);Ee!=="none"&&me.toIndex(D,{align:Ee})}ie.requestFocus(v)},[ct,e,ut,ie,fe,Ce,Z,me]),(0,Q.useEffect)(()=>{C>0&&h.setLabel(be(e[0].businessDate))},[e,C,h]);let We=(0,Q.useCallback)((v,D)=>{v<=0||(ve(v,D),o(v),g&&Ht(!0))},[g,o,Ht,ve]),I=(0,Q.useCallback)(()=>m,[m]),w=(0,Q.useRef)(m);(0,Q.useLayoutEffect)(()=>{let v=w.current;w.current=m;let D=Ce.current;if(v===m||D===null)return;let N=D.getScrollPosition();N>0&&me.by(N*m/v-N)},[Ce,m,me]);let u=(0,Q.useCallback)(v=>P(v).reportHubId,[P]),y=(0,Q.useCallback)((v,D)=>(0,ye.jsx)(Dt.Provider,{value:D,children:(0,ye.jsx)(ai,{item:v,onSelect:We,cursor:ie})},v.reportHubId),[We,ie]),_=(0,Q.useCallback)(v=>{i&&(i.current=v);let D=S.current;D&&(D.toggleAttribute(pr,!0),M.current&&clearTimeout(M.current),M.current=setTimeout(()=>{D.toggleAttribute(pr,!1),M.current=null},150))},[i]),x=(0,Q.useCallback)(v=>(0,ye.jsx)(bo,{...v,store:h}),[h]),L=(0,Q.useMemo)(()=>(0,ye.jsxs)("div",{ref:Ve,className:Mb,...W,children:[se,(0,ye.jsx)(At.Provider,{value:k,children:(0,ye.jsx)(ca.Provider,{value:m,children:(0,ye.jsx)(wc.VirtualScroll,{ref:G,itemCount:C,getItem:P,getItemKey:u,getItemHeight:I,viewportSize:d,initialScrollOffset:b,overscanCount:Zn,scrollBarOptions:{...Jn,renderThumbOverlay:x},behaviorOptions:p?Cb:Nc,onRangeChange:Re,onScrollAdjust:ee,onScroll:_,testId:Lc,className:Ob,locale:E.locale,labels:E.labels,contentProps:Ye,children:y})})})]}),[Ve,G,W,k,C,P,u,I,d,m,p,b,x,Re,ee,_,se,Ye,E.locale,E.labels,y]),H=(0,Q.useMemo)(()=>(0,ye.jsxs)(cr.PanelGroup,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[(0,ye.jsx)(cr.Panel,{id:"daily-report-list-panel",defaultSize:Ab,minSize:Db,maxSize:Lb,contentOverflow:"hidden",className:Fb,children:L}),(0,ye.jsx)(cr.PanelResizeHandle,{id:"daily-report-list-handle",thickness:10,indicator:wb,className:Nb,"aria-label":f.resizeHandle}),(0,ye.jsx)(cr.Panel,{id:"daily-report-detail-panel",minSize:_b,contentOverflow:"hidden",className:Bb,children:(0,ye.jsx)(Sc,{dailyReportItems:e,autoMarkRead:r,userId:a,onReportDeleted:dt})})]}),[L,f.resizeHandle,e,r,a,dt]);return(0,ye.jsxs)(ye.Fragment,{children:[(0,ye.jsx)("div",{className:On,children:g?(0,ye.jsx)("div",{className:tt,children:L}):(0,ye.jsx)(la.Provider,{value:mt,children:H})}),Ft&&(0,ye.jsx)(Ec,{isOpen:Bt,selectedItem:et,onClose:ht,autoMarkRead:g&&r,userId:a,onReportDeleted:dt})]})},Fb=R("flex min-h-0",di),Bb=R("flex min-h-0 flex-1",Wt);var mr=require("react");var Fc=Te(require("lucide-react/dist/esm/icons/plus.js")),Bc=Te(require("lucide-react/dist/esm/icons/refresh-cw.js")),Uc=Te(require("lucide-react/dist/esm/icons/rotate-cw.js")),Ge=require("react"),Vc=require("react-router");var ur=require("react");var Oc=(e,t,r=250)=>{let n=Ir(t),[o,a]=(0,ur.useState)(e),i=(0,ur.useRef)(e),s=(0,ur.useRef)(!0);return(0,ur.useEffect)(()=>{if(s.current){s.current=!1,i.current=e,a(e);return}let d=i.current;if(d===e)return;if(n||t===null){i.current=e,a(e);return}let m=Ue(t),c=0,p=null,b=S=>{p===null&&(p=S);let f=Math.min(1,Math.max(0,(S-p)/r)),E=1-(1-f)**3,h=Math.round(d+(e-d)*E);i.current=h,a(h),f<1&&(c=m.requestAnimationFrame(b))};return c=m.requestAnimationFrame(b),()=>m.cancelAnimationFrame(c)},[e,r,n,t]),n?e:o};var Tn=Te(require("@radix-ui/react-switch")),Mc=Te(require("react"));var ii=require("react/jsx-runtime"),ma=Mc.forwardRef(({className:e,...t},r)=>(0,ii.jsx)(Tn.Root,{className:R(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${hi} ${vi} ${ne}`,e),...t,ref:r,children:(0,ii.jsx)(Tn.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${Si} ${Ei}`})}));ma.displayName=Tn.Root.displayName;var Pc=require("react"),kc=e=>{let t=e,r=new Set;return{get:()=>t,set:n=>{if(n!==t){t=n;for(let o of[...r])o()}},subscribe:n=>(r.add(n),()=>{r.delete(n)})}},si=e=>(0,Pc.useSyncExternalStore)(e.subscribe,e.get,e.get);var X=require("react/jsx-runtime"),Ub="list",Vb=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},Wb=R(Ii,Li,"ml-[8px] flex flex-wrap items-center gap-2"),Hc="relative h-4 w-4 p-0 after:absolute after:-inset-1",Kb="flex items-center gap-2",zb=({count:e})=>{let{labels:t}=V(),[r,n]=(0,Ge.useState)(null),o=Oc(e,r);return(0,X.jsx)(ia,{ref:n,text:t.totalCount(o),widestText:t.totalCount(gn(Math.max(e,o)))})},$b=({setSize:e})=>{let{labels:t}=V();return e===Xr?(0,X.jsx)("span",{children:t.totalCountLoading}):(0,X.jsx)(zb,{count:e})},jb=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let i=si(e);return(0,X.jsx)(ua,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:i,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},Gb=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=si(e);return(0,X.jsx)(aa,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},Yb=({tabItems:e,actions:t})=>{let[r,n]=(0,Ge.useState)(Ub),{labels:o}=V();return(0,X.jsxs)(Sn,{value:r,onValueChange:a=>n(Vb(a)),className:R("@container/views",tt),children:[(0,X.jsxs)("div",{className:R(Wb,wi[r]),children:[(0,X.jsx)(vn,{"aria-label":o.viewTabList,className:"flex flex-wrap gap-1",children:e.map(({value:a,label:i})=>(0,X.jsx)(En,{value:a,children:i},a))}),t]}),e.map(({value:a,content:i})=>(0,X.jsx)(Fr,{value:a,className:R("mt-0",tt),children:i},a))]})},pa=({userId:e})=>{let[t,r]=(0,Ge.useState)(!1),{labels:n,renderHeader:o,showDevControls:a}=V(),{toggleSse:i,createReport:s,refetchData:d,clearCacheAndRefetch:m}=ke(),{isSseEnabled:c,items:p}=Mo(),[b]=(0,Vc.useSearchParams)(),S=As(p.length,Xs()),f=(0,Ge.useRef)(0),E=(0,Ge.useRef)({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[h]=(0,Ge.useState)(()=>kc(p.length===0?null:p[0].reportHubId)),l=(0,Ge.useRef)(!1);(0,Ge.useEffect)(()=>{!l.current&&p.length>0&&(l.current=!0,h.get()===null&&h.set(p[0].reportHubId))},[p,h]);let g=async()=>{await d()},T=async()=>{await m()},C=async()=>{let P=b.get("businessDate")||ga(),z=await s(P);h.set(z)};(0,Ge.useEffect)(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let k=j=>{r(j),localStorage.setItem("daily-report-auto-read",String(j))},M=(0,Ge.useMemo)(()=>[{value:"list",label:n.tabList,content:(0,X.jsx)(jb,{selectionStore:h,dailyReportItems:p,rowSetSize:S,autoMarkRead:t,userId:e,scrollOffsetRef:f})},{value:"tree",label:n.tabTree,content:(0,X.jsx)("div",{className:R("flex flex-1 items-center justify-center",fr),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:(0,X.jsx)(Gb,{selectionStore:h,dailyReportItems:p,rowSetSize:S,userId:e,scrollRestoreRef:E})}],[p,S,t,e,n,h]);return(0,X.jsxs)(X.Fragment,{children:[o({title:n.title,annotation:(0,X.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[(0,X.jsx)(kr,{}),(0,X.jsx)($b,{setSize:S}),(0,X.jsx)("span",{children:n.debounce(Sr)})]})}),(0,X.jsx)("div",{className:Wr,children:(0,X.jsx)("div",{className:Kr,children:(0,X.jsx)(Yb,{tabItems:M,actions:(0,X.jsxs)("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[(0,X.jsxs)(Mt,{size:"sm",onClick:C,className:"flex h-6 items-center gap-1 rounded-lg bg-amber-700 px-2 font-medium text-white text-xs shadow-xs hover:bg-amber-800 dark:bg-amber-700 dark:hover:bg-amber-800",title:n.createReportTitle,children:[(0,X.jsx)(Fc.default,{className:"h-3 w-3"}),(0,X.jsx)("span",{children:n.createReport})]}),a&&(0,X.jsxs)("div",{className:"hidden h-6 items-center gap-1 rounded-lg border border-amber-300/70 border-solid bg-amber-50/60 px-[3px] text-slate-600 sm:flex dark:border-amber-700/50 dark:bg-amber-950/40 dark:text-slate-300",title:n.devControls,"data-testid":"dev-controls-toolbox",children:[(0,X.jsx)("span",{className:"select-none font-bold font-mono text-amber-800 text-xs uppercase dark:text-amber-200",children:"dev"}),(0,X.jsx)(ma,{id:"sse-mode","aria-label":n.devSseToggle,title:n.devSseToggle,checked:c,onCheckedChange:i}),(0,X.jsxs)("div",{className:Kb,"data-testid":"dev-icon-buttons",children:[(0,X.jsx)(Mt,{variant:"ghost",size:"icon",onClick:g,className:R(Hc,"text-slate-600 hover:bg-amber-200/60 hover:text-slate-900 dark:text-slate-300 dark:hover:bg-amber-800/60 dark:hover:text-slate-100"),title:n.devReload,"data-testid":"dev-reload-btn",children:(0,X.jsx)(Uc.default,{className:"size-3"})}),(0,X.jsx)(Mt,{variant:"ghost",size:"icon",onClick:T,className:R(Hc,"text-amber-800 hover:bg-amber-200/60 hover:text-amber-950 dark:text-amber-300 dark:hover:bg-amber-800/60 dark:hover:text-amber-100"),title:n.devClearCache,"data-testid":"dev-clear-cache-btn",children:(0,X.jsx)(Bc.default,{className:"size-3"})})]})]}),(0,X.jsxs)("div",{className:"flex items-center gap-1 pl-1",title:n.autoReadTitle,children:[(0,X.jsx)(ma,{id:"auto-read-mode",checked:t,onCheckedChange:k}),(0,X.jsx)(mn,{htmlFor:"auto-read-mode",className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:n.autoRead})]})]})})})})]})};var le=require("react/jsx-runtime"),Wc=R(tt,Wt),Kc=R("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",vt),qb=()=>{let{labels:e,renderHeader:t}=V();return(0,le.jsxs)(le.Fragment,{children:[t({title:e.title,annotation:(0,le.jsx)("span",{className:R("font-bold",zr),children:e.loadErrorBadge})}),(0,le.jsx)("div",{className:Wr,children:(0,le.jsx)("div",{className:Kr,children:(0,le.jsx)("div",{className:Wc,children:(0,le.jsxs)("div",{className:R(Kc,"border-red-200 dark:border-red-900"),children:[(0,le.jsx)("p",{className:R("font-medium",zr),children:e.loadError}),(0,le.jsx)("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:()=>To(),className:R("rounded bg-slate-100 px-4 py-2 text-slate-700 text-sm hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-300 dark:hover:bg-slate-700",ne),children:e.reload})]})})})})]})},Xb=()=>{let{labels:e,renderHeader:t}=V();return(0,le.jsxs)(le.Fragment,{children:[t({title:e.title,annotation:(0,le.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[(0,le.jsx)(kr,{}),(0,le.jsx)("span",{children:e.totalCountLoading}),(0,le.jsx)("span",{children:e.debounce(Sr)})]})}),(0,le.jsx)("div",{className:Wr,children:(0,le.jsx)("div",{className:Kr,children:(0,le.jsx)("div",{className:Wc,children:(0,le.jsx)("div",{className:Kc,children:e.loadingIds})})})})]})},Zb=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=V(),o=xo(),a=(0,mr.useRef)(n);(0,mr.useLayoutEffect)(()=>{a.current=n}),(0,mr.useEffect)(()=>{Cr({apiBasePath:r,userKey:t??null})},[r,t]),(0,mr.useEffect)(()=>{o.phase==="auth-required"&&a.current()},[o.phase]);let i=o.hasItems||o.phase==="complete";return(0,le.jsx)(Do,{children:(0,le.jsx)(Po,{user:e,userId:t,children:i?(0,le.jsx)(pa,{userId:t}):o.phase==="failed"?(0,le.jsx)(qb,{}):(0,le.jsx)(Xb,{})},t??"anonymous")})},zc=({config:e,...t})=>(0,le.jsx)($n,{config:e,children:(0,le.jsx)(Zb,{...t})});var Jb=new Set(Ps.filter(e=>e!=="clearCache")),$c=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:i,formMethod:s,json:d,nextUrl:m,text:c})=>{if(!n)return!1;if(!(r.pathname===m.pathname&&r.search===m.search&&r.hash===m.hash))return n;if(a){let S=a.get(Xe.intent);if(typeof S=="string"&&Jb.has(S))return!1}return e!==void 0||t!==void 0||o!==void 0||a!==void 0||i!==void 0||s!==void 0||d!==void 0||c!==void 0?n:!1},jc=e=>{let t=async r=>{vo();let n=await r.serverLoader(),o=n.userId;return So({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};0&&(module.exports={DAILY_REPORT_LABEL_CATALOGS,DAILY_REPORT_LABEL_KEYS,DAILY_REPORT_LAYOUT_LATTICE_PX,DailyReportActionProvider,DailyReportAttachmentIndicator,DailyReportConfigProvider,DailyReportDetailList,DailyReportErrorProvider,DailyReportIdsStreamClient,DailyReportIdsStreamStatus,DailyReportList,DailyReportPage,DailyReportResolvedContent,bootstrapDailyReportIdsStreamSession,createDailyReportClientLoader,dailyReportShouldRevalidate,defaultDailyReportClientConfig,ensureDailyReportIdsStreamSession,primeDailyReportIdsStreamSession,resolveDailyReportLabels,resolveSourceTypeConfig,resyncDailyReportIdsStream,useDailyReportActionContext,useDailyReportComments,useDailyReportConfig,useDailyReportDetail,useDailyReportIdsStream,useDailyReportPrefetch,useDailyReportSseConnection});