@aiquants/daily-report 0.34.0 → 0.36.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.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import Su from"lucide-react/dist/esm/icons/paperclip.js";var Ru="data-daily-report-row-surface",He={[Ru]:""},Zt="data-daily-report-scrolling",St=8,Oi="[--aqdr-lattice-block:4px] [@media(resolution:1.125dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:1.375dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:1.625dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:1.875dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.125dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.375dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.625dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.875dppx)]:[--aqdr-lattice-block:8px]",Pt=`${Oi} h-[calc-size(auto,round(up,size,var(--aqdr-lattice-block)))]`,Et="p-[8px]",Mi="pr-[8px]",cn="contain-size contain-layout contain-style",Pi="contain-strict",Q="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",ki="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",aa="scrollbar-thin [scrollbar-gutter:stable]",ia=`-m-[4px] overflow-hidden p-[4px] ${aa}`,Hi="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",un="rounded-[calc(var(--radius-2xl)+8px)]",mn="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]",Fi="[: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",tt="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",pn=16,Qt="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",Bi=12,fn="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200",yn="[--aqdr-hover-lift:2px] [@media(resolution:1.125dppx)]:[--aqdr-hover-lift:calc(2px/1.125)] [@media(resolution:1.25dppx)]:[--aqdr-hover-lift:calc(2px/1.25)] [@media(resolution:1.375dppx)]:[--aqdr-hover-lift:calc(2px/1.375)] [@media(resolution:1.625dppx)]:[--aqdr-hover-lift:calc(3px/1.625)] [@media(resolution:1.75dppx)]:[--aqdr-hover-lift:calc(3px/1.75)] [@media(resolution:1.875dppx)]:[--aqdr-hover-lift:calc(3px/1.875)] [@media(resolution:2.125dppx)]:[--aqdr-hover-lift:calc(4px/2.125)] [@media(resolution:2.25dppx)]:[--aqdr-hover-lift:calc(4px/2.25)] [@media(resolution:2.375dppx)]:[--aqdr-hover-lift:calc(4px/2.375)] [@media(resolution:2.625dppx)]:[--aqdr-hover-lift:calc(5px/2.625)] [@media(resolution:2.75dppx)]:[--aqdr-hover-lift:calc(5px/2.75)] [@media(resolution:2.875dppx)]:[--aqdr-hover-lift:calc(5px/2.875)] 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",Ne=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${Q}`,Vi="-mx-1",Ui="flex items-center gap-1",_e="inline-flex h-6 items-center rounded-full px-3",Wi="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",Ki="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",ht="size-4",Se={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`},zi="h-6 w-10 border-4 border-solid",$i="size-4 data-[state=checked]:translate-x-4",ji="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]",Gi="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var Yi="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",qi="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",gu="ml-[max(0px,round(down,calc((100%-72rem)/2),4px))]",hu="bg-slate-50 dark:bg-slate-950",je="flex min-h-0 flex-1 flex-col",bn=`${je} ${hu}`,Rn=`${je} mx-auto w-full max-w-6xl px-[4px] pt-[4px] ${gu}`,Er="text-red-700 dark:text-red-400",Zi="bg-white dark:bg-slate-900",gn=`min-h-0 flex-1 overflow-clip contain-size ${Oi}`,hn="flex h-full flex-col contain-size contain-layout contain-style",Qi="relative inline-block whitespace-nowrap tabular-nums",Ji="invisible",es="absolute inset-0 contain-size contain-layout contain-style",Sn="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",ts="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",rs={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},kt="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",it=`m-0 ${kt}`,En="text-balance wrap-anywhere [word-break:auto-phrase]",vn="[&_.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]";import{jsx as ns,jsxs as vu}from"react/jsx-runtime";var Eu=2,vr=({id:e,count:t,label:r})=>t<=0?null:vu("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:[ns(Su,{className:ht,"aria-hidden":"true"}),t>=Eu&&ns("span",{className:"font-semibold text-xs leading-4",children:t})]});import{VirtualScroll as jb}from"@aiquants/virtualscroll";import{useCallback as De,useEffect as Ot,useLayoutEffect as Gb,useMemo as Ri,useRef as Me,useState as Ko}from"react";var le=e=>{if(!e)return"-";let t=e.trim();return t===""?"-":t},ie=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?ie(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}`};import{useCallback as lm,useEffect as xs,useRef as dm,useState as cm}from"react";import{z as ga}from"zod";var Tn="ids-stream",os=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 Ht=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,sa=e=>{for(let t=1;t<e.length;t++)if(Ht(e[t-1],e[t])>0)return!1;return!0};var vt=Object.freeze({businessDate:"business-date",idsStream:Tn,report:"report",action:"action"}),Tt=Object.freeze({businessDate:"businessDate",reportHubId:"reportHubId",forceRefresh:"forceRefresh",cursorReportHubId:"cursor_report_hub_id",cursorBusinessDate:"cursor_business_date",cursorSnapshot:"cursor_snapshot"});var Tu=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var In=e=>e<10?`0${e}`:`${e}`,Iu=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=In(e.getMonth()+1),n=In(e.getDate());return`${t}-${r}-${n}`},as=e=>{let t=Tu.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}`},is=e=>as(e)===e,la=(e=new Date)=>Number.isNaN(e.getTime())?la(new Date):`${e.getFullYear()}-${In(e.getMonth()+1)}-${In(e.getDate())}`,Ft=e=>e==null?null:e instanceof Date?Iu(e):as(e);var Jt=(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)}}};import{z as _}from"zod";var xn=/^(?:[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})$/;import{z as xu}from"zod";var ue=xu.number().int().positive().max(Number.MAX_SAFE_INTEGER);var ss=["auth-required","forbidden","resync-required"],da=15e3,ls="lastEventId",Cu=/^\d{1,15}-\d{1,15}$/,Cn=e=>Cu.test(e),Du=_.object({name:_.string().nullish(),affiliation:_.string().nullish()}),Au=_.object({name:_.string().nullish(),text:_.string().nullish(),color:_.string().nullish()}),_u=_.object({id:ue,name:_.string().nullish(),color:_.string().nullish()}),Dn=_.object({id:ue,userId:_.string().nullish(),userName:_.string().nullish(),content:_.string().nullish(),createdAt:_.string().nullish(),isMine:_.boolean()}),Lu=_.object({id:_.string(),fileName:_.string(),fileType:_.string().nullable(),fileSize:_.number().nullable(),createdAt:_.string().nullable(),state:_.enum(["present","absent","unknown"]),hasThumbnail:_.boolean().default(!1)}),st=_.object({reportHubId:ue,date:_.string().nullish(),createdAt:_.string().nullish(),author:_.string().nullish(),userId:_.string().nullish(),sourceType:_.string().nullish(),employeeName:_.string().nullish(),updatedBy:_.string().nullish(),updatedAt:_.string().nullish(),category:_.string().nullish(),creationCategory:_.string().nullish(),visitTimeFrom:_.string().nullish(),visitTimeTo:_.string().nullish(),customerName:_.string().nullish(),interviewers:_.array(Du),subject:_.string().nullish(),content:_.string().nullish(),externalComments:_.array(Au),isRead:_.boolean(),isStarred:_.boolean(),labels:_.array(_u),postedComments:_.array(Dn),attachments:_.array(Lu).default([])}),Bt=_.string().regex(xn),wu=_.object({type:_.literal("connected")}),Nu=_.object({type:_.literal("status-update"),reportHubId:ue,statusType:_.enum(["star","read"]),value:_.boolean(),clientTempId:Bt,recipientRawUserId:ue.optional()}),ca=_.string().optional(),Ou=_.object({type:_.literal("comment-add"),reportHubId:ue,comment:Dn,clientTempId:Bt,recipientRawUserId:ue.optional(),sourceType:ca}),Mu=_.object({type:_.literal("comment-delete"),reportHubId:ue,commentId:ue,clientTempId:Bt,recipientRawUserId:ue.optional(),sourceType:ca}),Pu=_.object({type:_.literal("report-create"),reportHubId:ue,report:st,clientTempId:Bt,recipientRawUserId:ue.optional()}),ku=_.object({type:_.literal("report-update"),reportHubId:ue,report:st,clientTempId:Bt,recipientRawUserId:ue.optional()}),Hu=_.object({type:_.literal("report-publish"),reportHubId:ue,report:st,clientTempId:Bt,recipientRawUserId:ue.optional()}),Fu=_.object({type:_.literal("report-delete"),reportHubId:ue,clientTempId:Bt,sourceType:ca}),ds=_.discriminatedUnion("type",[wu,Nu,Ou,Mu,Pu,ku,Hu,Fu]);var An=e=>e.issues.map(t=>`${t.path.length===0?"(root)":t.path.join(".")}: ${t.code}`).join("; ");import{resolveVirtualScrollLocale as ju}from"@aiquants/virtualscroll";import{createContext as Gu,useContext as Yu,useMemo as qu}from"react";var Bu=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,fe=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${Bu(r)}`),cs=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),_n=(e,t,r)=>fe(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t);import{resolveVirtualScrollLabels as Vu,resolveVirtualScrollLocale as Uu,VIRTUAL_SCROLL_LABEL_CATALOGS as us,VIRTUAL_SCROLL_LABEL_KEYS as pa}from"@aiquants/virtualscroll";var ps=["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"],fs=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","rowState","listRowPosition","listRowPositionInUnknownTotal"],ua=[...pa,...ps,...fs];var Wu=Object.freeze({en:"en-US",ja:"ja-JP"}),ye=(e,t)=>t.toLocaleString(Wu[e]),Ku=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"}),zu=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"}),ma=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: ${ye("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${ye("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${ye("en",e)} / ${ye("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${ye("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${ye("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${ye("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${zu[e]}. Please try again later.`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${ye("en",e)} of ${ye("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${ye("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: ${ye("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${ye("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${ye("ja",e)} / ${ye("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${ye("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${ye("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${ye("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${Ku[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 ${ye("ja",t)} \u4EF6\u4E2D ${ye("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${ye("ja",e)} \u4EF6\u76EE`})}),ys=Object.freeze({en:Object.freeze({...us.en,...ma.en}),ja:Object.freeze({...us.ja,...ma.ja})}),$u=e=>{let t={},r=!1;for(let n of pa){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},ms=(e,t,r)=>{e[t]=r},fa=(e,t)=>{let r=Uu(e);if(t===void 0)return ys[r];if(t===null||typeof t!="object")throw fe("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw fe("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!ua.includes(i))throw _n("labels key",i,ua);let a={...Vu(r,$u(t)),...ma[r]};for(let i of ps){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw fe(`labels.${i}`,"a non-blank string",s);ms(a,i,s)}}for(let i of fs){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw fe(`labels.${i}`,"a function",s);ms(a,i,s)}}return Object.freeze(a)},bs=e=>{let t={};for(let r of pa)t[r]=e[r];return Object.freeze(t)};import{jsx as ya,jsxs as nm}from"react/jsx-runtime";var Xu=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),Zu=({title:e,annotation:t})=>nm("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[ya("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?ya("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),Tr=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:Zu,showDevControls:!1,headingLevel:3}),Rs=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired"];var Qu=e=>{for(let t of Object.keys(e))if(!Rs.includes(t))throw _n("config key",t,Rs)},Ju=[2,3,4,5],em=e=>{if(e===void 0)return Tr.headingLevel;let t=Ju.find(r=>r===e);if(t===void 0)throw fe("config.headingLevel","an integer from 2 to 5 (the level of each report's heading)",e);return t},tm=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw fe(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},gs=e=>{Qu(e);let t=e.onSessionExpired;if(t===void 0)throw cs("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw fe("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=ju(e.locale),n=fa(r,e.labels),o=Tr;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?Xu(n):tm(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:em(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired}},rm=()=>{throw new Error("[daily-report] onSessionExpired is not wired: render inside DailyReportConfigProvider with a config")},hs=Gu(gs({onSessionExpired:rm})),ba=({config:e,children:t})=>{let r=qu(()=>gs(e),[e]);return ya(hs.Provider,{value:r,children:t})},k=()=>Yu(hs),Vt=(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},Ln=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";import{tapScrollCircleSampleVisual as am}from"@aiquants/virtualscroll";var om=4;var er=120,Ss=1e3,Nn=.8,Ra={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},On=20,Es=6,Mn={reportHubId:-1,businessDate:null},Pn=240,kn=15,im=8,vs=460,Ts=3,Is=352,sm={enabled:!0,renderVisual:am,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},Hn={width:im,tapScrollCircleOptions:sm,enableArrowButtonTabStops:!1},Fn=["pen","touch"];var As=Jt(1,"use-daily-report"),_s=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},Sa=_s("__DAILY_REPORT_CACHE_TTL__",3e5),um=_s("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),U={reports:new Map,lists:new Map,pendingLists:new Map,pendingReports:new Map,listeners:new Set,lockHolders:new Map,lockHolds: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.lockHolders.clear(),this.lockHolds.clear(),this.lastMutations.clear(),this.recentDeletes.clear(),this.listeners.forEach(e=>{e(-1)})},isLocked(e){if(this.lockHolders.has(e))return!0;let t=this.lockHolds.get(e);return t===void 0?!1:t>performance.now()?!0:(this.lockHolds.delete(e),!1)},isValid:e=>e>Date.now(),notify:e=>{U.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=Ft(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()){As.warn(`[DailyReportCache] Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+um))}},delete(e,t){this.reports.delete(e);let r=Ft(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+Sa;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}},Ls=(e,t,r=!0)=>U.set(e,t,r),Ge=(e,t)=>U.getReport(e,t?.ignoreExpiry),Ye=(e,t)=>U.update(e,t),Ea=(e,t)=>U.delete(e,t),Ir=()=>{U.clear(),Bn.clear()},Vn=(e,t)=>{let r=U.lastMutations.get(e);(r===void 0||r<t)&&U.lastMutations.set(e,t)},va=e=>{Vn(e,Date.now())},ws=e=>{let t=Symbol("mutation-lock"),r=U.lockHolders.get(e);return r===void 0?U.lockHolders.set(e,new Set([t])):r.add(t),Vn(e,Date.now()),()=>{let n=U.lockHolders.get(e);n===void 0||!n.delete(t)||(n.size===0&&U.lockHolders.delete(e),Vn(e,Date.now()))}},Ns=(e,t)=>{let r=performance.now()+t,n=U.lockHolds.get(e);(n===void 0||n<r)&&U.lockHolds.set(e,r),Vn(e,Date.now()+t)},Os=e=>U.recentDeletes.set(e,Date.now()),Ms=(e,t)=>{let r=n=>{n===e&&t()};return U.listeners.add(r),()=>{U.listeners.delete(r)}},Ut=(e,t)=>{U.prune(),U.set(t,Date.now()+Sa)},Ps=e=>{U.prune();let t=U.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}));U.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+Sa)},mm=ga.object({report:st}),pm=ga.object({reports:ga.array(st)}),ks=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 (${An(n.error)})`);return n.data},fm=async(e,t)=>{let r=U.getReport(t);if(r)return r;let n=U.pendingReports.get(t);if(n)return n;let o=Date.now(),a=new URLSearchParams({[Tt.reportHubId]:String(t)}),i=fetch(`${e}/${vt.report}?${a}`,{cache:"no-cache"}).then(s=>ks(s,mm,vt.report)).then(({report:s})=>U.cacheMany([s],null,o)[0]).finally(()=>U.pendingReports.delete(t));return U.pendingReports.set(t,i),i},Bn=new Map,ym=1e4,bm=(e,t)=>{let r=Bn.get(t),n=Date.now();if(r&&n-r.at<ym)return r.inFlight;let o=Ta(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return Bn.set(t,a),o.finally(()=>{Bn.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},Ta=async(e,t,r={})=>{let n=r.forceRefresh?null:U.getList(t);if(n)return n;let o=U.pendingLists.get(t);if(o)return o;let a=Date.now(),i=new URLSearchParams({[Tt.businessDate]:t}),s=fetch(`${e}/${vt.businessDate}?${i}`,{cache:"no-cache"}).then(d=>ks(d,pm,vt.businessDate)).then(({reports:d})=>U.cacheMany(d,t,a)).finally(()=>U.pendingLists.delete(t));return U.pendingLists.set(t,s),s},ha=(e,t)=>{let r=U.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!U.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=U.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:!U.isValid(n.expiresAt)}},Cs=(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}=ha(e,Ft(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},tr=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,Wt=(e,t)=>{let{apiBasePath:r}=k(),[n,o]=cm(()=>Cs(e,t)),a=dm(0),i=n;return n.id!==e&&(i=Cs(e,t),o(i)),xs(()=>{let s=Ft(t),d=m=>{m===e&&o(tr(e,{report:ha(e,s).report}))};return U.listeners.add(d),()=>{U.listeners.delete(d)}},[e,t]),xs(()=>{let s=Ft(t);a.current+=1;let d=a.current,m=()=>{a.current+=1};if(e<=0)return m;let{report:u,isStale:f}=ha(e,s);if(u&&!f)return o(tr(e,{report:u,error:null,isLoading:!1,isRefetching:!1})),m;o(tr(e,{report:u,isLoading:!u,isRefetching:!0}));let p=async()=>{try{let y=null;if(s){let T=U.getList(s)!==null;if(y=(await Ta(r,s)).find(l=>l.reportHubId===e)??null,!y&&T){let l=await bm(r,s);l&&(y=l.find(S=>S.reportHubId===e)??null)}}else y=await fm(r,e);a.current===d&&o(tr(e,{report:y,error:null}))}catch(y){a.current===d&&o(tr(e,{error:y instanceof Error?y:new Error("Load failed")}))}finally{a.current===d&&o(tr(e,{isLoading:!1,isRefetching:!1}))}};if(u===null)return p(),m;let R=setTimeout(p,er);return()=>{clearTimeout(R),m()}},[e,t,r]),{report:i.report,error:i.error,isLoading:i.isLoading,isRefetching:i.isRefetching}},Ia=()=>{let{apiBasePath:e}=k();return lm(t=>{let r=Ft(t);r&&!U.getList(r)&&Ta(e,r).catch(n=>As.warn("Prefetch error",r,n))},[e])};import{VIRTUAL_SCROLL_LABEL_KEYS as Rm}from"@aiquants/virtualscroll";import{useRef as gm}from"react";var Un=()=>{let{locale:e,labels:t}=k(),r=bs(t),n=gm(null),o=n.current;return o!==null&&Rm.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};import{useLayoutEffect as Am,useState as _m}from"react";import{flushSync as Lm}from"react-dom";var Bs=Object.freeze({visibilityProperty:!0}),Hs=new Set(["auto","scroll"]),Fs=new Set(["","true","plaintext-only"]),Vs=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=zs(n)?n.host:null}return!1},hm=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},Us=e=>e.localName==="area"?hm(e):e.checkVisibility(Bs),Sm=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},Em=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&&Us(n)&&(r=n)}return r===e},vm=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&&Hs.has(a.overflowX)||n&&Hs.has(a.overflowY)},Tm=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 Sm(e)}},Im=/^[\t\n\f\r ]*[+-]?\d/,xm=e=>{let t=e.getAttribute("tabindex");return t!==null&&Im.test(t)?e.tabIndex:null},Ws=(e,t)=>{for(let r of Ca(e))if(t(r)||Ws(r,t))return!0;return!1},Wn=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=Cm(e,t);return t.set(e,n),n},Cm=(e,t)=>{if(!xr(e))return"none";let r=xm(e),n=r===null&&Tm(e),o=r===null&&!n&&vm(e);return!(r!==null||n||o)||e.matches(":disabled")||Vs(e)||!Us(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?Em(e)?"sequential":"programmatic":"sequential":Ws(e,a=>Wn(a,t)==="sequential")?"none":"sequential"},xa=(e,t)=>{for(let r of Ca(e))t(r),xa(r,t)},Ca=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 Kn=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return xa(e,d=>{Wn(d,a)==="sequential"&&n.push(d)}),{before:r,within:n,after:o};let i=!1,s=(d,m)=>{for(let u of Ca(d)){let f=u===t;!f&&Wn(u,a)==="sequential"&&(m?n.push(u):i?o.push(u):r.push(u)),s(u,m||f),f&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},Ks=e=>{let t=[],r=new Map;return xa(e,n=>{Wn(n,r)==="sequential"&&t.push(n)}),t},de=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,xr=e=>"focus"in e&&"blur"in e,Dm=e=>e.nodeType===e.DOCUMENT_NODE,zs=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,Oe=e=>{let t=e.getRootNode();if(zs(t)){let r=t.activeElement;return r===null?Oe(t.host):r}return Dm(t)?t.activeElement:null},Cr=e=>{let t=Oe(e);return t===null||t===t.ownerDocument.body||Vs(t)},Le=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 zn=e=>{let[t,r]=_m(null);return Am(()=>{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?Lm(()=>r(d)):r(d)},i=d=>{for(let m of d)a(m.borderBoxSize[0].blockSize)},s=new(Le(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var $s=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,me=(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 jn="data-daily-report-row",$n=`[role="listitem"][${jn}]`,wm='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',Nm=/^[1-9]\d*$/,js=e=>{if(e===null||!Nm.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},Om=`${$n}[tabindex="0"], ${$n} [tabindex="0"]`,Gn=e=>e.querySelector(Om),It=(e,t)=>{if(t===null||!de(e))return null;let r=e.closest($n);return r===null||r===t||!t.contains(r)?null:r},Kt=e=>js(e.getAttribute(jn)),rr=e=>js(e.getAttribute("aria-posinset")),Gs=e=>{let t=e.closest($n),r=t===null?null:rr(t);return r===null?null:r-1},Dr=(e,t)=>{if(e===null)return null;let r=Kt(e);if(r===null)return null;let n=rr(e),o=me(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},Ys=(e,t)=>{if(!de(e))return!1;let r=e.closest(wm);return r!==null&&r!==t&&t.contains(r)};import{createContext as qs}from"react";var lt=qs(0),Ar=-1,Xs=(e,t)=>t.phase==="complete"?e:t.totalCount===null?Ar:Math.max(e,t.totalCount),dt=qs(-1);import{clsx as Mm}from"clsx";import{twMerge as Pm}from"tailwind-merge";function g(...e){return Pm(Mm(e))}import{useCallback as Zs,useMemo as km,useSyncExternalStore as Hm}from"react";var Qs="(prefers-reduced-motion: reduce)",Js=e=>Le(e).matchMedia(Qs).matches?"instant":"smooth",Fm=Object.freeze({...Ra,startVelocityThreshold:Number.POSITIVE_INFINITY}),nr=e=>e?Fm:Ra,Bm=()=>!1,Vm=()=>{},or=e=>{let t=km(()=>e===null?null:Le(e).matchMedia(Qs),[e]),r=Zs(o=>t===null?Vm:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=Zs(()=>t===null?!1:t.matches,[t]);return Hm(r,n,Bm)};import{useSyncExternalStore as Um}from"react";import{jsx as Da}from"react/jsx-runtime";var Yn=()=>{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)})}},el=16,Wm=(e,t)=>e==="vertical"?{top:0,left:-el,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-el,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},qn=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=Um(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?Da("div",{className:"pointer-events-none absolute flex items-center",style:Wm(e,t),children:Da("div",{className:g(Wi,"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:Da("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};import{memo as gc,useCallback as mr,useEffect as Rc,useId as Cb,useLayoutEffect as Db,useMemo as Uo,useRef as yi}from"react";import{createContext as Ul,memo as Bp,useCallback as Bl,useContext as Vp,useEffect as Vl,useLayoutEffect as za,useMemo as $a,useRef as yo,useState as Ct}from"react";import{z as oe}from"zod";var tl=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var Fe=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),_a=e=>{let t=new FormData;if(t.append(Fe.intent,e.intent),e.intent==="clearCache"||(t.append(Fe.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(Fe.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(Fe.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(Fe.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(Fe.title,e.changes.title),e.changes.content!==void 0&&t.append(Fe.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(Fe.isStarred,String(e.value)),t;case"toggleRead":return t.append(Fe.isRead,String(e.value)),t;case"addComment":return t.append(Fe.content,e.content),t;case"deleteComment":return t.append(Fe.commentId,String(e.commentId)),t}},Km=()=>{let e=ue,t=oe.string().regex(xn),r=oe.literal("OK"),n=oe.object({isStarred:oe.boolean(),isRead:oe.boolean()}),o=oe.number().int().nonnegative().nullable();return{create:oe.object({status:r,intent:oe.literal("create"),reportHubId:e,clientTempId:t,report:st}),update:oe.object({status:r,intent:oe.literal("update"),reportHubId:e,clientTempId:t}),publish:oe.object({status:r,intent:oe.literal("publish"),reportHubId:e,clientTempId:t,report:st.nullable()}),delete:oe.object({status:r,intent:oe.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:oe.object({status:r,intent:oe.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:oe.object({status:r,intent:oe.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:oe.object({status:r,intent:oe.literal("addComment"),reportHubId:e,clientTempId:t,newComment:Dn}),deleteComment:oe.object({status:r,intent:oe.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:ue}),clearCache:oe.object({status:r,intent:oe.literal("clearCache")})}},Aa=null,zm=()=>(Aa===null&&(Aa=Km()),Aa),rl=(e,t)=>{let r=zm()[e].safeParse(t);return r.success?{result:r.data}:{mismatch:An(r.error)}};import{systemSseRuntime as ao}from"@aiquants/sse";import{createBrowserEventSource as up}from"@aiquants/sse/client";import{useReopeningEventSource as mp}from"@aiquants/sse/react";import{useEffect as ka,useRef as io,useState as pp}from"react";import{startTransition as Jm,useLayoutEffect as ep,useState as tp,useSyncExternalStore as Or}from"react";var nl=e=>{let t=new URLSearchParams;return e.cursor!==null&&(t.set(Tt.cursorReportHubId,String(e.cursor.reportHubId)),e.cursor.businessDate!==null&&t.set(Tt.cursorBusinessDate,e.cursor.businessDate)),e.snapshot!==null&&t.set(Tt.cursorSnapshot,e.snapshot),e.forceRefresh&&t.set(Tt.forceRefresh,"true"),t};var _r=()=>{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()]})}},ol=(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 al=()=>{let e=new TextDecoder,t=[],r=n=>{let o=[],a=0;for(let i=n.indexOf(`
1
+ import Im from"lucide-react/dist/esm/icons/paperclip.js";var gm="data-daily-report-row-surface",Xe={[gm]:""},vr="data-daily-report-scrolling",Ht=8;var Qn="[--aqdr-lattice-block:4px] [@media(resolution:1.125dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:1.375dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:1.625dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:1.875dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.125dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.375dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.625dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.875dppx)]:[--aqdr-lattice-block:8px]",Ft=`${Qn} h-[calc-size(auto,round(up,size,var(--aqdr-lattice-block)))]`,Bt="p-[8px]",zs="pr-[8px]",Zn="contain-size contain-layout contain-style",js="contain-strict",Vt="pointer-events-none absolute size-px whitespace-nowrap opacity-0 select-none",re="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",vt="border-slate-500 placeholder:text-slate-500 dark:border-slate-500 dark:placeholder:text-slate-400",Gs="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",ri="scrollbar-thin [scrollbar-gutter:stable]",ni=`-m-[4px] overflow-hidden p-[4px] ${ri}`,qs="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",Jn="rounded-[calc(var(--radius-2xl)+8px)]",eo="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]",Ys="[: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",bt="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",to=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",Xs=12,ro="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200";var Qs="min-h-24",Zs="flex h-6 items-center",no="[--aqdr-hover-lift:2px] [@media(resolution:1.125dppx)]:[--aqdr-hover-lift:calc(2px/1.125)] [@media(resolution:1.25dppx)]:[--aqdr-hover-lift:calc(2px/1.25)] [@media(resolution:1.375dppx)]:[--aqdr-hover-lift:calc(2px/1.375)] [@media(resolution:1.625dppx)]:[--aqdr-hover-lift:calc(3px/1.625)] [@media(resolution:1.75dppx)]:[--aqdr-hover-lift:calc(3px/1.75)] [@media(resolution:1.875dppx)]:[--aqdr-hover-lift:calc(3px/1.875)] [@media(resolution:2.125dppx)]:[--aqdr-hover-lift:calc(4px/2.125)] [@media(resolution:2.25dppx)]:[--aqdr-hover-lift:calc(4px/2.25)] [@media(resolution:2.375dppx)]:[--aqdr-hover-lift:calc(4px/2.375)] [@media(resolution:2.625dppx)]:[--aqdr-hover-lift:calc(5px/2.625)] [@media(resolution:2.75dppx)]:[--aqdr-hover-lift:calc(5px/2.75)] [@media(resolution:2.875dppx)]:[--aqdr-hover-lift:calc(5px/2.875)] 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",He=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${re}`,Js="-mx-1",el="flex items-center gap-1",$e="inline-flex h-6 items-center rounded-full px-3",tl="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",rl="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",kt="size-4",Le={starOff:`${kt} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${kt} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${kt} text-blue-600 dark:text-blue-400`,delete:`${kt} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${kt} text-red-600 dark:text-red-400`,edit:`${kt} text-slate-500 dark:text-slate-400`},nl="h-6 w-10 border-4 border-solid",ol="size-4 data-[state=checked]:translate-x-4",al="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]",il="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var sl="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",ll="rounded-xl border border-solid p-[3px]",dl="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",xm="supports-[margin-left:round(down,1px,1px)]:ml-[max(0px,round(down,calc((100%-72rem)/2),var(--aqdr-lattice-block)))]",Em="bg-slate-50 dark:bg-slate-950",nt="flex min-h-0 flex-1 flex-col",oo=`${nt} ${Em}`,ao=`${nt} mx-auto w-full max-w-6xl ${Qn} px-[var(--aqdr-lattice-block)] pt-[var(--aqdr-lattice-block)] ${xm}`,cl=`relative z-[1] shrink-0 ${Ft}`,ul="flex min-h-8 min-w-0 items-end",pl="m-0 border-0 p-0 [font:inherit] bg-yellow-200 text-slate-900 underline decoration-1 underline-offset-2 data-[daily-report-search-mark=reading]:decoration-dotted dark:bg-yellow-800 dark:text-yellow-50 forced-colors:forced-color-adjust-none forced-colors:bg-[Mark] forced-colors:text-[MarkText]",tn="text-red-700 dark:text-red-400",ml="bg-white dark:bg-slate-900",io=`min-h-0 flex-1 overflow-clip contain-size ${Qn}`,so="flex h-full flex-col contain-size contain-layout contain-style",fl="relative inline-block whitespace-nowrap tabular-nums",yl="invisible",bl="absolute inset-0 contain-size contain-layout contain-style",lo="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",hl="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",Rl="ml-[8px]",Sl={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",Dt=`m-0 ${er}`,Ar="text-balance wrap-anywhere [word-break:auto-phrase]",co="[&_.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]";import{jsx as gl,jsxs as vm}from"react/jsx-runtime";var Tm=2,rn=({id:e,count:t,label:r})=>t<=0?null:vm("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:[gl(Im,{className:kt,"aria-hidden":"true"}),t>=Tm&&gl("span",{className:"font-semibold text-xs leading-4",children:t})]});import{VirtualScroll as $S}from"@aiquants/virtualscroll";import{useCallback as Pe,useEffect as Qt,useLayoutEffect as zS,useMemo as vs,useRef as je,useState as Ua}from"react";var rr=Object.freeze({text:"",runs:Object.freeze([])}),Fe=e=>e.length===0?rr:{text:e,runs:[{displayStart:0,displayEnd:e.length,sourceStart:0,sourceEnd:e.length}]},oi=(e,t,r)=>t>=r?rr:{text:e.slice(t,r),runs:[{displayStart:0,displayEnd:r-t,sourceStart:t,sourceEnd:r}]},xl=(e,t,r,n)=>{let o=t-e;return o!==n-r||o===1?[{displayStart:e,displayEnd:t,sourceStart:r,sourceEnd:n}]:Array.from({length:o},(a,i)=>({displayStart:e+i,displayEnd:e+i+1,sourceStart:r,sourceEnd:n}))},El=e=>e.displayEnd-e.displayStart===e.sourceEnd-e.sourceStart,tr=(e,t,r)=>{if(t>=r)return rr;if(t===0&&r===e.text.length)return e;let n=[];for(let o of e.runs){let a=Math.max(o.displayStart,t),i=Math.min(o.displayEnd,r);if(!(a>=i))if(El(o)){let s=o.sourceStart+(a-o.displayStart);n.push({displayStart:a-t,displayEnd:i-t,sourceStart:s,sourceEnd:s+(i-a)})}else n.push(...xl(a-t,i-t,o.sourceStart,o.sourceEnd))}return{text:e.text.slice(t,r),runs:n}},nr=e=>{if(e.length===1)return e[0];let t="",r=[];for(let n of e){let o=t.length;for(let a of n.runs)r.push({...a,displayStart:a.displayStart+o,displayEnd:a.displayEnd+o});t+=n.text}return t.length===0?rr:{text:t,runs:r}},ai=e=>{let t=e.text.trimEnd().length,r=Math.min(t,e.text.length-e.text.trimStart().length);return tr(e,r,t)},lt=e=>typeof e=="string"?ai(Fe(e)):rr,uo=(e,t,r)=>{if(r.includes("$"))throw new Error(`[daily-report] replaceDisplayText: the replacement must be literal text without "$"; got ${JSON.stringify(r)}`);let n=r.length===0?rr:{text:r,runs:[]},o=t.global?[...e.text.matchAll(t)]:[t.exec(e.text)].filter(s=>s!==null);if(o.length===0)return e;let a=[],i=0;for(let s of o)a.push(tr(e,i,s.index),n),i=s.index+s[0].length;return a.push(tr(e,i,e.text.length)),nr(a)},po=e=>{if(e.normalize("NFC")===e)return Fe(e);let t=[],r=0;for(let a of e)t.push(r),r+=a.length;t.push(e.length);let n=[],o=0;for(;o<t.length-1;){let a=t[o],i=e.slice(a).normalize("NFC"),s=o+1;for(;s<t.length-1;){let p=e.slice(a,t[s]).normalize("NFC");if(i.startsWith(p)&&p+e.slice(t[s]).normalize("NFC")===i)break;s+=1}let l=t[s],c=e.slice(a,l),d=c.normalize("NFC");n.push(d===c?oi(e,a,l):{text:d,runs:xl(0,d.length,a,l)}),o=s}return nr(n)},mo=(e,t)=>{let r=[],n=(a,i,s)=>{let l=r.length-3;l>=0&&r[l+1]===a&&r[l+2]===s?r[l+1]=i:r.push(a,i,s)},o=t.length/3;for(let a of e.runs){let i=0,s=o;for(;i<s;){let c=i+s>>>1;t[c*3+1]<=a.sourceStart?i=c+1:s=c}if(El(a)){for(let c=i;c<o&&t[c*3]<a.sourceEnd;c++){let d=Math.max(t[c*3],a.sourceStart),p=Math.min(t[c*3+1],a.sourceEnd);n(a.displayStart+(d-a.sourceStart),a.displayStart+(p-a.sourceStart),t[c*3+2])}continue}let l=Number.POSITIVE_INFINITY;for(let c=i;c<o&&t[c*3]<a.sourceEnd;c++)l=Math.min(l,t[c*3+2]);l!==Number.POSITIVE_INFINITY&&n(a.displayStart,a.displayEnd,l)}return r},Dm=/(<br\s*\/?\s*>|<\/p>|\r?\n)|<[^>]+>/gi,Il=(e,t)=>{if(!e)return[];let r=[],n=[],o=0,a=()=>{let i=nr(n);n=[];let s=ai({text:i.text.replace(/ /g," "),runs:i.runs});s.text.length>0&&r.push(s)};for(let i of e.matchAll(Dm))if(n.push(oi(e,o,i.index)),o=i.index+i[0].length,i[1]!==void 0&&(a(),r.length===t))return r;return n.push(oi(e,o,e.length)),a(),r},fo=e=>uo(uo(uo(Fe(e),/<br\s*\/?\s*>/gi,`
2
+ `),/<\/p>/gi,`
3
+ `),/<[^>]+>/g,""),yo=e=>e?ai(uo(Fe(e),/<br\s*\/??\s*>/gi,`
4
+ `)):rr;var Am=Object.freeze({text:"-",runs:Object.freeze([])}),de=e=>{let t=lt(e);return t.text===""?Am:t},Ut=e=>de(e).text,he=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?he(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 l=String(n.getHours()).padStart(2,"0"),c=String(n.getMinutes()).padStart(2,"0"),d=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${i}T${l}:${c}:${d}`}return`${o}-${a}-${i}`};import{createContext as Ef,useCallback as If,useContext as Ql,useEffect as ql,useRef as Tf,useState as vf}from"react";import{z as sn}from"zod";var bo="ids-stream",Tl=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 or=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,ii=e=>{for(let t=1;t<e.length;t++)if(or(e[t-1],e[t])>0)return!1;return!0};var Ye=Object.freeze({businessDate:"business-date",idsStream:bo,report:"report",search:"search",reports:"reports",searchMarks:"search-marks",action:"action"}),Be=Object.freeze({businessDate:"businessDate",reportHubId:"reportHubId",searchQuery:"q",searchCombine:"combine",reportIds:"ids",forceRefresh:"forceRefresh",cursorReportHubId:"cursor_report_hub_id",cursorBusinessDate:"cursor_business_date",cursorSnapshot:"cursor_snapshot"});var Cm=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var ho=e=>e<10?`0${e}`:`${e}`,_m=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=ho(e.getMonth()+1),n=ho(e.getDate());return`${t}-${r}-${n}`},vl=e=>{let t=Cm.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 l=new Date(0);return l.setUTCFullYear(a,i-1,s),l.getUTCFullYear()!==a||l.getUTCMonth()!==i-1||l.getUTCDate()!==s?null:`${r}-${n}-${o}`},Ro=e=>vl(e)===e,si=(e=new Date)=>Number.isNaN(e.getTime())?si(new Date):`${e.getFullYear()}-${ho(e.getMonth()+1)}-${ho(e.getDate())}`,ar=e=>e==null?null:e instanceof Date?_m(e):vl(e);var Dl=(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)}}},nI=Object.freeze(["API","Action","Attachment","ExternalSource","Isolation","Reads","Refresh","Search","SSE","SseReader","Server","Service","Streams","Visibility","ActionProvider","DetailLoader","SseConnection"]),Al=e=>`[DailyReport${e}]`,Cr=(e,t,r)=>e===void 0?Dl(t,Al(r)):Dl(0,Al(r),e);import{z as Lm}from"zod";var _r=e=>Number.isSafeInteger(e)&&e>0,xe=Lm.number().int().positive().max(Number.MAX_SAFE_INTEGER);var ht=Object.freeze({maxQueryLength:500,maxSets:16,maxWordsPerSet:16,maxWords:32,maxWordLength:100,maxDetailIds:100}),wm=2,So=2;var ir=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},Nm=2*(1+wm),Mm=e=>{if(!Array.isArray(e)||e.length===0||e.length>Nm)return null;let t=[],r=new Set;for(let n of e){if(!ir(n))return null;let{text:o,tier:a}=n;if(typeof o!="string"||o.length===0||o.length>ht.maxWordLength||r.has(o)||a!==0&&a!==1||(t.length===0?a!==0:a<t[t.length-1].tier))return null;r.add(o),t.push({text:o,tier:a})}return t},Om=e=>{if(!Array.isArray(e)||e.length===0||e.length>ht.maxSets)return null;let t=[],r=0;for(let n of e){if(!Array.isArray(n)||n.length===0||n.length>ht.maxWordsPerSet||(r+=n.length,r>ht.maxWords))return null;let o=[];for(let a of n){let i=Mm(a);if(i===null)return null;o.push(i)}t.push(o)}return t},Cl=e=>{if(!ir(e))return null;let{ids:t,businessDates:r,sourceTypes:n}=e;if(!(Array.isArray(t)&&Array.isArray(r)&&Array.isArray(n))||r.length!==t.length||n.length!==t.length)return null;let o=Om(e.words);if(o===null)return null;let a=[];for(let i=0;i<t.length;i++){let s=t[i],l=r[i],c=n[i];if(typeof s!="number"||!_r(s)||l!==null&&(typeof l!="string"||!Ro(l))||typeof c!="string"||c.length===0)return null;a.push({reportHubId:s,businessDate:l,sourceType:c})}return{items:a,words:o}};import{z as F}from"zod";var go=/^(?:[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 _l=["auth-required","forbidden","resync-required"],li=15e3,Ll="lastEventId",Pm=/^\d{1,15}-\d{1,15}$/,xo=e=>Pm.test(e),km=F.object({name:F.string().nullish(),affiliation:F.string().nullish()}),Hm=F.object({name:F.string().nullish(),text:F.string().nullish(),color:F.string().nullish()}),Fm=F.object({id:xe,name:F.string().nullish(),color:F.string().nullish()}),Eo=F.object({id:xe,userId:F.string().nullish(),userName:F.string().nullish(),content:F.string().nullish(),createdAt:F.string().nullish(),isMine:F.boolean()}),Bm=F.object({id:F.string(),fileName:F.string(),fileType:F.string().nullable(),fileSize:F.number().nullable(),createdAt:F.string().nullable(),state:F.enum(["present","absent","unknown"]),hasThumbnail:F.boolean().default(!1)}),Rt=F.object({reportHubId:xe,date:F.string().nullish(),createdAt:F.string().nullish(),author:F.string().nullish(),userId:F.string().nullish(),sourceType:F.string().nullish(),employeeName:F.string().nullish(),updatedBy:F.string().nullish(),updatedAt:F.string().nullish(),category:F.string().nullish(),creationCategory:F.string().nullish(),visitTimeFrom:F.string().nullish(),visitTimeTo:F.string().nullish(),customerName:F.string().nullish(),interviewers:F.array(km),subject:F.string().nullish(),content:F.string().nullish(),externalComments:F.array(Hm),isRead:F.boolean(),isStarred:F.boolean(),labels:F.array(Fm),postedComments:F.array(Eo),attachments:F.array(Bm).default([])}),sr=F.string().regex(go),Vm=F.object({type:F.literal("connected")}),Um=F.object({type:F.literal("status-update"),reportHubId:xe,statusType:F.enum(["star","read"]),value:F.boolean(),clientTempId:sr,recipientRawUserId:xe.optional()}),di=F.string().optional(),Km=F.object({type:F.literal("comment-add"),reportHubId:xe,comment:Eo,clientTempId:sr,recipientRawUserId:xe.optional(),sourceType:di}),Wm=F.object({type:F.literal("comment-delete"),reportHubId:xe,commentId:xe,clientTempId:sr,recipientRawUserId:xe.optional(),sourceType:di}),$m=F.object({type:F.literal("report-create"),reportHubId:xe,report:Rt,clientTempId:sr,recipientRawUserId:xe.optional()}),zm=F.object({type:F.literal("report-update"),reportHubId:xe,report:Rt,clientTempId:sr,recipientRawUserId:xe.optional()}),jm=F.object({type:F.literal("report-publish"),reportHubId:xe,report:Rt,clientTempId:sr,recipientRawUserId:xe.optional()}),Gm=F.object({type:F.literal("report-delete"),reportHubId:xe,clientTempId:sr,sourceType:di}),wl=F.discriminatedUnion("type",[Vm,Um,Km,Wm,$m,zm,jm,Gm]);var Io=e=>e.issues.map(t=>`${t.path.length===0?"(root)":t.path.join(".")}: ${t.code}`).join("; ");import{resolveVirtualScrollLocale as of}from"@aiquants/virtualscroll";import{createContext as af,useMemo as sf}from"react";var qm=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,Ve=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${qm(r)}`),Nl=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),nn=(e,t,r)=>Ve(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t),Kt=(e,t,r,n)=>{if(typeof t=="number"&&Number.isSafeInteger(t)&&t>=r&&(n===void 0||t<=n))return t;throw Ve(e,n===void 0?`an integer >= ${r}`:`an integer from ${r} to ${n}`,t)};import{useContext as Ym}from"react";var dt=(e,t,r)=>{let n=Ym(e);if(n===null)throw new Error(`[daily-report] ${t} must be used within a ${r}`);return n};import{resolveVirtualScrollLabels as Xm,resolveVirtualScrollLocale as Qm,VIRTUAL_SCROLL_LABEL_CATALOGS as Ml,VIRTUAL_SCROLL_LABEL_KEYS as pi}from"@aiquants/virtualscroll";var Pl=["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","starAdd","starRemove","markRead","markUnread","deleteReport","edit","resizeHandle","close","formTitle","formTitlePlaceholder","formContent","formContentPlaceholder","formCancel","formSave","formPublish","commentPlaceholder","commentSend","commentDelete","commentDeleteConfirm","unknownUser","sourceInternal","searchInputLabel","searchPlaceholder","searchCombineAnd","searchCombineOr","searchCombineAndTitle","searchCombineOrTitle","searchClear","searching","searchNoHits","searchSyntaxHelp","searchMatchOutsideView","searchMatchOutsideViewDescription"],kl=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","noticeRepeated","rowState","listRowPosition","listRowPositionInUnknownTotal","searchHitCount","searchFailed","searchMatchedKeywords","searchMatchedKeywordsDescription"],ci=[...pi,...Pl,...kl];var Zm=Object.freeze({en:"en-US",ja:"ja-JP"}),ye=(e,t)=>t.toLocaleString(Zm[e]),Jm=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"}),ef=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"}),tf=Object.freeze({invalid:"\u691C\u7D22\u8A9E\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093",busy:"\u6DF7\u307F\u5408\u3063\u3066\u3044\u307E\u3059\u3002\u5C11\u3057\u5F85\u3063\u3066\u304B\u3089\u3082\u3046\u4E00\u5EA6\u691C\u7D22\u3057\u3066\u304F\u3060\u3055\u3044",unavailable:"\u691C\u7D22\u3092\u4F7F\u3048\u307E\u305B\u3093",failed:"\u691C\u7D22\u306B\u5931\u6557\u3057\u307E\u3057\u305F"}),rf=Object.freeze({invalid:"The search text is not valid",busy:"The server is busy. Please search again in a moment",unavailable:"Search is not available",failed:"The search failed"}),ui=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?",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",searchInputLabel:"Search reports",searchPlaceholder:"Search reports",searchCombineAnd:"AND",searchCombineOr:"OR",searchCombineAndTitle:"Show the reports that contain every keyword",searchCombineOrTitle:"Show the reports that contain any keyword",searchClear:"Clear the search",searching:"Searching...",searchNoHits:"No report matches",searchSyntaxHelp:"Separate keywords with spaces. Words in double quotes form one keyword that needs every word. A word in Latin letters also finds its kana reading (denpun finds \u3067\u3093\u3077\u3093); text found through a reading is underlined with dots. Enter searches, Esc clears.",searchMatchOutsideView:"Hidden match",searchMatchOutsideViewDescription:"Matched in fields this view does not show, such as labels or details",totalCount:e=>`Total: ${ye("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${ye("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${ye("en",e)} / ${ye("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${ye("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${ye("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${ye("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${ef[e]}. Please try again later.`,noticeRepeated:e=>`(${ye("en",e)} times)`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${ye("en",e)} of ${ye("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${ye("en",e)}`,searchHitCount:e=>`${ye("en",e)} ${e===1?"hit":"hits"}`,searchFailed:e=>rf[e],searchMatchedKeywords:(e,t)=>`Match ${e}/${t}`,searchMatchedKeywordsDescription:(e,t)=>`Matches ${e} of ${t} keywords`}),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",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",searchInputLabel:"\u65E5\u5831\u3092\u691C\u7D22",searchPlaceholder:"\u65E5\u5831\u3092\u691C\u7D22",searchCombineAnd:"AND",searchCombineOr:"OR",searchCombineAndTitle:"\u3059\u3079\u3066\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u542B\u3080\u65E5\u5831\u3092\u51FA\u3059",searchCombineOrTitle:"\u3069\u308C\u304B\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u542B\u3080\u65E5\u5831\u3092\u51FA\u3059",searchClear:"\u691C\u7D22\u3092\u6D88\u3059",searching:"\u691C\u7D22\u4E2D...",searchNoHits:"\u5F53\u305F\u308B\u65E5\u5831\u306F\u3042\u308A\u307E\u305B\u3093",searchSyntaxHelp:"\u30AD\u30FC\u30EF\u30FC\u30C9\u306F\u7A7A\u767D\u3067\u533A\u5207\u308A\u307E\u3059\u3002\u4E8C\u91CD\u5F15\u7528\u7B26\u3067\u56F2\u3093\u3060\u8A9E\u306F\u3001\u3059\u3079\u3066\u306E\u8A9E\u3092\u542B\u3080 1 \u3064\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u306B\u306A\u308A\u307E\u3059\u3002\u82F1\u5B57\u306E\u8A9E\u306F\u30ED\u30FC\u30DE\u5B57\u306E\u8AAD\u307F\u3067\u3082\u4EEE\u540D\u3092\u63A2\u3057\u307E\u3059 (denpun \u2192 \u3067\u3093\u3077\u3093)\u3002\u8AAD\u307F\u3067\u5F53\u305F\u3063\u305F\u6240\u306F\u70B9\u7DDA\u306E\u4E0B\u7DDA\u3067\u793A\u3057\u307E\u3059\u3002Enter \u3067\u691C\u7D22\u3001Esc \u3067\u6D88\u53BB\u3057\u307E\u3059\u3002",searchMatchOutsideView:"\u8868\u793A\u5916\u3067\u4E00\u81F4",searchMatchOutsideViewDescription:"\u3053\u306E\u753B\u9762\u306B\u51FA\u3057\u3066\u3044\u306A\u3044\u9805\u76EE (\u30E9\u30D9\u30EB\u30FB\u660E\u7D30\u306A\u3069) \u3067\u4E00\u81F4\u3057\u307E\u3057\u305F",totalCount:e=>`\u7DCF\u4EF6\u6570: ${ye("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${ye("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${ye("ja",e)} / ${ye("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${ye("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${ye("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${ye("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${Jm[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`,noticeRepeated:e=>`(${ye("ja",e)} \u56DE\u76EE)`,rowState:({isRead:e,isStarred:t})=>`${e?"\u65E2\u8AAD":"\u672A\u8AAD"}${t?"\u3001\u30B9\u30BF\u30FC\u4ED8\u304D":""}`,listRowPosition:(e,t)=>`\u5168 ${ye("ja",t)} \u4EF6\u4E2D ${ye("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${ye("ja",e)} \u4EF6\u76EE`,searchHitCount:e=>`${ye("ja",e)} \u4EF6\u30D2\u30C3\u30C8`,searchFailed:e=>tf[e],searchMatchedKeywords:(e,t)=>`\u4E00\u81F4 ${e}/${t}`,searchMatchedKeywordsDescription:(e,t)=>`\u30AD\u30FC\u30EF\u30FC\u30C9 ${t} \u500B\u306E\u3046\u3061 ${e} \u500B\u306B\u4E00\u81F4`})}),Hl=Object.freeze({en:Object.freeze({...Ml.en,...ui.en}),ja:Object.freeze({...Ml.ja,...ui.ja})}),nf=e=>{let t={},r=!1;for(let n of pi){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},Ol=(e,t,r)=>{e[t]=r},mi=(e,t)=>{let r=Qm(e);if(t===void 0)return Hl[r];if(t===null||typeof t!="object")throw Ve("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Ve("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!ci.includes(i))throw nn("labels key",i,ci);let a={...Xm(r,nf(t)),...ui[r]};for(let i of Pl){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw Ve(`labels.${i}`,"a non-blank string",s);Ol(a,i,s)}}for(let i of kl){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw Ve(`labels.${i}`,"a function",s);Ol(a,i,s)}}return Object.freeze(a)},Fl=e=>{let t={};for(let r of pi)t[r]=e[r];return Object.freeze(t)};import{jsx as fi,jsxs as hf}from"react/jsx-runtime";var lf=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),df=({title:e,annotation:t})=>hf("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[fi("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?fi("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),on=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:df,showDevControls:!1,headingLevel:3}),Bl=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired","search"];var cf=e=>{for(let t of Object.keys(e))if(!Bl.includes(t))throw nn("config key",t,Bl)},Vl=[2,3,4,5],uf=e=>{if(e===void 0)return on.headingLevel;let t=Vl.find(r=>r===e);if(t===void 0)throw Ve("config.headingLevel",`one of ${Vl.join(", ")} (the level of each report's heading)`,e);return t},Ul=["debounceMs"],pf=Object.freeze({min:300,max:5e3}),mf=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},ff=e=>{if(e===void 0)return null;if(!mf(e))throw Ve("config.search","a plain object ({} for Enter only, or { debounceMs })",e);for(let o of Object.keys(e))if(!Ul.includes(o))throw nn("config.search key",o,Ul);let t=e.debounceMs;if(t===void 0)return{debounceMs:null};let{min:r,max:n}=pf;return{debounceMs:Kt("config.search.debounceMs",t,r,n)}},yf=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Ve(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},bf=e=>{cf(e);let t=e.onSessionExpired;if(t===void 0)throw Nl("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Ve("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=of(e.locale),n=mi(r,e.labels),o=on;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?lf(n):yf(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:uf(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired,search:ff(e.search)}},Kl=af(null),yi=({config:e,children:t})=>{let r=sf(()=>bf(e),[e]);return fi(Kl.Provider,{value:r,children:t})},$=()=>dt(Kl,"useDailyReportConfig","DailyReportConfigProvider"),lr=(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},To=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";import{tapScrollCircleSampleVisual as Sf}from"@aiquants/virtualscroll";var Rf=4;var Lr=120,Wl=1e3,Do=.8,bi={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},Ao=20,$l=6,Co={reportHubId:-1,businessDate:null},_o=240,Lo=15,gf=8,zl=460,jl=3,Gl=352,xf={enabled:!0,renderVisual:Sf,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},wo={width:gf,tapScrollCircleOptions:xf,enableArrowButtonTabStops:!1},No=["pen","touch"];var Zl=Cr(void 0,1,"DetailLoader"),Jl=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},gi=Jl("__DAILY_REPORT_CACHE_TTL__",3e5),Df=Jl("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),ee={reports:new Map,lists:new Map,pendingLists:new Map,pendingReports:new Map,listeners:new Set,lockHolders:new Map,lockHolds: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.lockHolders.clear(),this.lockHolds.clear(),this.lastMutations.clear(),this.recentDeletes.clear(),this.listeners.forEach(e=>{e(-1)})},isLocked(e){if(this.lockHolders.has(e))return!0;let t=this.lockHolds.get(e);return t===void 0?!1:t>performance.now()?!0:(this.lockHolds.delete(e),!1)},isValid:e=>e>Date.now(),notify:e=>{ee.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=ar(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()){Zl.warn(`[DailyReportCache] Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+Df))}},delete(e,t){this.reports.delete(e);let r=ar(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+gi;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 l=this.reports.get(i.reportHubId)?.data,c=this.merge(i,l);return this.set(c,o,!1),c});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},ed=(e,t,r=!0)=>ee.set(e,t,r),ot=(e,t)=>ee.getReport(e,t?.ignoreExpiry),at=(e,t)=>ee.update(e,t),xi=(e,t)=>ee.delete(e,t),ln=()=>{ee.clear(),Mo.clear(),an.clear()},Oo=(e,t)=>{let r=ee.lastMutations.get(e);(r===void 0||r<t)&&ee.lastMutations.set(e,t)},Ei=e=>{Oo(e,Date.now())},td=e=>{let t=Symbol("mutation-lock"),r=ee.lockHolders.get(e);return r===void 0?ee.lockHolders.set(e,new Set([t])):r.add(t),Oo(e,Date.now()),()=>{let n=ee.lockHolders.get(e);n===void 0||!n.delete(t)||(n.size===0&&ee.lockHolders.delete(e),Oo(e,Date.now()))}},rd=(e,t)=>{let r=performance.now()+t,n=ee.lockHolds.get(e);(n===void 0||n<r)&&ee.lockHolds.set(e,r),Oo(e,Date.now()+t)},nd=e=>ee.recentDeletes.set(e,Date.now()),od=(e,t)=>{let r=n=>{n===e&&t()};return ee.listeners.add(r),()=>{ee.listeners.delete(r)}},dr=(e,t)=>{ee.prune(),ee.set(t,Date.now()+gi)},ad=e=>{ee.prune();let t=ee.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}));ee.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+gi)},Af=sn.object({report:Rt}),Cf=sn.object({reports:sn.array(Rt)}),Ii=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 (${Io(n.error)})`);return n.data},_f=async(e,t)=>{let r=ee.getReport(t);if(r)return r;let n=ee.pendingReports.get(t);if(n)return n;let o=Date.now(),a=new URLSearchParams({[Be.reportHubId]:String(t)}),i=fetch(`${e}/${Ye.report}?${a}`,{cache:"no-cache"}).then(s=>Ii(s,Af,Ye.report)).then(({report:s})=>ee.cacheMany([s],null,o)[0]).finally(()=>ee.pendingReports.delete(t));return ee.pendingReports.set(t,i),i},Mo=new Map,Lf=1e4,wf=(e,t)=>{let r=Mo.get(t),n=Date.now();if(r&&n-r.at<Lf)return r.inFlight;let o=Ti(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return Mo.set(t,a),o.finally(()=>{Mo.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},Ti=async(e,t,r={})=>{let n=r.forceRefresh?null:ee.getList(t);if(n)return n;let o=ee.pendingLists.get(t);if(o)return o;let a=Date.now(),i=new URLSearchParams({[Be.businessDate]:t}),s=fetch(`${e}/${Ye.businessDate}?${i}`,{cache:"no-cache"}).then(l=>Ii(l,Cf,Ye.businessDate)).then(({reports:l})=>ee.cacheMany(l,t,a)).finally(()=>ee.pendingLists.delete(t));return ee.pendingLists.set(t,s),s},Nf=sn.object({reports:sn.array(Rt)}),Po=new Map,an=new Map,id=[],hi=0,Ri=!1,sd=()=>{for(;hi<So;){let e=id.shift();if(e===void 0)return;hi+=1,e().finally(()=>{hi-=1,sd()})}},Mf=()=>{Ri=!1;for(let[e,t]of Po){Po.delete(e);let r=[...t];for(let n=0;n<r.length;n+=ht.maxDetailIds){let o=r.slice(n,n+ht.maxDetailIds);id.push(async()=>{let a=Date.now(),i=new URLSearchParams({[Be.reportIds]:o.map(([s])=>s).join(",")});try{let s=await fetch(`${e}/${Ye.reports}?${i}`,{cache:"no-cache"}),{reports:l}=await Ii(s,Nf,Ye.reports),c=new Map(ee.cacheMany(l,null,a).map(d=>[d.reportHubId,d]));for(let[d,p]of o)p.resolve(c.get(d)??null)}catch(s){for(let[,l]of o)l.reject(s)}})}}sd()},Of=(e,t)=>{let r=an.get(t);if(r!==void 0)return r;let n=new Promise((o,a)=>{let i=Po.get(e);i===void 0&&(i=new Map,Po.set(e,i)),i.set(t,{resolve:o,reject:a})}).finally(()=>{an.get(t)===n&&an.delete(t)});return an.set(t,n),Ri||(Ri=!0,queueMicrotask(Mf)),n},ko=Ef("date"),Si=(e,t)=>{let r=ee.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!ee.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=ee.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:!ee.isValid(n.expiresAt)}},Yl=(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}=Si(e,ar(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},wr=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,cr=(e,t)=>{let{apiBasePath:r}=$(),n=Ql(ko),[o,a]=vf(()=>Yl(e,t)),i=Tf(0),s=o;return o.id!==e&&(s=Yl(e,t),a(s)),ql(()=>{let l=ar(t),c=d=>{d===e&&a(wr(e,{report:Si(e,l).report}))};return ee.listeners.add(c),()=>{ee.listeners.delete(c)}},[e,t]),ql(()=>{let l=ar(t);i.current+=1;let c=i.current,d=()=>{i.current+=1};if(e<=0)return d;let{report:p,isStale:m}=Si(e,l);if(p&&!m)return a(wr(e,{report:p,error:null,isLoading:!1,isRefetching:!1})),d;a(wr(e,{report:p,isLoading:!p,isRefetching:!0}));let f=async()=>{try{let R=null;if(n==="ids")R=await Of(r,e);else if(l){let g=ee.getList(l)!==null;if(R=(await Ti(r,l)).find(h=>h.reportHubId===e)??null,!R&&g){let h=await wf(r,l);h&&(R=h.find(I=>I.reportHubId===e)??null)}}else R=await _f(r,e);i.current===c&&a(wr(e,{report:R,error:null}))}catch(R){i.current===c&&a(wr(e,{error:R instanceof Error?R:new Error("Load failed")}))}finally{i.current===c&&a(wr(e,{isLoading:!1,isRefetching:!1}))}};if(p===null)return f(),d;let b=setTimeout(f,Lr);return()=>{clearTimeout(b),d()}},[e,t,r,n]),{report:s.report,error:s.error,isLoading:s.isLoading,isRefetching:s.isRefetching}},vi=()=>{let{apiBasePath:e}=$(),t=Ql(ko);return If(r=>{if(t==="ids")return;let n=ar(r);n&&!ee.getList(n)&&Ti(e,n).catch(o=>Zl.warn("Prefetch error",n,o))},[e,t])};import{VIRTUAL_SCROLL_LABEL_KEYS as Pf}from"@aiquants/virtualscroll";import{useRef as kf}from"react";var Ho=()=>{let{locale:e,labels:t}=$(),r=Fl(t),n=kf(null),o=n.current;return o!==null&&Pf.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};import{useLayoutEffect as jf,useState as Gf}from"react";import{flushSync as qf}from"react-dom";var cd=Object.freeze({visibilityProperty:!0}),ld=new Set(["auto","scroll"]),dd=new Set(["","true","plaintext-only"]),ud=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=yd(n)?n.host:null}return!1},Hf=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(cd))return!0;return!1},pd=e=>e.localName==="area"?Hf(e):e.checkVisibility(cd),Ff=e=>{let t=e.getAttribute("contenteditable");if(t===null||!dd.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(dd.has(o))return!1;if(o==="false")return!0}return!0},Bf=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&&pd(n)&&(r=n)}return r===e},Vf=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&&ld.has(a.overflowX)||n&&ld.has(a.overflowY)},Uf=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 Ff(e)}},Kf=/^[\t\n\f\r ]*[+-]?\d/,Wf=e=>{let t=e.getAttribute("tabindex");return t!==null&&Kf.test(t)?e.tabIndex:null},md=(e,t)=>{for(let r of Ai(e))if(t(r)||md(r,t))return!0;return!1},Fo=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=$f(e,t);return t.set(e,n),n},$f=(e,t)=>{if(!dn(e))return"none";let r=Wf(e),n=r===null&&Uf(e),o=r===null&&!n&&Vf(e);return!(r!==null||n||o)||e.matches(":disabled")||ud(e)||!pd(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?Bf(e)?"sequential":"programmatic":"sequential":md(e,a=>Fo(a,t)==="sequential")?"none":"sequential"},Di=(e,t)=>{for(let r of Ai(e))t(r),Di(r,t)},Ai=e=>{if(Re(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 Bo=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return Di(e,l=>{Fo(l,a)==="sequential"&&n.push(l)}),{before:r,within:n,after:o};let i=!1,s=(l,c)=>{for(let d of Ai(l)){let p=d===t;!p&&Fo(d,a)==="sequential"&&(c?n.push(d):i?o.push(d):r.push(d)),s(d,c||p),p&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},fd=e=>{let t=[],r=new Map;return Di(e,n=>{Fo(n,r)==="sequential"&&t.push(n)}),t},Re=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,dn=e=>"focus"in e&&"blur"in e,zf=e=>e.nodeType===e.DOCUMENT_NODE,yd=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,Te=e=>{let t=e.getRootNode();if(yd(t)){let r=t.activeElement;return r===null?Te(t.host):r}return zf(t)?t.activeElement:null},At=e=>{let t=Te(e);return t===null||t===t.ownerDocument.body||ud(t)},ze=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 Vo=e=>{let[t,r]=Gf(null);return jf(()=>{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=l=>{if(l===o)return;let c=o===null;o=l,c?qf(()=>r(l)):r(l)},i=l=>{for(let c of l)a(c.borderBoxSize[0].blockSize)},s=new(ze(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var bd=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,Ee=(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 Ko="data-daily-report-row",Uo=`[role="listitem"][${Ko}]`,Yf='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',Xf=/^[1-9]\d*$/,hd=e=>{if(e===null||!Xf.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},Qf=`${Uo}[tabindex="0"], ${Uo} [tabindex="0"]`,Wo=e=>e.querySelector(Qf),Wt=(e,t)=>{if(t===null||!Re(e))return null;let r=e.closest(Uo);return r===null||r===t||!t.contains(r)?null:r},ur=e=>hd(e.getAttribute(Ko)),Nr=e=>hd(e.getAttribute("aria-posinset")),Rd=e=>{let t=e.closest(Uo),r=t===null?null:Nr(t);return r===null?null:r-1},cn=(e,t)=>{if(e===null)return null;let r=ur(e);if(r===null)return null;let n=Nr(e),o=Ee(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},Sd=(e,t)=>{if(!Re(e))return!1;let r=e.closest(Yf);return r!==null&&r!==t&&t.contains(r)};import{createContext as gd}from"react";var Ct=gd(0),un=-1,xd=(e,t)=>t.phase==="complete"?e:t.totalCount===null?un:Math.max(e,t.totalCount),_t=gd(-1);import{clsx as Zf}from"clsx";import{twMerge as Jf}from"tailwind-merge";function x(...e){return Jf(Zf(e))}import{useCallback as Ed,useMemo as ey,useSyncExternalStore as ty}from"react";var Id="(prefers-reduced-motion: reduce)",Td=e=>ze(e).matchMedia(Id).matches?"instant":"smooth",ry=Object.freeze({...bi,startVelocityThreshold:Number.POSITIVE_INFINITY}),Mr=e=>e?ry:bi,ny=()=>!1,oy=()=>{},Or=e=>{let t=ey(()=>e===null?null:ze(e).matchMedia(Id),[e]),r=Ed(o=>t===null?oy:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=Ed(()=>t===null?!1:t.matches,[t]);return ty(r,n,ny)};import{useSyncExternalStore as ay}from"react";import{jsx as Ci}from"react/jsx-runtime";var $o=()=>{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)})}},vd=16,iy=(e,t)=>e==="vertical"?{top:0,left:-vd,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-vd,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},zo=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=ay(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?Ci("div",{className:"pointer-events-none absolute flex items-center",style:iy(e,t),children:Ci("div",{className:x(tl,"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:Ci("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};import{createContext as sy,useContext as ly,useLayoutEffect as dy,useRef as cy}from"react";var _i=sy(null),jo=({items:e,scroller:t,readTopReportId:r})=>{let n=ly(_i),o=n===null?null:n.request,a=cy(o===null?0:o.seq);dy(()=>{if(!(n===null||o===null||o.seq===a.current)){if(a.current=o.seq,o.kind==="restore"){let i=n.slot.preSearchTopReportId;n.slot.preSearchTopReportId=null;let s=i===null?-1:e.findIndex(l=>l.reportHubId===i);s!==-1&&t.toIndex(s,{align:"top"});return}o.kind==="enter"&&(n.slot.preSearchTopReportId=r()),e.length>0&&t.toIndex(0,{align:"top"})}},[n,o,e,t,r])};import{memo as op,useCallback as qr,useEffect as np,useId as xS,useLayoutEffect as ES,useMemo as Rr,useRef as Es}from"react";var Go="legacy-",qo=e=>`${Go}${e}`,Dd=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Ve("mergeComments: unknownAuthorName","a non-blank string",n);let o=e.map((i,s)=>({id:qo(s),authorName:i.name||n,content:i.text||"",isMine:!1,color:i.color||void 0,isLegacy:!0,isAuthorUnknown:!i.name})),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,isAuthorUnknown:!i.userName}));return[...o,...a]},Ad=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 uy=/^[1-9][0-9]*$/,py=/^(?:0|[1-9][0-9]*)$/,Cd=e=>{if(e===null||!uy.test(e))return null;let t=Number(e);return _r(t)?t:null},Pr=e=>{if(e===null||!py.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null};var my=Object.freeze(["subject","content","author","employeeName","updatedBy","category","creationCategory","customerName"]),X=Object.freeze({field:e=>e,interviewer:(e,t)=>`interviewer:${e}:${t}`,attachment:e=>`attachment:${e}`,comment:(e,t)=>`comment:${e}:${t}`}),fy=e=>e.startsWith(Go)?Pr(e.slice(Go.length))!==null:Cd(e)!==null,Yo=e=>{if(my.includes(e))return!0;let t=e.split(":");switch(t[0]){case"interviewer":return t.length===3&&Pr(t[1])!==null&&(t[2]==="name"||t[2]==="affiliation");case"attachment":return t.length===2&&Pr(t[1])!==null;case"comment":return t.length===3&&fy(t[1])&&(t[2]==="author"||t[2]==="content");default:return!1}},yy=2166136261,by=16777619,pn=e=>{let t=yy;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,by);return t>>>0},hy=String.fromCodePoint(3),Ry=String.fromCodePoint(2),Sy=String.fromCodePoint(1),_d=e=>pn(e.map(t=>t.map(r=>r.map(n=>`${n.tier}${n.text}`).join(hy)).join(Ry)).join(Sy));import{createContext as Rc,memo as Sb,useCallback as qi,useEffect as hc,useLayoutEffect as Qi,useMemo as Zi,useRef as In,useState as xt}from"react";import{z as be}from"zod";var Ld=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var Qe=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),wi=e=>{let t=new FormData;if(t.append(Qe.intent,e.intent),e.intent==="clearCache"||(t.append(Qe.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(Qe.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(Qe.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(Qe.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(Qe.title,e.changes.title),e.changes.content!==void 0&&t.append(Qe.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(Qe.isStarred,String(e.value)),t;case"toggleRead":return t.append(Qe.isRead,String(e.value)),t;case"addComment":return t.append(Qe.content,e.content),t;case"deleteComment":return t.append(Qe.commentId,String(e.commentId)),t}},gy=()=>{let e=xe,t=be.string().regex(go),r=be.literal("OK"),n=be.object({isStarred:be.boolean(),isRead:be.boolean()}),o=be.number().int().nonnegative().nullable();return{create:be.object({status:r,intent:be.literal("create"),reportHubId:e,clientTempId:t,report:Rt}),update:be.object({status:r,intent:be.literal("update"),reportHubId:e,clientTempId:t}),publish:be.object({status:r,intent:be.literal("publish"),reportHubId:e,clientTempId:t,report:Rt.nullable()}),delete:be.object({status:r,intent:be.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:be.object({status:r,intent:be.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:be.object({status:r,intent:be.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:be.object({status:r,intent:be.literal("addComment"),reportHubId:e,clientTempId:t,newComment:Eo}),deleteComment:be.object({status:r,intent:be.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:xe}),clearCache:be.object({status:r,intent:be.literal("clearCache")})}},Li=null,xy=()=>(Li===null&&(Li=gy()),Li),wd=(e,t)=>{let r=xy()[e].safeParse(t);return r.success?{result:r.data}:{mismatch:Io(r.error)}};import{systemSseRuntime as oa}from"@aiquants/sse";import{createBrowserEventSource as Ky}from"@aiquants/sse/client";import{useReopeningEventSource as Wy}from"@aiquants/sse/react";import{useEffect as Hi,useRef as aa,useState as $y}from"react";import{startTransition as Ly,useLayoutEffect as wy,useState as Ny,useSyncExternalStore as hn}from"react";var Nd=e=>{let t=new URLSearchParams;return e.cursor!==null&&(t.set(Be.cursorReportHubId,String(e.cursor.reportHubId)),e.cursor.businessDate!==null&&t.set(Be.cursorBusinessDate,e.cursor.businessDate)),e.snapshot!==null&&t.set(Be.cursorSnapshot,e.snapshot),e.forceRefresh&&t.set(Be.forceRefresh,"true"),t};var mn=()=>{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 l=t.get(s.reportHubId);t.set(s.reportHubId,{previous:l===void 0?i:l.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:l}of i.replaced)o(s,l);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()]})}},Md=(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 Od=()=>{let e=new TextDecoder,t=[],r=n=>{let o=[],a=0;for(let i=n.indexOf(`
2
5
  `);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 $m=50,jm=32,il=0,Gm=()=>(il+=1,il),Ym=1e3,qm=3e4,Xm=6,Zm=3e4,Xn=Symbol("read-stall"),Qm="/daily_report/api",Lr=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=_r();this.apiBasePath=t.apiBasePath??Qm,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??Zm,this.publishCoalesceMs=t.publishCoalesceMs??$m,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>=Xm){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(Ym*2**(this.consecutiveFailures-1),qm))}}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(Xn),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===Xn)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=al(),d=!1,m=!1;for(;;){let u=await this.readWithStallGuard(i);if(u===Xn)return r.abort(),i.cancel().catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let f=u.done?s.end():s.push(u.value),p=!1;for(let R of f){if(R.trim()==="")continue;let y;try{y=JSON.parse(R)}catch{this.warn("[DailyReportIdsStream] skipped malformed line");continue}let T=os(y);if(T==="unknown"){this.warn("[DailyReportIdsStream] skipped line of unknown kind");continue}if(T==="error"){d=!0;continue}let h=y;p=this.absorbChunkLine(h)||p,typeof h.total=="number"&&Number.isFinite(h.total)&&h.total!==this.state.totalCount&&this.publish({totalCount:h.total}),h.nextCursor&&(h.nextCursor.businessDate===null||is(h.nextCursor.businessDate))&&(this.lastCursor=h.nextCursor),h.isLast&&(m=!0)}if(p&&(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(Xn),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"&&Cn(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=Gm(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange=_r(),{loadedCount:this.itemMap.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-jm),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=nl({cursor:this.lastCursor,snapshot:this.lastCursor===null?null:this.lastSnapshot,forceRefresh:t}).toString();return`${this.apiBasePath}/${Tn}${r?`?${r}`:""}`}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 rp=6e4,ee=null,sl=!1,wr=new Set,Zn={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},La=()=>{for(let e of wr)e()},wa=()=>{ee&&(ee.unsubscribe(),ee.client.dispose(),ee=null,La())},Nr=e=>{if(typeof window>"u")return;let t=e.apiBasePath??Tr.apiBasePath;if(ee&&(ee.userKey!==e.userKey||ee.apiBasePath!==t)&&(ee.userKey!==e.userKey&&Ir(),wa()),!ee){let r=new Lr({apiBasePath:t});ee={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(La)},np(),r.start(),La();return}Jn(ee)},Jn=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>rp&&e.client.refresh()},np=()=>{if(sl||typeof document>"u"||typeof window>"u")return;sl=!0;let e=()=>{ee&&Jn(ee)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},Na=e=>{if(!(typeof window>"u")){if(!ee){Nr(e);return}if(ee.userKey!==e.userKey){Ir(),wa(),Nr(e);return}Jn(ee)}},Oa=()=>{typeof window>"u"||!ee||Jn(ee)},Mr=e=>{ee?.client.applyExternalUpsert(e)},eo=e=>{ee?.client.applyExternalRemoval(e)},dl=e=>ee===null?!1:ee.client.has(e),op=()=>ee===null?[]:ee.client.readItems(),Ma=()=>ee===null?0:ee.client.getState().itemsRevision,to=()=>{ee?.client.retry()},ro=()=>{ee?.client.resync()},Pa=(e={})=>{ee?.client.refresh(e)},cl=()=>ee?.userKey,Pr=e=>(wr.add(e),()=>wr.delete(e)),Qn=()=>ee?.client.getState()??Zn,ap=()=>Zn,ip=()=>Or(Pr,Qn,ap),no=(e,t)=>{let r=Zn,n=e(Zn);return()=>{let o=Qn();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},ul=no(({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),sp=ul(),oo=()=>Or(Pr,ul,()=>sp),ml=no(({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),lp=ml(),pl=()=>Or(Pr,ml,()=>lp),fl=no(({phase:e,loadedCount:t})=>({phase:e,hasItems:t>0,retryingCount:e==="retrying"?t:null}),(e,t)=>e.phase===t.phase&&e.hasItems===t.hasItems&&e.retryingCount===t.retryingCount),dp=fl(),yl=()=>Or(Pr,fl,()=>dp),bl=no(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),cp=bl(),Rl=()=>Or(Pr,bl,()=>cp),gl=e=>e.phase==="complete"&&!e.isRevalidating,ll=e=>`${e.itemsRevision}:${gl(e)}`,hl=()=>{let[,e]=tp(0),t=Qn(),r=ll(t);return ep(()=>{let n=r,o=()=>{let a=ll(Qn());a!==n&&(n=a,Jm(()=>e(i=>i+1)))};return wr.add(o),o(),()=>{wr.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readItems:op,settled:gl(t)}};import.meta.hot?.dispose(wa);var zt=Jt(1,"daily-report-sse-connection"),fp=Object.freeze({kind:"resyncing"}),Sl={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},yp=1,El=da*3,bp=El+da,Ha=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=k(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=oo(),[d,m]=pp({generation:0,minAnchorRevision:1,anchored:!1}),u=d.generation>0&&!d.anchored,f=u&&a==="complete"&&!i?s:null,p=io(0),R=io(null),y=io(n);y.current=n;let T=io(0);T.current=o===null?0:o.revision,ka(()=>{d.anchored||o===null||o.revision<d.minAnchorRevision||(R.current=o.lastEventId,p.current=0,m({...d,anchored:!0}))},[d,o]),ka(()=>{if(!e||f===null)return;let{initialDelayMs:l,maxDelayMs:S,multiplier:x}=Sl,C=ao.random()*Math.min(S,l*x**p.current);zt.warn(`SSE resync: the ids rescan gave up (${f.message}); rescanning in ${Math.round(C)} ms`);let w=ao.setTimer(()=>{p.current+=1,ro()},C);return()=>ao.clearTimer(w)},[e,f]);let{status:h}=mp(e&&d.anchored?`${r}#${d.generation}`:null,{resolveUrl:({lastEventId:l})=>l===null?r:`${r}?${ls}=${encodeURIComponent(l)}`,initialLastEventId:R.current,withCredentials:!1,createEventSource:up,runtime:ao,backoff:Sl,healthyOpenMs:bp,nativeRetryLimit:yp,giveUpAfterFailures:"never",terminalEvents:ss,heartbeat:{staleAfterMs:El,onHeartbeat:null},events:{message:l=>{l.lastEventId!==""&&(Cn(l.lastEventId)?R.current=l.lastEventId:zt.warn("SSE event carried a malformed id; keeping the previous cursor:",l.lastEventId));try{let S=JSON.parse(l.data),x=ds.safeParse(S);if(!x.success){zt.error("SSE Validation Error:",x.error.flatten(),"raw message:",S);return}if(x.data.type==="connected"){zt.info("SSE Subscribe Ready");return}t(x.data)}catch(S){zt.error("SSE Parse Error",S)}}}});return ka(()=>{if(h.kind==="faulted"){zt.error("SSE connection faulted:",h.error);return}if(h.kind==="terminated")switch(h.terminalEvent){case"auth-required":y.current();return;case"forbidden":zt.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let l=T.current+1;m(S=>({generation:S.generation+1,minAnchorRevision:l,anchored:!1})),ro();return}}},[h]),e&&u?fp:h};import{createContext as Rp,useCallback as gp,useContext as hp,useSyncExternalStore as vl}from"react";var Tl=()=>{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)}}},Fa=Rp(null),xt=()=>{let e=hp(Fa);if(e===null)throw new Error("[daily-report] the draft store is read outside a DailyReportActionProvider");return e},Il=(e,t)=>gp(r=>e.subscribe(t,r),[e,t]),so=e=>{let t=xt(),r=()=>t.modeOf(e);return vl(Il(t,e),r,r)},xl=e=>{let t=xt(),r=()=>t.inputOf(e),n=vl(Il(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};import{useOverlayEscapeStack as Tp}from"@aiquants/swipe-overlay";import{createContext as Ip,useCallback as co,useContext as xp,useId as Dl,useLayoutEffect as _l,useMemo as Cp,useRef as uo,useState as Al}from"react";import{createPortal as Dp}from"react-dom";var kr=e=>e.isComposing||e.keyCode===229,lo=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 Sp={kind:"hold"},Ep=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),vp=(e,t)=>{let r=e.getAttribute("role");return r!==null&&Ep.has(r)&&e!==t&&e.contains(t)},$t=e=>e.key==="Escape"&&!e.defaultPrevented&&!kr(e),Cl=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||kr(e))return null;let r=e.target;if(!(de(r)&&t.contains(r)))return null;let n=Ks(t);if(n.length===0)return Sp;let{before:o,within:a,after:i}=Kn(t,r);return e.shiftKey?o.some(s=>!vp(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};import{jsx as mo,jsxs as wl}from"react/jsx-runtime";var Ap=g("motion-safe:fade-in motion-safe:slide-in-from-bottom-2 flex w-fit min-w-0 max-w-full 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:animate-in motion-safe:duration-200 dark:border-red-500/60 dark:bg-red-700",Pt),_p="flex shrink-0 justify-center p-[8px]",Lp=g("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",Hi),wp=()=>{},Ll=Ip({notifyError:()=>{},registerNoticeHost:()=>wp}),po=()=>xp(Ll),Np=e=>{for(let t of e)if(!(t===null||!t.isConnected||!xr(t))&&(t.focus({preventScroll:!0}),t.ownerDocument.activeElement===t))return t;return null},Op=({notice:e,closeLabel:t,onDismiss:r})=>{let n=uo(null),o=uo(null),a=uo(null),i=Tp(),s=Dl(),d=Dl(),m=co(()=>{let p=n.current;p?.contains(p.ownerDocument.activeElement)&&Np([o.current,Gn(p.ownerDocument),p.closest("dialog")]),r()},[r]),u=p=>{if(a.current!==null)return;let R=p.relatedTarget;o.current=de(R)&&!p.currentTarget.contains(R)?R:null,a.current=i({id:s,onEscape:y=>$t(y)?(m(),!0):!1})},f=p=>{de(p.relatedTarget)&&p.currentTarget.contains(p.relatedTarget)||(a.current?.(),a.current=null,o.current=null)};return _l(()=>()=>{a.current?.(),a.current=null},[]),wl("div",{ref:n,role:"alert","data-testid":"daily-report-error-banner",className:Ap,onFocus:u,onBlur:f,children:[mo("span",{id:d,className:"min-w-0 font-medium",children:e.message}),mo("button",{type:"button","aria-label":t,"aria-describedby":d,onClick:m,className:Lp,children:"\u2715"})]})},Ba=({children:e})=>{let{onError:t,labels:r}=k(),[n,o]=Al(null),[a,i]=Al([]),s=uo(t);_l(()=>{s.current=t});let d=co(y=>{let T=s.current;if(T){T(y);return}o(y)},[]),m=co(y=>(i(T=>[...T,y]),()=>i(T=>T.filter(h=>h!==y))),[]),u=co(()=>o(null),[]),f=Cp(()=>({notifyError:d,registerNoticeHost:m}),[d,m]),p=a.at(-1),R=n===null?null:mo(Op,{notice:n,closeLabel:r.close,onDismiss:u});return wl(Ll.Provider,{value:f,children:[e,R!==null&&p!==void 0&&Dp(R,p),R!==null&&p===void 0&&mo("div",{"data-daily-report-notice-slot":"",className:_p,children:R})]})};import{useState as Mp}from"react";var Pp={items:[],held:new Map,revision:null,settled:!1},Nl=(e,t)=>{let r=0,n=e.length;for(;r<n;){let o=r+n>>1;Ht(e[o],t)<0?r=o+1:n=o}return r<e.length&&e[r].reportHubId===t.reportHubId?r:-1},Ol=(e,t,r)=>{let n=r,o=e.length;for(;n<o;){let a=n+o>>1;Ht(e[a],t)<=0?n=a+1:o=a}return n},kp=(e,t)=>e.businessDate===t.businessDate,Hp=(e,t)=>{if(sa(t)||t.sort(Ht),e.length===0||Ht(e[e.length-1],t[0])<0)return e.concat(t);let r=[],n=0;for(let o of t){let a=Ol(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()},Ml=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}},Pl=(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 sa(a)||a.sort(Ht),Ml({items:a,held:i,revision:t.itemsRevision,settled:r})},Fp=(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?[]:ol(t.itemsChanges,o);if(o===null||a===null)return Pl(e,t,r,n);let i=_r();for(let l of a)i.fold(l);let{appended:s,replaced:d,removed:m}=i.build(o,t.itemsRevision),u=null,f=()=>(u===null&&(u=new Map(e.held)),u),p=[],R=new Set,y=[];for(let l of m)e.held.has(l.reportHubId)||Nl(e.items,l)===-1||(r||n.has(l.reportHubId)?R.add(l.reportHubId):f().set(l.reportHubId,{item:l,since:Number.NEGATIVE_INFINITY}));let T=(l,S)=>{let x=l.reportHubId,C=e.held.get(x);C!==void 0&&f().delete(x);let w=C===void 0?S:C.item,L=w===void 0?-1:Nl(e.items,w);if(n.has(x)){L!==-1&&R.add(x);return}if(L!==-1&&kp(e.items[L],l)){e.items[L].sourceType!==l.sourceType&&p.push({index:L,item:l});return}L!==-1&&R.add(x),y.push(l)};for(let{previous:l,next:S}of d)T(S,l);for(let l of s)T(l,void 0);let h=e.items;if(p.length>0){h=h.slice();for(let{index:l,item:S}of p)h[l]=S}return R.size>0&&(h=h.filter(l=>!R.has(l.reportHubId))),y.length>0&&(h=Hp(h,y)),Ml({items:h,held:u===null?e.held:u,revision:t.itemsRevision,settled:r})},kl=(e,t,r)=>{let[n,o]=Mp(()=>Pl(Pp,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>Fp(a,e,t,r)),[n,o]},fo=(e,t,r)=>{if(e.items.some(a=>a.reportHubId===t.reportHubId))return e;let n=e.items.slice();n.splice(Ol(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}},Hr=(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}},Hl=(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}},Fl=e=>({...e,revision:null});var Va=(e,t,r)=>{if(!Number.isFinite(e)||e<=0)throw fe("createExpiringLedger: ttlMs","a finite number greater than 0 (the time to live in ms)",e);let n=new Map,o=()=>{let a=t();for(let[i,s]of n){if(s.deadline>a)return;n.delete(i),r(i,s.value)}};return{add:(a,i)=>{o(),n.delete(a),n.set(a,{value:i,deadline:t()+e})},get:a=>(o(),n.get(a)?.value),remove:a=>{o();let i=n.get(a);if(i!==void 0)return n.delete(a),i.value},drain:()=>{let a=[...n.values()].map(i=>i.value);return n.clear(),a},size:()=>n.size}};var Ua=0,Wa=e=>{if(!Number.isSafeInteger(e)||e<=0)throw fe("drawTemporaryId: nowMs","a positive safe integer (whole milliseconds of the wall clock)",e);return Ua=Math.min(-e,Ua-1),Ua};import{jsx as Ka,jsxs as Qp}from"react/jsx-runtime";var ct=Jt(1,"daily-report-action-context"),Up=3e4,Wp=3e4,Kp=1e3,ja=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},zp=e=>{let t=Va(Up,e,()=>{});return{add:r=>t.add(r,!0),has:r=>t.get(r)===!0}},$p=e=>Va(Wp,e,(t,r)=>{r.unsubscribe(),ct.warn(`[SSE Queue] Expired: reportHubId=${t}, dropped=${r.messages.length} messages`)}),jp=e=>e.intent==="create"?null:e.reportHubId,Gp=(e,t)=>{let r=e;if(r.intent==="clearCache"||r.clientTempId!==t.clientTempId)return!1;let n=jp(t);return n===null||r.reportHubId===n},Ro=globalThis.__DailyReportActionsContext??Ul(null);globalThis.__DailyReportActionsContext=Ro;var go=globalThis.__DailyReportActionStateContext??Ul(null);globalThis.__DailyReportActionStateContext=go;var bo=(e,t)=>{let r=Vp(e);if(r===null)throw new Error(`[daily-report] ${t} must be used within a DailyReportActionProvider`);return r},xe=()=>bo(Ro,"useDailyReportActions"),ho=()=>bo(go,"useDailyReportActionState"),Yp=()=>{let e=bo(Ro,"useDailyReportActionContext"),t=bo(go,"useDailyReportActionContext");return $a(()=>({...e,...t}),[e,t])},jt=(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},qp=()=>({pendingAddCommentIds:{current:new Map},pendingDeleteCommentIds:{current:new Map},pendingStarUpdates:{current:new Map},pendingReadUpdates:{current:new Map},resolvedIdMap:{current:new Map}}),Xp=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)}),Zp=Object.freeze({kind:"idle"}),Wl=Bp(({isSseEnabled:e,onMessage:t,onStatus:r})=>{let n=Ha({isSseEnabled:e,onMessage:t});return za(()=>{r(n)},[n,r]),null});Wl.displayName="DailyReportSseConnectionHost";var Ga=({children:e,user:t,userId:r})=>{let{apiBasePath:n,draftLabelName:o,labels:a}=k(),{notifyError:i}=po(),[s]=Ct(qp),{pendingAddCommentIds:d,pendingDeleteCommentIds:m,pendingStarUpdates:u,pendingReadUpdates:f,resolvedIdMap:p}=s,[R,y]=Ct(0),[T]=Ct(Tl),[h,l]=Ct(!1),[S,x]=Ct(Zp),C=yo(!1),w=yo(new Map),L=yo(new Set),[V]=Ct(()=>zp(()=>performance.now())),[N]=Ct(()=>$p(()=>performance.now())),H=hl(),[K,O]=kl(H,H.settled,L.current),X=K.items,M=Bl(()=>cl()===(r??null),[r]),se=async()=>{ct.info("[DailyReportActionProvider] Refetching data without page reload..."),Pa(),y(c=>c+1),U.listeners.forEach(c=>{c(-1)})},Ee=async()=>{ct.info("[DailyReportActionProvider] Clearing client & server/DB cache and refetching data without page reload..."),Ir(),L.current.clear(),O(Fl);try{sessionStorage.clear()}catch{}try{let c=await fetch(`${n}/${vt.action}`,{method:"POST",body:_a({intent:"clearCache"})});if(!c.ok){let b=await c.json().catch(()=>null);ct.warn("[DailyReportActionProvider] Failed to clear server-side cache:",c.status,b)}}catch(c){ct.warn("[DailyReportActionProvider] Failed to clear server-side cache:",c)}M()&&(Pa({forceRefresh:!0}),y(c=>c+1),U.listeners.forEach(c=>{c(-1)}))},J=(c,b)=>{let v=N.get(c);if(v!==void 0){v.messages.push(b);return}let E;E={messages:[b],unsubscribe:Ms(c,()=>{if(N.get(c)===E&&Ge(c,{ignoreExpiry:!0})){N.remove(c),E.unsubscribe(),ct.info(`[SSE Queue] Replaying ${E.messages.length} messages for reportHubId=${c}`);for(let P of E.messages)Ae.current.handleSseMessage(P)}})},N.add(c,E)};za(()=>()=>{for(let c of N.drain())c.unsubscribe()},[N]);let Y=Bl((c,b)=>{b!==void 0&&Mr({reportHubId:c,businessDate:b})},[]),j=()=>{r&&(C.current=!0,l(c=>!c))};Vl(()=>{if(!r)return;let c=setTimeout(()=>{C.current||l(!0)},Ss);return()=>clearTimeout(c)},[r]);let ge=c=>{M()&&(L.current.add(c),eo(c),O(b=>Hr(b,c)),T.discard(c))};Vl(()=>{if(K.settled)for(let c of L.current)dl(c)||L.current.delete(c)},[K.settled,K.revision]);let Pe=c=>{if(M()&&!V.has(c.clientTempId))switch(c.type){case"comment-add":{let{comment:b,reportHubId:v}=c,E=Ge(v,{ignoreExpiry:!0});if(E){if(E.postedComments.some(W=>W.id===b.id))return;let A=typeof r=="string"&&b.userId===r,P={...b,userName:b.userName||(A?jt(t,a.unknownUser):a.unknownUser),createdAt:b.createdAt||new Date().toISOString(),isMine:A},Z={...E,postedComments:[...E.postedComments,P].sort((W,I)=>new Date(W.createdAt||0).getTime()-new Date(I.createdAt||0).getTime())};Ut(v,Z),va(v),y(W=>W+1)}else J(v,c);break}case"comment-delete":{let{commentId:b,reportHubId:v}=c,E=Ge(v,{ignoreExpiry:!0});if(E){let A={...E,postedComments:E.postedComments.filter(P=>P.id!==b)};Ut(v,A),va(v),y(P=>P+1)}else J(v,c);break}case"status-update":{let{statusType:b,value:v,reportHubId:E}=c,A=Ge(E,{ignoreExpiry:!0});if(b==="star")if(u.current.get(E)===v&&u.current.delete(E),A){let P={...A,isStarred:v};Ut(E,P),y(Z=>Z+1)}else J(E,c);else if(b==="read")if(f.current.get(E)===v&&f.current.delete(E),A){let P={...A,isRead:v};Ut(E,P),y(Z=>Z+1)}else J(E,c);break}case"report-delete":{let{reportHubId:b}=c;L.current.add(b),eo(b),O(E=>Hr(E,b)),T.discard(b),N.remove(b)?.unsubscribe();let v=Ge(b,{ignoreExpiry:!0});v?.date&&(Ea(b,v.date),y(E=>E+1));break}case"report-create":case"report-update":case"report-publish":{let{report:b}=c;Ps(b),(c.type==="report-create"||c.type==="report-publish")&&Y(b.reportHubId,b.date),y(v=>v+1);break}}},q=async(c,b,v={})=>{let{intent:E}=c,{lockedReportHubId:A}=v,P=A===void 0?null:ws(A);b.onOptimistic?.(),V.add(c.clientTempId);let Z=()=>{if(!M())throw ct.warn(`[executeAction] ${E} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${E}`)};try{let W=await fetch(`${n}/${vt.action}`,{method:"POST",body:_a(c),headers:{Accept:"application/json"}});if(W.status===404&&b.onGone!==void 0)return Z(),b.onGone();if(!W.ok)throw new ja(E,W.status);let I=rl(E,await W.json());if("mismatch"in I)throw new Error(`[daily-report] ${E} answered a body that is not its result (${I.mismatch})`);let{result:D}=I;if(!Gp(D,c))throw new Error(`[daily-report] ${E} answered another request`);return Z(),b.onSuccess(D)}catch(W){throw ct.error(`${E} failed:`,W),M()&&(b.onFailure?.(),Ae.current.notifyError({operation:E,message:a.operationFailed(E),cause:W})),W}finally{P?.()}},ve=(c,b,v)=>({reportHubId:c,clientTempId:v,businessDate:typeof b=="string"?b:null,operationTimestamp:Date.now()}),Ke={toggleSse:j,addComment:async(c,b,v)=>{let E=Wa(Date.now()),A=q({...ve(c,v,String(E)),intent:"addComment",content:b},{onOptimistic:()=>{d.current.has(c)||d.current.set(c,new Map),d.current.get(c)?.set(E,b),y(P=>P+1)},onSuccess:({newComment:P})=>{let Z=P.id;p.current.set(E,Z),d.current.get(c)?.delete(E);let W=Ge(c,{ignoreExpiry:!0});return W&&!W.postedComments.some(I=>I.id===Z)&&Ye(c,{postedComments:[...W.postedComments,{...P,isMine:!0,userName:jt(t,a.unknownUser)}]}),Z},onFailure:()=>{d.current.get(c)?.delete(E)}}).finally(()=>w.current.delete(E));w.current.set(E,A),await A},deleteComment:async(c,b,v)=>{m.current.has(c)||m.current.set(c,new Set),m.current.get(c)?.add(b),y(A=>A+1);let E=b;if(b<0){let A=p.current.get(b);if(A!==void 0)E=A;else{let P=w.current.get(b);if(!P)return;try{E=await P}catch{return}}}await q({...ve(c,v,crypto.randomUUID()),intent:"deleteComment",commentId:E},{onSuccess:()=>{let A=Ge(c,{ignoreExpiry:!0});A&&(Ye(c,{postedComments:A.postedComments.filter(P=>P.id!==E)}),Os(E)),m.current.get(c)?.delete(b)},onFailure:()=>{m.current.get(c)?.delete(b)}})},toggleStar:async(c,b,v)=>{await q({...ve(c,v,crypto.randomUUID()),intent:"toggleStar",value:b},{onOptimistic:()=>{Ye(c,{isStarred:b}),u.current.set(c,b),y(E=>E+1)},onSuccess:({updatedStatus:E})=>{Ge(c,{ignoreExpiry:!0})&&(Ye(c,{isStarred:E.isStarred}),y(A=>A+1)),u.current.delete(c)},onFailure:()=>{Ye(c,{isStarred:!b}),u.current.delete(c)}})},toggleRead:async(c,b,v)=>{await q({...ve(c,v,crypto.randomUUID()),intent:"toggleRead",value:b},{onOptimistic:()=>{Ye(c,{isRead:b}),f.current.set(c,b),y(E=>E+1)},onSuccess:({updatedStatus:E})=>{Ge(c,{ignoreExpiry:!0})&&(Ye(c,{isRead:E.isRead}),y(A=>A+1)),f.current.delete(c)},onFailure:()=>{Ye(c,{isRead:!b}),f.current.delete(c)}})},createReport:async c=>{let b=Wa(Date.now()),v=new Date().toISOString(),E={reportHubId:b,date:c,createdAt:v,author:jt(t,a.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:jt(t,a.unknownUser),updatedBy:jt(t,a.unknownUser),updatedAt:v,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:[]};Ls(E,Date.now()+3e5,!1),O(A=>fo(A,{reportHubId:b,businessDate:c},Number.NEGATIVE_INFINITY));try{let A=await q({intent:"create",clientTempId:String(b),businessDate:c,operationTimestamp:Date.now()},{onSuccess:W=>W.report}),P=A.reportHubId,Z=Ma();return Mr({reportHubId:P,businessDate:c}),Ns(P,Kp),Ut(P,A),y(W=>W+1),O(W=>fo(Hr(W,b),{reportHubId:P,businessDate:c},Z)),P}catch(A){throw ct.error("[createReport] Failed",A),O(P=>Hr(P,b)),A}},updateReport:async(c,b,v)=>{await q({...ve(c,v,crypto.randomUUID()),intent:"update",changes:{title:b.title,content:b.content}},{onSuccess:()=>{Ge(c,{ignoreExpiry:!0})&&(Ye(c,{subject:b.title,content:b.content}),y(A=>A+1))}},{lockedReportHubId:c})},publishReport:async(c,b)=>{let v=Ge(c,{ignoreExpiry:!0});await q({...ve(c,b,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{v&&(Ye(c,{labels:v.labels.filter(E=>E.name!==o)}),y(E=>E+1))},onSuccess:({report:E})=>{E!==null&&(Ut(c,E),y(A=>A+1)),b!==void 0&&Mr({reportHubId:c,businessDate:b})},onFailure:()=>{v&&(Ye(c,{labels:v.labels}),y(E=>E+1))}})},deleteReport:async(c,b)=>{let v=X.find(A=>A.reportHubId===c);L.current.add(c),eo(c),O(A=>Hl(A,c));let E=()=>{Ea(c,b),T.discard(c)};try{await q({...ve(c,b,crypto.randomUUID()),intent:"delete"},{onSuccess:E,onGone:E},{lockedReportHubId:c})}catch{if(!M())return;L.current.delete(c);let A=v===void 0?b:v.businessDate,P=Ma();A!==void 0&&Mr({reportHubId:c,businessDate:A}),v&&O(Z=>fo(Z,v,P))}},removeStaleItem:ge,refetchData:se,clearCacheAndRefetch:Ee,handleSseMessage:Pe,notifyError:i},Ae=yo(Ke);za(()=>{Ae.current=Ke});let[ke]=Ct(()=>Xp(Ae)),gt=$a(()=>({...s,...ke.functions,user:t}),[s,ke,t]),ze=$a(()=>({version:R,items:X,isSseEnabled:h,sseStatus:S}),[R,X,h,S]);return Ka(Fa.Provider,{value:T,children:Ka(Ro.Provider,{value:gt,children:Qp(go.Provider,{value:ze,children:[Ka(Wl,{isSseEnabled:h,onMessage:ke.onSseMessage,onStatus:x}),e]})})})};import{jsx as ef}from"react/jsx-runtime";var Jp={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},Dt=Object.freeze({2:3,3:4,4:5,5:6}),Be=({level:e,...t})=>{let r=Jp[e];return ef(r,{...t})};import{memo as bd,useId as Yf,useMemo as qf,useRef as Xf}from"react";var Kl=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var qa="tile",Br=Kl[qa],tf=2,Fr=16,zl=5,$l=Br.maxWidth/tf,rf=zl*($l+Fr)-Fr,jl=e=>{let t=Math.min(zl,1+Math.floor((e+Fr)/($l+Fr)));return Math.floor((Math.min(e,rf)-(t-1)*Fr)/t)},Ya=`round(nearest, 100cqi * ${Br.maxHeight} / ${Br.maxWidth}, 1px)`,Gl=Object.freeze({aspectRatio:`${Br.maxWidth} / ${Br.maxHeight}`,height:Ya,contain:"strict"}),nf="--aqdr-lattice-block",Yl=Object.freeze({marginBlockEnd:`calc(round(up, ${Ya}, var(${nf})) - ${Ya})`});var of="download",af="thumbnail",sf="1",ar=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[of]:sf})}`;case"thumbnail":return`${n}?${new URLSearchParams({[af]:r.variant})}`}};import{createContext as lf,useContext as df}from"react";var Vr=lf(null),ir=()=>df(Vr)===!1?-1:void 0,ql=(e,t)=>{let{before:r,after:n}=Kn(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};import{createContext as ff,useContext as yf,useLayoutEffect as bf,useMemo as Rf,useState as gf}from"react";import{flushSync as hf}from"react-dom";import{flushSync as cf}from"react-dom";var Xa=new WeakMap,Xl=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,uf=e=>{e.frame=null;let t=[...e.observations.values()].filter(Xl);t.length!==0&&cf(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},mf=(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=jl(o))}e.frame!==null||![...e.observations.values()].some(Xl)||(e.frame=e.view.requestAnimationFrame(()=>uf(e)))},pf=e=>{let t=Xa.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=>mf(n,o)),observations:new Map,frame:null};return Xa.set(e,n),n},Zl=(e,t)=>{let r=e.ownerDocument,n=pf(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(),Xa.delete(r)))}};import{jsx as Wr,jsxs as ed}from"react/jsx-runtime";var Ur="\u2026",Sf=Ur.codePointAt(0),So="data-attachment-file-name",Ef=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,vf=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,td=ff(null),rd=e=>{let t=e.lastIndexOf(".");return t<=0||t===e.length-1?{stem:e,extension:""}:{stem:e.slice(0,t),extension:e.slice(t)}},Ql=(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("")},Tf=(e,t,r)=>{if(r(e)<=t)return e;let{stem:n,extension:o}=rd(e.normalize("NFC")),a=t/2,i=r(o)<=a?o:`${Ql(o,Ur,a,r)}${Ur}`;return r(n+i)<=t?n+i:`${Ql(n,Ur+i,t,r)}${Ur}${i}`},Jl=new WeakMap,nd=e=>{let t=Jl.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 Jl.set(e,n),n},If=(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},od=e=>{let t=new Set;for(let r of e.matchAll(Ef)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},xf=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:od(t.fontFamily),measure:If(nd(e.ownerDocument),r)}},Cf=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,Df=e=>{let t=new Set([Sf]);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},Af=(e,t)=>{for(let r of e.split(",")){let n=vf.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},Za=new WeakMap,ad=e=>{let t=Za.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return Za.set(e,r),r},id=(e,t)=>{let r=xf(e.container.querySelector(`[${So}]`));e.fitted={trackWidth:t,nameFont:r};let n=ad(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=Lf(n)),e.applyFit({width:t,measure:r.measure})},_f=(e,t)=>{let r=t.map(o=>({families:od(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=Df(o.container);i.some(d=>Af(d.unicodeRange,s))&&(nd(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&hf(()=>{for(let[o,a]of n)id(o,a)})},Lf=e=>{let t=e.document.fonts,r=n=>{_f(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},wf=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=Zl(e,a=>id(r,a)),o=ad(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),Za.delete(o.document))}},sd=({containerRef:e,children:t})=>{let[r,n]=gf(null);return bf(()=>{let o=e.current;return wf(o,i=>{n(s=>Cf(s,i)?s:i)})},[e]),Wr(td,{value:r,children:t})},Kr=({fileName:e,className:t,testId:r})=>{let n=yf(td),o=Rf(()=>n===null?null:Tf(e,n.width,n.measure),[e,n]),{stem:a,extension:i}=rd(e);return ed("span",{className:g("block min-w-0",t),title:e,"data-testid":r,[So]:e,children:[o===null?ed("span",{"aria-hidden":"true",className:"flex min-w-0",children:[Wr("span",{className:"truncate",children:a}),i!==""&&Wr("span",{className:"max-w-1/2 shrink-0 truncate",children:i})]}):Wr("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:o}),Wr("span",{className:"sr-only",children:e})]})};import kf from"lucide-react/dist/esm/icons/image-off.js";import{memo as Hf,useCallback as ei,useEffect as Ff,useLayoutEffect as Bf,useRef as ti,useState as Vf}from"react";var Eo=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),ld=Eo.queueWaitMs+Eo.readMs+Eo.renderMs+Eo.transferMarginMs;var Nf=Object.freeze({kind:"loaded"}),dd=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",d=null,m=null,u=null,f=null,p=null,R=M=>(M!==null&&n.clearTimeout(M),null),y=()=>{f?.(),f=null},T=()=>{p?.(),p=null},h=M=>M===null||M.kind==="loaded"?0:M.kind==="failing"?M.failedAttempts:i.maxAttempts,l=M=>{s="cooling",u=n.setTimeout(H,M)},S=()=>{o.abortInFlight(),T();let M=h(r.get(t))+1;if(M>=i.maxAttempts){s="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:M,retryAt:n.now()+i.retryDelayMs}),o.reset(),l(i.retryDelayMs)},x=M=>{if(s==="loading"){if(m=R(m),!M){S();return}s="done",r.set(t,Nf),T()}},C=()=>{m=null,x(!1)},w=()=>{s="loading",o.showActivity(!0),y(),m=n.setTimeout(C,i.loadTimeoutMs),o.grant()},L=()=>{d=null,s="queued",p=a.request(w)},V=()=>{d===null&&(d=n.setTimeout(L,i.settleMs))},N=M=>{if(o.showActivity(M),M){s==="watching"&&V();return}if(s==="queued"){T(),s="watching";return}d=R(d)},H=()=>{u=null,s="watching",o.showActivity(!1),f=n.observe(e,N)},K=()=>{let M=s==="loading";s="done",y(),d=R(d),m=R(m),u=R(u),o.showActivity(!1),M&&(o.abortInFlight(),p!==null&&o.reset()),T()},O=r.get(t);if(O?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:x,dispose:K};if(O?.kind==="exhausted"){if(n.now()-O.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:x,dispose:K};r.delete(t)}o.reset();let X=O?.kind==="failing"?O.retryAt-n.now():0;return X>0?l(X):H(),{settle:x,dispose:K}};var Of=e=>{if(!Number.isInteger(e)||e<=0)throw fe("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())}}}},cd=Of(2);var Mf=e=>{if(!Number.isInteger(e)||e<=0)throw fe("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)}}},Qa=Mf(1024);var Ja=new WeakMap,Pf=e=>{let t=Ja.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 Ja.set(e,a),a},ud=(e,t)=>{let r=e.ownerDocument,n=Pf(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(),Ja.delete(r)))}};import{jsx as zr,jsxs as Gf}from"react/jsx-runtime";var Uf={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},Wf="data-thumbnail-active",Kf="data-daily-report-attachment-preview",pd={[Kf]:""},zf=Object.freeze({settleMs:250,loadTimeoutMs:ld,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),md=e=>{let t=Qa.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},$f=()=>({limiter:cd,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:ud,tuning:zf}),jf=(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(Wf,o)}}),fd=Hf(({thumbnailUrl:e,unavailableLabel:t})=>{let r=ti(null),n=ti(null),o=ti(null),[a,i]=Vf(()=>md(e));a.url!==e&&i(md(e)),Bf(()=>{if(a.status==="failed")return;let u=n.current,f=a.status==="idle"?null:a.url;u.getAttribute("src")!==f&&(f===null?u.removeAttribute("src"):u.setAttribute("src",f))},[a]),Ff(()=>{let u=r.current,f=dd(u,e,Qa,$f(),jf(e,u,i,n));return o.current=f,()=>{o.current=null,f.dispose()}},[e]);let s=ei(u=>{u!==null&&(n.current=u)},[]),d=ei(()=>{i(u=>u.status==="granted"?{url:u.url,status:"loaded"}:u),o.current?.settle(!0)},[]),m=ei(()=>{o.current?.settle(!1)},[]);return zr("span",{className:"block",children:zr("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":Uf[a.status],style:Gl,className:"relative block w-full",children:zr("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"?Gf("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 ${En}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[zr(kf,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):zr("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"})})})})});import{jsx as be,jsxs as rt}from"react/jsx-runtime";var yd=1024,ri=["B","KB","MB","GB"],Rd="text-slate-500 text-sm line-through dark:text-slate-400",Zf=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=yd&&r<ri.length-1;)t/=yd,r+=1;return r===0?`${t} ${ri[r]}`:`${t.toFixed(1)} ${ri[r]}`},gd=({attachment:e,labels:t,className:r})=>rt("span",{className:r,children:[Zf(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),ni=({href:e,children:t,...r})=>{let n=ir();return be("a",{href:e,...r,tabIndex:n,children:t})},hd=({downloadUrl:e,label:t,fileName:r})=>rt(ni,{href:e,className:g("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",Q),"data-testid":"daily-report-attachment-download",children:[t," ",be("span",{className:"sr-only",children:r})]}),Qf=bd(({attachment:e,apiBasePath:t,labels:r})=>{let n=be(fd,{thumbnailUrl:ar(t,e.id,{kind:"thumbnail",variant:qa}),unavailableLabel:r.attachmentThumbnailUnavailable}),o=e.state==="absent";return rt("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[o?rt("div",{className:"flex min-w-0 flex-col gap-2",children:[n,be(Kr,{fileName:e.fileName,className:Rd,testId:"daily-report-attachment-name"})]}):rt(ni,{href:ar(t,e.id,{kind:"inline"}),className:g("flex min-w-0 flex-col gap-2 rounded-lg",Q),"data-testid":"daily-report-attachment-link",...pd,children:[n,be(Kr,{fileName:e.fileName,className:"text-blue-600 text-sm dark:text-blue-400 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover_&]:underline"})]}),rt("div",{className:"flex h-4 min-w-0 items-center gap-2 text-slate-500 text-xs tabular-nums dark:text-slate-400",style:Yl,children:[be(gd,{attachment:e,labels:r,className:"truncate"}),!o&&be(hd,{downloadUrl:ar(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})]})}),Jf=bd(({attachment:e,apiBasePath:t,labels:r})=>{let n=e.state==="absent";return rt("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:[rt("div",{className:"flex min-w-0 flex-col",children:[n?be(Kr,{fileName:e.fileName,className:Rd,testId:"daily-report-attachment-name"}):be(ni,{href:ar(t,e.id,{kind:"inline"}),className:g("flex min-w-0 rounded-sm",Q),"data-testid":"daily-report-attachment-link",children:be(Kr,{fileName:e.fileName,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),be(gd,{attachment:e,labels:r,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!n&&be(hd,{downloadUrl:ar(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})}),ey=({attachments:e,headingId:t,apiBasePath:r,labels:n})=>{let o=Xf(null);return be(sd,{containerRef:o,children:be("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:be("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=>be(Qf,{attachment:a,apiBasePath:r,labels:n},a.id))})})})},vo=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=k(),o=Yf(),{tileAttachments:a,rowAttachments:i}=qf(()=>({tileAttachments:e.filter(s=>s.hasThumbnail),rowAttachments:e.filter(s=>!s.hasThumbnail)}),[e]);return e.length===0?null:rt("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[be(Be,{level:Dt[n],id:o,className:g("m-0",kt),children:r.attachments}),rt("div",{className:"flex flex-col gap-4",children:[a.length>0&&be(ey,{attachments:a,headingId:o,apiBasePath:t,labels:r}),i.length>0&&be("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:i.map(s=>be(Jf,{attachment:s,apiBasePath:t,labels:r},s.id))})]})]})};import{useOverlayEscapeStack as yy}from"@aiquants/swipe-overlay";import{memo as Dd,useCallback as Co,useEffect as Td,useId as by,useRef as Ad,useState as Ry}from"react";import{useCallback as vd,useMemo as ty,useRef as ry,useState as ny}from"react";var Sd=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw fe("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]},Ed=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 oi=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:i,deleteComment:s}=xe(),{version:d}=ho(),{labels:m}=k(),u=m.unknownUser,[f,p]=ny(null),R=vd(l=>e&&s(e.reportHubId,l,e.date),[e,s]),y=vd(l=>e&&t?i(e.reportHubId,l,e.date):Promise.resolve(),[e,t,i]),T=ry([]);return{uiComments:ty(()=>{if(!e)return[];let l=Sd(e.externalComments,e.postedComments,r,u),S=o.current.get(e.reportHubId);S?.size&&(l=l.filter(C=>!S.has(C.id)));let x=n.current.get(e.reportHubId);if(x?.size&&t){let C=new Set(l.map(L=>L.id)),w=jt(t,u);for(let[L,V]of x){if(S?.has(L)||C.has(L))continue;let N=a.current.get(L);N&&C.has(N)||l.some(H=>H.isMine&&H.content===V&&typeof H.id=="number"&&H.id>0)||l.push({id:L,authorName:w,content:V,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1})}}return JSON.stringify(l)===JSON.stringify(T.current)?T.current:(T.current=l,l)},[e,t,r,u,o,n,a,d]),handleAddComment:y,handleDeleteComment:R,pendingDeleteId:f,setPendingDeleteId:p,resolvedIdMap:a.current}};import{Fragment as oy,jsx as ay}from"react/jsx-runtime";var Te=({render:e})=>{let t=ir();return ay(oy,{children:e(t)})};import iy from"@heroicons/react/24/outline/TrashIcon.js";import{memo as sy,useId as ly,useRef as dy,useState as cy}from"react";import{jsx as At,jsxs as To}from"react/jsx-runtime";var ai="data-comment-id",Io="data-comment-delete-button",xo="data-comment-delete-slot",uy=g(Ne,Vi),my="relative flex h-5 items-center",py=g(_e,"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",Q),fy=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,ii=sy(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:d})=>{let[m,u]=cy(!1),{labels:f}=k(),p=ly(),R=dy(null),y=fy(e.id,o,d),T=()=>{let l=R.current;l!==null&&s(l),a(null),u(!0),typeof e.id=="number"&&n?.(e.id)},h=l=>{if(!y)return;let S=l.relatedTarget;de(S)&&l.currentTarget.contains(S)||a(null)};return To("li",{[ai]:e.id,"data-deleted":m?"true":void 0,className:g("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",y?"z-50":"z-0 hover:z-10"),children:[To("div",{className:"mb-1 flex items-center justify-between",children:[At("div",{className:g("font-semibold text-xs",Ed(e.color)),children:le(e.authorName)}),To("div",{className:"flex items-center gap-2",children:[e.createdAt&&At("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:ie(e.createdAt)}),e.isMine&&!e.isLegacy&&To("div",{[xo]:e.id,className:my,onBlur:h,children:[At(Te,{render:l=>At("button",{ref:R,type:"button",tabIndex:l,className:uy,title:f.commentDelete,"aria-label":f.commentDelete,"aria-expanded":y,"aria-controls":y?p:void 0,[Io]:e.id,onClick:()=>i(e.id,y),children:At(iy,{"aria-hidden":"true",className:y?Se.deletePending:Se.delete})})}),y&&At(Te,{render:l=>At("button",{id:p,type:"button",tabIndex:l,"data-delete-confirmation":!0,className:py,onClick:T,children:f.commentDeleteConfirm})})]})]})]}),At("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:e.content})]})});ii.displayName="DailyReportPostedComment";import{Fragment as Cy,jsx as Ve,jsxs as si}from"react/jsx-runtime";var gy="data-daily-report-comment-section",hy="data-daily-report-comment-heading",Sy=g(it,Q),_d=(e,t)=>e>0||t,Ey=g("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",Q),vy=g("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",Q),Id=e=>e.querySelector(`[${Io}][aria-expanded="true"]`),Ty=(e,t,r)=>{let n=[...e.querySelectorAll(`[${Io}]`)].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(`[${ai}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return _d(i,r)?{kind:"heading"}:{kind:"report"}},Iy=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:d,onSectionRemoved:m})=>{let u=Ad(null),f=yy(),p=by(),R=o!==null,y=Co(()=>{let l=u.current,S=l===null?null:Id(l),x=S===null?null:S.closest(`[${xo}]`),C=l===null?null:Oe(l);a(null),S!==null&&x!==null&&C!==null&&x.contains(C)&&S.focus({preventScroll:!0})},[a]);Td(()=>{if(R)return f({id:p,onEscape:l=>$t(l)?(y(),!0):!1})},[R,f,p,y]),Td(()=>{let l=u.current;if(!R||l===null)return;let S=l.ownerDocument,x=C=>{let w=Id(l)?.closest(`[${xo}]`);w!=null&&de(C.target)&&w.contains(C.target)||a(null)};return S.addEventListener("pointerdown",x,!0),()=>S.removeEventListener("pointerdown",x,!0)},[R,a]);let T=Co((l,S)=>{S?y():a(l)},[y,a]),h=Co(l=>{let S=u.current;if(S===null)return;let x=Ty(S,l,s);if(x.kind==="report"){m();return}let C=x.kind==="trash"?x.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:Ve("ul",{ref:u,className:"space-y-2",children:e.map(l=>Ve(ii,{comment:l,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:T,onBeforeHide:h,resolvedIdMap:i},l.id))})},xd=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=k(),a=Ad(null);return _d(r.comments.length,r.canComment)?si("div",{[gy]:"",className:g("flex flex-col gap-2",e),children:[Ve(Be,{ref:a,level:Dt[o],tabIndex:-1,[hy]:"",className:Sy,children:n.comments}),Ve(Iy,{...r,headingRef:a}),t]}):null},Ld=Dd(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:i,onDeleteComment:s,pendingDeleteId:d,onPendingDeleteIdChange:m,resolvedIdMap:u})=>{let f=t?Ve(xy,{onAddComment:i}):null,p={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"?Ve(xd,{...p,children:f}):si(Cy,{children:[Ve(xd,{...p}),f&&Ve("div",{className:"mt-auto",children:f})]})});Ld.displayName="ReportCommentsView";var $r=Dd(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:i})=>{let{user:s}=xe(),{uiComments:d,handleAddComment:m,handleDeleteComment:u,pendingDeleteId:f,setPendingDeleteId:p,resolvedIdMap:R}=oi(e,s,t),y=Co(async T=>{await m(T),n?.()},[m,n]);return Ve(Ld,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:i,comments:d,onAddComment:y,onDeleteComment:u,pendingDeleteId:f,onPendingDeleteIdChange:p,resolvedIdMap:R})});$r.displayName="ReportComments";var Cd="content",xy=({onAddComment:e})=>{let[t,r]=Ry(!1),{labels:n}=k();return si("form",{className:"flex gap-2",onSubmit:async a=>{a.preventDefault();let i=a.currentTarget,s=i.elements.namedItem(Cd);if(!(s instanceof Le(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:[Ve(Te,{render:a=>Ve("input",{type:"text",name:Cd,tabIndex:a,placeholder:n.commentPlaceholder,className:Ey,autoComplete:"off"})}),Ve(Te,{render:a=>Ve("button",{type:"submit",tabIndex:a,className:vy,disabled:t,children:n.commentSend})})]})};import{useState as My}from"react";import{Slot as Dy}from"@radix-ui/react-slot";import{cva as Ay}from"class-variance-authority";import*as wd from"react";import{jsx as Ly}from"react/jsx-runtime";var _y=Ay(`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 ${Q}`,{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"}}),ut=wd.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>Ly(n?Dy:"button",{className:g(_y({variant:t,size:r,className:e})),ref:a,...o}));ut.displayName="Button";import{jsx as wy}from"react/jsx-runtime";function Nd({className:e,type:t,...r}){return wy("input",{type:t,"data-slot":"input",className:g(`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 ${Q}`,e),...r})}import*as Od from"@radix-ui/react-label";import{jsx as Ny}from"react/jsx-runtime";function jr({className:e,...t}){return Ny(Od.Root,{"data-slot":"label",className:g("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})}import{jsx as Oy}from"react/jsx-runtime";function Md({className:e,...t}){return Oy("textarea",{"data-slot":"textarea",className:g(`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 ${Q}`,e),...t})}import{jsx as qe,jsxs as Do}from"react/jsx-runtime";var sr=e=>({title:e.subject??"",content:e.content??""}),Py=e=>{e.preventDefault()},Ao=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=xe(),{labels:i}=k(),s=xt(),{title:d,content:m}=xl(e.reportHubId),[u,f]=My(!1),p=async()=>{f(!0);try{await o(e.reportHubId,{title:d,content:m},e.date)}catch{}finally{f(!1)}},R=async()=>{f(!0);try{await o(e.reportHubId,{title:d,content:m},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{f(!1)}},y=`report-title-${e.reportHubId}`,T=`report-content-${e.reportHubId}`;return Do("form",{className:"space-y-4 p-1",onSubmit:Py,children:[Do("div",{className:"space-y-2",children:[qe(jr,{htmlFor:y,children:i.formTitle}),qe(Te,{render:h=>qe(Nd,{ref:n,id:y,value:d,onChange:l=>s.setInput(e.reportHubId,{title:l.target.value}),placeholder:i.formTitlePlaceholder,disabled:u,tabIndex:h})})]}),Do("div",{className:"space-y-2",children:[qe(jr,{htmlFor:T,children:i.formContent}),qe(Te,{render:h=>qe(Md,{id:T,value:m,onChange:l=>s.setInput(e.reportHubId,{content:l.target.value}),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:u,tabIndex:h})})]}),Do("div",{className:"flex justify-end gap-2",children:[t&&qe(Te,{render:h=>qe(ut,{type:"button",variant:"outline",onClick:t,disabled:u,tabIndex:h,children:i.formCancel})}),qe(Te,{render:h=>qe(ut,{type:"button",variant:"secondary",onClick:p,disabled:u,tabIndex:h,children:i.formSave})}),qe(Te,{render:h=>qe(ut,{type:"button",onClick:R,disabled:u,tabIndex:h,children:i.formPublish})})]})]})};import $y from"lucide-react/dist/esm/icons/check.js";import jy from"lucide-react/dist/esm/icons/pencil.js";import Gy from"lucide-react/dist/esm/icons/trash-2.js";import{jsx as Pd}from"react/jsx-runtime";var Lo=24,kd=2,ky=20,_o=5,Hy=3,Fy=()=>{let e=Math.cos(2*Math.PI/_o)/Math.cos(Math.PI/_o),t=Array.from({length:2*_o},(p,R)=>{let y=-Math.PI/2+R*Math.PI/_o,T=R%2===0?1:e;return{x:T*Math.cos(y),y:T*Math.sin(y)}}),r=t.map(p=>p.x),n=t.map(p=>p.y),[o,a,i,s]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],d=(ky-kd)/(a-o),m=Lo/2-d*(o+a)/2,u=Lo/2-d*(i+s)/2,f=p=>String(Number(p.toFixed(Hy)));return t.map(p=>`${f(m+d*p.x)},${f(u+d*p.y)}`).join(" ")},By=Fy(),lr=({filled:e})=>Pd("svg",{viewBox:`0 0 ${Lo} ${Lo}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:kd,strokeLinejoin:"round",className:e?Se.starOn:Se.starOff,children:Pd("polygon",{points:By})});import{Fragment as Vy,jsx as wo,jsxs as Uy}from"react/jsx-runtime";var dr=({config:e,id:t,className:r})=>wo("span",{id:t,className:g(Ki,e.badgeClassName,r),children:e.name===void 0?e.label:Uy(Vy,{children:[wo("span",{"aria-hidden":"true",children:wo("abbr",{title:e.name,children:e.label})}),wo("span",{className:"sr-only",children:e.name})]})});import{jsx as Hd}from"react/jsx-runtime";var No=24,Wy=6,cr=({className:e})=>Hd("svg",{viewBox:`0 0 ${No} ${No}`,"aria-hidden":"true",className:g(Se.read,e),children:Hd("circle",{cx:No/2,cy:No/2,r:Wy,fill:"currentColor"})});import{jsx as zy}from"react/jsx-runtime";var Ky=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/,Gt=({text:e})=>Ky.test(e)?zy("time",{dateTime:e,children:e}):e;import{jsx as Ue,jsxs as Bd}from"react/jsx-runtime";var ce=({label:e,classNames:t,valueId:r,children:n})=>Bd("div",{className:t.field,children:[Ue("dt",{className:t.label,children:e}),Ue("dd",{id:r,className:g("m-0",t.value),children:n})]}),_t={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"},Fd=({report:e,visitTimeDisplay:t,labels:r})=>{let n=e.category?.trim(),o=e.creationCategory?.trim();return Bd("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:[Ue(ce,{label:r.author,classNames:_t,children:le(e.author)}),Ue(ce,{label:r.createdAt,classNames:_t,children:Ue(Gt,{text:ie(e.createdAt)})}),Ue(ce,{label:r.updatedBy,classNames:_t,children:le(e.updatedBy)}),Ue(ce,{label:r.updatedAt,classNames:_t,children:Ue(Gt,{text:ie(e.updatedAt)})}),Ue(ce,{label:r.businessDate,classNames:_t,children:Ue(Gt,{text:ie(e.date)})}),t!==null&&Ue(ce,{label:r.visitTime,classNames:_t,children:t}),n&&Ue(ce,{label:r.category,classNames:_t,children:n}),o&&Ue(ce,{label:r.creationCategory,classNames:_t,children:o})]})};import{jsx as ae,jsxs as Ud}from"react/jsx-runtime";var Oo={field:g(_e,"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:""},Yy={field:g(_e,"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:g(_e,"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:""},Wd=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:d,sourceConfig:m,visitTimeDisplay:u,markerIds:f,labels:p})=>{let R=r?p.starRemove:p.starAdd,y=t?p.markUnread:p.markRead,T=e.category?.trim(),h=e.creationCategory?.trim();return Ud("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[ae(vr,{id:f.attachments,count:e.attachments.length,label:p.attachments}),m?ae(dr,{id:f.source,config:m}):null,ae(Te,{render:l=>ae("button",{type:"button",onClick:a,tabIndex:l,className:Ne,title:R,"aria-label":R,"data-detail-star-button":e.reportHubId,children:ae(lr,{filled:r})})}),ae(Te,{render:l=>ae("button",{type:"button",onClick:o,tabIndex:l,className:Ne,title:y,"aria-label":y,"data-detail-read-button":e.reportHubId,children:t?ae($y,{className:Se.read}):ae(cr,{})})}),i&&ae(Te,{render:l=>ae("button",{ref:s,type:"button",onClick:i,tabIndex:l,"data-detail-edit-button":e.reportHubId,className:Ne,title:p.edit,"aria-label":p.edit,children:ae(jy,{className:Se.edit})})}),n&&ae(Te,{render:l=>ae("button",{type:"button",onClick:d,tabIndex:l,"data-detail-delete-button":e.reportHubId,className:Ne,title:p.deleteReport,"aria-label":p.deleteReport,children:ae(Gy,{className:Se.delete})})}),Ud("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[ae(ce,{label:p.id,classNames:Yy,children:e.reportHubId}),ae(ce,{label:p.businessDate,classNames:Oo,children:ae(Gt,{text:ie(e.date)})}),ae(ce,{label:p.author,classNames:Oo,children:le(e.employeeName)}),ae(ce,{label:p.visitTime,classNames:Oo,children:le(u)}),ae(ce,{label:p.updatedAt,classNames:Oo,children:ae(Gt,{text:ie(e.updatedAt)})}),T&&ae(ce,{label:p.category,classNames:Vd,children:T}),h&&ae(ce,{label:p.creationCategory,classNames:Vd,children:h})]})]})};import{useCallback as Tb,useContext as fc,useLayoutEffect as pi,useRef as yc}from"react";import{startTransition as pb,useCallback as te,useLayoutEffect as Yt,useMemo as uc,useRef as Nt,useState as Zr,useSyncExternalStore as fb}from"react";import{flushSync as mc}from"react-dom";var ur=e=>({owner:e,focusIndex:null}),li=Object.freeze({owner:null,focusIndex:null}),Kd=(e,t)=>{if(e.length===0)return li;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:e[r].reportHubId,index:r},focusIndex:r}},zd=(e,t)=>{switch(t.kind){case"focusIn":return ur(t.row);case"focusOut":return t.to==="outside"?li:ur(e);case"pointerPress":return t.at==="outside"?li:ur(e);case"listChanged":{if(e===null)return ur(e);let r=me(t.items,e.reportHubId,e.index);return r===-1?Kd(t.items,e.index):ur(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?ur(e):Kd(t.items,t.selection.index)}};var qy=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),Mo={capture:!0},Po=new WeakMap,Xy=e=>{let t=o=>{qy.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,Mo),e.removeEventListener("pointerdown",r,Mo)}};return e.addEventListener("keydown",t,Mo),e.addEventListener("pointerdown",r,Mo),n},$d=e=>{let t=Po.get(e),r=t===void 0?Xy(e):t;t===void 0&&Po.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),Po.delete(e)))}},jd=e=>{let t=Po.get(e);return t===void 0?null:t.last};var ko=e=>e.matches(":focus-visible")&&jd(e.ownerDocument)!=="pointer";var Zy="data-daily-report-keyboard-focus",Lt={capture:!0},Gd=e=>{let t=$d(e.ownerDocument),r=s=>{e.toggleAttribute(Zy,de(s)&&ko(s))},n=s=>r(s.target),o=s=>{de(s.relatedTarget)&&e.contains(s.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,Lt),e.addEventListener("keydown",n,Lt),e.addEventListener("focusout",o,Lt),e.addEventListener("pointerdown",a,Lt);let i=Oe(e);return r(i!==null&&e.contains(i)?i:null),()=>{e.removeEventListener("focusin",n,Lt),e.removeEventListener("keydown",n,Lt),e.removeEventListener("focusout",o,Lt),e.removeEventListener("pointerdown",a,Lt),r(null),t()}};var Qy='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',Jy=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],eb=Jy.map(e=>`[role="${e}"]`).join(", "),tb=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),rb=new Set(["Enter"," "]),nb=new Map([["Home","exitBefore"],["End","exitAfter"]]),di=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return nb.get(e.key)??null;let r=tb.get(e.key);return r!==void 0?r:rb.has(e.key)&&t.rowActivation?"activate":null},Yd=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},qd=(e,t,r)=>{let n=di(e,r);if(n===null||e.defaultPrevented||kr(e)||t===null||!de(e.target)||!t.contains(e.target))return null;let o=It(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:Yd(e.target,Qy,t)||Yd(e.target,eb,t)?null:n};var Ho={kind:"stay"},Fo=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},Xd=e=>Math.floor(.875*e),wt=(e,t)=>({kind:"move",index:e,align:t}),Gr=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",ob=({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},ab=({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},ib=(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 Ho;if(r==="top")return wt(n-1,"top");let m=s(n-1);return wt(n-1,Gr(i-m,m,a,-1))}case"next":return n===o-1?Ho:r==="top"?wt(n+1,"top"):wt(n+1,Gr(d,s(n+1),a,1));case"first":return wt(0,"top");case"last":return wt(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(d>a)return{kind:"reveal",delta:Math.min(d-a,Xd(a))};if(n===o-1)return Ho;let m=ob(t);return wt(m.index,Gr(m.top,s(m.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,Xd(a))};if(n===0)return Ho;let m=ab(t);return wt(m.index,Gr(m.top,s(m.index),a,-1))}}},sb=({index:e,focusedRowTop:t,heightOf:r},n)=>tc(n,{index:e,offsetPx:-t},r),Jd=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let d=ib(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:sb(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}},ec=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>Gr(r,n(e),t,1),tc=(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},Yr=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=Fo(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:tc(t,s,i),heightOf:i}},Zd=1,rc=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=qr(o,n,t,r);return{start:Math.max(0,o.index-Zd),end:Math.min(t-1,a+Zd)}},qr=(e,t,r,n)=>{let o=Fo(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},nc=(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,Qd=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),oc=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(Qd(t,n,o))return t.reportHubId;if(Qd(r,n,o))return r.reportHubId;let a=e[n.visibleStartIndex];return a===void 0?null:a.reportHubId};var ui=1,Xr=2,ci=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?ui:0)|(n===t||n===r?Xr:0),lb=e=>{if(Cr(e))return!0;let t=Oe(e);return t!==null&&e.contains(t)},db=(e,t)=>{let r=e.closest(`[${jn}]`);return r!==null&&r!==e&&Kt(r)===t&&Oe(e)===r},ac={capture:!0},ic=({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,f=l=>ci(r,l),p=l=>{let S=d.get(l);if(S===void 0)return;let x=(f(l)&Xr)!==0?"0":"-1";S.getAttribute("tabindex")!==x&&S.setAttribute("tabindex",x)},R=()=>{if(n===null)return;let l=n;n=null,p(l)},y=(l,S)=>{R();let x={...r};l(r);let C=r,w=new Set([x.selectedId,x.tabStopId,x.arrivingId,C.selectedId,C.tabStopId,C.arrivingId]);for(let L of w){if(L===null)continue;let V=ci(x,L),N=ci(C,L);if(V===N)continue;((V^N)&Xr)!==0&&(L===S?n=L:p(L));let H=s.get(L);if(H!==void 0)for(let K of[...H])K()}},T=l=>{let S=l.ownerDocument,x=n!==null&&!Cr(l);x?S.addEventListener("focusout",R,ac):R(),a=!0;try{l.focus({preventScroll:!0})}finally{a=!1,x&&S.removeEventListener("focusout",R,ac),R()}},h=l=>{let S=e();S!==null&&(o=null,lb(S)&&T(l))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:f,setTabStopId:l=>{y(S=>{S.tabStopId=l},null)},settleSelection:(l,S)=>{y(x=>{x.selectedId=l,x.tabStopId=S,x.arrivingId=null},null)},arrive:l=>{y(S=>{S.arrivingId=l},l)},subscribe:(l,S)=>{let x=s.get(l)??new Set;return x.add(S),s.set(l,x),()=>{x.delete(S),x.size===0&&s.get(l)===x&&s.delete(l)}},registerFocusTarget:(l,S)=>{if(d.set(l,S),p(l),o===l){h(S);return}i===null||i.reportHubId!==l||(Cr(S)||db(S,l))&&T(S)},unregisterFocusTarget:(l,S)=>{d.get(l)===S&&d.delete(l)},requestFocus:l=>{o=l;let S=d.get(l);S!==void 0&&h(S)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>i,setFocusOwner:l=>{i=l},restoreFocus:l=>{if(i===null||i.reportHubId!==l)return;let S=d.get(l);S===void 0||!Cr(S)||T(S)},holdBodiesOutside:l=>{m=l},isBodyHeldAt:l=>m!==null&&(l<m.start||l>m.end),registerHeldBody:(l,S,x)=>{let C={indexHint:S,release:x};return u.set(l,C),()=>{u.get(l)===C&&u.delete(l)}},releaseHeldBodiesWithin:(l,S)=>{if(l!==null)for(let[x,{indexHint:C,release:w}]of[...u]){let L=S(x,C);L>=l.start&&L<=l.end&&w()}}}};var Je={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}},mi=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),cb=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),sc=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),ub=new Map(Object.values(Je).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),lc=e=>{let t=ub.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},mb=(e,t,r)=>e==="row"||e==="page"?t+r:r,dc=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:lc(e)}),cc=(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",lc(r)):(e.pending=mb(e.axis,e.pending,r.amount),mi)}case"frame":{if(e.fence==="open")return mi;if(e.fence==="immediate")return e.fence="flush",cb;if(e.pending===0)return e.fence="open",mi;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?sc:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return sc}};var yb=Object.freeze({kind:"frame"}),bb=Object.freeze({kind:"keyup"}),Rb=Object.freeze({kind:"cancel"}),gb=Object.freeze({previous:Object.freeze({kind:"repeat",step:Je.previous}),next:Object.freeze({kind:"repeat",step:Je.next}),pageBackward:Object.freeze({kind:"repeat",step:Je.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:Je.pageForward}),first:Object.freeze({kind:"repeat",step:Je.first}),last:Object.freeze({kind:"repeat",step:Je.last}),activate:Object.freeze({kind:"repeat",step:Je.activate})}),hb=(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}},Sb=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),Eb=e=>{let t=Kt(e),r=rr(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},Bo=(e,t)=>{let r=te(a=>e.subscribe(t,a),[e,t]),n=te(()=>e.rowStateOf(t),[e,t]),o=fb(r,n,n);return{isCurrent:(o&ui)!==0,isTabStop:(o&Xr)!==0}},Vo=(e,t,r)=>{let[n,o]=Zr(()=>!e.isBodyHeldAt(r));return Yt(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return pb(a),i},[e,t,r,n]),n},vb=e=>e==="first"||e==="last",pc=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:d,rowActivation:m})=>{let[u]=Zr(()=>ic({getContainer:()=>n.current,initialSelectedId:t})),f=Nt({items:e,onSelect:r,rowSizing:s,arrowAlign:d,rowActivation:m}),p=Nt(null),R=Nt(null),[y,T]=Zr(null),h=Nt(null),l=Nt(null),[S,x]=Zr(null),C=Nt(!1),w=Nt(null),[L,V]=Zr(0),N=uc(()=>({id:t,indexHint:t===null?null:$s(y,t)}),[t,y]),H=Nt(N);Yt(()=>{f.current={items:e,onSelect:r,rowSizing:s,arrowAlign:d,rowActivation:m},H.current=N},[e,r,s,d,m,N]);let K=te((c,b)=>{let v=R.current;if(v!==null&&v.items===c&&v.reportHubId===b)return v.index;let E=me(c,b,v!==null&&v.reportHubId===b?v.index:null);return E!==-1&&(R.current={items:c,reportHubId:b,index:E}),E},[]),O=te((c,b)=>{R.current={items:f.current.items,reportHubId:c,index:b},T(v=>v!==null&&v.reportHubId===c&&v.index===b?v:{reportHubId:c,index:b})},[]),X=te(c=>{let b=u.getFocusOwner();if(b===null)return null;let v=me(c,b.reportHubId,b.index);return v===-1?null:{reportHubId:b.reportHubId,index:v}},[u]),M=te(c=>{let b=f.current.items,v=c===null?null:{reportHubId:c,index:K(b,c)};return oc(b,X(b),v,p.current,w.current)},[K,X]),se=te(()=>{u.setTabStopId(M(u.getSelectedId()))},[u,M]),Ee=te(c=>{let b=u.getFocusOwner();b===c||b!==null&&c!==null&&b.reportHubId===c.reportHubId&&b.index===c.index||(u.setFocusOwner(c),C.current||se())},[u,se]),J=te(c=>{let b=zd(u.getFocusOwner(),c);Ee(b.owner),b.focusIndex!==null&&(h.current=b.focusIndex,u.requestFocus(b.owner.reportHubId))},[u,Ee]);Yt(()=>{u.settleSelection(t,M(t))},[u,t,e,L,M]),Yt(()=>{let c=o.current;if(c!==null)return Gd(c)},[o]),Yt(()=>{let c=n.current;if(c===null)return;let b=c.ownerDocument,v=E=>{let A=n.current,P=E.target;J({kind:"pointerPress",at:A!==null&&de(P)&&A.contains(P)?"inside":"outside"})};return b.addEventListener("pointerdown",v,{capture:!0}),()=>b.removeEventListener("pointerdown",v,{capture:!0})},[n,J]),Yt(()=>{let c=u.pendingFocusId();c!==null&&me(e,c,h.current)===-1&&u.cancelFocusRequest(),J({kind:"listChanged",items:e})},[u,e,J]);let Y=te(c=>{J({kind:"removed",reportHubId:c,selection:R.current,items:f.current.items})},[J]),j=te((c,b,v,E)=>{let{items:A,onSelect:P,rowSizing:Z,arrowAlign:W}=f.current,I=a.current;if(P===null||I===null)return null;let D=me(A,v.reportHubId,v.index);if(D===-1)return null;let B=Yr(I,D,A.length,Z);if(B===null)return null;let z=Jd(c,b,B,W),ne=A[z.index],$e=z.index!==D,at=$e||E&&vb(c)&&H.current.id!==ne.reportHubId;if($e){u.arrive(ne.reportHubId),w.current=ne.reportHubId,h.current=z.index,C.current=!0;try{u.requestFocus(ne.reportHubId)}finally{C.current=!1}}try{mc(()=>{at&&(u.pendingFocusId()===null&&u.settleSelection(ne.reportHubId,ne.reportHubId),P(ne.reportHubId,z.index)),z.alignment!==null&&i.toIndex(z.alignment.index,{align:z.alignment.align}),z.scrollDelta!==0&&i.by(z.scrollDelta),at&&(O(ne.reportHubId,z.index),V(oa=>oa+1));let Sr=rc(I,A.length,Z);u.holdBodiesOutside(Sr),u.releaseHeldBodiesWithin(Sr,(oa,bu)=>me(A,oa,bu))})}finally{u.holdBodiesOutside(null)}return $e?{reportHubId:ne.reportHubId,index:z.index}:{reportHubId:v.reportHubId,index:D}},[u,a,i,O]),ge=te(c=>{let{items:b,onSelect:v}=f.current;if(v===null)return;let E=me(b,c.reportHubId,c.index);E!==-1&&(v(c.reportHubId,E),O(c.reportHubId,E))},[O]),Pe=te(c=>{let b=n.current,v=b===null?null:Oe(b),E=b!==null&&v!==null&&b.contains(v)?Dr(It(v,b),f.current.items):null;return E===null?c.origin:E},[n]),q=te((c,b)=>{let v=Pe(c);if(b.axis==="activate"){ge(v);return}let E=hb(b.axis,b.amount),A=j(E.command,E.count,v,!1);A!==null&&(c.origin=A)},[Pe,ge,j]),ve=te(c=>{l.current=null,c.frame!==0&&c.view.cancelAnimationFrame(c.frame),x(null)},[]),Xe=te((c,b,v)=>{let{apply:E}=b;E!==null&&(b.flush?mc(()=>q(c,E)):q(c,E)),l.current===c&&(b.ended?ve(c):b.requestFrame&&(c.frame=c.view.requestAnimationFrame(v)))},[q,ve]),he=te((c,b,v)=>{Xe(c,cc(c.state,b),v)},[Xe]),pe=te(()=>{let c=l.current;c!==null&&(c.frame=0,he(c,yb,pe))},[he]),Ze=te(()=>{let c=l.current;c!==null&&he(c,bb,pe)},[he,pe]),Qe=te(()=>{let c=l.current;c!==null&&he(c,Rb,pe)},[he,pe]),yt=te((c,b,v)=>{x(H.current);let{state:E,effects:A}=dc(Je[c]),P={state:E,origin:b,view:v,frame:0};l.current=P,Xe(P,A,pe)},[Xe,pe]);Yt(()=>()=>{let c=l.current;l.current=null,c!==null&&c.frame!==0&&c.view.cancelAnimationFrame(c.frame)},[]);let bt=te(c=>{let b=l.current,v=b!==null&&c.repeat?di(c,f.current):null;if(b!==null&&v!==null&&v!=="exitBefore"&&v!=="exitAfter"&&Je[v].axis===b.state.axis){c.preventDefault(),he(b,gb[v],pe);return}let{items:E,onSelect:A,rowSizing:P,rowActivation:Z}=f.current,W=n.current,I=A===null?null:qd(lo(c),W,{rowActivation:Z});if(u.cancelFocusRequest(),Ze(),I===null||W===null)return;if(I==="exitBefore"||I==="exitAfter"){let z=ql(W,I==="exitBefore"?"before":"after");if(z===null)return;c.preventDefault(),z.focus();return}let D=Oe(W),B=Dr(It(D!==null&&W.contains(D)?D:c.target,W),E);if(B!==null){if(I!=="activate"){let z=a.current;if(z===null||Yr(z,B.index,E.length,P)===null)return}if(c.preventDefault(),c.repeat){yt(I,B,Le(W));return}I==="activate"?ge(B):j(I,1,B,!0)}},[u,n,a,pe,he,Ze,yt,ge,j]),Rt=te(()=>{Ze()},[Ze]),Ke=te(c=>{let b=n.current,v=c.target,E=It(v,b);if(J({kind:"focusIn",row:E===null?null:Eb(E)}),u.isMovingFocus())return;let A=a.current;if(b===null||A===null||!de(v)||!ko(v))return;let P=E===null?null:E.closest('[role="list"]');if(E===null||P===null)return;let Z=P.getBoundingClientRect(),W=E.getBoundingClientRect(),I=W.height<=Z.height?W:Sb(v.getBoundingClientRect(),St),D=nc(I,Z),B=A.getViewportSize();D===0||!(B>0&&Z.height>0)||i.by(D*B/Z.height)},[u,n,a,i,J]),Ae=te(c=>{let b=n.current,v=c.relatedTarget,E=de(v)?b?.contains(v)?"view":"outside":"nowhere";E!=="view"&&Qe(),J({kind:"focusOut",to:E})},[n,Qe,J]),ke=te(()=>{u.cancelFocusRequest(),Qe()},[u,Qe]),gt=te(c=>{p.current={visibleStartIndex:c.visibleStartIndex,visibleEndIndex:c.visibleEndIndex},w.current=null,se()},[se]),ze=uc(()=>({onKeyDown:bt,onKeyUp:Rt,onPointerDownCapture:ke,onWheelCapture:ke,onTouchStartCapture:ke,onFocus:Ke,onBlur:Ae}),[bt,Rt,ke,Ke,Ae]);return{cursor:u,containerProps:ze,handleRangeChange:gt,selection:N,settledSelection:S===null?N:S,resolveSelectedIndex:K,rememberSelection:O,focusAfterRemoval:Y}};import{jsx as fi}from"react/jsx-runtime";var Ib=g(Et,un,mn,cn,"h-full"),xb="h-full w-full",bc=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:d}=Bo(a,e),m=fc(dt),u=fc(lt),f=Vo(a,e,m),p=yc(null),R=yc(null),y=Tb(T=>(p.current=T,a.registerFocusTarget(e,T),()=>{p.current=null,a.unregisterFocusTarget(e,T)}),[a,e]);return pi(()=>{let T=p.current,h=T===null||!f?null:T.firstElementChild,l=h instanceof HTMLElement?h:null,S=R.current;S!==null&&S.body===l||(S!==null&&S.stop(),R.current=l===null?null:{body:l,stop:o(l)})}),pi(()=>()=>{R.current?.stop(),R.current=null},[]),pi(()=>{a.restoreFocus(e)},[a,e,n]),fi(Vr.Provider,{value:d,children:fi("div",{ref:y,className:Ib,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":m+1,"aria-setsize":u,"aria-labelledby":f&&t.kind==="card"?t.ids.heading:void 0,"aria-describedby":f&&t.kind==="card"?t.describedBy:void 0,"aria-label":t.kind==="label"?t.label:void 0,"aria-busy":r||!f?!0:void 0,"aria-current":s?"true":void 0,children:f?i:fi("div",{...He,className:xb})})})};import{jsx as $,jsxs as Ie}from"react/jsx-runtime";var Ab=g("flex w-full flex-col",tt,yn,Pt),_b=g(tt,Pt),Lb=g("rounded-2xl",Pt),wb=g("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",Pt),Ce="bg-slate-200 dark:bg-slate-700",Nb=(e,t)=>{let r=le(e.name);return e.affiliation?.trim()?t.interviewerWithAffiliation(r,e.affiliation):r},Ob=()=>Ie("div",{...He,className:_b,children:[Ie("div",{className:"mb-4 flex flex-wrap gap-2",children:[$("div",{className:g("h-6 w-20 rounded-full",Ce)}),$("div",{className:g("h-6 w-24 rounded-full",Ce)}),$("div",{className:g("h-6 w-24 rounded-full",Ce)}),$("div",{className:g("h-6 w-28 rounded-full",Ce)})]}),Ie("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[Ie("div",{className:"space-y-4",children:[$("div",{className:g("h-5 w-40 rounded",Ce)}),$("div",{className:g("h-5 w-56 rounded",Ce)}),$("div",{className:g("h-24 rounded-xl",Ce)})]}),Ie("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[$("div",{className:g("mb-2 h-4 w-24 rounded",Ce)}),$("div",{className:g("mb-2 h-4 w-28 rounded",Ce)}),$("div",{className:g("h-4 w-32 rounded",Ce)})]})]}),Ie("div",{className:"space-y-4",children:[$("div",{className:g("h-4 w-24 rounded",Ce)}),Ie("div",{className:"flex flex-wrap gap-2",children:[$("div",{className:g("h-6 w-16 rounded-full",Ce)}),$("div",{className:g("h-6 w-16 rounded-full",Ce)}),$("div",{className:g("h-6 w-16 rounded-full",Ce)})]}),Ie("div",{className:"space-y-2",children:[$("div",{className:g("h-16 rounded-xl",Ce)}),$("div",{className:g("h-16 rounded-xl",Ce)})]})]})]}),Mb=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:d}=Wt(e.reportHubId,e.businessDate),{removeStaleItem:m}=xe(),{draftLabelName:u,sourceTypeConfigs:f}=k(),p=xt(),R=so(e.reportHubId),y=R==="editing"||R==="automatic",T=yi(!1),h=yi(!1),l=yi(!1);Rc(()=>{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 S=a?.labels.some(j=>j.name===u),x=n&&a?.userId===n,C=Uo(()=>a===null?void 0:()=>{T.current=!0,p.open(e.reportHubId,sr(a),!1)},[p,e.reportHubId,a]),w=mr(()=>{h.current=!0,p.dismiss(e.reportHubId)},[p,e.reportHubId]),L=mr(()=>{h.current=!0,p.discard(e.reportHubId)},[p,e.reportHubId]),V=mr(j=>{j===null||!T.current||(T.current=!1,j.focus())},[]),N=mr(j=>{j===null||!h.current||(h.current=!1,j.focus())},[]);Db(()=>{y||(h.current=!1)},[y]),Rc(()=>{a!==null&&(x&&S&&R==="display"?p.open(e.reportHubId,sr(a),!0):!S&&R==="automatic"&&p.discard(e.reportHubId))},[a,x,S,R,p,e.reportHubId]);let H=mr(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),K=Cb(),O=Uo(()=>({heading:`${K}-heading`,state:`${K}-state`,attachments:`${K}-attachments`,source:`${K}-source`}),[K]),X=a!==null&&a.attachments.length>0,M=a===null?void 0:Vt(a.sourceType,f),se=[O.state,...X?[O.attachments]:[],...M!==void 0?[O.source]:[]].join(" "),Ee=!i&&a!==null&&!y?{kind:"card",ids:O,describedBy:se}:{kind:"label",label:ie(e.businessDate)},J=!i&&a===null&&s,Y=i?"error":a===null?s?"loading":"missing":y?"editing":"resolved";return $(bc,{itemId:e.reportHubId,name:Ee,isBusy:J,bodyKind:Y,observeRowHeight:t,cursor:o,children:i?$(Pb,{itemId:e.reportHubId}):a?y?$("div",{...He,className:Lb,children:$(Ao,{report:a,onCancel:w,onPublishSuccess:L,titleInputRef:V})}):$(Sc,{item:e,report:a,sourceConfig:M,textIds:O,onCommentAdded:r,userId:n,onEdit:x?C:void 0,editButtonRef:N,onCommentSectionRemoved:H}):$(Ob,{})})},hc=gc(Mb),Sc=gc(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:d})=>{let{toggleStar:m,toggleRead:u,pendingStarUpdates:f,pendingReadUpdates:p,deleteReport:R}=xe(),{labels:y,headingLevel:T}=k(),h=Dt[T],l=Ln(t.sourceType,r),S=mr(()=>o?.(e.reportHubId),[o,e.reportHubId]),x=f.current.get(t.reportHubId),C=x===void 0?t.isStarred:x,w=p.current.get(t.reportHubId),L=w===void 0?t.isRead:w,V=!!(a&&t.userId===a),N=async()=>{try{await u(t.reportHubId,!L,t.date)}catch{}},H=async()=>{try{await m(t.reportHubId,!C,t.date)}catch{}},K=async()=>{confirm(y.confirmDelete)&&await R(t.reportHubId,t.date)},O=Uo(()=>t.content?t.content.replace(/<br\s*\/??\s*>/gi,`
4
- `).trim():"",[t.content]),X=Uo(()=>{let M=t.visitTimeFrom?.trim(),se=t.visitTimeTo?.trim();return M&&se?`${M} - ${se}`:M||se||null},[t.visitTimeFrom,t.visitTimeTo]);return Ie("div",{...He,onDoubleClick:i,className:Ab,children:[$(Be,{level:T,id:n.heading,className:"sr-only",children:`${ie(t.date)} ${le(t.employeeName)} ${le(t.subject)}`}),$("span",{id:n.state,className:"sr-only",children:y.rowState({isRead:L,isStarred:C})}),Ie("div",{className:"flex flex-col gap-4",children:[$(Wd,{report:t,sourceConfig:r,isRead:L,isStarred:C,isMine:V,onToggleRead:N,onToggleStar:H,onEdit:i,editButtonRef:s,onDelete:K,visitTimeDisplay:X,markerIds:n,labels:y}),Ie("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[Ie("div",{className:"flex flex-col gap-4",children:[Ie("div",{className:"grid gap-4 sm:grid-cols-2",children:[Ie("div",{className:"flex flex-col gap-1",children:[$(Be,{level:h,className:it,children:y.customer}),$("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:le(t.customerName)})]}),Ie("div",{className:"flex flex-col gap-1",children:[$(Be,{level:h,className:it,children:y.subject}),$("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:le(t.subject)})]})]}),O&&Ie("div",{className:"flex flex-col gap-2",children:[$(Be,{level:h,className:it,children:y.content}),$("div",{className:g("whitespace-pre-wrap",fn),children:O})]}),t.interviewers.length>0&&Ie("div",{className:"flex flex-col gap-2",children:[$(Be,{level:h,className:it,children:y.interviewers}),$("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map(M=>$("li",{className:g(_e,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:Nb(M,y)},JSON.stringify([M.name,M.affiliation])))})]}),$(vo,{attachments:t.attachments}),$($r,{report:t,userId:a,canComment:l,onCommentAdded:S,onSectionRemoved:d,formPlacement:"after-section"})]}),$(Fd,{report:t,visitTimeDisplay:X,labels:y})]})]})]})});Sc.displayName="DailyReportResolvedItem";var Pb=({itemId:e})=>{let{labels:t}=k();return $("div",{...He,className:wb,children:$("p",{children:t.reportLoadFailed(e)})})};import{useCallback as Cc,useId as Kb,useMemo as Dc,useRef as zb}from"react";import{useCallback as Ec,useLayoutEffect as vc,useMemo as Tc,useRef as bi}from"react";var kb=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e[o]?.reportHubId!==t[o]?.reportHubId)return!0;return!1},Hb=(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}},Fb=(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}},Bb=(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"?Hb(e.index,a,n.rowHeight,r.length):Fb(e.index,a,Fo(n),r.length);return{reportHubId:r[i].reportHubId,index:i,offsetPx:s,lastVisibleIndex:qr({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},Vb=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=me(t,e[n].reportHubId,n-1);if(o!==-1)return o}return-1},Ic=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=bi(null),a=bi(e),i=bi(r),s=Ec(()=>{let u=t.current,f=u===null?-1:u.getScrollPosition(),p=u===null||!(f>0)?null:u.getScrollAnchor(),R=a.current,y=p===null?void 0:R[p.index],T=u===null?0:u.getViewportSize();o.current=p===null||y===void 0||!(T>0)?null:{reportHubId:y.reportHubId,index:p.index,offsetPx:p.offsetPx,lastVisibleIndex:qr(p,T,R.length,i.current),recordedAt:f}},[t]),d=Tc(()=>({toIndex:(u,f)=>{let p=t.current;p!==null&&(p.scrollToIndex(u,f),s())},by:u=>{let f=t.current;f!==null&&(f.scrollBy(u),s())},resizeRow:(u,f)=>{let p=t.current;p!==null&&(p.updateItemSize(u,f),s())}}),[t,s]);vc(()=>{let u=a.current;a.current=e;let f=o.current,p=t.current;if(u===e||f===null||p===null||n())return;let R=Bb(f,p.getScrollPosition(),u,i.current,p.getViewportSize());if(R===null){o.current=null;return}let y=me(e,R.reportHubId,R.index),T=y===-1?Vb(u,e,R):y;if(T===-1){o.current=null;return}if(T===R.index&&!kb(u,e,R.index,R.lastVisibleIndex)){o.current=R;return}p.scrollToIndex(T,{align:"top",offset:-R.offsetPx}),o.current={reportHubId:e[T].reportHubId,index:T,offsetPx:R.offsetPx,lastVisibleIndex:qr({index:T,offsetPx:R.offsetPx},p.getViewportSize(),e.length,r),recordedAt:p.getScrollPosition()}},[e,t,r,n]),vc(()=>{i.current=r},[r]);let m=Ec(u=>{if(u.cause!=="clamp"){s();return}let f=o.current;f!==null&&(o.current={...f,recordedAt:f.recordedAt+u.delta})},[s]);return Tc(()=>({handleRangeChange:s,handleScrollAdjust:m,scroller:d}),[s,m,d])};import{useCallback as Ub}from"react";var Wb=20,xc=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>Ub(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=Wb)=>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]);import{jsx as $b}from"react/jsx-runtime";var Wo=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let i=zb(null),s=Cc(C=>(i.current=C,()=>{i.current=null}),[]),{handleRangeChange:d,handleScrollAdjust:m,scroller:u}=Ic({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:f,...p}=pc({...a,containerRef:e,handleRef:i,scroller:u}),R=xc({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:u,itemsRef:r}),{labels:y}=k(),T=Kb(),h=a.onSelect!==null,l=Cc(C=>{f(C),d(),o(C)},[f,d,o]),S=Dc(()=>({role:"list","aria-label":y.title,"aria-describedby":h?T:void 0}),[y.title,h,T]),x=Dc(()=>h?$b("span",{id:T,className:"sr-only",children:y.listKeyboardHelp}):null,[h,T,y.listKeyboardHelp]);return{...p,handleRangeChange:l,handleScrollAdjust:m,attachVirtualScroll:s,handleRef:i,scroller:u,attachScrollContainer:R,contentProps:S,keyboardHelp:x}};import{Fragment as eR,jsx as mt,jsxs as Jb}from"react/jsx-runtime";var _c={pointerDragInputs:Fn,wheelSpeedMultiplier:Nn,inertiaOptions:nr(!1),enableKeyboardNavigation:!1},Yb={..._c,inertiaOptions:nr(!0)},Ac="daily-report-detail-list",qb=g("relative w-full",vn,Sn),Xb=g(je,"relative"),Zb=300,gi=e=>{let t=Me(null),[r,n]=Ko(null),o=zn(t),a=or(r),i=De(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return mt("div",{ref:i,className:gn,children:mt("div",{className:hn,children:o===null?null:mt(Qb,{...e,viewportHeight:o,reducedMotion:a})})})},Qb=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:i,reducedMotion:s})=>{let[{initialScrollAnchor:d,restored:m}]=Ko(()=>{let I=a?.current;if(!I||I.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!I.topItem)return{initialScrollAnchor:void 0,restored:!0};let D=e.findIndex(B=>B.reportHubId===I.topItem?.reportHubId);return D!==-1?{initialScrollAnchor:{index:D,offsetPx:I.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:I.topItem.index,offsetPx:0},restored:!0}}),u=Me(m),f=Me(n??null),p=Me(a?.current.measuredHeights??new Map),R=Me(null),y=Un(),T=Ia(),[h]=Ko(Yn),l=Me(null),S=Me(null),x=Me(e),C=Me(o);Gb(()=>{x.current=e,C.current=o},[e,o]);let w=Me(null),[L,V]=Ko(0),N=Me(null),H=e.length,K=t===void 0?H:t,O=De(I=>I>=H?Mn:e[I],[e,H]),X=De(I=>{let D=p.current.get(O(I).reportHubId);return D===void 0?Is:D},[O]),M=De(I=>O(I).reportHubId,[O]),se=Ri(()=>({kind:"measured",heightOf:X}),[X]),Ee=De((I,D)=>{w.current={reportHubId:I,index:D},V(B=>B+1),C.current?.(I)},[]),J=De((I,D)=>{if(H===0)return;let B=Math.max(0,I),z=Math.min(H-1,D);if(B>z)return;let ne=new Set;for(let $e=B;$e<=z;$e++){let at=O($e);if(at.businessDate&&ne.add(at.businessDate),ne.size>=Es)break}ne.forEach($e=>{T($e)})},[O,H,T]),Y=De(I=>{if(H===0)return;let{renderingStartIndex:D,renderingEndIndex:B,visibleStartIndex:z}=I,ne=O(z);ne.businessDate&&h.setLabel(ie(ne.businessDate)),J(D,B),J(B+1,B+On),J(D-On,D-1)},[O,H,J,h]),j=De(()=>N.current!==null,[]),{cursor:ge,containerProps:Pe,handleRangeChange:q,handleScrollAdjust:ve,attachVirtualScroll:Xe,handleRef:he,scroller:pe,attachScrollContainer:Ze,contentProps:Qe,keyboardHelp:yt,resolveSelectedIndex:bt,rememberSelection:Rt}=Wo({items:e,selectedId:n??null,onSelect:o===void 0?null:Ee,containerRef:R,rootRef:R,testId:Ac,itemsRef:x,rowSizing:se,arrowAlign:"top",rowActivation:!0,isViewRevealPending:j,onRangeChange:Y}),Ke=De((I,D)=>{if(he.current===null)return!1;let B=x.current,z=D!==null&&D.reportHubId===I?me(B,I,D.index):bt(B,I);return z===-1?!1:(u.current&&(u.current=!1,I===f.current)||D!==null&&D.reportHubId===I&&D.index===z||pe.toIndex(z,{align:"top"}),!0)},[he,bt,pe]);Ot(()=>{let I=w.current;w.current=null,N.current=null,n!=null&&(Ke(n,I)||(N.current=n))},[n,Ke]),Ot(()=>{let I=N.current;I!==null&&Ke(I,null)&&(N.current=null)},[e,Ke]),Ot(()=>{let I=a?.current;I&&(I.anchorReportHubId=n??null)},[n,a]),Ot(()=>{w.current=null},[L]);let Ae=Me(null),ke=De(()=>{he.current&&(Ae.current=he.current);let I=a?.current,D=Ae.current;if(I&&D){let z=D.getScrollAnchor(),ne=z?x.current[z.index]:void 0;z&&ne&&(I.topItem={reportHubId:ne.reportHubId,index:z.index,offsetPx:z.offsetPx})}let B=R.current;B&&(B.toggleAttribute(Zt,!0),S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{B.toggleAttribute(Zt,!1),S.current=null},150))},[he,a]),gt=De(I=>mt(qn,{...I,store:h}),[h]);Ot(()=>{let I=R.current;if(!I)return;let D=()=>{h.setWheelScrollActive(!0),l.current&&clearTimeout(l.current),l.current=window.setTimeout(()=>{h.setWheelScrollActive(!1),l.current=null},Pn)};return I.addEventListener("wheel",D,{passive:!0}),()=>{I.removeEventListener("wheel",D),l.current&&clearTimeout(l.current)}},[h]);let ze=Me(null),c=De(I=>{for(let D of I){let B=D.target.parentElement,z=B===null?null:Kt(B),ne=B===null?null:rr(B),$e=D.borderBoxSize[0];if(z===null||ne===null||$e===void 0)continue;let at=$e.blockSize+2*St;if(p.current.get(z)===at)continue;let Sr=me(x.current,z,ne-1);Sr!==-1&&(p.current.set(z,at),pe.resizeRow(Sr,at))}},[pe]),b=De(I=>{ze.current===null&&(ze.current=new ResizeObserver(c));let D=ze.current;return D.observe(I),()=>D.unobserve(I)},[c]);Ot(()=>()=>{ze.current?.disconnect(),ze.current=null},[]),Ot(()=>{H!==0&&J(0,Math.min(H-1,On))},[H,J]);let v=Me(null),E=De(I=>{let D=me(x.current,I,null);D!==-1&&(v.current!==null&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=null;let B=me(x.current,I,D);B!==-1&&pe.toIndex(B,{align:"bottom"})},Zb))},[pe]);Ot(()=>()=>{v.current!==null&&clearTimeout(v.current)},[]);let A=De(I=>{if(!C.current)return;let D=It(I.target,R.current);if(D===null||Ys(I.target,D))return;let B=Dr(D,x.current);B!==null&&(Rt(B.reportHubId,B.index),Ee(B.reportHubId,B.index))},[Ee,Rt]),P=De((I,D)=>mt(dt.Provider,{value:D,children:mt(hc,{item:I,observeRowHeight:b,onCommentAdded:E,userId:r,cursor:ge})},I.reportHubId),[b,E,r,ge]),Z=Ri(()=>({...Hn,renderThumbOverlay:gt}),[gt]),W=Ri(()=>mt(lt.Provider,{value:K,children:mt(jb,{ref:Xe,itemCount:H,getItem:O,getItemKey:M,getItemHeight:X,viewportSize:i,initialScrollAnchor:d,overscanCount:kn,scrollBarOptions:Z,behaviorOptions:s?Yb:_c,onRangeChange:q,onScrollAdjust:ve,onScroll:ke,testId:Ac,className:qb,locale:y.locale,labels:y.labels,contentProps:Qe,children:P})}),[Xe,K,H,O,M,X,i,s,d,Z,q,ve,ke,y.locale,y.labels,Qe,P]);return mt(eR,{children:Jb("div",{ref:Ze,className:Xb,...Pe,onClick:A,children:[yt,W]})})};import wc from"lucide-react/dist/esm/icons/refresh-cw.js";import{createContext as rR,useContext as nR,useRef as oR}from"react";import{jsx as Lc,jsxs as tR}from"react/jsx-runtime";var Qr=e=>10**String(e).length-1,zo=({text:e,widestText:t,ref:r})=>tR("span",{ref:r,className:Qi,children:[Lc("span",{"aria-hidden":"true",className:Ji,children:t}),Lc("span",{className:es,children:e})]});import{jsx as qt,jsxs as $o}from"react/jsx-runtime";var hi=rR(!0),aR="inline-flex outline-none empty:not-focus:hidden",iR=(e,t,r)=>{if(r===null||r===0)return{text:e.streamProgressCount(t),widestText:e.streamProgressCount(Qr(t))};let n=Qr(Math.max(t,r));return{text:e.streamProgressRatio(t,r,Math.min(100,Math.round(t/r*100))),widestText:e.streamProgressRatio(n,n,100)}},sR=({labels:e,loadedCount:t,totalCount:r})=>{let{text:n,widestText:o}=iR(e,t,r);return $o("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:g(_e,"gap-1 bg-blue-100 font-medium text-blue-800 text-xs tabular-nums dark:bg-blue-900/40 dark:text-blue-300"),children:[qt("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 motion-safe:animate-pulse dark:bg-blue-400"}),qt(zo,{text:n,widestText:o})]})},lR=(e,t,r,n)=>e.phase==="streaming"?qt(sR,{labels:t,loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?$o("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:g(_e,"gap-1 bg-amber-100 font-medium text-amber-800 text-xs tabular-nums dark:bg-amber-900/40 dark:text-amber-300"),children:[qt(wc,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?$o("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:g(_e,"gap-1 bg-rose-100 font-medium text-rose-800 text-xs dark:bg-rose-900/40 dark:text-rose-300"),children:[t.streamFailed,qt("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:n,className:g("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",Q),children:t.streamRetry})]}):e.isRevalidating?$o("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:[qt(wc,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null,Jr=()=>{let e=pl(),{labels:t}=k(),r=nR(hi),n=oR(null);return qt("span",{ref:n,tabIndex:-1,"data-daily-report-stream-status":"",className:aR,children:lR(e,t,r,()=>{n.current?.focus({preventScroll:!0}),to()})})};import{Panel as ou,PanelGroup as _g,PanelResizeHandle as Lg}from"@aiquants/resize-panels";import{VirtualScroll as wg}from"@aiquants/virtualscroll";import{useCallback as ot,useEffect as Zo,useLayoutEffect as Di,useMemo as Qo,useRef as hr,useState as ea}from"react";import{useSyncExternalStore as dR}from"react";var Nc="(max-width: 639px)",cR=()=>{},uR=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return cR;let t=window.matchMedia(Nc);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},mR=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(Nc).matches:!1,pR=()=>!1,Oc=()=>dR(uR,mR,pR);import{SwipeCloseGuardContext as kR,useOverlayEscapeStack as HR,useSwipeGuardState as FR,useSwipeToDismissOverlay as BR,useTapClick as VR,useTransitionDisplay as UR}from"@aiquants/swipe-overlay";import{useCallback as Yo,useEffect as yr,useId as Ii,useLayoutEffect as xi,useRef as et,useState as qo}from"react";import{createContext as fR,useMemo as yR}from"react";var Mc=Object.freeze({id:null,indexHint:null}),jo=fR(Object.freeze({selected:Mc,settled:Mc})),en=(e,t)=>{let{id:r,indexHint:n}=t;return yR(()=>{if(r===null)return null;let o=me(e,r,n);return o===-1?null:e[o]},[e,r,n])};import bR from"lucide-react/dist/esm/icons/check.js";import RR from"lucide-react/dist/esm/icons/pencil.js";import gR from"lucide-react/dist/esm/icons/trash-2.js";import{memo as hR,useCallback as Xt,useContext as SR,useDeferredValue as ER,useEffect as Si,useId as Bc,useLayoutEffect as Ei,useMemo as Kc,useRef as an,useState as Vc}from"react";import*as pt from"@radix-ui/react-tabs";import*as We from"react";import{jsx as tn}from"react/jsx-runtime";var Pc=We.createContext(null),kc=e=>{let t=We.useContext(Pc);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},Hc=(e,t)=>`${e}-trigger-${t}`,Fc=(e,t)=>`${e}-panel-${t}`,rn=We.forwardRef(({value:e,children:t,...r},n)=>{let o=We.useId(),a=We.useMemo(()=>({baseId:o,value:e}),[o,e]);return tn(pt.Root,{ref:n,value:e,...r,children:tn(Pc,{value:a,children:t})})});rn.displayName=pt.Root.displayName;var nn=We.forwardRef(({className:e,...t},r)=>tn(pt.List,{ref:r,className:g("inline-flex",e),...t}));nn.displayName=pt.List.displayName;var on=We.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=kc("TabsTrigger");return tn(pt.Trigger,{ref:n,value:t,...r,id:Hc(o,t),"aria-controls":Fc(o,t),className:g(`${Xi} ${Q}`,e)})});on.displayName=pt.Trigger.displayName;var pr=We.forwardRef(({className:e,value:t,children:r,...n},o)=>{let{baseId:a,value:i}=kc("TabsContent"),s=t===i;return tn("div",{ref:o,role:"tabpanel",id:Fc(a,t),"aria-labelledby":Hc(a,t),"data-state":s?"active":"inactive",hidden:!s,tabIndex:0,...n,className:g(`mt-2 data-[state=inactive]:hidden ${Q}`,e),children:s?r:null})});pr.displayName="TabsContent";import{Fragment as PR,jsx as F,jsxs as nt}from"react/jsx-runtime";var zc=g(kt,"w-24 shrink-0"),Uc={field:"flex items-baseline",label:zc,value:"flex-1"},vR={field:"flex min-w-0 flex-1 items-baseline",label:zc,value:"wrap-break-word min-w-0 flex-1"},TR={field:"flex flex-col gap-1",label:kt,value:""},IR={field:"flex items-center gap-1",label:kt,value:""},Wc=g("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",aa,ki,Pi),xR=g("flex flex-col gap-1",ia),CR=g("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",Q),vi=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)})}},DR=(e,t,r,n,o,a)=>{let i=an(null),s=e?.reportHubId;Ei(()=>{i.current=null},[s]),Si(()=>{n||(i.current=null)},[n]);let d=Xt(async(m,u)=>{u||(i.current=m.reportHubId);try{await a(m.reportHubId,!m.isRead,m.date)}catch{}},[a]);return Si(()=>{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),500):null};u();let f=o.subscribe(u);return()=>{f(),m!==null&&clearTimeout(m)}},[e,t,r,d,o]),{handleToggleRead:d}},Ti="article",AR=["article","relations"],_R=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},LR=g("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",tt),wR=9,NR=.875,OR=16,$c=4*Math.ceil((2*St+2*pn+2*Bi+wR*NR*OR)/4),jc=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=k(),a=Bc(),i=Bc(),[s,d]=Vc(Ti),{selected:m,settled:u}=SR(jo),f=en(e,m),p=en(e,ER(u)),R=f===null?null:f.reportHubId,T=(p===null?null:p.reportHubId)===R,[h]=Vc(()=>vi(T));return Ei(()=>{h.set(T)},[h,T]),F("aside",{"data-testid":"daily-report-side-pane","data-report-id":f?.reportHubId,"data-displayed-report-id":p?.reportHubId,"aria-busy":T?void 0:!0,className:LR,children:p===null?F("div",{className:g("flex h-full flex-1 items-center justify-center text-center",Qt),children:F("p",{className:En,children:o.selectPrompt})}):F(Go,{item:p,headingId:a,authorId:i,activeTab:s,onActiveTabChange:d,autoMarkRead:t,isActive:!0,dwell:h,userId:r,onReportDeleted:n},p.reportHubId)})},Go=hR(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:d,onReportDeleted:m})=>{let{draftLabelName:u,labels:f,sourceTypeConfigs:p,headingLevel:R}=k(),{report:y,error:T,isLoading:h}=Wt(e.reportHubId,e.businessDate),l=xt(),S=so(e.reportHubId),x=S==="editing"||S==="automatic",C=an(null),w=an(null),L=an(!1),V=an(!1),N=!!(d&&y?.userId===d),H=y?.labels.some(q=>q.name===u);Si(()=>{y!==null&&(N&&H&&S==="display"?l.open(e.reportHubId,sr(y),!0):!H&&S==="automatic"&&l.discard(e.reportHubId))},[y,N,H,S,l,e.reportHubId]);let K=Kc(()=>y===null?void 0:()=>{L.current=!0,l.open(e.reportHubId,sr(y),!1)},[l,e.reportHubId,y]),O=Xt(()=>{V.current=!0,l.dismiss(e.reportHubId)},[l,e.reportHubId]),X=Xt(()=>{V.current=!0,l.discard(e.reportHubId)},[l,e.reportHubId]),M=Xt(q=>{q===null||!L.current||(L.current=!1,q.focus())},[]),se=Xt(q=>{q===null||!V.current||(V.current=!1,q.focus())},[]),Ee=Xt(()=>{w.current?.focus({preventScroll:!0})},[]);Ei(()=>{x||!V.current||(V.current=!1,w.current?.focus())},[x]);let J=Xt(()=>{setTimeout(()=>{let q=C.current;q!==null&&q.scrollTo({top:q.scrollHeight,behavior:Js(q)})},100)},[]),Y=ie(e.businessDate),j=y===null?null:le(y.employeeName),ge=h||!y,Pe=y===null?void 0:Vt(y.sourceType,p);return nt(PR,{children:[nt("div",{className:xR,children:[F("dl",{className:"m-0",children:F(ce,{label:f.businessDate,classNames:TR,children:F(Be,{ref:w,level:R,id:t,tabIndex:-1,className:CR,children:Y})})}),nt("div",{className:"flex min-h-4 items-center gap-1 text-slate-500 text-xs dark:text-slate-300",children:[F("dl",{className:"m-0",children:F(ce,{label:f.author,classNames:IR,valueId:r,children:ge?F("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):j})}),Pe?F(dr,{config:Pe,className:"ml-2"}):null]})]}),nt(rn,{value:n,onValueChange:q=>o(_R(q)),className:"flex min-h-0 flex-1 flex-col",children:[F("div",{className:ia,children:F(nn,{"aria-label":f.reportTabList,className:g(Yi,"grid grid-cols-2 gap-1"),children:AR.map(q=>F(on,{value:q,children:q==="article"?f.tabArticle:f.tabRelations},q))})}),F(pr,{ref:C,value:"article",className:Wc,children:x?y?F(Ao,{report:y,onCancel:O,onPublishSuccess:X,titleInputRef:M}):F("p",{className:Qt,children:f.loading}):F(MR,{report:y,sourceConfig:Pe,isLoading:h,error:T,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:J,userId:d,onEdit:N?K:void 0,editButtonRef:se,onReportDeleted:m,onCommentSectionRemoved:Ee})}),F(pr,{value:"relations",className:Wc,children:F("p",{className:Qt,children:f.relationsEmpty})})]})]})});Go.displayName="DailyReportSidePaneContent";var fr=({className:e="w-32"})=>F("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),MR=({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:f,onReportDeleted:p,onCommentSectionRemoved:R})=>{let{toggleStar:y,toggleRead:T,deleteReport:h}=xe(),{labels:l,headingLevel:S}=k(),x=Dt[S],{handleToggleRead:C}=DR(e,r,a,i,s,T),w=e!==null&&Ln(e.sourceType,t),L=Kc(()=>e?.content?e.content.replace(/<br\s*\/?\s*>/gi,`
5
- `).replace(/<\/p>/gi,`
6
- `).replace(/<[^>]+>/g,""):null,[e]),V=async O=>{try{await y(O.reportHubId,!O.isStarred,O.date)}catch{}},N=async O=>{if(confirm(l.confirmDelete)){try{await h(O.reportHubId,O.date)}catch{alert(l.deleteFailed);return}p(O.reportHubId)}};if(n)return F("p",{className:Er,children:l.reportLoadFailed(o.reportHubId)});let H=!e,K=!!(m&&e?.userId===m);return nt("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:u,children:[nt("div",{className:"flex items-start gap-2",children:[F("dl",{className:"m-0 flex min-w-0 flex-1",children:F(ce,{label:l.subject,classNames:vR,children:H?F(fr,{className:"w-3/4"}):F("span",{className:"text-sm",children:le(e?.subject)})})}),!H&&e&&nt("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[F("button",{type:"button",onClick:()=>V(e),className:Ne,title:e.isStarred?l.starRemove:l.starAdd,"aria-label":e.isStarred?l.starRemove:l.starAdd,"data-detail-star-button":e.reportHubId,children:F(lr,{filled:e.isStarred})}),F("button",{type:"button",onClick:()=>C(e,!1),className:Ne,title:e.isRead?l.markUnread:l.markRead,"aria-label":e.isRead?l.markUnread:l.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?F(bR,{className:Se.read}):F(cr,{})}),u&&F("button",{ref:f,type:"button",onClick:u,"data-detail-edit-button":e.reportHubId,className:Ne,title:l.edit,"aria-label":l.edit,children:F(RR,{className:Se.edit})}),K&&F("button",{type:"button",onClick:()=>N(e),"data-detail-delete-button":e.reportHubId,className:Ne,title:l.deleteReport,"aria-label":l.deleteReport,children:F(gR,{className:Se.delete})})]})]}),F("dl",{className:"m-0",children:F(ce,{label:l.customer,classNames:Uc,children:H?F(fr,{className:"w-1/2"}):F("span",{className:"text-sm",children:le(e?.customerName)})})}),nt("div",{className:"flex flex-col gap-2",children:[F(Be,{level:x,className:it,children:l.content}),F("div",{className:g("min-h-22",fn),children:H?nt("div",{className:"space-y-2",children:[F(fr,{className:"w-full"}),F(fr,{className:"w-11/12"}),F(fr,{className:"w-4/5"})]}):L?F("div",{className:"whitespace-pre-wrap",children:L}):F("p",{className:"text-slate-500 dark:text-slate-400",children:l.contentEmpty})})]}),F("dl",{className:"m-0",children:F(ce,{label:l.visitTime,classNames:Uc,children:H?F(fr,{className:"w-1/3"}):nt("span",{className:"text-sm",children:[le(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",le(e?.visitTimeTo)]})})}),e&&F(vo,{attachments:e.attachments}),e&&F($r,{report:e,userId:m,canComment:w,onCommentAdded:d,onSectionRemoved:R,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};import{jsx as Mt,jsxs as Gc}from"react/jsx-runtime";var WR="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]",KR={right:"var(--aqdr-overlay-right, 0px)"},zR="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",$R=g("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",Zi),jR=g("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",Q),GR="flex shrink-0 justify-center empty:hidden",YR=50,Yc=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=qo(!1),[d,m]=qo(!1),u=et(null),f=et(null),p=et(null),R=et(e),y=et(!0),T=en(r,t),h=Yo(()=>{let C=o.current;if(C===null)return;let w=C.ownerDocument.body;p.current={body:w,overflow:w.style.overflow},w.style.overflow="hidden"},[o]),l=Yo(()=>{let C=p.current;C!==null&&(C.body.style.overflow=C.overflow,p.current=null)},[]);yr(()=>{if(y.current){y.current=!1,R.current=e;return}let C=!R.current;R.current=e,C&&e&&a!==null?s(!0):!e&&i&&(f.current=a,s(!1),l())},[e,a,i,l]);let S=e&&i&&T!==null;yr(()=>{if(S)m(!0);else{let C=setTimeout(()=>m(!1),300);return()=>clearTimeout(C)}},[S]),yr(()=>{if(e&&i&&a!==null&&!u.current){let C=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:C},"",window.location.href),u.current=C}else!(e&&i)&&u.current&&(u.current=null);return e&&i?h():l(),l},[e,i,a,h,l]),yr(()=>{let C=()=>{u.current&&(f.current=a,u.current=null,s(!1),n(null))};return window.addEventListener("popstate",C),()=>window.removeEventListener("popstate",C)},[a,n]);let x=Yo(()=>{e&&(f.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:S,handleOverlayClose:x,lastClosedItemIdRef:f,selectedItem:T}},qc=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=k(),{registerNoticeHost:s}=po(),d=et(null),m=et(null),u=Ii(),f=Ii(),[p,R]=qo(Ti),y=HR(),T=Ii(),h=et(!1),l=et(e),S=et(null),[x]=qo(()=>vi(e)),{isBlocked:C,requestBlock:w,reset:L}=FR(),V=UR(e,t),{overlayRef:N,overlayStyle:H,attemptClose:K,isSwiping:O}=BR({isOpen:e,onClose:r,isCloseBlocked:Yo(()=>C,[C]),skipWhenTextSelected:!0}),X=et(K);xi(()=>{X.current=K,l.current=e,x.set(e)},[K,e,x]),yr(()=>{if(e)return y({id:T,onEscape:Y=>$t(Y)&&X.current()})},[e,y,T]),xi(()=>{let Y=d.current;if(Y===null)return;if(e){if(h.current)return;Y.showModal(),h.current=!0,Y.ownerDocument.getElementById(u)?.focus();return}if(!h.current)return;h.current=!1;let j=Oe(Y);j!==null&&Y.contains(j)&&xr(j)&&j.blur(),Y.close()},[e,u]),xi(()=>{let Y=m.current;if(!(!e||Y===null))return s(Y)},[e,s]),yr(()=>{e||L()},[e,L]);let M=VR(()=>K()),se=Y=>{let j=lo(Y);if($t(j)){K()&&Y.preventDefault();return}if(j.key==="Escape"){S.current=Y.timeStamp;return}let ge=Cl(j,Y.currentTarget);ge!==null&&(Y.preventDefault(),ge.kind==="wrap"&&ge.element.focus())},Ee=Y=>{Y.preventDefault();let j=S.current;S.current=null,!(j!==null&&Y.timeStamp-j<=YR)&&X.current()},J=Y=>{let j=Y.currentTarget;j.open||!l.current||(h.current=!1,!X.current()&&(j.showModal(),h.current=!0))};return V?Gc("dialog",{ref:d,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${u} ${f}`,tabIndex:-1,className:g(WR,e&&!O?"pointer-events-auto":"pointer-events-none"),style:KR,inert:!e,onKeyDown:se,onCancel:Ee,onClose:J,children:[Mt("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:g(zR,e?"opacity-100":"opacity-0"),...M}),Mt("div",{ref:N,"data-daily-report-overlay-panel":"",className:g($R,e?"pointer-events-auto":"pointer-events-none"),style:H,children:Gc("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[Mt(kR.Provider,{value:{isBlocked:C,requestBlock:w},children:Mt("div",{"data-testid":"daily-report-side-pane","data-report-id":V.reportHubId,"data-displayed-report-id":V.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:Mt(Go,{item:V,headingId:u,authorId:f,activeTab:p,onActiveTabChange:R,autoMarkRead:n,isActive:e,dwell:x,userId:o,onReportDeleted:a},V.reportHubId)})}),Mt("div",{ref:m,"data-daily-report-notice-slot":"","data-overlay-interactive":"true",className:GR}),Mt("div",{className:"flex justify-start",children:Mt("button",{type:"button","data-overlay-interactive":"true",className:jR,onClick:()=>K(),children:i.close})})]})})]}):null};import lg from"lucide-react/dist/esm/icons/check.js";import{createContext as dg,memo as eu,useCallback as cg,useContext as Rr,useEffect as ug,useId as sn,useMemo as tu,useRef as mg}from"react";import{createContext as qR,createElement as XR,useLayoutEffect as ZR,useMemo as QR,useRef as JR,useState as eg}from"react";var tg=6.75,rg=4,ng=1e-6,og=e=>4*Math.ceil((2*St+2*pn+rg+tg*e-ng)/4),Xo=qR(null),ag="data-daily-report-root-font-size-probe",ig={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},sg=e=>{let t=Le(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])},Xc=()=>{let e=JR(null),[t,r]=eg(null);ZR(()=>{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=og(sg(o));d!==a&&(a=d,r(d))};i();let s=new ResizeObserver(i);return s.observe(o),()=>s.disconnect()},[]);let n=QR(()=>XR("div",{ref:e,"aria-hidden":!0,[ag]:"",style:ig}),[]);return{rowSlotHeight:t,remProbe:n}};import{jsx as G,jsxs as gr}from"react/jsx-runtime";var pg=g(Et,un,mn,cn),fg=g("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",tt,yn,Fi),yg="min-w-24",bg="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",Rg={touchAction:"manipulation"},gg=g("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",yg),hg=g("relative z-10",Ne),Sg=g("flex h-full",tt),Eg="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",br="h-4 rounded bg-slate-200 dark:bg-slate-700",vg=()=>G("div",{"data-skeleton":!0,...He,className:Sg,children:gr("div",{className:Eg,children:[gr("div",{className:"flex flex-wrap items-center gap-2",children:[G("div",{className:g(br,"w-24")}),G("div",{className:g(br,"w-24")}),G("div",{className:g(br,"w-24")})]}),gr("div",{className:"space-y-2",children:[G("div",{className:g(br,"w-full")}),G("div",{className:g(br,"w-11/12")}),G("div",{className:g(br,"w-5/6")})]})]})}),Tg=e=>{e.target===e.currentTarget&&e.preventDefault()},Ig="h-full w-full",ru=dg(!1),Zc=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=Rr(dt),a=Rr(lt),i=Rr(Xo);if(i===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let s=tu(()=>({height:i}),[i]),{isCurrent:d,isTabStop:m}=Bo(t,e),u=Vo(t,e,o);return G(Vr.Provider,{value:m,children:G(ru.Provider,{value:d,children:G("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:pg,style:s,onMouseDown:Tg,children:u?n:G("div",{...He,className:Ig})})})})},xg=/(<br\s*\/?\s*>|<\/p>|\r?\n)|<[^>]+>/gi,Cg=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(xg))if(r+=e.slice(n,a.index),n=a.index+a[0].length,a[1]!==void 0&&(o(),t.length===Ts))return t;return r+=e.slice(n),o(),t},Dg=({id:e})=>{let{labels:t}=k(),r=Rr(dt),n=Rr(lt);return G("span",{id:e,hidden:!0,children:n===Ar?t.listRowPositionInUnknownTotal(r+1):t.listRowPosition(r+1,n)})},Ag=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=Rr(ru);return G("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:gg,children:o})},Qc=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=ir();return G("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:hg,children:n})},nu=eu(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=k(),{toggleStar:i,toggleRead:s}=xe(),d=sn(),m=sn(),u=sn(),f=sn(),p=sn(),R=tu(()=>Cg(t.content??null),[t.content]),y=le(t.employeeName),T=ie(e.businessDate),h=V=>{V.currentTarget.focus({preventScroll:!0});let N=Gs(V.currentTarget);N!==null&&r(e.reportHubId,N)},l=async()=>{let V=!t.isStarred;try{await i(t.reportHubId,V,t.date)}catch{}},S=async()=>{let V=!t.isRead;try{await s(t.reportHubId,V,t.date)}catch{}},x=t.isStarred?o.starRemove:o.starAdd,C=t.isRead?o.markUnread:o.markRead,w=Vt(t.sourceType,a),L=[d,u,...t.attachments.length>0?[f]:[],...w===void 0?[]:[p],m].join(" ");return gr("div",{"data-daily-report-card":!0,...He,style:Rg,className:fg,children:[G(Dg,{id:d}),G("span",{id:u,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),gr(Ag,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:L,onClick:h,children:[G("span",{className:g(_e,"shrink-0 bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:G("span",{className:"whitespace-nowrap font-medium text-slate-900 dark:text-slate-100",children:T})})," ",G("span",{className:g(_e,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:G("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:y})})]}),gr("div",{className:g(Ui,"ml-auto"),children:[G(vr,{id:f,count:t.attachments.length,label:o.attachments}),w?G(dr,{id:p,config:w}):null,G(Qc,{label:x,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:l,children:G(lr,{filled:t.isStarred})}),G(Qc,{label:C,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:S,children:t.isRead?G(lg,{className:Se.read}):G(cr,{})})]}),G("div",{id:m,className:bg,children:R.length>0?R.map((V,N)=>G("p",{className:"wrap-break-word line-clamp-1",children:V},N)):G("p",{children:o.contentEmptyPreview})})]})});nu.displayName="ListReportCard";var Jc=(e,t)=>cg(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),Ci=eu(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=k(),{removeStaleItem:o}=xe(),{report:a,error:i,isLoading:s,isRefetching:d}=Wt(e.reportHubId,e.businessDate),m=mg(!1);ug(()=>{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=Jc(r,e.reportHubId),f=Jc(r,e.reportHubId),p=(R,y)=>G(Zc,{reportHubId:e.reportHubId,cursor:r,cardless:{label:ie(e.businessDate),isBusy:y,focusTargetRef:u},children:R});return i?p(G("div",{...He,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:G("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?p(G(vg,{}),!0):a?G(Zc,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:G(nu,{item:e,report:a,onSelect:t,focusTargetRef:f})}):p(G("div",{...He,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:G("p",{children:n.reportNotFound})}),!1)});Ci.displayName="ListReportItem";import{Fragment as jg,jsx as we,jsxs as Jo}from"react/jsx-runtime";var iu={pointerDragInputs:Fn,inertiaOptions:nr(!1),wheelSpeedMultiplier:Nn,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},Ng={...iu,inertiaOptions:nr(!0)},Og=Object.freeze({value:360,unit:"pixels"}),Mg=Object.freeze({value:160,unit:"pixels"}),Pg=Object.freeze({value:$c,unit:"pixels"}),kg=Object.freeze({value:520,unit:"pixels"}),Hg=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),Fg=g("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",Q),Bg=g("relative w-full",vn,Sn),Vg=g(je,"relative isolate overflow-hidden"),au="daily-report-list",Ug=()=>!1,Wg=e=>{let[t,r]=ea(!1);return Di(()=>{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<vs)},a=new(Le(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},Ai=e=>{let t=hr(null),[r,n]=ea(null),o=zn(t),a=Wg(t),{rowSlotHeight:i,remProbe:s}=Xc(),d=or(r),m=ot(u=>(t.current=u,n(u),()=>{t.current=null,n(null)}),[]);return Jo("div",{ref:m,className:gn,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:we(Kg,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:d})]})},Kg=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:i,rootRef:s,viewportHeight:d,rowSlotHeight:m,isContainerNarrow:u,reducedMotion:f})=>{let[p]=ea(()=>i?.current??0),R=hr(null),{labels:y}=k(),T=Un(),[h]=ea(Yn),S=Oc()||u,x=hr(null),C=e.length,w=t===void 0?C:t,L=hr(null),V=ot(I=>o(I),[o]),N=ot(I=>I<C?e[I]:Mn,[e,C]),H=ot(I=>{let D=N(I.visibleStartIndex);D.reportHubId>0&&h.setLabel(ie(D.businessDate))},[N,h]),K=Qo(()=>({kind:"uniform",rowHeight:m}),[m]),O=hr(e);Di(()=>{O.current=e},[e]);let{cursor:X,containerProps:M,handleRangeChange:se,handleScrollAdjust:Ee,attachVirtualScroll:J,handleRef:Y,scroller:j,attachScrollContainer:ge,contentProps:Pe,keyboardHelp:q,selection:ve,settledSelection:Xe,resolveSelectedIndex:he,rememberSelection:pe,focusAfterRemoval:Ze}=Wo({items:e,selectedId:n,onSelect:V,containerRef:R,rootRef:s,testId:au,itemsRef:O,rowSizing:K,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:Ug,onRangeChange:H}),{isMobileDetailOpen:Qe,setIsMobileDetailOpen:yt,isOverlayMounted:bt,shouldShowOverlay:Rt,handleOverlayClose:Ke,lastClosedItemIdRef:Ae,selectedItem:ke}=Yc({isMobileLayout:S,selection:ve,dailyReportItems:e,onSelectItem:o,rootRef:s}),gt=Qo(()=>({selected:ve,settled:Xe}),[ve,Xe]);Zo(()=>{let I=R.current,D=()=>{h.setWheelScrollActive(!0),x.current&&clearTimeout(x.current),x.current=window.setTimeout(()=>{h.setWheelScrollActive(!1),x.current=null},Pn)};return I?.addEventListener("wheel",D,{passive:!0}),()=>{I?.removeEventListener("wheel",D),x.current&&clearTimeout(x.current)}},[h]),Zo(()=>{!C&&n!==null&&o(null)},[C,n,o]),Zo(()=>{if(Qe||Ae.current===null)return;let I=Ae.current;Ae.current=null;let D=he(e,I);if(D===-1)return;let B=Y.current;if(B!==null){let z=Yr(B,D,e.length,K),ne=z===null?"none":ec(z);ne!=="none"&&j.toIndex(D,{align:ne})}X.requestFocus(I)},[Qe,e,Ae,X,he,Y,K,j]),Zo(()=>{C>0&&h.setLabel(ie(e[0].businessDate))},[e,C,h]);let ze=ot((I,D)=>{I<=0||(pe(I,D),o(I),S&&yt(!0))},[S,o,yt,pe]),c=ot(()=>m,[m]),b=hr(m);Di(()=>{let I=b.current;b.current=m;let D=Y.current;if(I===m||D===null)return;let B=D.getScrollPosition();B>0&&j.by(B*m/I-B)},[Y,m,j]);let v=ot(I=>N(I).reportHubId,[N]),E=ot((I,D)=>we(dt.Provider,{value:D,children:we(Ci,{item:I,onSelect:ze,cursor:X})},I.reportHubId),[ze,X]),A=ot(I=>{i&&(i.current=I);let D=R.current;D&&(D.toggleAttribute(Zt,!0),L.current&&clearTimeout(L.current),L.current=setTimeout(()=>{D.toggleAttribute(Zt,!1),L.current=null},150))},[i]),P=ot(I=>we(qn,{...I,store:h}),[h]),Z=Qo(()=>Jo("div",{ref:ge,className:Vg,...M,children:[q,we(lt.Provider,{value:w,children:we(Xo.Provider,{value:m,children:we(wg,{ref:J,itemCount:C,getItem:N,getItemKey:v,getItemHeight:c,viewportSize:d,initialScrollOffset:p,overscanCount:kn,scrollBarOptions:{...Hn,renderThumbOverlay:P},behaviorOptions:f?Ng:iu,onRangeChange:se,onScrollAdjust:Ee,onScroll:A,testId:au,className:Bg,locale:T.locale,labels:T.labels,contentProps:Pe,children:E})})})]}),[ge,J,M,w,C,N,v,c,d,m,f,p,P,se,Ee,A,q,Pe,T.locale,T.labels,E]),W=Qo(()=>Jo(_g,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[we(ou,{id:"daily-report-list-panel",defaultSize:Og,minSize:Mg,maxSize:kg,contentOverflow:"hidden",className:zg,children:Z}),we(Lg,{id:"daily-report-list-handle",thickness:10,indicator:Hg,className:Fg,"aria-label":y.resizeHandle}),we(ou,{id:"daily-report-detail-panel",minSize:Pg,contentOverflow:"hidden",className:$g,children:we(jc,{dailyReportItems:e,autoMarkRead:r,userId:a,onReportDeleted:Ze})})]}),[Z,y.resizeHandle,e,r,a,Ze]);return Jo(jg,{children:[we("div",{className:hn,children:S?we("div",{className:je,children:Z}):we(jo.Provider,{value:gt,children:W})}),bt&&we(qc,{isOpen:Rt,selectedItem:ke,onClose:Ke,autoMarkRead:S&&r,userId:a,onReportDeleted:Ze})]})},zg=g("flex min-h-0",Mi),$g=g("flex min-h-0 flex-1",Et);import{useCallback as uh,useEffect as fu,useLayoutEffect as Ni,useRef as na}from"react";import Xg from"lucide-react/dist/esm/icons/plus.js";import Zg from"lucide-react/dist/esm/icons/refresh-cw.js";import Qg from"lucide-react/dist/esm/icons/rotate-cw.js";import{useEffect as mu,useMemo as Jg,useRef as Li,useState as ra}from"react";import{useSearchParams as eh}from"react-router";import{useEffect as Gg,useRef as su,useState as Yg}from"react";var lu=(e,t,r=250)=>{let n=or(t),[o,a]=Yg(e),i=su(e),s=su(!0);return Gg(()=>{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=Le(t),u=0,f=null,p=R=>{f===null&&(f=R);let y=Math.min(1,Math.max(0,(R-f)/r)),T=1-(1-y)**3,h=Math.round(d+(e-d)*T);i.current=h,a(h),y<1&&(u=m.requestAnimationFrame(p))};return u=m.requestAnimationFrame(p),()=>m.cancelAnimationFrame(u)},[e,r,n,t]),n?e:o};import*as ln from"@radix-ui/react-switch";import*as cu from"react";import{jsx as du}from"react/jsx-runtime";var ta=cu.forwardRef(({className:e,...t},r)=>du(ln.Root,{className:g(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${zi} ${ji} ${Q}`,e),...t,ref:r,children:du(ln.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${$i} ${Gi}`})}));ta.displayName=ln.Root.displayName;import{useSyncExternalStore as qg}from"react";var uu=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)})}},_i=e=>qg(e.subscribe,e.get,e.get);import{Fragment as ch,jsx as re,jsxs as ft}from"react/jsx-runtime";var th="list",rh=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},nh=g(qi,ts,"ml-[8px] flex flex-wrap items-center gap-2"),pu="relative h-4 w-4 p-0 after:absolute after:-inset-1",oh="flex items-center gap-2",ah=({count:e})=>{let{labels:t}=k(),[r,n]=ra(null),o=lu(e,r);return re(zo,{ref:n,text:t.totalCount(o),widestText:t.totalCount(Qr(Math.max(e,o)))})},ih=({setSize:e})=>{let{labels:t}=k();return e===Ar?re("span",{children:t.totalCountLoading}):re(ah,{count:e})},sh=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let i=_i(e);return re(Ai,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:i,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},lh=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=_i(e);return re(gi,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},dh=({tabItems:e,actions:t})=>{let[r,n]=ra(th),{labels:o}=k();return ft(rn,{value:r,onValueChange:a=>n(rh(a)),className:g("@container/views",je),children:[ft("div",{className:g(nh,rs[r]),children:[re(nn,{"aria-label":o.viewTabList,className:"flex flex-wrap gap-1",children:e.map(({value:a,label:i})=>re(on,{value:a,children:i},a))}),t]}),e.map(({value:a,content:i})=>re(pr,{value:a,className:g("mt-0",je),children:i},a))]})},wi=({userId:e})=>{let[t,r]=ra(!1),{labels:n,renderHeader:o,showDevControls:a}=k(),{toggleSse:i,createReport:s,refetchData:d,clearCacheAndRefetch:m}=xe(),{isSseEnabled:u,items:f}=ho(),[p]=eh(),R=Xs(f.length,Rl()),y=Li(0),T=Li({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[h]=ra(()=>uu(f.length===0?null:f[0].reportHubId)),l=Li(!1);mu(()=>{!l.current&&f.length>0&&(l.current=!0,h.get()===null&&h.set(f[0].reportHubId))},[f,h]);let S=async()=>{await d()},x=async()=>{await m()},C=async()=>{let N=p.get("businessDate")||la(),H=await s(N);h.set(H)};mu(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let w=V=>{r(V),localStorage.setItem("daily-report-auto-read",String(V))},L=Jg(()=>[{value:"list",label:n.tabList,content:re(sh,{selectionStore:h,dailyReportItems:f,rowSetSize:R,autoMarkRead:t,userId:e,scrollOffsetRef:y})},{value:"tree",label:n.tabTree,content:re("div",{className:g("flex flex-1 items-center justify-center",Qt),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:re(lh,{selectionStore:h,dailyReportItems:f,rowSetSize:R,userId:e,scrollRestoreRef:T})}],[f,R,t,e,n,h]);return ft(ch,{children:[o({title:n.title,annotation:ft("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[re(Jr,{}),re(ih,{setSize:R}),re("span",{children:n.debounce(er)})]})}),re("div",{className:bn,children:re("div",{className:Rn,children:re(dh,{tabItems:L,actions:ft("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[ft(ut,{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:[re(Xg,{className:"h-3 w-3"}),re("span",{children:n.createReport})]}),a&&ft("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:[re("span",{className:"select-none font-bold font-mono text-amber-800 text-xs uppercase dark:text-amber-200",children:"dev"}),re(ta,{id:"sse-mode","aria-label":n.devSseToggle,title:n.devSseToggle,checked:u,onCheckedChange:i}),ft("div",{className:oh,"data-testid":"dev-icon-buttons",children:[re(ut,{variant:"ghost",size:"icon",onClick:S,className:g(pu,"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:re(Qg,{className:"size-3"})}),re(ut,{variant:"ghost",size:"icon",onClick:x,className:g(pu,"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:re(Zg,{className:"size-3"})})]})]}),ft("div",{className:"flex items-center gap-1 pl-1",title:n.autoReadTitle,children:[re(ta,{id:"auto-read-mode",checked:t,onCheckedChange:w}),re(jr,{htmlFor:"auto-read-mode",className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:n.autoRead})]})]})})})})]})};import{Fragment as yu,jsx as Re,jsxs as dn}from"react/jsx-runtime";var mh=g(je,Et),ph=g("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 outline-none dark:text-slate-300",tt),fh=({isFailed:e,panelRef:t,onLeaveWithFocus:r})=>{let{labels:n,renderHeader:o}=k();Ni(()=>()=>{let i=t.current;i?.contains(i.ownerDocument.activeElement)&&r()},[t,r]);let a=()=>{t.current?.focus({preventScroll:!0}),to()};return dn(yu,{children:[o({title:n.title,annotation:e?Re("span",{className:g("font-bold",Er),children:n.loadErrorBadge}):dn("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[Re(Jr,{}),Re("span",{children:n.totalCountLoading}),Re("span",{children:n.debounce(er)})]})}),Re("div",{className:bn,children:Re("div",{className:Rn,children:Re("div",{className:mh,children:Re("div",{ref:t,tabIndex:-1,"data-testid":"daily-report-status-panel","data-phase":e?"failed":"loading",className:g(ph,e&&"border-red-200 dark:border-red-900"),children:e?dn(yu,{children:[Re("p",{className:g("font-medium",Er),children:n.loadError}),Re("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:a,className:g("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",Q),children:n.reload})]}):Re("p",{children:n.loadingIds})})})})})]})},yh=(e,t)=>e.retryingCount!==null?{status:t.streamRetrying(e.retryingCount),alert:""}:e.phase==="failed"?{status:"",alert:e.hasItems?t.streamFailed:t.loadError}:!e.hasItems&&(e.phase==="idle"||e.phase==="streaming")?{status:t.loadingIds,alert:""}:{status:"",alert:""},bh=({regionRef:e})=>{let{labels:t}=k(),{status:r,alert:n}=yh(yl(),t);return dn("div",{ref:e,tabIndex:-1,"data-testid":"daily-report-stream-announcer",className:"sr-only",children:[Re("p",{role:"status",children:r}),Re("p",{role:"alert",children:n})]})},Rh=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=k(),o=oo(),a=na(null),i=na(null),s=na(!1),d=uh(()=>{s.current=!0},[]),m=na(n);Ni(()=>{m.current=n}),fu(()=>{Nr({apiBasePath:r,userKey:t??null})},[r,t]),fu(()=>{o.phase==="auth-required"&&m.current()},[o.phase]);let u=o.hasItems||o.phase==="complete";return Ni(()=>{if(!s.current)return;s.current=!1;let f=i.current;if(!u||f===null)return;let p=Gn(f.ownerDocument);p===null?f.focus({preventScroll:!0}):p.focus({preventScroll:!0})}),dn(Ba,{children:[Re(bh,{regionRef:i}),Re(hi.Provider,{value:!1,children:Re(Ga,{user:e,userId:t,children:u?Re(wi,{userId:t}):Re(fh,{isFailed:o.phase==="failed",panelRef:a,onLeaveWithFocus:d})},t??"anonymous")})]})},gh=({config:e,...t})=>Re(ba,{config:e,children:Re(Rh,{...t})});var hh=new Set(tl.filter(e=>e!=="clearCache")),Sh=({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 R=a.get(Fe.intent);if(typeof R=="string"&&hh.has(R))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},Eh=e=>{let t=async r=>{Oa();let n=await r.serverLoader(),o=n.userId;return Na({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};export{ys as DAILY_REPORT_LABEL_CATALOGS,ua as DAILY_REPORT_LABEL_KEYS,om as DAILY_REPORT_LAYOUT_LATTICE_PX,Ga as DailyReportActionProvider,vr as DailyReportAttachmentIndicator,ba as DailyReportConfigProvider,gi as DailyReportDetailList,Ba as DailyReportErrorProvider,Lr as DailyReportIdsStreamClient,Jr as DailyReportIdsStreamStatus,Ai as DailyReportList,gh as DailyReportPage,wi as DailyReportResolvedContent,Na as bootstrapDailyReportIdsStreamSession,Eh as createDailyReportClientLoader,Sh as dailyReportShouldRevalidate,Tr as defaultDailyReportClientConfig,Nr as ensureDailyReportIdsStreamSession,Oa as primeDailyReportIdsStreamSession,fa as resolveDailyReportLabels,Vt as resolveSourceTypeConfig,ro as resyncDailyReportIdsStream,Yp as useDailyReportActionContext,oi as useDailyReportComments,k as useDailyReportConfig,Wt as useDailyReportDetail,ip as useDailyReportIdsStream,Ia as useDailyReportPrefetch,Ha as useDailyReportSseConnection};
6
+ `,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 Ey=50,Iy=32,Pd=0,Ty=()=>(Pd+=1,Pd),vy=1e3,Dy=3e4,Ay=6,Cy=3e4,Xo=Symbol("read-stall"),_y="/daily_report/api",fn=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=mn();this.apiBasePath=t.apiBasePath??_y,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??Cy,this.publishCoalesceMs=t.publishCoalesceMs??Ey,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(l=>l.reportHubId)),i=new Map(n.map(({previous:l})=>[l.reportHubId,l])),s=[];for(let l of t){if(a.has(l.reportHubId))continue;let c=i.get(l.reportHubId);s.push(c===void 0?l:c)}for(let l of o)s.push(l);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>=Ay){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(vy*2**(this.consecutiveFailures-1),Dy))}}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(d=>{o=this.setTimeoutFn(()=>d(Xo),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===Xo)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=Od(),l=!1,c=!1;for(;;){let d=await this.readWithStallGuard(i);if(d===Xo)return r.abort(),i.cancel().catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let p=d.done?s.end():s.push(d.value),m=!1;for(let f of p){if(f.trim()==="")continue;let b;try{b=JSON.parse(f)}catch{this.warn("[DailyReportIdsStream] skipped malformed line");continue}let R=Tl(b);if(R==="unknown"){this.warn("[DailyReportIdsStream] skipped line of unknown kind");continue}if(R==="error"){l=!0;continue}let g=b;m=this.absorbChunkLine(g)||m,typeof g.total=="number"&&Number.isFinite(g.total)&&g.total!==this.state.totalCount&&this.publish({totalCount:g.total}),g.nextCursor&&(g.nextCursor.businessDate===null||Ro(g.nextCursor.businessDate))&&(this.lastCursor=g.nextCursor),g.isLast&&(c=!0)}if(m&&(this.consecutiveFailures=0,this.schedulePublishItems()),d.done)break}return l?{kind:"retryable",error:new Error("Stream interrupted by server error")}:c?{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(Xo),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"&&xo(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=Ty(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange=mn(),{loadedCount:this.itemMap.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-Iy),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=Nd({cursor:this.lastCursor,snapshot:this.lastCursor===null?null:this.lastSnapshot,forceRefresh:t}).toString();return`${this.apiBasePath}/${bo}${r?`?${r}`:""}`}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 My=6e4,ae=null,kd=!1,yn=new Set,Qo={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},Ni=()=>{for(let e of yn)e()},Mi=()=>{ae&&(ae.unsubscribe(),ae.client.dispose(),ae=null,Ni())},bn=e=>{if(typeof window>"u")return;let t=e.apiBasePath??on.apiBasePath;if(ae&&(ae.userKey!==e.userKey||ae.apiBasePath!==t)&&(ae.userKey!==e.userKey&&ln(),Mi()),!ae){let r=new fn({apiBasePath:t});ae={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(Ni)},Oy(),r.start(),Ni();return}Jo(ae)},Jo=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>My&&e.client.refresh()},Oy=()=>{if(kd||typeof document>"u"||typeof window>"u")return;kd=!0;let e=()=>{ae&&Jo(ae)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},Oi=e=>{if(!(typeof window>"u")){if(!ae){bn(e);return}if(ae.userKey!==e.userKey){ln(),Mi(),bn(e);return}Jo(ae)}},Pi=()=>{typeof window>"u"||!ae||Jo(ae)},Rn=e=>{ae?.client.applyExternalUpsert(e)},ea=e=>{ae?.client.applyExternalRemoval(e)},Fd=e=>ae===null?!1:ae.client.has(e),Py=()=>ae===null?[]:ae.client.readItems(),ki=()=>ae===null?0:ae.client.getState().itemsRevision,ta=()=>{ae?.client.retry()},ra=()=>{ae?.client.resync()},Sn=(e={})=>{ae?.client.refresh(e)},Bd=()=>ae?.userKey,gn=e=>(yn.add(e),()=>yn.delete(e)),Zo=()=>ae?.client.getState()??Qo,ky=()=>Qo,Hy=()=>hn(gn,Zo,ky),na=(e,t)=>{let r=Qo,n=e(Qo);return()=>{let o=Zo();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},Vd=na(({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),Fy=Vd(),kr=()=>hn(gn,Vd,()=>Fy),Ud=na(({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),By=Ud(),Kd=()=>hn(gn,Ud,()=>By),Wd=na(({phase:e,loadedCount:t})=>({phase:e,hasItems:t>0,retryingCount:e==="retrying"?t:null}),(e,t)=>e.phase===t.phase&&e.hasItems===t.hasItems&&e.retryingCount===t.retryingCount),Vy=Wd(),$d=()=>hn(gn,Wd,()=>Vy),zd=na(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),Uy=zd(),jd=()=>hn(gn,zd,()=>Uy),Gd=e=>e.phase==="complete"&&!e.isRevalidating,Hd=e=>`${e.itemsRevision}:${Gd(e)}`,qd=()=>{let[,e]=Ny(0),t=Zo(),r=Hd(t);return wy(()=>{let n=r,o=()=>{let a=Hd(Zo());a!==n&&(n=a,Ly(()=>e(i=>i+1)))};return yn.add(o),o(),()=>{yn.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readItems:Py,settled:Gd(t)}};import.meta.hot?.dispose(Mi);var pr=Cr(void 0,1,"SseConnection"),zy=Object.freeze({kind:"resyncing"}),Yd={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},jy=1,Xd=li*3,Gy=Xd+li,Fi=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=$(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=kr(),[l,c]=$y({generation:0,minAnchorRevision:1,anchored:!1}),d=l.generation>0&&!l.anchored,p=d&&a==="complete"&&!i?s:null,m=aa(0),f=aa(null),b=aa(n);b.current=n;let R=aa(0);R.current=o===null?0:o.revision,Hi(()=>{l.anchored||o===null||o.revision<l.minAnchorRevision||(f.current=o.lastEventId,m.current=0,c({...l,anchored:!0}))},[l,o]),Hi(()=>{if(!e||p===null)return;let{initialDelayMs:u,maxDelayMs:h,multiplier:I}=Yd,v=oa.random()*Math.min(h,u*I**m.current);pr.warn(`SSE resync: the ids rescan gave up (${p.message}); rescanning in ${Math.round(v)} ms`);let E=oa.setTimer(()=>{m.current+=1,ra()},v);return()=>oa.clearTimer(E)},[e,p]);let{status:g}=Wy(e&&l.anchored?`${r}#${l.generation}`:null,{resolveUrl:({lastEventId:u})=>u===null?r:`${r}?${Ll}=${encodeURIComponent(u)}`,initialLastEventId:f.current,withCredentials:!1,createEventSource:Ky,runtime:oa,backoff:Yd,healthyOpenMs:Gy,nativeRetryLimit:jy,giveUpAfterFailures:"never",terminalEvents:_l,heartbeat:{staleAfterMs:Xd,onHeartbeat:null},events:{message:u=>{u.lastEventId!==""&&(xo(u.lastEventId)?f.current=u.lastEventId:pr.warn("SSE event carried a malformed id; keeping the previous cursor:",u.lastEventId));try{let h=JSON.parse(u.data),I=wl.safeParse(h);if(!I.success){pr.error("SSE Validation Error:",I.error.flatten(),"raw message:",h);return}if(I.data.type==="connected"){pr.info("SSE Subscribe Ready");return}t(I.data)}catch(h){pr.error("SSE Parse Error",h)}}}});return Hi(()=>{if(g.kind==="faulted"){pr.error("SSE connection faulted:",g.error);return}if(g.kind==="terminated")switch(g.terminalEvent){case"auth-required":b.current();return;case"forbidden":pr.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let u=R.current+1;c(h=>({generation:h.generation+1,minAnchorRevision:u,anchored:!1})),ra();return}}},[g]),e&&d?zy:g};import{createContext as qy,useCallback as Yy,useSyncExternalStore as Qd}from"react";var Zd=()=>{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)}}},Bi=qy(null),$t=()=>dt(Bi,"useDailyReportDraftStore","DailyReportActionProvider"),Jd=(e,t)=>Yy(r=>e.subscribe(t,r),[e,t]),ia=e=>{let t=$t(),r=()=>t.modeOf(e);return Qd(Jd(t,e),r,r)},ec=e=>{let t=$t(),r=()=>t.inputOf(e),n=Qd(Jd(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};import{useOverlayEscapeStack as rb}from"@aiquants/swipe-overlay";import{createContext as nb,Fragment as ob,useCallback as la,useId as Ui,useLayoutEffect as dc,useMemo as ab,useRef as fr,useState as ic}from"react";import{createPortal as sc}from"react-dom";var Xy=Object.freeze({visibilityProperty:!0,opacityProperty:!0}),tc="data-daily-report-view-tabs",rc={[tc]:""},nc="data-daily-report-status-panel",oc={[nc]:""},Qy=e=>{for(let t of e.getClientRects())if(t.width>0&&t.height>0)return!0;return!1},Zy=e=>e.isConnected&&dn(e)&&Qy(e)&&e.checkVisibility(Xy),St=e=>{for(let t of e)if(!(t===null||!Zy(t))&&(t.focus({preventScroll:!0}),Te(t)===t))return t;return null},Vi=e=>e.querySelector(`[${tc}] [role="tab"][aria-selected="true"]`),sa=e=>[Wo(e),Vi(e),e.querySelector(`[${nc}]`)];var mr=e=>e.isComposing||e.keyCode===229,Hr=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 Jy={kind:"hold"},eb=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),tb=(e,t)=>{let r=e.getAttribute("role");return r!==null&&eb.has(r)&&e!==t&&e.contains(t)},Lt=e=>e.key==="Escape"&&!e.defaultPrevented&&!mr(e),ac=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||mr(e))return null;let r=e.target;if(!(Re(r)&&t.contains(r)))return null;let n=fd(t);if(n.length===0)return Jy;let{before:o,within:a,after:i}=Bo(t,r);return e.shiftKey?o.some(s=>!tb(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};import{jsx as gt,jsxs as uc}from"react/jsx-runtime";var ib=x("motion-safe:fade-in motion-safe:slide-in-from-bottom-2 flex w-fit min-w-0 max-w-full 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:animate-in motion-safe:duration-200 dark:border-red-500/60 dark:bg-red-700",Ft),sb="flex shrink-0 justify-center p-[8px]",lb=x("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",qs),db="data-daily-report-notice-alert",cb={[db]:""},cc=nb(null),da=()=>dt(cc,"useDailyReportErrorSurface","DailyReportErrorProvider"),lc=({notice:e})=>gt("div",{role:"alert",...cb,className:"sr-only",children:e===null?null:gt("span",{children:e.info.message},e.occurrence)}),ub=({notice:e,closeLabel:t,repeatedLabel:r,onDismiss:n})=>{let o=fr(null),a=fr(null),i=fr(null),s=rb(),l=Ui(),c=Ui(),d=Ui(),p=e.repeat>1?`${c} ${d}`:c,m=la(()=>{let R=o.current;if(R?.contains(R.ownerDocument.activeElement)){let[g,...u]=sa(R.ownerDocument);St([a.current,g,R.closest("dialog"),...u])}n()},[n]),f=R=>{if(i.current!==null)return;let g=R.relatedTarget;a.current=Re(g)&&!R.currentTarget.contains(g)?g:null,i.current=s({id:l,onEscape:u=>Lt(u)?(m(),!0):!1})},b=R=>{Re(R.relatedTarget)&&R.currentTarget.contains(R.relatedTarget)||(i.current?.(),i.current=null,a.current=null)};return dc(()=>()=>{i.current?.(),i.current=null},[]),uc("div",{ref:o,role:"group","aria-labelledby":p,"data-testid":"daily-report-error-banner",className:ib,onFocus:f,onBlur:b,children:[gt("span",{id:c,className:"min-w-0 font-medium",children:gt(ob,{children:e.info.message},e.occurrence)}),e.repeat>1&&gt("span",{id:d,className:"shrink-0 font-normal tabular-nums",children:r(e.repeat)}),gt("button",{type:"button","aria-label":t,"aria-describedby":p,onClick:m,className:lb,children:"\u2715"})]})},Ki=({children:e})=>{let{onError:t,labels:r}=$(),[n,o]=ic(null),[a,i]=ic([]),s=fr([]),l=fr(0),c=fr(0),d=fr(t);dc(()=>{d.current=t});let p=la(h=>{let I=d.current;if(I){I(h);return}c.current+=1;let v=c.current,E=s.current,T=E.length===0?null:E[E.length-1].registration;o(N=>({info:h,occurrence:v,repeat:N!==null&&N.info.message===h.message?N.repeat+1:1,announcedIn:T}))},[]),m=la(h=>{l.current+=1;let I={element:h,registration:l.current};return s.current=[...s.current,I],i(s.current),()=>{s.current=s.current.filter(v=>v!==I),i(s.current)}},[]),f=la(()=>o(null),[]),b=ab(()=>({notifyError:p,registerNoticeHost:m}),[p,m]),R=a.at(-1),g=n===null?null:gt(ub,{notice:n,closeLabel:r.close,repeatedLabel:r.noticeRepeated,onDismiss:f}),u=h=>n!==null&&n.announcedIn===h?n:null;return uc(cc.Provider,{value:b,children:[e,gt(lc,{notice:u(null)}),a.map(h=>sc(gt(lc,{notice:u(h.registration)}),h.element,String(h.registration))),g!==null&&R!==void 0&&sc(g,R.element),g!==null&&R===void 0&&gt("div",{"data-daily-report-notice-slot":"",className:sb,children:g})]})};import{useState as pb}from"react";var mb={items:[],held:new Map,hidden:new Map,revision:null,settled:!1},Fr=(e,t)=>{let r=0,n=e.length;for(;r<n;){let o=r+n>>1;or(e[o],t)<0?r=o+1:n=o}return r<e.length&&e[r].reportHubId===t.reportHubId?r:-1},Wi=(e,t,r)=>{let n=r,o=e.length;for(;n<o;){let a=n+o>>1;or(e[a],t)<=0?n=a+1:o=a}return n},fb=(e,t)=>e.businessDate===t.businessDate,Br={removals:[],replacements:[],additions:[],insertions:[]},yb=(e,t)=>{if(t.length===0)return[];if(e.length===0||or(e[e.length-1],t[0])<0)return new Array(t.length).fill(e.length);let r=[],n=0;for(let o of t)n=Wi(e,o,n),r.push(n);return r},xn=(e,t)=>{let{additions:r,insertions:n}=t;if(t.removals.length===0&&t.replacements.length===0&&r.length===0)return e;let o=[...t.removals].sort((f,b)=>f-b),a=[...t.replacements].sort((f,b)=>f.index-b.index),i=e.length,s=new Array(i-o.length+r.length),l=0,c=0,d=0,p=0,m=0;for(;;){let f=Math.min(d<o.length?o[d]:i,p<a.length?a[p].index:i,m<r.length?n[m]:i);for(;c<f;c++)s[l++]=e[c];for(;m<r.length&&n[m]===f;m++)s[l++]=r[m];if(f===i)break;d<o.length&&o[d]===f?(d+=1,c=f+1):p<a.length&&a[p].index===f&&(s[l++]=a[p].item,p+=1,c=f+1)}return s},mc=(e,t,r,n)=>{let o=new Set,a=[],i=new Map;for(let l of t.readItems())o.add(l.reportHubId),n.has(l.reportHubId)?i.set(l.reportHubId,l):a.push(l);let s=new Map;for(let l of e.items){if(o.has(l.reportHubId)||n.has(l.reportHubId))continue;let c=e.held.get(l.reportHubId),d=c===void 0?Number.NEGATIVE_INFINITY:c.since;r&&l.reportHubId>0&&t.itemsRevision>d||(s.set(l.reportHubId,{item:l,since:d}),a.push(l))}return ii(a)||a.sort(or),{items:a,held:s,hidden:i,revision:t.itemsRevision,settled:r}},bb=(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?[]:Md(t.itemsChanges,o);if(o===null||a===null)return mc(e,t,r,n);let i=mn();for(let E of a)i.fold(E);let{appended:s,replaced:l,removed:c}=i.build(o,t.itemsRevision),d=e.items,p=null,m=()=>(p===null&&(p=new Map(e.held)),p),f=null,b=()=>(f===null&&(f=new Map(e.hidden)),f),R=[],g=[],u=[];for(let E of c){if(e.hidden.has(E.reportHubId)&&b().delete(E.reportHubId),e.held.has(E.reportHubId))continue;let T=Fr(d,E);T!==-1&&(r||n.has(E.reportHubId)?R.push(T):m().set(E.reportHubId,{item:E,since:Number.NEGATIVE_INFINITY}))}let h=(E,T)=>{let N=E.reportHubId,O=e.held.get(N);O!==void 0&&m().delete(N);let C=O===void 0?T:O.item,k=C===void 0?-1:Fr(d,C);if(n.has(N)){k!==-1&&R.push(k),b().set(N,E);return}if((f===null?e.hidden:f).has(N)&&b().delete(N),k!==-1&&fb(d[k],E)){d[k].sourceType!==E.sourceType&&g.push({index:k,item:E});return}k!==-1&&R.push(k),u.push(E)};for(let{previous:E,next:T}of l)h(T,E);for(let E of s)h(E,void 0);let I=t.itemsRevision;if(r)for(let[E,T]of p===null?e.held:p){if(E<=0||I<=T.since)continue;let N=Fr(d,T.item);N!==-1&&R.push(N),m().delete(E)}return ii(u)||u.sort(or),{items:xn(d,{removals:R,replacements:g,additions:u,insertions:yb(d,u)}),held:p===null?e.held:p,hidden:f===null?e.hidden:f,revision:I,settled:r}},pc=new WeakMap,hb=(e,t,r,n)=>{let o=pc.get(e);if(o!==void 0&&o.revision===t.itemsRevision&&o.changes===t.itemsChanges&&o.settled===r&&o.tombstones===n)return o.rows;let a=bb(e,t,r,n);return pc.set(e,{revision:t.itemsRevision,changes:t.itemsChanges,settled:r,tombstones:n,rows:a}),a},fc=(e,t,r)=>{let[n,o]=pb(()=>mc(mb,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>hb(a,e,t,r)),[n,o]},Rb=(e,t)=>{for(let r=0;r<e.length;r++)if(e[r].reportHubId===t)return!0;return!1},ca=(e,t,r)=>{if(e.hidden.has(t.reportHubId))return $i(e,t.reportHubId);if(e.held.has(t.reportHubId)||Fr(e.items,t)!==-1||Rb(e.items,t.reportHubId))return e;let n=xn(e.items,{...Br,additions:[t],insertions:[Wi(e.items,t,0)]}),o=new Map(e.held);return o.set(t.reportHubId,{item:t,since:r}),{...e,items:n,held:o}},$i=(e,t)=>{let r=e.hidden.get(t);if(r===void 0)return e;let n=new Map(e.hidden);return n.delete(t),{...e,items:xn(e.items,{...Br,additions:[r],insertions:[Wi(e.items,r,0)]}),hidden:n}},En=(e,t)=>{let r=e.held.get(t);if(r===void 0)return e;let n=Fr(e.items,r.item),o=new Map(e.held);return o.delete(t),{...e,items:xn(e.items,n===-1?Br:{...Br,removals:[n]}),held:o}},yc=(e,t)=>{let r=e.held.get(t.reportHubId),n=Fr(e.items,r===void 0?t:r.item);if(r===void 0&&n===-1)return e;let o=new Map(e.held);return o.delete(t.reportHubId),{...e,items:xn(e.items,n===-1?Br:{...Br,removals:[n]}),held:o}},bc=e=>({...e,revision:null});var zi=(e,t,r)=>{if(!Number.isFinite(e)||e<=0)throw Ve("createExpiringLedger: ttlMs","a finite number greater than 0 (the time to live in ms)",e);let n=new Map,o=()=>{let a=t();for(let[i,s]of n){if(s.deadline>a)return;n.delete(i),r(i,s.value)}};return{add:(a,i)=>{o(),n.delete(a),n.set(a,{value:i,deadline:t()+e})},get:a=>(o(),n.get(a)?.value),remove:a=>{o();let i=n.get(a);if(i!==void 0)return n.delete(a),i.value},drain:()=>{let a=[...n.values()].map(i=>i.value);return n.clear(),a},size:()=>n.size}};var ji=0,Gi=e=>{let t=Kt("drawTemporaryId: nowMs",e,1);return ji=Math.min(-t,ji-1),ji};import{jsx as Xi,jsxs as Nb}from"react/jsx-runtime";var wt=Cr(void 0,1,"ActionProvider"),gb=3e4,xb=3e4,Eb=1e3,Ji=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},Ib=e=>{let t=zi(gb,e,()=>{});return{add:r=>t.add(r,!0),has:r=>t.get(r)===!0}},Tb=e=>zi(xb,e,(t,r)=>{r.unsubscribe(),wt.warn(`[SSE Queue] Expired: reportHubId=${t}, dropped=${r.messages.length} messages`)}),qv=Object.freeze(["delete","deleteComment"]),vb=e=>e.intent==="create"?null:e.reportHubId,Db=(e,t)=>{let r=e;if(r.intent==="clearCache"||r.clientTempId!==t.clientTempId)return!1;let n=vb(t);return n===null||r.reportHubId===n},pa=globalThis.__DailyReportActionsContext??Rc(null);globalThis.__DailyReportActionsContext=pa;var ma=globalThis.__DailyReportActionStateContext??Rc(null);globalThis.__DailyReportActionStateContext=ma;var ua="DailyReportActionProvider",Ue=()=>dt(pa,"useDailyReportActions",ua),fa=()=>dt(ma,"useDailyReportActionState",ua),Ab=()=>{let e=dt(pa,"useDailyReportActionContext",ua),t=dt(ma,"useDailyReportActionContext",ua);return Zi(()=>({...e,...t}),[e,t])},yr=(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},Yi=(e,t)=>e.has(t)?e:new Set(e).add(t),Cb=(e,t)=>{if(!e.has(t))return e;let r=new Set(e);return r.delete(t),r},_b=e=>{let t={pendingAddCommentIds:new Map,pendingDeleteCommentIds:new Map,pendingStarUpdates:new Map,pendingReadUpdates:new Map,resolvedIdMap:new Map};return{ledgers:Object.freeze({pendingAddCommentIds:Object.freeze({current:t.pendingAddCommentIds}),pendingDeleteCommentIds:Object.freeze({current:t.pendingDeleteCommentIds}),pendingStarUpdates:Object.freeze({current:t.pendingStarUpdates}),pendingReadUpdates:Object.freeze({current:t.pendingReadUpdates}),resolvedIdMap:Object.freeze({current:t.resolvedIdMap})}),write:r=>{try{r(t)}finally{e()}}}},Lb=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)}),wb=Object.freeze({kind:"idle"}),Sc=Sb(({isSseEnabled:e,onMessage:t,onStatus:r})=>{let n=Fi({isSseEnabled:e,onMessage:t});return Qi(()=>{r(n)},[n,r]),null});Sc.displayName="DailyReportSseConnectionHost";var es=({children:e,user:t,userId:r})=>{let{apiBasePath:n,draftLabelName:o,labels:a}=$(),{notifyError:i}=da(),[s,l]=xt(0),[{ledgers:c,write:d}]=xt(()=>_b(()=>l(y=>y+1))),[p,m]=xt(0),[f,b]=xt(0),[R]=xt(Zd),[g,u]=xt(!1),[h,I]=xt(wb),v=In(!1),E=In(new Map),T=In(new Set),N=In(new Set),[O]=xt(()=>Ib(()=>performance.now())),[C]=xt(()=>Tb(()=>performance.now())),k=qd(),[V,M]=fc(k,k.settled,T.current),w=V.items,q=`${p}:${V.settled?V.revision:"-"}`,G=()=>{m(y=>y+1)},U=()=>{l(y=>y+1)},j=qi(y=>N.current.has(y),[]),Q=qi(()=>Bd()===(r??null),[r]),ie=async()=>{wt.info("Refetching data without page reload..."),Sn(),U(),ee.listeners.forEach(y=>{y(-1)})},De=async()=>{wt.info("Clearing client & server/DB cache and refetching data without page reload..."),ln(),T.current=new Set,N.current.clear(),b(y=>y+1),M(bc);try{sessionStorage.clear()}catch{}try{let y=await fetch(`${n}/${Ye.action}`,{method:"POST",body:wi({intent:"clearCache"})});if(!y.ok){let A=await y.json().catch(()=>null);wt.warn("Failed to clear server-side cache:",y.status,A)}}catch(y){wt.warn("Failed to clear server-side cache:",y)}Q()&&(Sn({forceRefresh:!0}),U(),ee.listeners.forEach(y=>{y(-1)}))},ge=(y,A)=>{let H=C.get(y);if(H!==void 0){H.messages.push(A);return}let L;L={messages:[A],unsubscribe:od(y,()=>{if(C.get(y)===L&&ot(y,{ignoreExpiry:!0})){C.remove(y),L.unsubscribe(),wt.info(`[SSE Queue] Replaying ${L.messages.length} messages for reportHubId=${y}`);for(let S of L.messages)P.current.handleSseMessage(S)}})},C.add(y,L)};Qi(()=>()=>{for(let y of C.drain())y.unsubscribe()},[C]);let oe=qi((y,A)=>{A!==void 0&&Rn({reportHubId:y,businessDate:A})},[]),We=()=>{r&&(v.current=!0,u(y=>!y))};hc(()=>{if(!r)return;let y=setTimeout(()=>{v.current||u(!0)},Wl);return()=>clearTimeout(y)},[r]);let Ae=y=>{Q()&&(T.current=Yi(T.current,y),N.current.add(y),b(A=>A+1),ea(y),M(A=>En(A,y)),R.discard(y))};hc(()=>{if(!V.settled)return;let y=new Set;for(let A of T.current)Fd(A)&&y.add(A);y.size!==T.current.size&&(T.current=y)},[V.settled,V.revision]);let Ce=y=>{if(Q()&&!O.has(y.clientTempId))switch(y.type!=="status-update"&&G(),y.type){case"comment-add":{let{comment:A,reportHubId:H}=y,L=ot(H,{ignoreExpiry:!0});if(L){if(L.postedComments.some(B=>B.id===A.id))return;let W=typeof r=="string"&&A.userId===r,S={...A,userName:A.userName||(W?yr(t,a.unknownUser):a.unknownUser),createdAt:A.createdAt||new Date().toISOString(),isMine:W},D={...L,postedComments:[...L.postedComments,S].sort((B,J)=>new Date(B.createdAt||0).getTime()-new Date(J.createdAt||0).getTime())};dr(H,D),Ei(H),U()}else ge(H,y);break}case"comment-delete":{let{commentId:A,reportHubId:H}=y,L=ot(H,{ignoreExpiry:!0});if(L){let W={...L,postedComments:L.postedComments.filter(S=>S.id!==A)};dr(H,W),Ei(H),U()}else ge(H,y);break}case"status-update":{let{statusType:A,value:H,reportHubId:L}=y,W=ot(L,{ignoreExpiry:!0});if(A==="star")if(c.pendingStarUpdates.current.get(L)===H&&d(({pendingStarUpdates:S})=>S.delete(L)),W){let S={...W,isStarred:H};dr(L,S),U()}else ge(L,y);else if(A==="read")if(c.pendingReadUpdates.current.get(L)===H&&d(({pendingReadUpdates:S})=>S.delete(L)),W){let S={...W,isRead:H};dr(L,S),U()}else ge(L,y);break}case"report-delete":{let{reportHubId:A}=y;T.current=Yi(T.current,A),N.current.add(A),b(L=>L+1),ea(A),M(L=>En(L,A)),R.discard(A),C.remove(A)?.unsubscribe();let H=ot(A,{ignoreExpiry:!0});H?.date&&(xi(A,H.date),U());break}case"report-create":case"report-update":case"report-publish":{let{report:A}=y;ad(A),(y.type==="report-create"||y.type==="report-publish")&&oe(A.reportHubId,A.date),U();break}}},fe=async(y,A,H={})=>{let{intent:L}=y,{onGone:W}=A,{lockedReportHubId:S}=H,D=S===void 0?null:td(S);A.onOptimistic?.(),O.add(y.clientTempId);let B=()=>{if(!Q())throw wt.warn(`[executeAction] ${L} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${L}`)};try{let J=await fetch(`${n}/${Ye.action}`,{method:"POST",body:wi(y),headers:{Accept:"application/json"}});if(J.status===404&&W!==void 0)return B(),W();if(!J.ok)throw new Ji(L,J.status);let pe=wd(L,await J.json());if("mismatch"in pe)throw new Error(`[daily-report] ${L} answered a body that is not its result (${pe.mismatch})`);let{result:qe}=pe;if(!Db(qe,y))throw new Error(`[daily-report] ${L} answered another request`);return B(),A.onSuccess(qe)}catch(J){throw wt.error(`${L} failed:`,J),Q()&&(A.onFailure?.(),P.current.notifyError({operation:L,message:a.operationFailed(L),cause:J})),J}finally{D?.()}},me=(y,A,H)=>({reportHubId:y,clientTempId:H,businessDate:typeof A=="string"?A:null,operationTimestamp:Date.now()}),_={toggleSse:We,addComment:async(y,A,H)=>{let L=Gi(Date.now()),W=fe({...me(y,H,String(L)),intent:"addComment",content:A},{onOptimistic:()=>{d(({pendingAddCommentIds:S})=>{let D=S.get(y);D===void 0?S.set(y,new Map([[L,A]])):D.set(L,A)})},onSuccess:({newComment:S})=>{let D=S.id;d(({resolvedIdMap:J,pendingAddCommentIds:pe})=>{J.set(L,D),pe.get(y)?.delete(L)}),G();let B=ot(y,{ignoreExpiry:!0});return B&&!B.postedComments.some(J=>J.id===D)&&at(y,{postedComments:[...B.postedComments,{...S,isMine:!0,userName:yr(t,a.unknownUser)}]}),D},onFailure:()=>{d(({pendingAddCommentIds:S})=>S.get(y)?.delete(L))}}).finally(()=>E.current.delete(L));E.current.set(L,W),await W},deleteComment:async(y,A,H)=>{d(({pendingDeleteCommentIds:S})=>{let D=S.get(y);D===void 0?S.set(y,new Set([A])):D.add(A)});let L=A;if(A<0){let S=c.resolvedIdMap.current.get(A);if(S!==void 0)L=S;else{let D=E.current.get(A);if(!D)return;try{L=await D}catch{return}}}let W=()=>{let S=ot(y,{ignoreExpiry:!0});S&&(at(y,{postedComments:S.postedComments.filter(D=>D.id!==L)}),nd(L)),d(({pendingDeleteCommentIds:D})=>D.get(y)?.delete(A)),G()};await fe({...me(y,H,crypto.randomUUID()),intent:"deleteComment",commentId:L},{onSuccess:W,onGone:W,onFailure:()=>{d(({pendingDeleteCommentIds:S})=>S.get(y)?.delete(A))}})},toggleStar:async(y,A,H)=>{await fe({...me(y,H,crypto.randomUUID()),intent:"toggleStar",value:A},{onOptimistic:()=>{at(y,{isStarred:A}),d(({pendingStarUpdates:L})=>L.set(y,A))},onSuccess:({updatedStatus:L})=>{ot(y,{ignoreExpiry:!0})&&(at(y,{isStarred:L.isStarred}),U()),d(({pendingStarUpdates:W})=>W.delete(y))},onFailure:()=>{at(y,{isStarred:!A}),d(({pendingStarUpdates:L})=>L.delete(y))}})},toggleRead:async(y,A,H)=>{await fe({...me(y,H,crypto.randomUUID()),intent:"toggleRead",value:A},{onOptimistic:()=>{at(y,{isRead:A}),d(({pendingReadUpdates:L})=>L.set(y,A))},onSuccess:({updatedStatus:L})=>{ot(y,{ignoreExpiry:!0})&&(at(y,{isRead:L.isRead}),U()),d(({pendingReadUpdates:W})=>W.delete(y))},onFailure:()=>{at(y,{isRead:!A}),d(({pendingReadUpdates:L})=>L.delete(y))}})},createReport:async y=>{let A=Gi(Date.now()),H=new Date().toISOString(),L={reportHubId:A,date:y,createdAt:H,author:yr(t,a.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:yr(t,a.unknownUser),updatedBy:yr(t,a.unknownUser),updatedAt:H,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:[]};ed(L,Date.now()+3e5,!1),M(W=>ca(W,{reportHubId:A,businessDate:y},Number.NEGATIVE_INFINITY));try{let W=await fe({intent:"create",clientTempId:String(A),businessDate:y,operationTimestamp:Date.now()},{onSuccess:B=>B.report}),S=W.reportHubId,D=ki();return Rn({reportHubId:S,businessDate:y}),rd(S,Eb),dr(S,W),U(),G(),M(B=>ca(En(B,A),{reportHubId:S,businessDate:y},D)),S}catch(W){throw wt.error("[createReport] Failed",W),M(S=>En(S,A)),W}},updateReport:async(y,A,H)=>{await fe({...me(y,H,crypto.randomUUID()),intent:"update",changes:{title:A.title,content:A.content}},{onSuccess:()=>{ot(y,{ignoreExpiry:!0})&&(at(y,{subject:A.title,content:A.content}),U()),G()}},{lockedReportHubId:y})},publishReport:async(y,A)=>{let H=ot(y,{ignoreExpiry:!0});await fe({...me(y,A,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{H&&(at(y,{labels:H.labels.filter(L=>L.name!==o)}),U())},onSuccess:({report:L})=>{L!==null&&(dr(y,L),U()),A!==void 0&&Rn({reportHubId:y,businessDate:A}),G()},onFailure:()=>{H&&(at(y,{labels:H.labels}),U())}})},deleteReport:async(y,A)=>{let H=w.find(W=>W.reportHubId===y);T.current=Yi(T.current,y),N.current.add(y),b(W=>W+1),ea(y),H!==void 0&&M(W=>yc(W,H));let L=()=>{xi(y,A),R.discard(y),G()};try{await fe({...me(y,A,crypto.randomUUID()),intent:"delete"},{onSuccess:L,onGone:L},{lockedReportHubId:y})}catch(W){if(!Q())return;T.current=Cb(T.current,y),N.current.delete(y),b(B=>B+1);let S=H===void 0?A:H.businessDate,D=ki();throw S!==void 0&&Rn({reportHubId:y,businessDate:S}),M(B=>{let J=$i(B,y);return H===void 0?J:ca(J,H,D)}),W}},removeStaleItem:Ae,refetchData:ie,clearCacheAndRefetch:De,handleSseMessage:Ce,notifyError:i},P=In(_);Qi(()=>{P.current=_});let[K]=xt(()=>Lb(P)),Z=Zi(()=>({...c,...K.functions,user:t}),[c,K,t]),se=Zi(()=>({version:s,items:w,isSseEnabled:g,sseStatus:h,searchInvalidation:q,isReportRemoved:j,removedVersion:f}),[s,w,g,h,q,j,f]);return Xi(Bi.Provider,{value:R,children:Xi(pa.Provider,{value:Z,children:Nb(ma.Provider,{value:se,children:[Xi(Sc,{isSseEnabled:g,onMessage:K.onSseMessage,onStatus:I}),e]})})})};var gc=(e,t)=>e.split(t).length-1,ya=(e,t,r)=>{let n=e("\uE000","\uE001");if(gc(n,"\uE000")!==1||gc(n,"\uE001")!==1)return null;let o=n.indexOf("\uE000"),a=n.indexOf("\uE001"),i=[{at:o,part:{kind:"name"}},{at:a,part:{kind:"affiliation"}}];i.sort((d,p)=>d.at-p.at);let s=[],l=0;for(let{at:d,part:p}of i)d>l&&s.push({kind:"text",text:n.slice(l,d)}),s.push(p),l=d+1;return l<n.length&&s.push({kind:"text",text:n.slice(l)}),s.map(d=>d.kind==="text"?d.text:d.kind==="name"?t:r).join("")===e(t,r)?s:null};import{useContext as Fb,useEffect as Bb,useMemo as Tc}from"react";import{createContext as Ic,useCallback as xc,useContext as Mb,useDeferredValue as Ob,useMemo as Ec,useSyncExternalStore as Pb}from"react";var Tn=Ic(null),Et=Ic(null),kb=()=>{},Hb=()=>kb,Vr=e=>{let t=Mb(Tn),r=xc(l=>t===null?Hb():t.subscribe(e,l),[t,e]),n=xc(()=>{let l=t===null?void 0:t.read(e);return l===void 0?null:l},[t,e]),o=Pb(r,n,n),a=Ec(()=>t===null||o===null?null:{store:t,entry:o},[t,o]),i=Ob(a,a===null?void 0:null),s=i!==null&&i.store===t?i.entry:null;return Ec(()=>t===null?null:{entry:s,revalidate:(l,c)=>t.revalidate(e,l,c)},[t,e,s])};import{jsx as Kb}from"react/jsx-runtime";var Vb="data-daily-report-search-mark",Ub=(e,t)=>{let r=[],n=0;for(let o=0;o<t.length;o+=3){let a=t[o],i=t[o+1];a>n&&r.push(e.slice(n,a)),r.push(Kb("mark",{[Vb]:t[o+2]===0?"word":"reading",className:pl,children:e.slice(a,i)},`m${a}`)),n=i}return n<e.length&&r.push(e.slice(n)),r},le=({fieldKey:e,raw:t,display:r})=>{let n=Fb(Et),o=n===null?null:n.entry,a=typeof t=="string"?t:"",i=Tc(()=>o===null||a.length===0?null:pn(a),[o,a]),s=o===null?void 0:o.fields[e],l=s!==void 0&&i!==null&&s.fingerprint===i,c=Tc(()=>l&&s!==void 0?mo(r,s.ranges):null,[l,s,r]),d=n!==null&&i!==null&&!l;return Bb(()=>{d&&n!==null&&i!==null&&n.revalidate(e,i)},[d,n,e,i]),c===null||c.length===0?r.text:Ub(r.text,c)};import{jsx as $b}from"react/jsx-runtime";var Wb={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},zt=Object.freeze({2:3,3:4,4:5,5:6}),Ze=({level:e,...t})=>{let r=Wb[e];return $b(r,{...t})};import{memo as eu,useId as kh,useMemo as Hh,useRef as Fh}from"react";var vc=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var rs="tile",Dn=vc[rs],zb=2,vn=16,Dc=5,Ac=Dn.maxWidth/zb,jb=Dc*(Ac+vn)-vn,Cc=e=>{let t=Math.min(Dc,1+Math.floor((e+vn)/(Ac+vn)));return Math.floor((Math.min(e,jb)-(t-1)*vn)/t)},ts=`round(nearest, 100cqi * ${Dn.maxHeight} / ${Dn.maxWidth}, 1px)`,_c=Object.freeze({aspectRatio:`${Dn.maxWidth} / ${Dn.maxHeight}`,height:ts,contain:"strict"}),Gb="--aqdr-lattice-block",Lc=Object.freeze({marginBlockEnd:`calc(round(up, ${ts}, var(${Gb})) - ${ts})`});var qb="download",Yb="thumbnail",Xb="1",Ur=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[qb]:Xb})}`;case"thumbnail":return`${n}?${new URLSearchParams({[Yb]:r.variant})}`}};import{createContext as Qb,useContext as Zb}from"react";var An=Qb(null),Kr=()=>Zb(An)===!1?-1:void 0,wc=(e,t)=>{let{before:r,after:n}=Bo(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};import{createContext as nh,useContext as oh,useLayoutEffect as ah,useMemo as Oc,useState as ih}from"react";import{flushSync as sh}from"react-dom";import{flushSync as Jb}from"react-dom";var ns=new WeakMap,Nc=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,eh=e=>{e.frame=null;let t=[...e.observations.values()].filter(Nc);t.length!==0&&Jb(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},th=(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=Cc(o))}e.frame!==null||![...e.observations.values()].some(Nc)||(e.frame=e.view.requestAnimationFrame(()=>eh(e)))},rh=e=>{let t=ns.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=>th(n,o)),observations:new Map,frame:null};return ns.set(e,n),n},Mc=(e,t)=>{let r=e.ownerDocument,n=rh(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(),ns.delete(r)))}};import{jsx as jt,jsxs as Fc}from"react/jsx-runtime";var ba="\u2026",lh=ba.codePointAt(0),Pc=Object.freeze({text:ba,runs:Object.freeze([])}),ha="data-attachment-file-name",dh=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,ch=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,Bc=nh(null),Vc=e=>{let t=e.text.lastIndexOf(".");return t<=0||t===e.text.length-1?{stem:e,extension:Fe("")}:{stem:tr(e,0,t),extension:tr(e,t,e.text.length)}},kc=(e,t,r,n)=>{let o=Array.from(e.text),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 tr(e,0,o.slice(0,a).join("").length)},uh=(e,t,r)=>{if(r(e)<=t)return Fe(e);let{stem:n,extension:o}=Vc(po(e)),a=t/2,i=r(o.text)<=a?o:nr([kc(o,ba,a,r),Pc]);return r(n.text+i.text)<=t?nr([n,i]):nr([kc(n,ba+i.text,t,r),Pc,i])},Hc=new WeakMap,Uc=e=>{let t=Hc.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 Hc.set(e,n),n},ph=(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},Kc=e=>{let t=new Set;for(let r of e.matchAll(dh)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},mh=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:Kc(t.fontFamily),measure:ph(Uc(e.ownerDocument),r)}},fh=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,yh=e=>{let t=new Set([lh]);for(let r of e.querySelectorAll(`[${ha}]`)){let n=r.getAttribute(ha);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},bh=(e,t)=>{for(let r of e.split(",")){let n=ch.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 l of t)if(l>=i&&l<=s)return!0}return!1},os=new WeakMap,Wc=e=>{let t=os.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return os.set(e,r),r},$c=(e,t)=>{let r=mh(e.container.querySelector(`[${ha}]`));e.fitted={trackWidth:t,nameFont:r};let n=Wc(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=Rh(n)),e.applyFit({width:t,measure:r.measure})},hh=(e,t)=>{let r=t.map(o=>({families:Kc(o.family),unicodeRange:o.unicodeRange})),n=[];for(let o of e.registrations){let{fitted:a}=o;if(a===null)continue;let i=r.filter(l=>Array.from(l.families).some(c=>a.nameFont.families.has(c)));if(i.length===0)continue;let s=yh(o.container);i.some(l=>bh(l.unicodeRange,s))&&(Uc(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&sh(()=>{for(let[o,a]of n)$c(o,a)})},Rh=e=>{let t=e.document.fonts,r=n=>{hh(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},Sh=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=Mc(e,a=>$c(r,a)),o=Wc(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),os.delete(o.document))}},zc=({containerRef:e,children:t})=>{let[r,n]=ih(null);return ah(()=>{let o=e.current;return Sh(o,i=>{n(s=>fh(s,i)?s:i)})},[e]),jt(Bc,{value:r,children:t})},Cn=({fileName:e,attachmentIndex:t,className:r,testId:n})=>{let o=oh(Bc),a=Oc(()=>o===null?null:uh(e,o.width,o.measure),[e,o]),{stem:i,extension:s}=Oc(()=>Vc(Fe(e)),[e]),l=X.attachment(t);return Fc("span",{className:x("block min-w-0",r),title:e,"data-testid":n,[ha]:e,children:[a===null?Fc("span",{"aria-hidden":"true",className:"flex min-w-0",children:[jt("span",{className:"truncate",children:jt(le,{fieldKey:l,raw:e,display:i})}),s.text!==""&&jt("span",{className:"max-w-1/2 shrink-0 truncate",children:jt(le,{fieldKey:l,raw:e,display:s})})]}):jt("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:jt(le,{fieldKey:l,raw:e,display:a})}),jt("span",{className:"sr-only",children:e})]})};import Th from"lucide-react/dist/esm/icons/image-off.js";import{memo as vh,useCallback as ss,useEffect as Dh,useLayoutEffect as Ah,useRef as ls,useState as Ch}from"react";var Ra=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),jc=Ra.queueWaitMs+Ra.readMs+Ra.renderMs+Ra.transferMarginMs;var gh=Object.freeze({kind:"loaded"}),Gc=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",l=null,c=null,d=null,p=null,m=null,f=w=>(w!==null&&n.clearTimeout(w),null),b=()=>{p?.(),p=null},R=()=>{m?.(),m=null},g=w=>w===null||w.kind==="loaded"?0:w.kind==="failing"?w.failedAttempts:i.maxAttempts,u=w=>{s="cooling",d=n.setTimeout(C,w)},h=()=>{o.abortInFlight(),R();let w=g(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(),u(i.retryDelayMs)},I=w=>{if(s==="loading"){if(c=f(c),!w){h();return}s="done",r.set(t,gh),R()}},v=()=>{c=null,I(!1)},E=()=>{s="loading",o.showActivity(!0),b(),c=n.setTimeout(v,i.loadTimeoutMs),o.grant()},T=()=>{l=null,s="queued",m=a.request(E)},N=()=>{l===null&&(l=n.setTimeout(T,i.settleMs))},O=w=>{if(o.showActivity(w),w){s==="watching"&&N();return}if(s==="queued"){R(),s="watching";return}l=f(l)},C=()=>{d=null,s="watching",o.showActivity(!1),p=n.observe(e,O)},k=()=>{let w=s==="loading";s="done",b(),l=f(l),c=f(c),d=f(d),o.showActivity(!1),w&&(o.abortInFlight(),m!==null&&o.reset()),R()},V=r.get(t);if(V?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:I,dispose:k};if(V?.kind==="exhausted"){if(n.now()-V.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:I,dispose:k};r.delete(t)}o.reset();let M=V?.kind==="failing"?V.retryAt-n.now():0;return M>0?u(M):C(),{settle:I,dispose:k}};var xh=e=>{Kt("createLoadSlotLimiter: limit",e,1);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())}}}},qc=xh(2);var Eh=e=>{Kt("createThumbnailProgressStore: maxUrls",e,1);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)}}},as=Eh(1024);var is=new WeakMap,Ih=e=>{let t=is.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 is.set(e,a),a},Yc=(e,t)=>{let r=e.ownerDocument,n=Ih(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(),is.delete(r)))}};import{jsx as _n,jsxs as Ph}from"react/jsx-runtime";var _h={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},Lh="data-thumbnail-active",wh="data-daily-report-attachment-preview",Qc={[wh]:""},Nh=Object.freeze({settleMs:250,loadTimeoutMs:jc,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),Xc=e=>{let t=as.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},Mh=()=>({limiter:qc,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:Yc,tuning:Nh}),Oh=(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(Lh,o)}}),Zc=vh(({thumbnailUrl:e,unavailableLabel:t})=>{let r=ls(null),n=ls(null),o=ls(null),[a,i]=Ch(()=>Xc(e));a.url!==e&&i(Xc(e)),Ah(()=>{if(a.status==="failed")return;let d=n.current,p=a.status==="idle"?null:a.url;d.getAttribute("src")!==p&&(p===null?d.removeAttribute("src"):d.setAttribute("src",p))},[a]),Dh(()=>{let d=r.current,p=Gc(d,e,as,Mh(),Oh(e,d,i,n));return o.current=p,()=>{o.current=null,p.dispose()}},[e]);let s=ss(d=>{d!==null&&(n.current=d)},[]),l=ss(()=>{i(d=>d.status==="granted"?{url:d.url,status:"loaded"}:d),o.current?.settle(!0)},[]),c=ss(()=>{o.current?.settle(!1)},[]);return _n("span",{className:"block",children:_n("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":_h[a.status],style:_c,className:"relative block w-full",children:_n("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"?Ph("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 ${Ar}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[_n(Th,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):_n("img",{ref:s,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:l,onError:c,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"})})})})});import{jsx as ve,jsxs as It}from"react/jsx-runtime";var Jc=1024,ds=["B","KB","MB","GB"],tu="text-slate-500 text-sm line-through dark:text-slate-400",Bh=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=Jc&&r<ds.length-1;)t/=Jc,r+=1;return r===0?`${t} ${ds[r]}`:`${t.toFixed(1)} ${ds[r]}`},Vh=e=>{let t=[],r=[];for(let[n,o]of e.entries())o.hasThumbnail?t.push({attachment:o,index:n}):r.push({attachment:o,index:n});return{tiles:t,rows:r}},ru=({attachment:e,labels:t,className:r})=>It("span",{className:r,children:[Bh(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),cs=({href:e,children:t,...r})=>{let n=Kr();return ve("a",{href:e,...r,tabIndex:n,children:t})},nu=({downloadUrl:e,label:t,fileName:r})=>It(cs,{href:e,className:x("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," ",ve("span",{className:"sr-only",children:r})]}),Uh=eu(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=ve(Zc,{thumbnailUrl:Ur(r,e.id,{kind:"thumbnail",variant:rs}),unavailableLabel:n.attachmentThumbnailUnavailable}),a=e.state==="absent";return It("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[a?It("div",{className:"flex min-w-0 flex-col gap-2",children:[o,ve(Cn,{fileName:e.fileName,attachmentIndex:t,className:tu,testId:"daily-report-attachment-name"})]}):It(cs,{href:Ur(r,e.id,{kind:"inline"}),className:x("flex min-w-0 flex-col gap-2 rounded-lg",re),"data-testid":"daily-report-attachment-link",...Qc,children:[o,ve(Cn,{fileName:e.fileName,attachmentIndex:t,className:"text-blue-600 text-sm dark:text-blue-400 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover_&]:underline"})]}),It("div",{className:"flex h-4 min-w-0 items-center gap-2 text-slate-500 text-xs tabular-nums dark:text-slate-400",style:Lc,children:[ve(ru,{attachment:e,labels:n,className:"truncate"}),!a&&ve(nu,{downloadUrl:Ur(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})]})}),Kh=eu(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=e.state==="absent";return It("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:[It("div",{className:"flex min-w-0 flex-col",children:[o?ve(Cn,{fileName:e.fileName,attachmentIndex:t,className:tu,testId:"daily-report-attachment-name"}):ve(cs,{href:Ur(r,e.id,{kind:"inline"}),className:x("flex min-w-0 rounded-sm",re),"data-testid":"daily-report-attachment-link",children:ve(Cn,{fileName:e.fileName,attachmentIndex:t,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),ve(ru,{attachment:e,labels:n,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!o&&ve(nu,{downloadUrl:Ur(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})}),Wh=({entries:e,headingId:t,apiBasePath:r,labels:n})=>{let o=Fh(null);return ve(zc,{containerRef:o,children:ve("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:ve("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(({attachment:a,index:i})=>ve(Uh,{attachment:a,attachmentIndex:i,apiBasePath:r,labels:n},a.id))})})})},Sa=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=$(),o=kh(),{tiles:a,rows:i}=Hh(()=>Vh(e),[e]);return e.length===0?null:It("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[ve(Ze,{level:zt[n],id:o,className:x("m-0",er),children:r.attachments}),It("div",{className:"flex flex-col gap-4",children:[a.length>0&&ve(Wh,{entries:a,headingId:o,apiBasePath:t,labels:r}),i.length>0&&ve("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:i.map(({attachment:s,index:l})=>ve(Kh,{attachment:s,attachmentIndex:l,apiBasePath:t,labels:r},s.id))})]})]})};import{useOverlayEscapeStack as oR}from"@aiquants/swipe-overlay";import{memo as cu,useCallback as Ia,useEffect as iu,useId as aR,useRef as uu,useState as iR}from"react";import{useCallback as ou,useMemo as $h,useRef as zh,useState as jh}from"react";var us=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:i,deleteComment:s}=Ue(),{version:l}=fa(),{labels:c}=$(),d=c.unknownUser,[p,m]=jh(null),f=ou(u=>e&&s(e.reportHubId,u,e.date),[e,s]),b=ou(u=>e&&t?i(e.reportHubId,u,e.date):Promise.resolve(),[e,t,i]),R=zh([]);return{uiComments:$h(()=>{if(!e)return[];let u=Dd(e.externalComments,e.postedComments,r,d),h=o.current.get(e.reportHubId);h?.size&&(u=u.filter(v=>!h.has(v.id)));let I=n.current.get(e.reportHubId);if(I?.size&&t){let v=new Set(u.map(O=>O.id)),E=yr(t,""),T=E==="",N=T?d:E;for(let[O,C]of I){if(h?.has(O)||v.has(O))continue;let k=a.current.get(O);k&&v.has(k)||u.some(V=>V.isMine&&V.content===C&&typeof V.id=="number"&&V.id>0)||u.push({id:O,authorName:N,content:C,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1,isAuthorUnknown:T})}}return JSON.stringify(u)===JSON.stringify(R.current)?R.current:(R.current=u,u)},[e,t,r,d,o,n,a,l]),handleAddComment:b,handleDeleteComment:f,pendingDeleteId:p,setPendingDeleteId:m,resolvedIdMap:a.current}};import{Fragment as Gh,jsx as qh}from"react/jsx-runtime";var Ne=({render:e})=>{let t=Kr();return qh(Gh,{children:e(t)})};import Yh from"@heroicons/react/24/outline/TrashIcon.js";import{memo as Xh,useId as Qh,useMemo as au,useRef as Zh,useState as Jh}from"react";import{jsx as Tt,jsxs as ga}from"react/jsx-runtime";var ps="data-comment-id",xa="data-comment-delete-button",Ea="data-comment-delete-slot",eR=x(He,Js),tR="relative flex h-5 items-center",rR=x($e,"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),nR=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,ms=Xh(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:l})=>{let[c,d]=Jh(!1),{labels:p}=$(),m=Qh(),f=Zh(null),b=nR(e.id,o,l),R=au(()=>de(e.authorName),[e.authorName]),g=au(()=>Fe(e.content),[e.content]),u=X.comment(e.id,"author"),h=X.comment(e.id,"content"),I=Yo(h),v=()=>{let T=f.current;T!==null&&s(T),a(null),d(!0),typeof e.id=="number"&&n?.(e.id)},E=T=>{if(!b)return;let N=T.relatedTarget;Re(N)&&T.currentTarget.contains(N)||a(null)};return ga("li",{[ps]:e.id,"data-deleted":c?"true":void 0,className:x("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",c&&"hidden",b?"z-50":"z-0 hover:z-10"),children:[ga("div",{className:"mb-1 flex items-center justify-between",children:[Tt("div",{className:x("font-semibold text-xs",Ad(e.color)),children:I&&!e.isAuthorUnknown?Tt(le,{fieldKey:u,raw:e.authorName,display:R}):R.text}),ga("div",{className:"flex items-center gap-2",children:[e.createdAt&&Tt("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:he(e.createdAt)}),e.isMine&&!e.isLegacy&&ga("div",{[Ea]:e.id,className:tR,onBlur:E,children:[Tt(Ne,{render:T=>Tt("button",{ref:f,type:"button",tabIndex:T,className:eR,title:p.commentDelete,"aria-label":p.commentDelete,"aria-expanded":b,"aria-controls":b?m:void 0,[xa]:e.id,onClick:()=>i(e.id,b),children:Tt(Yh,{"aria-hidden":"true",className:b?Le.deletePending:Le.delete})})}),b&&Tt(Ne,{render:T=>Tt("button",{id:m,type:"button",tabIndex:T,"data-delete-confirmation":!0,className:rR,onClick:v,children:p.commentDeleteConfirm})})]})]})]}),Tt("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:I?Tt(le,{fieldKey:h,raw:e.content,display:g}):e.content})]})});ms.displayName="DailyReportPostedComment";import{Fragment as yR,jsx as Je,jsxs as fs}from"react/jsx-runtime";var sR="data-daily-report-comment-section",lR="data-daily-report-comment-heading",dR=x(Dt,re),pu=(e,t)=>e>0||t,cR=x("h-9 min-w-0 flex-1 rounded-lg border border-solid bg-slate-50 px-[7px] text-sm focus:bg-white dark:bg-slate-800 dark:text-slate-200 dark:focus:bg-slate-900",vt,re),uR=x("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",re),su=e=>e.querySelector(`[${xa}][aria-expanded="true"]`),pR=(e,t,r)=>{let n=[...e.querySelectorAll(`[${xa}]`)].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(`[${ps}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return pu(i,r)?{kind:"heading"}:{kind:"report"}},mR=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:l,onSectionRemoved:c})=>{let d=uu(null),p=oR(),m=aR(),f=o!==null,b=Ia(()=>{let u=d.current,h=u===null?null:su(u),I=h===null?null:h.closest(`[${Ea}]`),v=u===null?null:Te(u);a(null),h!==null&&I!==null&&v!==null&&I.contains(v)&&h.focus({preventScroll:!0})},[a]);iu(()=>{if(f)return p({id:m,onEscape:u=>Lt(u)?(b(),!0):!1})},[f,p,m,b]),iu(()=>{let u=d.current;if(!f||u===null)return;let h=u.ownerDocument,I=v=>{let E=su(u)?.closest(`[${Ea}]`);E!=null&&Re(v.target)&&E.contains(v.target)||a(null)};return h.addEventListener("pointerdown",I,!0),()=>h.removeEventListener("pointerdown",I,!0)},[f,a]);let R=Ia((u,h)=>{h?b():a(u)},[b,a]),g=Ia(u=>{let h=d.current;if(h===null)return;let I=pR(h,u,s);if(I.kind==="report"){c();return}let v=I.kind==="trash"?I.button:l.current;if(v===null)throw new Error("[daily-report] the comment section's heading is not attached");v.focus({preventScroll:!0})},[s,l,c]);return e.length===0?null:Je("ul",{ref:d,className:"space-y-2",children:e.map(u=>Je(ms,{comment:u,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:R,onBeforeHide:g,resolvedIdMap:i},u.id))})},lu=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=$(),a=uu(null);return pu(r.comments.length,r.canComment)?fs("div",{[sR]:"",className:x("flex flex-col gap-2",e),children:[Je(Ze,{ref:a,level:zt[o],tabIndex:-1,[lR]:"",className:dR,children:n.comments}),Je(mR,{...r,headingRef:a}),t]}):null},mu=cu(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:i,onDeleteComment:s,pendingDeleteId:l,onPendingDeleteIdChange:c,resolvedIdMap:d})=>{let p=t?Je(fR,{onAddComment:i}):null,m={comments:a,canComment:t,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:s,pendingDeleteId:l,onPendingDeleteIdChange:c,resolvedIdMap:d,onSectionRemoved:r,className:o};return n==="in-section"?Je(lu,{...m,children:p}):fs(yR,{children:[Je(lu,{...m}),p&&Je("div",{className:"mt-auto",children:p})]})});mu.displayName="ReportCommentsView";var Ln=cu(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:i})=>{let{user:s}=Ue(),{uiComments:l,handleAddComment:c,handleDeleteComment:d,pendingDeleteId:p,setPendingDeleteId:m,resolvedIdMap:f}=us(e,s,t),b=Ia(async R=>{await c(R),n?.()},[c,n]);return Je(mu,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:i,comments:l,onAddComment:b,onDeleteComment:d,pendingDeleteId:p,onPendingDeleteIdChange:m,resolvedIdMap:f})});Ln.displayName="ReportComments";var du="content",fR=({onAddComment:e})=>{let[t,r]=iR(!1),{labels:n}=$();return fs("form",{className:"flex gap-2",onSubmit:async a=>{a.preventDefault();let i=a.currentTarget,s=i.elements.namedItem(du);if(!(s instanceof ze(i).HTMLInputElement))return;let l=s.value.trim();if(l&&e){r(!0),i.reset();try{await e(l)}catch{s.value=l}finally{r(!1)}}},children:[Je(Ne,{render:a=>Je("input",{type:"text",name:du,tabIndex:a,placeholder:n.commentPlaceholder,className:cR,autoComplete:"off"})}),Je(Ne,{render:a=>Je("button",{type:"submit",tabIndex:a,className:uR,disabled:t,children:n.commentSend})})]})};import{useState as vR}from"react";import{Slot as bR}from"@radix-ui/react-slot";import{cva as hR}from"class-variance-authority";import*as fu from"react";import{jsx as SR}from"react/jsx-runtime";var RR=hR(`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"}}),Nt=fu.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>SR(n?bR:"button",{className:x(RR({variant:t,size:r,className:e})),ref:a,...o}));Nt.displayName="Button";import{jsx as xR}from"react/jsx-runtime";var gR=`flex h-9 w-full min-w-0 rounded-md border border-solid bg-white px-[7px] py-[3px] text-base text-slate-900 shadow-xs disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-slate-900 dark:text-slate-100 ${vt} ${re}`;function yu({className:e,type:t,...r}){return xR("input",{type:t,"data-slot":"input",className:x(gR,e),...r})}import*as bu from"@radix-ui/react-label";import{jsx as ER}from"react/jsx-runtime";function wn({className:e,...t}){return ER(bu.Root,{"data-slot":"label",className:x("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})}import{jsx as TR}from"react/jsx-runtime";var IR=`flex min-h-15 w-full rounded-md border border-solid bg-white p-[7px] text-base text-slate-900 shadow-xs disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-slate-900 dark:text-slate-100 ${vt} ${re}`;function hu({className:e,...t}){return TR("textarea",{"data-slot":"textarea",className:x(IR,e),...t})}import{jsx as it,jsxs as Ta}from"react/jsx-runtime";var Wr=e=>({title:e.subject??"",content:e.content??""}),DR=e=>{e.preventDefault()},va=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=Ue(),{labels:i}=$(),s=$t(),{title:l,content:c}=ec(e.reportHubId),[d,p]=vR(!1),m=async()=>{p(!0);try{await o(e.reportHubId,{title:l,content:c},e.date)}catch{}finally{p(!1)}},f=async()=>{p(!0);try{await o(e.reportHubId,{title:l,content:c},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{p(!1)}},b=`report-title-${e.reportHubId}`,R=`report-content-${e.reportHubId}`;return Ta("form",{className:"space-y-4 p-1",onSubmit:DR,children:[Ta("div",{className:"space-y-2",children:[it(wn,{htmlFor:b,children:i.formTitle}),it(Ne,{render:g=>it(yu,{ref:n,id:b,value:l,onChange:u=>s.setInput(e.reportHubId,{title:u.target.value}),placeholder:i.formTitlePlaceholder,disabled:d,tabIndex:g})})]}),Ta("div",{className:"space-y-2",children:[it(wn,{htmlFor:R,children:i.formContent}),it(Ne,{render:g=>it(hu,{id:R,value:c,onChange:u=>s.setInput(e.reportHubId,{content:u.target.value}),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:d,tabIndex:g})})]}),Ta("div",{className:"flex justify-end gap-2",children:[t&&it(Ne,{render:g=>it(Nt,{type:"button",variant:"outline",onClick:t,disabled:d,tabIndex:g,children:i.formCancel})}),it(Ne,{render:g=>it(Nt,{type:"button",variant:"secondary",onClick:m,disabled:d,tabIndex:g,children:i.formSave})}),it(Ne,{render:g=>it(Nt,{type:"button",onClick:f,disabled:d,tabIndex:g,children:i.formPublish})})]})]})};import VR from"lucide-react/dist/esm/icons/check.js";import UR from"lucide-react/dist/esm/icons/pencil.js";import KR from"lucide-react/dist/esm/icons/trash-2.js";import{useContext as Ru}from"react";import{Fragment as gu,jsx as Nn,jsxs as Da}from"react/jsx-runtime";var AR="inline-grid whitespace-nowrap font-mono text-[11px] leading-4 text-slate-600 dark:text-slate-300",Su="[grid-area:1/1]",CR=(e,t,r)=>{let n=[],o=(a,i,s)=>{typeof i=="string"&&i.length>0&&n.push({key:a,raw:i,display:s(i)})};if(o(X.field("employeeName"),e.employeeName,de),o(X.field("subject"),e.subject,de),o(X.field("customerName"),e.customerName,de),t==="pane")o(X.field("content"),e.content,fo);else{o(X.field("content"),e.content,yo),o(X.field("author"),e.author,de),o(X.field("updatedBy"),e.updatedBy,de);for(let a of["category","creationCategory"])o(X.field(a),e[a],lt),o(X.field(a),e[a],lt);e.interviewers.forEach((a,i)=>{o(X.interviewer(i,"name"),a.name,de);let s=a.affiliation;s?.trim()&&ya(r,de(a.name).text,s)!==null&&o(X.interviewer(i,"affiliation"),s,Fe)})}e.attachments.forEach((a,i)=>{o(X.attachment(i),a.fileName,po)}),e.externalComments.forEach((a,i)=>{o(X.comment(qo(i),"author"),a.name,de),o(X.comment(qo(i),"content"),a.text,Fe)});for(let a of e.postedComments)o(X.comment(a.id,"author"),a.userName,de),o(X.comment(a.id,"content"),a.content,Fe);return n},_R=(e,t,r,n)=>{let o=!0,a=0;for(let i of CR(t,r,n)){let s=e.fields[i.key];if(s===void 0||s.fingerprint!==pn(i.raw)){o=!1;continue}a+=mo(i.display,s.ranges).length/3}return{isCurrent:o,count:a}},LR=e=>{let t=0;for(let r=e;r!==0;r&=r-1)t+=1;return t},Aa=({report:e,view:t,isEditing:r})=>{let n=Ru(Tn),o=Ru(Et),{labels:a}=$();if(n===null)return null;let{setCount:i,showsMatchedSets:s}=n.indicator,l=s?`${a.searchMatchedKeywords(i,i)} ${a.searchMatchOutsideView}`:a.searchMatchOutsideView,c=o===null?null:o.entry,d=c===null||c.matchedSets===null?null:LR(c.matchedSets),p=s&&d!==null,m=!1;if(c!==null&&!r&&(d===null||d>=1)){let f=_R(c,e,t,a.interviewerWithAffiliation);m=f.isCurrent&&f.count===0}return Da("span",{className:AR,"data-daily-report-search-indicator":!0,children:[Nn("span",{"aria-hidden":"true",className:`invisible ${Su}`,"data-daily-report-search-indicator-placeholder":!0,children:l}),Da("span",{className:Su,children:[p&&d!==null?Da(gu,{children:[Nn("span",{"aria-hidden":"true",title:a.searchMatchedKeywordsDescription(d,i),"data-daily-report-search-matched-keywords":`${d}/${i}`,children:a.searchMatchedKeywords(d,i)}),Nn("span",{className:Vt,children:a.searchMatchedKeywordsDescription(d,i)})]}):null,p&&m?" ":null,m?Da(gu,{children:[Nn("span",{"aria-hidden":"true",title:a.searchMatchOutsideViewDescription,"data-daily-report-search-outside-view":!0,children:a.searchMatchOutsideView}),Nn("span",{className:Vt,children:a.searchMatchOutsideViewDescription})]}):null]})]})};import{jsx as xu}from"react/jsx-runtime";var _a=24,Eu=2,wR=20,Ca=5,NR=3,MR=()=>{let e=Math.cos(2*Math.PI/Ca)/Math.cos(Math.PI/Ca),t=Array.from({length:2*Ca},(m,f)=>{let b=-Math.PI/2+f*Math.PI/Ca,R=f%2===0?1:e;return{x:R*Math.cos(b),y:R*Math.sin(b)}}),r=t.map(m=>m.x),n=t.map(m=>m.y),[o,a,i,s]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],l=(wR-Eu)/(a-o),c=_a/2-l*(o+a)/2,d=_a/2-l*(i+s)/2,p=m=>String(Number(m.toFixed(NR)));return t.map(m=>`${p(c+l*m.x)},${p(d+l*m.y)}`).join(" ")},OR=MR(),$r=({filled:e})=>xu("svg",{viewBox:`0 0 ${_a} ${_a}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:Eu,strokeLinejoin:"round",className:e?Le.starOn:Le.starOff,children:xu("polygon",{points:OR})});import{Fragment as PR,jsx as La,jsxs as kR}from"react/jsx-runtime";var zr=({config:e,id:t,className:r})=>La("span",{id:t,className:x(rl,e.badgeClassName,r),children:e.name===void 0?e.label:kR(PR,{children:[La("span",{"aria-hidden":"true",children:La("abbr",{title:e.name,children:e.label})}),La("span",{className:Vt,children:e.name})]})});import{jsx as Iu}from"react/jsx-runtime";var wa=24,HR=6,jr=({className:e})=>Iu("svg",{viewBox:`0 0 ${wa} ${wa}`,"aria-hidden":"true",className:x(Le.read,e),children:Iu("circle",{cx:wa/2,cy:wa/2,r:HR,fill:"currentColor"})});import{jsx as BR}from"react/jsx-runtime";var FR=/^(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}):\d{2})?$/,br=({text:e})=>{let t=FR.exec(e);if(t===null)return e;let[,r,n]=t;return BR("time",{dateTime:e,children:n===void 0?r:`${r} ${n}`})};import{jsx as Me,jsxs as vu}from"react/jsx-runtime";var Se=({label:e,classNames:t,valueId:r,children:n})=>vu("div",{className:t.field,children:[Me("dt",{className:t.label,children:e}),Me("dd",{id:r,className:x("m-0",t.value),children:n})]}),Gt={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"},Tu=({report:e,visitTimeDisplay:t,labels:r})=>{let n=lt(e.category),o=lt(e.creationCategory);return vu("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:[Me(Se,{label:r.author,classNames:Gt,children:Me(le,{fieldKey:X.field("author"),raw:e.author,display:de(e.author)})}),Me(Se,{label:r.createdAt,classNames:Gt,children:Me(br,{text:he(e.createdAt)})}),Me(Se,{label:r.updatedBy,classNames:Gt,children:Me(le,{fieldKey:X.field("updatedBy"),raw:e.updatedBy,display:de(e.updatedBy)})}),Me(Se,{label:r.updatedAt,classNames:Gt,children:Me(br,{text:he(e.updatedAt)})}),Me(Se,{label:r.businessDate,classNames:Gt,children:Me(br,{text:he(e.date)})}),t!==null&&Me(Se,{label:r.visitTime,classNames:Gt,children:t}),n.text.length>0&&Me(Se,{label:r.category,classNames:Gt,children:Me(le,{fieldKey:X.field("category"),raw:e.category,display:n})}),o.text.length>0&&Me(Se,{label:r.creationCategory,classNames:Gt,children:Me(le,{fieldKey:X.field("creationCategory"),raw:e.creationCategory,display:o})})]})};import{jsx as ce,jsxs as Au}from"react/jsx-runtime";var Na={field:x($e,"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:""},WR={field:x($e,"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:""},Du={field:x($e,"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:""},Cu=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:l,sourceConfig:c,visitTimeDisplay:d,markerIds:p,labels:m})=>{let f=r?m.starRemove:m.starAdd,b=t?m.markUnread:m.markRead,R=lt(e.category),g=lt(e.creationCategory);return Au("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[ce(rn,{id:p.attachments,count:e.attachments.length,label:m.attachments}),c?ce(zr,{id:p.source,config:c}):null,ce(Ne,{render:u=>ce("button",{type:"button",onClick:a,tabIndex:u,className:He,title:f,"aria-label":f,"data-detail-star-button":e.reportHubId,children:ce($r,{filled:r})})}),ce(Ne,{render:u=>ce("button",{type:"button",onClick:o,tabIndex:u,className:He,title:b,"aria-label":b,"data-detail-read-button":e.reportHubId,children:t?ce(VR,{className:Le.read}):ce(jr,{})})}),i&&ce(Ne,{render:u=>ce("button",{ref:s,type:"button",onClick:i,tabIndex:u,"data-detail-edit-button":e.reportHubId,className:He,title:m.edit,"aria-label":m.edit,children:ce(UR,{className:Le.edit})})}),n&&ce(Ne,{render:u=>ce("button",{type:"button",onClick:l,tabIndex:u,"data-detail-delete-button":e.reportHubId,className:He,title:m.deleteReport,"aria-label":m.deleteReport,children:ce(KR,{className:Le.delete})})}),Au("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[ce(Se,{label:m.id,classNames:WR,children:e.reportHubId}),ce(Se,{label:m.businessDate,classNames:Na,children:ce(br,{text:he(e.date)})}),ce(Se,{label:m.author,classNames:Na,children:ce(le,{fieldKey:X.field("employeeName"),raw:e.employeeName,display:de(e.employeeName)})}),ce(Se,{label:m.visitTime,classNames:Na,children:Ut(d)}),ce(Se,{label:m.updatedAt,classNames:Na,children:ce(br,{text:he(e.updatedAt)})}),R.text.length>0&&ce(Se,{label:m.category,classNames:Du,children:ce(le,{fieldKey:X.field("category"),raw:e.category,display:R})}),g.text.length>0&&ce(Se,{label:m.creationCategory,classNames:Du,children:ce(le,{fieldKey:X.field("creationCategory"),raw:e.creationCategory,display:g})})]}),ce(Aa,{report:e,view:"detail",isEditing:!1})]})};import{useCallback as RS,useContext as ep,useLayoutEffect as gs,useRef as tp}from"react";import{startTransition as lS,useCallback as ue,useLayoutEffect as hr,useMemo as Qu,useRef as Xt,useState as Hn,useSyncExternalStore as dS}from"react";import{flushSync as Zu}from"react-dom";var Gr=e=>({owner:e,focusIndex:null}),ys=Object.freeze({owner:null,focusIndex:null}),_u=(e,t)=>{if(e.length===0)return ys;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:e[r].reportHubId,index:r},focusIndex:r}},Lu=(e,t)=>{switch(t.kind){case"focusIn":return Gr(t.row);case"focusOut":return t.to==="outside"?ys:Gr(e);case"pointerPress":return t.at==="outside"?ys:Gr(e);case"listChanged":{if(e===null)return Gr(e);let r=Ee(t.items,e.reportHubId,e.index);return r===-1?_u(t.items,e.index):Gr(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Gr(e):_u(t.items,t.selection.index)}};var $R=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),Ma={capture:!0},Oa=new WeakMap,zR=e=>{let t=o=>{$R.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,Ma),e.removeEventListener("pointerdown",r,Ma)}};return e.addEventListener("keydown",t,Ma),e.addEventListener("pointerdown",r,Ma),n},wu=e=>{let t=Oa.get(e),r=t===void 0?zR(e):t;t===void 0&&Oa.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),Oa.delete(e)))}},Nu=e=>{let t=Oa.get(e);return t===void 0?null:t.last};var Pa=e=>e.matches(":focus-visible")&&Nu(e.ownerDocument)!=="pointer";var jR="data-daily-report-keyboard-focus",qt={capture:!0},Mu=e=>{let t=wu(e.ownerDocument),r=s=>{e.toggleAttribute(jR,Re(s)&&Pa(s))},n=s=>r(s.target),o=s=>{Re(s.relatedTarget)&&e.contains(s.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,qt),e.addEventListener("keydown",n,qt),e.addEventListener("focusout",o,qt),e.addEventListener("pointerdown",a,qt);let i=Te(e);return r(i!==null&&e.contains(i)?i:null),()=>{e.removeEventListener("focusin",n,qt),e.removeEventListener("keydown",n,qt),e.removeEventListener("focusout",o,qt),e.removeEventListener("pointerdown",a,qt),r(null),t()}};var GR='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',qR=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],YR=qR.map(e=>`[role="${e}"]`).join(", "),XR=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),QR=new Set(["Enter"," "]),ZR=new Map([["Home","exitBefore"],["End","exitAfter"]]),bs=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return ZR.get(e.key)??null;let r=XR.get(e.key);return r!==void 0?r:QR.has(e.key)&&t.rowActivation?"activate":null},Ou=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},Pu=(e,t,r)=>{let n=bs(e,r);if(n===null||e.defaultPrevented||mr(e)||t===null||!Re(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:Ou(e.target,GR,t)||Ou(e.target,YR,t)?null:n};var ka={kind:"stay"},Ha=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},ku=e=>Math.floor(.875*e),Yt=(e,t)=>({kind:"move",index:e,align:t}),Mn=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",JR=({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 l=e+1;l<t;l++){let c=o(l);if(a+=c,a>r)break;s={index:l,top:i},i+=c}return s},eS=({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 l=n(s);if(a-=l,o+=l,o>t)break;i={index:s,top:a}}return i},tS=(e,t,r)=>{let{index:n,count:o,viewport:a,focusedRowTop:i,heightOf:s}=t,l=i+s(n);switch(e){case"previous":{if(n===0)return ka;if(r==="top")return Yt(n-1,"top");let c=s(n-1);return Yt(n-1,Mn(i-c,c,a,-1))}case"next":return n===o-1?ka:r==="top"?Yt(n+1,"top"):Yt(n+1,Mn(l,s(n+1),a,1));case"first":return Yt(0,"top");case"last":return Yt(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(l>a)return{kind:"reveal",delta:Math.min(l-a,ku(a))};if(n===o-1)return ka;let c=JR(t);return Yt(c.index,Mn(c.top,s(c.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,ku(a))};if(n===0)return ka;let c=eS(t);return Yt(c.index,Mn(c.top,s(c.index),a,-1))}}},rS=({index:e,focusedRowTop:t,heightOf:r},n)=>Uu(n,{index:e,offsetPx:-t},r),Bu=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let l=tS(e,o,n);if(l.kind==="stay")break;l.kind==="reveal"?(i+=l.delta,o={...o,focusedRowTop:o.focusedRowTop-l.delta}):l.align==="none"?o={...o,index:l.index,focusedRowTop:rS(o,l.index)}:(a={index:l.index,align:l.align},i=0,o={...o,index:l.index,focusedRowTop:l.align==="top"?0:o.viewport-o.heightOf(l.index)})}return{index:o.index,alignment:a,scrollDelta:i}},Vu=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>Mn(r,n(e),t,1),Uu=(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},On=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=Ha(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:Uu(t,s,i),heightOf:i}},Hu=1,Ku=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=Pn(o,n,t,r);return{start:Math.max(0,o.index-Hu),end:Math.min(t-1,a+Hu)}},Pn=(e,t,r,n)=>{let o=Ha(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},Wu=(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,Fu=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),$u=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(Fu(t,n,o))return t.reportHubId;if(Fu(r,n,o))return r.reportHubId;let a=e[n.visibleStartIndex];return a===void 0?null:a.reportHubId};var Rs=1,kn=2,hs=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?Rs:0)|(n===t||n===r?kn:0),nS=e=>{if(At(e))return!0;let t=Te(e);return t!==null&&e.contains(t)},oS=(e,t)=>{let r=e.closest(`[${Ko}]`);return r!==null&&r!==e&&ur(r)===t&&Te(e)===r},zu={capture:!0},ju=({getContainer:e,initialSelectedId:t})=>{let r={selectedId:t,tabStopId:t,arrivingId:null},n=null,o=null,a=!1,i=null,s=new Map,l=new Map,c=null,d=new Map,p=u=>hs(r,u),m=u=>{let h=l.get(u);if(h===void 0)return;let I=(p(u)&kn)!==0?"0":"-1";h.getAttribute("tabindex")!==I&&h.setAttribute("tabindex",I)},f=()=>{if(n===null)return;let u=n;n=null,m(u)},b=(u,h)=>{f();let I={...r};u(r);let v=r,E=new Set([I.selectedId,I.tabStopId,I.arrivingId,v.selectedId,v.tabStopId,v.arrivingId]);for(let T of E){if(T===null)continue;let N=hs(I,T),O=hs(v,T);if(N===O)continue;((N^O)&kn)!==0&&(T===h?n=T:m(T));let C=s.get(T);if(C!==void 0)for(let k of[...C])k()}},R=u=>{let h=u.ownerDocument,I=n!==null&&!At(u);I?h.addEventListener("focusout",f,zu):f(),a=!0;try{u.focus({preventScroll:!0})}finally{a=!1,I&&h.removeEventListener("focusout",f,zu),f()}},g=u=>{let h=e();h!==null&&(o=null,nS(h)&&R(u))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:p,setTabStopId:u=>{b(h=>{h.tabStopId=u},null)},settleSelection:(u,h)=>{b(I=>{I.selectedId=u,I.tabStopId=h,I.arrivingId=null},null)},arrive:u=>{b(h=>{h.arrivingId=u},u)},subscribe:(u,h)=>{let I=s.get(u)??new Set;return I.add(h),s.set(u,I),()=>{I.delete(h),I.size===0&&s.get(u)===I&&s.delete(u)}},registerFocusTarget:(u,h)=>{if(l.set(u,h),m(u),o===u){g(h);return}i===null||i.reportHubId!==u||(At(h)||oS(h,u))&&R(h)},unregisterFocusTarget:(u,h)=>{l.get(u)===h&&l.delete(u)},requestFocus:u=>{o=u;let h=l.get(u);h!==void 0&&g(h)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>i,setFocusOwner:u=>{i=u},restoreFocus:u=>{if(i===null||i.reportHubId!==u)return;let h=l.get(u);h===void 0||!At(h)||R(h)},holdBodiesOutside:u=>{c=u},isBodyHeldAt:u=>c!==null&&(u<c.start||u>c.end),registerHeldBody:(u,h,I)=>{let v={indexHint:h,release:I};return d.set(u,v),()=>{d.get(u)===v&&d.delete(u)}},releaseHeldBodiesWithin:(u,h)=>{if(u!==null)for(let[I,{indexHint:v,release:E}]of[...d]){let T=h(I,v);T>=u.start&&T<=u.end&&E()}}}};var ct={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}},Ss=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),aS=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),Gu=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),iS=new Map(Object.values(ct).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),qu=e=>{let t=iS.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},sS=(e,t,r)=>e==="row"||e==="page"?t+r:r,Yu=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:qu(e)}),Xu=(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",qu(r)):(e.pending=sS(e.axis,e.pending,r.amount),Ss)}case"frame":{if(e.fence==="open")return Ss;if(e.fence==="immediate")return e.fence="flush",aS;if(e.pending===0)return e.fence="open",Ss;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?Gu:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return Gu}};var cS=Object.freeze({kind:"frame"}),uS=Object.freeze({kind:"keyup"}),pS=Object.freeze({kind:"cancel"}),mS=Object.freeze({previous:Object.freeze({kind:"repeat",step:ct.previous}),next:Object.freeze({kind:"repeat",step:ct.next}),pageBackward:Object.freeze({kind:"repeat",step:ct.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:ct.pageForward}),first:Object.freeze({kind:"repeat",step:ct.first}),last:Object.freeze({kind:"repeat",step:ct.last}),activate:Object.freeze({kind:"repeat",step:ct.activate})}),fS=(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}},yS=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),bS=e=>{let t=ur(e),r=Nr(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},Fa=(e,t)=>{let r=ue(a=>e.subscribe(t,a),[e,t]),n=ue(()=>e.rowStateOf(t),[e,t]),o=dS(r,n,n);return{isCurrent:(o&Rs)!==0,isTabStop:(o&kn)!==0}},Ba=(e,t,r)=>{let[n,o]=Hn(()=>!e.isBodyHeldAt(r));return hr(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return lS(a),i},[e,t,r,n]),n},hS=e=>e==="first"||e==="last",Ju=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:l,rowActivation:c})=>{let[d]=Hn(()=>ju({getContainer:()=>n.current,initialSelectedId:t})),p=Xt({items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:c}),m=Xt(null),f=Xt(null),[b,R]=Hn(null),g=Xt(null),u=Xt(null),[h,I]=Hn(null),v=Xt(!1),E=Xt(null),[T,N]=Hn(0),O=Qu(()=>({id:t,indexHint:t===null?null:bd(b,t)}),[t,b]),C=Xt(O);hr(()=>{p.current={items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:c},C.current=O},[e,r,s,l,c,O]);let k=ue((_,P)=>{let K=f.current;if(K!==null&&K.items===_&&K.reportHubId===P)return K.index;let Z=Ee(_,P,K!==null&&K.reportHubId===P?K.index:null);return Z!==-1&&(f.current={items:_,reportHubId:P,index:Z}),Z},[]),V=ue((_,P)=>{f.current={items:p.current.items,reportHubId:_,index:P},R(K=>K!==null&&K.reportHubId===_&&K.index===P?K:{reportHubId:_,index:P})},[]),M=ue(_=>{let P=d.getFocusOwner();if(P===null)return null;let K=Ee(_,P.reportHubId,P.index);return K===-1?null:{reportHubId:P.reportHubId,index:K}},[d]),w=ue(_=>{let P=p.current.items,K=_===null?null:{reportHubId:_,index:k(P,_)};return $u(P,M(P),K,m.current,E.current)},[k,M]),q=ue(()=>{d.setTabStopId(w(d.getSelectedId()))},[d,w]),G=ue(_=>{let P=d.getFocusOwner();P===_||P!==null&&_!==null&&P.reportHubId===_.reportHubId&&P.index===_.index||(d.setFocusOwner(_),v.current||q())},[d,q]),U=ue(_=>{let P=Lu(d.getFocusOwner(),_);G(P.owner),P.focusIndex!==null&&(g.current=P.focusIndex,d.requestFocus(P.owner.reportHubId))},[d,G]);hr(()=>{d.settleSelection(t,w(t))},[d,t,e,T,w]),hr(()=>{let _=o.current;if(_!==null)return Mu(_)},[o]),hr(()=>{let _=n.current;if(_===null)return;let P=_.ownerDocument,K=Z=>{let se=n.current,y=Z.target;U({kind:"pointerPress",at:se!==null&&Re(y)&&se.contains(y)?"inside":"outside"})};return P.addEventListener("pointerdown",K,{capture:!0}),()=>P.removeEventListener("pointerdown",K,{capture:!0})},[n,U]),hr(()=>{let _=d.pendingFocusId();_!==null&&Ee(e,_,g.current)===-1&&d.cancelFocusRequest(),U({kind:"listChanged",items:e})},[d,e,U]);let j=ue(_=>{U({kind:"removed",reportHubId:_,selection:f.current,items:p.current.items})},[U]),Q=ue((_,P,K,Z)=>{let{items:se,onSelect:y,rowSizing:A,arrowAlign:H}=p.current,L=a.current;if(y===null||L===null)return null;let W=Ee(se,K.reportHubId,K.index);if(W===-1)return null;let S=On(L,W,se.length,A);if(S===null)return null;let D=Bu(_,P,S,H),B=se[D.index],J=D.index!==W,pe=J||Z&&hS(_)&&C.current.id!==B.reportHubId;if(J){d.arrive(B.reportHubId),E.current=B.reportHubId,g.current=D.index,v.current=!0;try{d.requestFocus(B.reportHubId)}finally{v.current=!1}}try{Zu(()=>{pe&&(d.pendingFocusId()===null&&d.settleSelection(B.reportHubId,B.reportHubId),y(B.reportHubId,D.index)),D.alignment!==null&&i.toIndex(D.alignment.index,{align:D.alignment.align}),D.scrollDelta!==0&&i.by(D.scrollDelta),pe&&(V(B.reportHubId,D.index),N(yt=>yt+1));let qe=Ku(L,se.length,A);d.holdBodiesOutside(qe),d.releaseHeldBodiesWithin(qe,(yt,Xn)=>Ee(se,yt,Xn))})}finally{d.holdBodiesOutside(null)}return J?{reportHubId:B.reportHubId,index:D.index}:{reportHubId:K.reportHubId,index:W}},[d,a,i,V]),ie=ue(_=>{let{items:P,onSelect:K}=p.current;if(K===null)return;let Z=Ee(P,_.reportHubId,_.index);Z!==-1&&(K(_.reportHubId,Z),V(_.reportHubId,Z))},[V]),De=ue(_=>{let P=n.current,K=P===null?null:Te(P),Z=P!==null&&K!==null&&P.contains(K)?cn(Wt(K,P),p.current.items):null;return Z===null?_.origin:Z},[n]),ge=ue((_,P)=>{let K=De(_);if(P.axis==="activate"){ie(K);return}let Z=fS(P.axis,P.amount),se=Q(Z.command,Z.count,K,!1);se!==null&&(_.origin=se)},[De,ie,Q]),oe=ue(_=>{u.current=null,_.frame!==0&&_.view.cancelAnimationFrame(_.frame),I(null)},[]),We=ue((_,P,K)=>{let{apply:Z}=P;Z!==null&&(P.flush?Zu(()=>ge(_,Z)):ge(_,Z)),u.current===_&&(P.ended?oe(_):P.requestFrame&&(_.frame=_.view.requestAnimationFrame(K)))},[ge,oe]),Ae=ue((_,P,K)=>{We(_,Xu(_.state,P),K)},[We]),Ce=ue(()=>{let _=u.current;_!==null&&(_.frame=0,Ae(_,cS,Ce))},[Ae]),fe=ue(()=>{let _=u.current;_!==null&&Ae(_,uS,Ce)},[Ae,Ce]),me=ue(()=>{let _=u.current;_!==null&&Ae(_,pS,Ce)},[Ae,Ce]),st=ue((_,P,K)=>{I(C.current);let{state:Z,effects:se}=Yu(ct[_]),y={state:Z,origin:P,view:K,frame:0};u.current=y,We(y,se,Ce)},[We,Ce]);hr(()=>()=>{let _=u.current;u.current=null,_!==null&&_.frame!==0&&_.view.cancelAnimationFrame(_.frame)},[]);let _e=ue(_=>{let P=u.current,K=P!==null&&_.repeat?bs(_,p.current):null;if(P!==null&&K!==null&&K!=="exitBefore"&&K!=="exitAfter"&&ct[K].axis===P.state.axis){_.preventDefault(),Ae(P,mS[K],Ce);return}let{items:Z,onSelect:se,rowSizing:y,rowActivation:A}=p.current,H=n.current,L=se===null?null:Pu(Hr(_),H,{rowActivation:A});if(d.cancelFocusRequest(),fe(),L===null||H===null)return;if(L==="exitBefore"||L==="exitAfter"){let D=wc(H,L==="exitBefore"?"before":"after");if(D===null)return;_.preventDefault(),D.focus();return}let W=Te(H),S=cn(Wt(W!==null&&H.contains(W)?W:_.target,H),Z);if(S!==null){if(L!=="activate"){let D=a.current;if(D===null||On(D,S.index,Z.length,y)===null)return}if(_.preventDefault(),_.repeat){st(L,S,ze(H));return}L==="activate"?ie(S):Q(L,1,S,!0)}},[d,n,a,Ce,Ae,fe,st,ie,Q]),we=ue(()=>{fe()},[fe]),ke=ue(_=>{let P=n.current,K=_.target,Z=Wt(K,P);if(U({kind:"focusIn",row:Z===null?null:bS(Z)}),d.isMovingFocus())return;let se=a.current;if(P===null||se===null||!Re(K)||!Pa(K))return;let y=Z===null?null:Z.closest('[role="list"]');if(Z===null||y===null)return;let A=y.getBoundingClientRect(),H=Z.getBoundingClientRect(),L=H.height<=A.height?H:yS(K.getBoundingClientRect(),Ht),W=Wu(L,A),S=se.getViewportSize();W===0||!(S>0&&A.height>0)||i.by(W*S/A.height)},[d,n,a,i,U]),tt=ue(_=>{let P=n.current,K=_.relatedTarget,Z=Re(K)?P?.contains(K)?"view":"outside":"nowhere";Z!=="view"&&me(),U({kind:"focusOut",to:Z})},[n,me,U]),rt=ue(()=>{d.cancelFocusRequest(),me()},[d,me]),ft=ue(_=>{m.current={visibleStartIndex:_.visibleStartIndex,visibleEndIndex:_.visibleEndIndex},E.current=null,q()},[q]),Jt=Qu(()=>({onKeyDown:_e,onKeyUp:we,onPointerDownCapture:rt,onWheelCapture:rt,onTouchStartCapture:rt,onFocus:ke,onBlur:tt}),[_e,we,rt,ke,tt]);return{cursor:d,containerProps:Jt,handleRangeChange:ft,selection:O,settledSelection:h===null?O:h,resolveSelectedIndex:k,rememberSelection:V,focusAfterRemoval:j}};import{jsx as xs}from"react/jsx-runtime";var SS=x(Bt,Jn,eo,Zn,"h-full"),gS="h-full w-full",rp=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:l}=Fa(a,e),c=ep(_t),d=ep(Ct),p=Ba(a,e,c),m=tp(null),f=tp(null),b=RS(R=>(m.current=R,a.registerFocusTarget(e,R),()=>{m.current=null,a.unregisterFocusTarget(e,R)}),[a,e]);return gs(()=>{let R=m.current,g=R===null||!p?null:R.firstElementChild,u=g instanceof HTMLElement?g:null,h=f.current;h!==null&&h.body===u||(h!==null&&h.stop(),f.current=u===null?null:{body:u,stop:o(u)})}),gs(()=>()=>{f.current?.stop(),f.current=null},[]),gs(()=>{a.restoreFocus(e)},[a,e,n]),xs(An.Provider,{value:l,children:xs("div",{ref:b,className:SS,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":c+1,"aria-setsize":d,"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:xs("div",{...Xe,className:gS})})})};import{jsx as Y,jsxs as Oe}from"react/jsx-runtime";var IS=x("flex w-full flex-col",bt,no,Ft),TS=x(bt,Ft),vS=x("rounded-2xl",Ft),DS=x("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",Ft),Ke="bg-slate-200 dark:bg-slate-700",AS=({interviewer:e,index:t,template:r})=>{let n=Rr(()=>de(e.name),[e.name]),o=Y(le,{fieldKey:X.interviewer(t,"name"),raw:e.name,display:n},"name"),a=e.affiliation;if(!a?.trim())return o;let i=ya(r,n.text,a);return i===null?r(n.text,a):i.map(s=>s.kind==="text"?s.text:s.kind==="name"?o:Y(le,{fieldKey:X.interviewer(t,"affiliation"),raw:a,display:Fe(a)},"affiliation"))},CS=()=>Oe("div",{...Xe,className:TS,children:[Oe("div",{className:"mb-4 flex flex-wrap gap-2",children:[Y("div",{className:x("h-6 w-20 rounded-full",Ke)}),Y("div",{className:x("h-6 w-24 rounded-full",Ke)}),Y("div",{className:x("h-6 w-24 rounded-full",Ke)}),Y("div",{className:x("h-6 w-28 rounded-full",Ke)})]}),Oe("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[Oe("div",{className:"space-y-4",children:[Y("div",{className:x("h-5 w-40 rounded",Ke)}),Y("div",{className:x("h-5 w-56 rounded",Ke)}),Y("div",{className:x("h-24 rounded-xl",Ke)})]}),Oe("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[Y("div",{className:x("mb-2 h-4 w-24 rounded",Ke)}),Y("div",{className:x("mb-2 h-4 w-28 rounded",Ke)}),Y("div",{className:x("h-4 w-32 rounded",Ke)})]})]}),Oe("div",{className:"space-y-4",children:[Y("div",{className:x("h-4 w-24 rounded",Ke)}),Oe("div",{className:"flex flex-wrap gap-2",children:[Y("div",{className:x("h-6 w-16 rounded-full",Ke)}),Y("div",{className:x("h-6 w-16 rounded-full",Ke)}),Y("div",{className:x("h-6 w-16 rounded-full",Ke)})]}),Oe("div",{className:"space-y-2",children:[Y("div",{className:x("h-16 rounded-xl",Ke)}),Y("div",{className:x("h-16 rounded-xl",Ke)})]})]})]}),_S=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:l}=cr(e.reportHubId,e.businessDate),{removeStaleItem:c}=Ue(),{draftLabelName:d,sourceTypeConfigs:p}=$(),m=$t(),f=ia(e.reportHubId),b=f==="editing"||f==="automatic",R=Es(!1),g=Es(!1),u=Es(!1);np(()=>{if(l){u.current=!0;return}!(a||s||i)&&u.current&&e.reportHubId>0&&c(e.reportHubId)},[a,s,l,i,e.reportHubId,c]);let h=a?.labels.some(Q=>Q.name===d),I=n&&a?.userId===n,v=Rr(()=>a===null?void 0:()=>{R.current=!0,m.open(e.reportHubId,Wr(a),!1)},[m,e.reportHubId,a]),E=qr(()=>{g.current=!0,m.dismiss(e.reportHubId)},[m,e.reportHubId]),T=qr(()=>{g.current=!0,m.discard(e.reportHubId)},[m,e.reportHubId]),N=qr(Q=>{Q===null||!R.current||(R.current=!1,Q.focus())},[]),O=qr(Q=>{Q===null||!g.current||(g.current=!1,Q.focus())},[]);ES(()=>{b||(g.current=!1)},[b]),np(()=>{a!==null&&(I&&h&&f==="display"?m.open(e.reportHubId,Wr(a),!0):!h&&f==="automatic"&&m.discard(e.reportHubId))},[a,I,h,f,m,e.reportHubId]);let C=qr(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),k=xS(),V=Rr(()=>({heading:`${k}-heading`,state:`${k}-state`,attachments:`${k}-attachments`,source:`${k}-source`}),[k]),M=a!==null&&a.attachments.length>0,w=a===null?void 0:lr(a.sourceType,p),q=[V.state,...M?[V.attachments]:[],...w!==void 0?[V.source]:[]].join(" "),G=!i&&a!==null&&!b?{kind:"card",ids:V,describedBy:q}:{kind:"label",label:he(e.businessDate)},U=!i&&a===null&&s,j=i?"error":a===null?s?"loading":"missing":b?"editing":"resolved";return Y(rp,{itemId:e.reportHubId,name:G,isBusy:U,bodyKind:j,observeRowHeight:t,cursor:o,children:i?Y(LS,{itemId:e.reportHubId}):a?b?Y("div",{...Xe,className:vS,children:Y(va,{report:a,onCancel:E,onPublishSuccess:T,titleInputRef:N})}):Y(ip,{item:e,report:a,sourceConfig:w,textIds:V,onCommentAdded:r,userId:n,onEdit:I?v:void 0,editButtonRef:O,onCommentSectionRemoved:C}):Y(CS,{})})},ap=op(_S),ip=op(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:l})=>{let{toggleStar:c,toggleRead:d,pendingStarUpdates:p,pendingReadUpdates:m,deleteReport:f}=Ue(),{labels:b,headingLevel:R}=$(),g=zt[R],u=To(t.sourceType,r),h=qr(()=>o?.(e.reportHubId),[o,e.reportHubId]),I=p.current.get(t.reportHubId),v=I===void 0?t.isStarred:I,E=m.current.get(t.reportHubId),T=E===void 0?t.isRead:E,N=!!(a&&t.userId===a),O=async()=>{try{await d(t.reportHubId,!T,t.date)}catch{}},C=async()=>{try{await c(t.reportHubId,!v,t.date)}catch{}},k=async()=>{if(confirm(b.confirmDelete))try{await f(t.reportHubId,t.date)}catch{}},V=Rr(()=>yo(t.content??null),[t.content]),M=Rr(()=>de(t.customerName),[t.customerName]),w=Rr(()=>de(t.subject),[t.subject]),q=Vr(e.reportHubId),G=Rr(()=>{let U=t.visitTimeFrom?.trim(),j=t.visitTimeTo?.trim();return U&&j?`${U} - ${j}`:U||j||null},[t.visitTimeFrom,t.visitTimeTo]);return Y("div",{...Xe,onDoubleClick:i,className:IS,children:Oe(Et.Provider,{value:q,children:[Y(Ze,{level:R,id:n.heading,className:Vt,children:`${he(t.date)} ${Ut(t.employeeName)} ${Ut(t.subject)}`}),Y("span",{id:n.state,className:Vt,children:b.rowState({isRead:T,isStarred:v})}),Oe("div",{className:"flex flex-col gap-4",children:[Y(Cu,{report:t,sourceConfig:r,isRead:T,isStarred:v,isMine:N,onToggleRead:O,onToggleStar:C,onEdit:i,editButtonRef:s,onDelete:k,visitTimeDisplay:G,markerIds:n,labels:b}),Oe("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[Oe("div",{className:"flex flex-col gap-4",children:[Oe("div",{className:"grid gap-4 sm:grid-cols-2",children:[Oe("div",{className:"flex flex-col gap-1",children:[Y(Ze,{level:g,className:Dt,children:b.customer}),Y("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:Y(le,{fieldKey:X.field("customerName"),raw:t.customerName,display:M})})]}),Oe("div",{className:"flex flex-col gap-1",children:[Y(Ze,{level:g,className:Dt,children:b.subject}),Y("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:Y(le,{fieldKey:X.field("subject"),raw:t.subject,display:w})})]})]}),V.text.length>0&&Oe("div",{className:"flex flex-col gap-2",children:[Y(Ze,{level:g,className:Dt,children:b.content}),Y("div",{className:x("whitespace-pre-wrap",ro),children:Y(le,{fieldKey:X.field("content"),raw:t.content,display:V})})]}),t.interviewers.length>0&&Oe("div",{className:"flex flex-col gap-2",children:[Y(Ze,{level:g,className:Dt,children:b.interviewers}),Y("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map((U,j)=>Y("li",{className:x($e,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:Y(AS,{interviewer:U,index:j,template:b.interviewerWithAffiliation})},JSON.stringify([U.name,U.affiliation])))})]}),Y(Sa,{attachments:t.attachments}),Y(Ln,{report:t,userId:a,canComment:u,onCommentAdded:h,onSectionRemoved:l,formPlacement:"after-section"})]}),Y(Tu,{report:t,visitTimeDisplay:G,labels:b})]})]})]})})});ip.displayName="DailyReportResolvedItem";var LS=({itemId:e})=>{let{labels:t}=$();return Y("div",{...Xe,className:DS,children:Y("p",{children:t.reportLoadFailed(e)})})};import{useCallback as fp,useId as US,useMemo as yp,useRef as KS}from"react";import{createContext as wS,useContext as NS,useLayoutEffect as MS}from"react";var sp=()=>{let e=!1;return{request:()=>{e=!0},isPending:()=>e,take:()=>{let t=e;return e=!1,t}}},Is=wS(null),lp=(e,t)=>{let r=NS(Is);MS(()=>{let n=e.current;if(r===null||!r.isPending()||n===null)return;let o=Wo(n);o===null&&!t||(r.take(),At(n)&&St([o===null?Vi(n.ownerDocument):o]))})};import{useCallback as dp,useLayoutEffect as cp,useMemo as up,useRef as Ts}from"react";var OS=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e[o]?.reportHubId!==t[o]?.reportHubId)return!0;return!1},PS=(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}},kS=(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}},HS=(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"?PS(e.index,a,n.rowHeight,r.length):kS(e.index,a,Ha(n),r.length);return{reportHubId:r[i].reportHubId,index:i,offsetPx:s,lastVisibleIndex:Pn({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},FS=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=Ee(t,e[n].reportHubId,n-1);if(o!==-1)return o}return-1},pp=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=Ts(null),a=Ts(e),i=Ts(r),s=dp(()=>{let d=t.current,p=d===null?-1:d.getScrollPosition(),m=d===null||!(p>0)?null:d.getScrollAnchor(),f=a.current,b=m===null?void 0:f[m.index],R=d===null?0:d.getViewportSize();o.current=m===null||b===void 0||!(R>0)?null:{reportHubId:b.reportHubId,index:m.index,offsetPx:m.offsetPx,lastVisibleIndex:Pn(m,R,f.length,i.current),recordedAt:p}},[t]),l=up(()=>({toIndex:(d,p)=>{let m=t.current;m!==null&&(m.scrollToIndex(d,p),s())},by:d=>{let p=t.current;p!==null&&(p.scrollBy(d),s())},resizeRow:(d,p)=>{let m=t.current;m!==null&&(m.updateItemSize(d,p),s())}}),[t,s]);cp(()=>{let d=a.current;a.current=e;let p=o.current,m=t.current;if(d===e||p===null||m===null||n())return;let f=HS(p,m.getScrollPosition(),d,i.current,m.getViewportSize());if(f===null){o.current=null;return}let b=Ee(e,f.reportHubId,f.index),R=b===-1?FS(d,e,f):b;if(R===-1){o.current=null;return}if(R===f.index&&!OS(d,e,f.index,f.lastVisibleIndex)){o.current=f;return}m.scrollToIndex(R,{align:"top",offset:-f.offsetPx}),o.current={reportHubId:e[R].reportHubId,index:R,offsetPx:f.offsetPx,lastVisibleIndex:Pn({index:R,offsetPx:f.offsetPx},m.getViewportSize(),e.length,r),recordedAt:m.getScrollPosition()}},[e,t,r,n]),cp(()=>{i.current=r},[r]);let c=dp(d=>{if(d.cause!=="clamp"){s();return}let p=o.current;p!==null&&(o.current={...p,recordedAt:p.recordedAt+d.delta})},[s]);return up(()=>({handleRangeChange:s,handleScrollAdjust:c,scroller:l}),[s,c,l])};import{useCallback as BS}from"react";var VS=20,mp=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>BS(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:l=>o.current.findIndex(c=>c.reportHubId===l),getReportItem:l=>o.current[l],getReportIds:(l=VS)=>o.current.slice(0,l).map(c=>c.reportHubId),revealIndex:(l,c)=>n.toIndex(l,c)}}}),()=>{i!==null&&delete i.__virtualScroll,t.current=null}},[e,t,r,n,o]);import{jsx as WS}from"react/jsx-runtime";var Va=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let i=KS(null),s=fp(v=>(i.current=v,()=>{i.current=null}),[]),{handleRangeChange:l,handleScrollAdjust:c,scroller:d}=pp({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:p,...m}=Ju({...a,containerRef:e,handleRef:i,scroller:d}),f=mp({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:d,itemsRef:r});lp(e,a.items.length===0);let{labels:b}=$(),R=US(),g=a.onSelect!==null,u=fp(v=>{p(v),l(),o(v)},[p,l,o]),h=yp(()=>({role:"list","aria-label":b.title,"aria-describedby":g?R:void 0}),[b.title,g,R]),I=yp(()=>g?WS("span",{id:R,className:"sr-only",children:b.listKeyboardHelp}):null,[g,R,b.listKeyboardHelp]);return{...m,handleRangeChange:u,handleScrollAdjust:c,attachVirtualScroll:s,handleRef:i,scroller:d,attachScrollContainer:f,contentProps:h,keyboardHelp:I}};import{Fragment as ZS,jsx as Mt,jsxs as QS}from"react/jsx-runtime";var hp={pointerDragInputs:No,wheelSpeedMultiplier:Do,inertiaOptions:Mr(!1),enableKeyboardNavigation:!1},jS={...hp,inertiaOptions:Mr(!0)},bp="daily-report-detail-list",GS=x("relative w-full",co,lo),qS=x(nt,"relative"),YS=300,Ds=e=>{let t=je(null),[r,n]=Ua(null),o=Vo(t),a=Or(r),i=Pe(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return Mt("div",{ref:i,className:io,children:Mt("div",{className:so,children:o===null?null:Mt(XS,{...e,viewportHeight:o,reducedMotion:a})})})},XS=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:i,reducedMotion:s})=>{let[{initialScrollAnchor:l,restored:c}]=Ua(()=>{let S=a?.current;if(!S||S.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!S.topItem)return{initialScrollAnchor:void 0,restored:!0};let D=e.findIndex(B=>B.reportHubId===S.topItem?.reportHubId);return D!==-1?{initialScrollAnchor:{index:D,offsetPx:S.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:S.topItem.index,offsetPx:0},restored:!0}}),d=je(c),p=je(n??null),m=je(a?.current.measuredHeights??new Map),f=je(null),b=Ho(),R=vi(),[g]=Ua($o),u=je(null),h=je(null),I=je(e),v=je(o);zS(()=>{I.current=e,v.current=o},[e,o]);let E=je(null),[T,N]=Ua(0),O=je(null),C=e.length,k=t===void 0?C:t,V=Pe(S=>S>=C?Co:e[S],[e,C]),M=Pe(S=>{let D=m.current.get(V(S).reportHubId);return D===void 0?Gl:D},[V]),w=Pe(S=>V(S).reportHubId,[V]),q=vs(()=>({kind:"measured",heightOf:M}),[M]),G=Pe((S,D)=>{E.current={reportHubId:S,index:D},N(B=>B+1),v.current?.(S)},[]),U=Pe((S,D)=>{if(C===0)return;let B=Math.max(0,S),J=Math.min(C-1,D);if(B>J)return;let pe=new Set;for(let qe=B;qe<=J;qe++){let yt=V(qe);if(yt.businessDate&&pe.add(yt.businessDate),pe.size>=$l)break}pe.forEach(qe=>{R(qe)})},[V,C,R]),j=je(null),Q=Pe(()=>j.current,[]),ie=Pe(S=>{if(C===0)return;let{renderingStartIndex:D,renderingEndIndex:B,visibleStartIndex:J}=S,pe=V(J);pe.reportHubId>0&&(j.current=pe.reportHubId),pe.businessDate&&g.setLabel(he(pe.businessDate)),U(D,B),U(B+1,B+Ao),U(D-Ao,D-1)},[V,C,U,g]),De=Pe(()=>O.current!==null,[]),{cursor:ge,containerProps:oe,handleRangeChange:We,handleScrollAdjust:Ae,attachVirtualScroll:Ce,handleRef:fe,scroller:me,attachScrollContainer:st,contentProps:_e,keyboardHelp:we,resolveSelectedIndex:ke,rememberSelection:tt}=Va({items:e,selectedId:n??null,onSelect:o===void 0?null:G,containerRef:f,rootRef:f,testId:bp,itemsRef:I,rowSizing:q,arrowAlign:"top",rowActivation:!0,isViewRevealPending:De,onRangeChange:ie});jo({items:e,scroller:me,readTopReportId:Q});let rt=Pe((S,D)=>{if(fe.current===null)return!1;let B=I.current,J=D!==null&&D.reportHubId===S?Ee(B,S,D.index):ke(B,S);return J===-1?!1:(d.current&&(d.current=!1,S===p.current)||D!==null&&D.reportHubId===S&&D.index===J||me.toIndex(J,{align:"top"}),!0)},[fe,ke,me]);Qt(()=>{let S=E.current;E.current=null,O.current=null,n!=null&&(rt(n,S)||(O.current=n))},[n,rt]),Qt(()=>{let S=O.current;S!==null&&rt(S,null)&&(O.current=null)},[e,rt]),Qt(()=>{let S=a?.current;S&&(S.anchorReportHubId=n??null)},[n,a]),Qt(()=>{E.current=null},[T]);let ft=je(null),Jt=Pe(()=>{fe.current&&(ft.current=fe.current);let S=a?.current,D=ft.current;if(S&&D){let J=D.getScrollAnchor(),pe=J?I.current[J.index]:void 0;J&&pe&&(S.topItem={reportHubId:pe.reportHubId,index:J.index,offsetPx:J.offsetPx})}let B=f.current;B&&(B.toggleAttribute(vr,!0),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{B.toggleAttribute(vr,!1),h.current=null},150))},[fe,a]),_=Pe(S=>Mt(zo,{...S,store:g}),[g]);Qt(()=>{let S=f.current;if(!S)return;let D=()=>{g.setWheelScrollActive(!0),u.current&&clearTimeout(u.current),u.current=window.setTimeout(()=>{g.setWheelScrollActive(!1),u.current=null},_o)};return S.addEventListener("wheel",D,{passive:!0}),()=>{S.removeEventListener("wheel",D),u.current&&clearTimeout(u.current)}},[g]);let P=je(null),K=Pe(S=>{for(let D of S){let B=D.target.parentElement,J=B===null?null:ur(B),pe=B===null?null:Nr(B),qe=D.borderBoxSize[0];if(J===null||pe===null||qe===void 0)continue;let yt=qe.blockSize+2*Ht;if(m.current.get(J)===yt)continue;let Xn=Ee(I.current,J,pe-1);Xn!==-1&&(m.current.set(J,yt),me.resizeRow(Xn,yt))}},[me]),Z=Pe(S=>{P.current===null&&(P.current=new ResizeObserver(K));let D=P.current;return D.observe(S),()=>D.unobserve(S)},[K]);Qt(()=>()=>{P.current?.disconnect(),P.current=null},[]),Qt(()=>{C!==0&&U(0,Math.min(C-1,Ao))},[C,U]);let se=je(null),y=Pe(S=>{let D=Ee(I.current,S,null);D!==-1&&(se.current!==null&&clearTimeout(se.current),se.current=setTimeout(()=>{se.current=null;let B=Ee(I.current,S,D);B!==-1&&me.toIndex(B,{align:"bottom"})},YS))},[me]);Qt(()=>()=>{se.current!==null&&clearTimeout(se.current)},[]);let A=Pe(S=>{if(!v.current)return;let D=Wt(S.target,f.current);if(D===null||Sd(S.target,D))return;let B=cn(D,I.current);B!==null&&(tt(B.reportHubId,B.index),G(B.reportHubId,B.index))},[G,tt]),H=Pe((S,D)=>Mt(_t.Provider,{value:D,children:Mt(ap,{item:S,observeRowHeight:Z,onCommentAdded:y,userId:r,cursor:ge})},S.reportHubId),[Z,y,r,ge]),L=vs(()=>({...wo,renderThumbOverlay:_}),[_]),W=vs(()=>Mt(Ct.Provider,{value:k,children:Mt($S,{ref:Ce,itemCount:C,getItem:V,getItemKey:w,getItemHeight:M,viewportSize:i,initialScrollAnchor:l,overscanCount:Lo,scrollBarOptions:L,behaviorOptions:s?jS:hp,onRangeChange:We,onScrollAdjust:Ae,onScroll:Jt,testId:bp,className:GS,locale:b.locale,labels:b.labels,contentProps:_e,children:H})}),[Ce,k,C,V,w,M,i,s,l,L,We,Ae,Jt,b.locale,b.labels,_e,H]);return Mt(ZS,{children:QS("div",{ref:st,className:qS,...oe,onClick:A,children:[we,W]})})};import Sp from"lucide-react/dist/esm/icons/refresh-cw.js";import{createContext as eg,useContext as tg,useLayoutEffect as rg,useRef as ng}from"react";import{jsx as Rp,jsxs as JS}from"react/jsx-runtime";var Fn=e=>10**String(e).length-1,Ka=({text:e,widestText:t,ref:r})=>JS("span",{ref:r,className:fl,children:[Rp("span",{"aria-hidden":"true",className:yl,children:t}),Rp("span",{className:bl,children:e})]});import{jsx as Sr,jsxs as Wa}from"react/jsx-runtime";var As=eg(!0),og=`inline-flex rounded-full empty:not-focus:hidden ${re}`,ag=(e,t,r)=>{if(r===null||r===0)return{text:e.streamProgressCount(t),widestText:e.streamProgressCount(Fn(t))};let n=Fn(Math.max(t,r));return{text:e.streamProgressRatio(t,r,Math.min(100,Math.round(t/r*100))),widestText:e.streamProgressRatio(n,n,100)}},ig=({labels:e,loadedCount:t,totalCount:r})=>{let{text:n,widestText:o}=ag(e,t,r);return Wa("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:x($e,"gap-1 bg-blue-100 font-medium text-blue-800 text-xs tabular-nums dark:bg-blue-900/40 dark:text-blue-300"),children:[Sr("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 motion-safe:animate-pulse dark:bg-blue-400"}),Sr(Ka,{text:n,widestText:o})]})},sg=(e,t,r,n)=>e.phase==="streaming"?Sr(ig,{labels:t,loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?Wa("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:x($e,"gap-1 bg-amber-100 font-medium text-amber-800 text-xs tabular-nums dark:bg-amber-900/40 dark:text-amber-300"),children:[Sr(Sp,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?Wa("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:x($e,"gap-1 bg-rose-100 font-medium text-rose-800 text-xs dark:bg-rose-900/40 dark:text-rose-300"),children:[t.streamFailed,Sr("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:n,className:x("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?Wa("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:[Sr(Sp,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null,Bn=()=>{let e=Kd(),{labels:t}=$(),r=tg(As),n=ng(null),a=sg(e,t,r,()=>{St([n.current]),ta()}),i=a===null;return rg(()=>{let s=n.current;!i||s===null||!s.contains(Te(s))||St(sa(s.ownerDocument))},[i]),Sr("span",{ref:n,tabIndex:-1,"data-daily-report-stream-status":"",className:og,children:a})};import{Panel as Kp,PanelGroup as Dx,PanelResizeHandle as Ax}from"@aiquants/resize-panels";import{VirtualScroll as Cx}from"@aiquants/virtualscroll";import{useCallback as pt,useEffect as Xa,useLayoutEffect as Fs,useMemo as Qa,useRef as xr,useState as Ja}from"react";import{useSyncExternalStore as lg}from"react";var gp="(max-width: 639px)",dg=()=>{},cg=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return dg;let t=window.matchMedia(gp);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},ug=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(gp).matches:!1,pg=()=>!1,xp=()=>lg(cg,ug,pg);import{SwipeCloseGuardContext as Pg,useOverlayEscapeStack as kg,useSwipeGuardState as Hg,useSwipeToDismissOverlay as Fg,useTapClick as Bg,useTransitionDisplay as Vg}from"@aiquants/swipe-overlay";import{useCallback as Ga,useEffect as Qr,useId as Os,useLayoutEffect as Ps,useRef as ut,useState as qa}from"react";import{createContext as mg,useMemo as fg}from"react";var Ep=Object.freeze({id:null,indexHint:null}),$a=mg(Object.freeze({selected:Ep,settled:Ep})),Vn=(e,t)=>{let{id:r,indexHint:n}=t;return fg(()=>{if(r===null)return null;let o=Ee(e,r,n);return o===-1?null:e[o]},[e,r,n])};import yg from"lucide-react/dist/esm/icons/check.js";import bg from"lucide-react/dist/esm/icons/pencil.js";import hg from"lucide-react/dist/esm/icons/trash-2.js";import{memo as Rg,useCallback as gr,useContext as Sg,useDeferredValue as gg,useEffect as Ls,useId as vp,useLayoutEffect as ws,useMemo as zn,useRef as $n,useState as Dp}from"react";import*as Ot from"@radix-ui/react-tabs";import*as et from"react";import{jsx as Yr}from"react/jsx-runtime";var Ip=et.createContext(null),Tp=e=>{let t=et.useContext(Ip);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},Cs=(e,t)=>`${e}-trigger-${t}`,_s=(e,t)=>`${e}-panel-${t}`,Un=et.forwardRef(({value:e,children:t,...r},n)=>{let o=et.useId(),a=et.useMemo(()=>({baseId:o,value:e}),[o,e]);return Yr(Ot.Root,{ref:n,value:e,...r,children:Yr(Ip,{value:a,children:t})})});Un.displayName=Ot.Root.displayName;var Kn=et.forwardRef(({className:e,...t},r)=>Yr(Ot.List,{ref:r,className:x("inline-flex",e),...t}));Kn.displayName=Ot.List.displayName;var Wn=et.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=Tp("TabsTrigger");return Yr(Ot.Trigger,{ref:n,value:t,...r,id:Cs(o,t),"aria-controls":_s(o,t),className:x(`${dl} ${re}`,e)})});Wn.displayName=Ot.Trigger.displayName;var Xr=et.forwardRef(({className:e,value:t,tabStop:r,children:n,...o},a)=>{let{baseId:i,value:s}=Tp("TabsContent"),l=t===s,c="mt-2 data-[state=inactive]:hidden";return r?Yr("div",{ref:a,role:"tabpanel",id:_s(i,t),"aria-labelledby":Cs(i,t),"data-state":l?"active":"inactive",hidden:!l,tabIndex:0,...o,className:x(`${c} ${re}`,e),children:l?n:null}):Yr("div",{ref:a,role:"tabpanel",id:_s(i,t),"aria-labelledby":Cs(i,t),"data-state":l?"active":"inactive",hidden:!l,...o,className:x(c,e),children:l?n:null})});Xr.displayName="TabsContent";import{jsx as z,jsxs as Pt}from"react/jsx-runtime";var _p=x(er,"w-24 shrink-0"),Ap={field:"flex items-baseline",label:_p,value:"flex-1"},xg={field:"flex min-w-0 flex-1 items-baseline",label:_p,value:"wrap-break-word min-w-0 flex-1"},Eg={field:"flex flex-col gap-1",label:er,value:""},Ig={field:"flex items-center gap-1",label:er,value:""},Cp=x("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",ri,Gs,js),Tg=x("flex flex-col gap-1",ni),vg=x("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",re),Ns=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)})}},Dg=(e,t,r,n,o,a)=>{let i=$n(null),s=e?.reportHubId;ws(()=>{i.current=null},[s]),Ls(()=>{n||(i.current=null)},[n]);let l=gr(async(c,d)=>{d||(i.current=c.reportHubId);try{await a(c.reportHubId,!c.isRead,c.date)}catch{}},[a]);return Ls(()=>{if(!(r&&e&&!e.isRead&&!t)||i.current===e.reportHubId)return;let c=null,d=()=>{c!==null&&clearTimeout(c),c=o.isDwelling()?setTimeout(()=>l(e,!0),500):null};d();let p=o.subscribe(d);return()=>{p(),c!==null&&clearTimeout(c)}},[e,t,r,l,o]),{handleToggleRead:l}},Ms="article",Ag=["article","relations"],Cg=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},_g=x("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",bt),Lg=9,wg=.875,Ng=16,Lp=4*Math.ceil((2*Ht+2*to+2*Xs+Lg*wg*Ng)/4),wp=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=$(),a=vp(),i=vp(),[s,l]=Dp(Ms),{selected:c,settled:d}=Sg($a),p=Vn(e,c),m=Vn(e,gg(d)),f=p===null?null:p.reportHubId,R=(m===null?null:m.reportHubId)===f,[g]=Dp(()=>Ns(R));return ws(()=>{g.set(R)},[g,R]),z("aside",{"data-testid":"daily-report-side-pane","data-report-id":p?.reportHubId,"data-displayed-report-id":m?.reportHubId,"aria-busy":R?void 0:!0,className:_g,children:m===null?z("div",{className:x("flex h-full flex-1 items-center justify-center text-center",Dr),children:z("p",{className:Ar,children:o.selectPrompt})}):z(ja,{item:m,headingId:a,authorId:i,activeTab:s,onActiveTabChange:l,autoMarkRead:t,isActive:!0,dwell:g,userId:r,onReportDeleted:n},m.reportHubId)})},ja=Rg(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:l,onReportDeleted:c})=>{let{draftLabelName:d,labels:p,sourceTypeConfigs:m,headingLevel:f}=$(),{report:b,error:R,isLoading:g}=cr(e.reportHubId,e.businessDate),u=$t(),h=ia(e.reportHubId),I=h==="editing"||h==="automatic",v=$n(null),E=$n(null),T=$n(!1),N=$n(!1),O=!!(l&&b?.userId===l),C=b?.labels.some(oe=>oe.name===d);Ls(()=>{b!==null&&(O&&C&&h==="display"?u.open(e.reportHubId,Wr(b),!0):!C&&h==="automatic"&&u.discard(e.reportHubId))},[b,O,C,h,u,e.reportHubId]);let k=zn(()=>b===null?void 0:()=>{T.current=!0,u.open(e.reportHubId,Wr(b),!1)},[u,e.reportHubId,b]),V=gr(()=>{N.current=!0,u.dismiss(e.reportHubId)},[u,e.reportHubId]),M=gr(()=>{N.current=!0,u.discard(e.reportHubId)},[u,e.reportHubId]),w=gr(oe=>{oe===null||!T.current||(T.current=!1,oe.focus())},[]),q=gr(oe=>{oe===null||!N.current||(N.current=!1,oe.focus())},[]),G=gr(()=>{E.current?.focus({preventScroll:!0})},[]);ws(()=>{I||!N.current||(N.current=!1,E.current?.focus())},[I]);let U=gr(()=>{setTimeout(()=>{let oe=v.current;oe!==null&&oe.scrollTo({top:oe.scrollHeight,behavior:Td(oe)})},100)},[]),j=he(e.businessDate),Q=zn(()=>b===null?null:de(b.employeeName),[b]),ie=Vr(e.reportHubId),De=g||!b,ge=b===null?void 0:lr(b.sourceType,m);return Pt(Et.Provider,{value:ie,children:[Pt("div",{className:Tg,children:[z("dl",{className:"m-0",children:z(Se,{label:p.businessDate,classNames:Eg,children:z(Ze,{ref:E,level:f,id:t,tabIndex:-1,className:vg,children:j})})}),Pt("div",{className:"flex min-h-4 items-center gap-1 text-slate-500 text-xs dark:text-slate-300",children:[z("dl",{className:"m-0",children:z(Se,{label:p.author,classNames:Ig,valueId:r,children:De||Q===null?z("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):z(le,{fieldKey:X.field("employeeName"),raw:b?.employeeName,display:Q})})}),ge?z(zr,{config:ge,className:"ml-2"}):null,b===null?null:z(Aa,{report:b,view:"pane",isEditing:I})]})]}),Pt(Un,{value:n,onValueChange:oe=>o(Cg(oe)),className:"flex min-h-0 flex-1 flex-col",children:[z("div",{className:ni,children:z(Kn,{"aria-label":p.reportTabList,className:x(sl,"grid grid-cols-2 gap-1"),children:Ag.map(oe=>z(Wn,{value:oe,children:oe==="article"?p.tabArticle:p.tabRelations},oe))})}),z(Xr,{ref:v,value:"article",tabStop:!0,className:Cp,children:I?b?z(va,{report:b,onCancel:V,onPublishSuccess:M,titleInputRef:w}):z("p",{className:Dr,children:p.loading}):z(Og,{report:b,sourceConfig:ge,isLoading:g,error:R,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:U,userId:l,onEdit:O?k:void 0,editButtonRef:q,onReportDeleted:c,onCommentSectionRemoved:G})}),z(Xr,{value:"relations",tabStop:!0,className:Cp,children:z("p",{className:Dr,children:p.relationsEmpty})})]})]})});ja.displayName="DailyReportSidePaneContent";var za=({className:e="w-32"})=>z("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),Mg=["w-full","w-11/12","w-4/5"],Og=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:i=!0,dwell:s,onCommentAdded:l,userId:c,onEdit:d,editButtonRef:p,onReportDeleted:m,onCommentSectionRemoved:f})=>{let{toggleStar:b,toggleRead:R,deleteReport:g}=Ue(),{labels:u,headingLevel:h}=$(),I=zt[h],{handleToggleRead:v}=Dg(e,r,a,i,s,R),E=e!==null&&To(e.sourceType,t),T=zn(()=>e?.content?fo(e.content):null,[e]),N=zn(()=>de(e?.subject),[e]),O=zn(()=>de(e?.customerName),[e]),C=async w=>{try{await b(w.reportHubId,!w.isStarred,w.date)}catch{}},k=async w=>{if(confirm(u.confirmDelete)){try{await g(w.reportHubId,w.date)}catch{return}m(w.reportHubId)}};if(n)return z("p",{className:tn,children:u.reportLoadFailed(o.reportHubId)});let V=!e,M=!!(c&&e?.userId===c);return Pt("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:d,children:[Pt("div",{className:"flex items-start gap-2",children:[z("dl",{className:"m-0 flex min-w-0 flex-1",children:z(Se,{label:u.subject,classNames:xg,children:V?z(za,{className:"w-3/4"}):z("span",{className:"text-sm",children:z(le,{fieldKey:X.field("subject"),raw:e?.subject,display:N})})})}),!V&&e&&Pt("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[z("button",{type:"button",onClick:()=>C(e),className:He,title:e.isStarred?u.starRemove:u.starAdd,"aria-label":e.isStarred?u.starRemove:u.starAdd,"data-detail-star-button":e.reportHubId,children:z($r,{filled:e.isStarred})}),z("button",{type:"button",onClick:()=>v(e,!1),className:He,title:e.isRead?u.markUnread:u.markRead,"aria-label":e.isRead?u.markUnread:u.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?z(yg,{className:Le.read}):z(jr,{})}),d&&z("button",{ref:p,type:"button",onClick:d,"data-detail-edit-button":e.reportHubId,className:He,title:u.edit,"aria-label":u.edit,children:z(bg,{className:Le.edit})}),M&&z("button",{type:"button",onClick:()=>k(e),"data-detail-delete-button":e.reportHubId,className:He,title:u.deleteReport,"aria-label":u.deleteReport,children:z(hg,{className:Le.delete})})]})]}),z("dl",{className:"m-0",children:z(Se,{label:u.customer,classNames:Ap,children:V?z(za,{className:"w-1/2"}):z("span",{className:"text-sm",children:z(le,{fieldKey:X.field("customerName"),raw:e?.customerName,display:O})})})}),Pt("div",{className:"flex flex-col gap-2",children:[z(Ze,{level:I,className:Dt,children:u.content}),z("div",{className:x(Qs,ro),children:V?Mg.map(w=>z("div",{className:Zs,children:z(za,{className:w})},w)):T!==null&&T.text.length>0?z("div",{className:"whitespace-pre-wrap",children:z(le,{fieldKey:X.field("content"),raw:e?.content,display:T})}):z("p",{className:"text-slate-500 dark:text-slate-400",children:u.contentEmpty})})]}),z("dl",{className:"m-0",children:z(Se,{label:u.visitTime,classNames:Ap,children:V?z(za,{className:"w-1/3"}):Pt("span",{className:"text-sm",children:[Ut(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",Ut(e?.visitTimeTo)]})})}),e&&z(Sa,{attachments:e.attachments}),e&&z(Ln,{report:e,userId:c,canComment:E,onCommentAdded:l,onSectionRemoved:f,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};import{jsx as Zt,jsxs as Np}from"react/jsx-runtime";var Ug="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]",Kg={right:"var(--aqdr-overlay-right, 0px)"},Wg="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",$g=x("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",ml),zg=x("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),jg="flex shrink-0 justify-center empty:hidden",Gg=50,Mp=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=qa(!1),[l,c]=qa(!1),d=ut(null),p=ut(null),m=ut(null),f=ut(e),b=ut(!0),R=Vn(r,t),g=Ga(()=>{let v=o.current;if(v===null)return;let E=v.ownerDocument.body;m.current={body:E,overflow:E.style.overflow},E.style.overflow="hidden"},[o]),u=Ga(()=>{let v=m.current;v!==null&&(v.body.style.overflow=v.overflow,m.current=null)},[]);Qr(()=>{if(b.current){b.current=!1,f.current=e;return}let v=!f.current;f.current=e,v&&e&&a!==null?s(!0):!e&&i&&(p.current=a,s(!1),u())},[e,a,i,u]);let h=e&&i&&R!==null;Qr(()=>{if(h)c(!0);else{let v=setTimeout(()=>c(!1),300);return()=>clearTimeout(v)}},[h]),Qr(()=>{if(e&&i&&a!==null&&!d.current){let v=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:v},"",window.location.href),d.current=v}else!(e&&i)&&d.current&&(d.current=null);return e&&i?g():u(),u},[e,i,a,g,u]),Qr(()=>{let v=()=>{d.current&&(p.current=a,d.current=null,s(!1),n(null))};return window.addEventListener("popstate",v),()=>window.removeEventListener("popstate",v)},[a,n]);let I=Ga(()=>{e&&(p.current=a,s(!1),n(null),d.current&&(d.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:i,setIsMobileDetailOpen:s,isOverlayMounted:l,shouldShowOverlay:h,handleOverlayClose:I,lastClosedItemIdRef:p,selectedItem:R}},Op=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=$(),{registerNoticeHost:s}=da(),l=ut(null),c=ut(null),d=Os(),p=Os(),[m,f]=qa(Ms),b=kg(),R=Os(),g=ut(!1),u=ut(e),h=ut(null),[I]=qa(()=>Ns(e)),{isBlocked:v,requestBlock:E,reset:T}=Hg(),N=Vg(e,t),{overlayRef:O,overlayStyle:C,attemptClose:k,isSwiping:V}=Fg({isOpen:e,onClose:r,isCloseBlocked:Ga(()=>v,[v]),skipWhenTextSelected:!0}),M=ut(k);Ps(()=>{M.current=k,u.current=e,I.set(e)},[k,e,I]),Qr(()=>{if(e)return b({id:R,onEscape:j=>Lt(j)&&M.current()})},[e,b,R]),Ps(()=>{let j=l.current;if(j===null)return;if(e){if(g.current)return;j.showModal(),g.current=!0,j.ownerDocument.getElementById(d)?.focus();return}if(!g.current)return;g.current=!1;let Q=Te(j);Q!==null&&j.contains(Q)&&dn(Q)&&Q.blur(),j.close()},[e,d]),Ps(()=>{let j=c.current;if(!(!e||j===null))return s(j)},[e,s]),Qr(()=>{e||T()},[e,T]);let w=Bg(()=>k()),q=j=>{let Q=Hr(j);if(Lt(Q)){k()&&j.preventDefault();return}if(Q.key==="Escape"){h.current=j.timeStamp;return}let ie=ac(Q,j.currentTarget);ie!==null&&(j.preventDefault(),ie.kind==="wrap"&&ie.element.focus())},G=j=>{j.preventDefault();let Q=h.current;h.current=null,!(Q!==null&&j.timeStamp-Q<=Gg)&&M.current()},U=j=>{let Q=j.currentTarget;Q.open||!u.current||(g.current=!1,!M.current()&&(Q.showModal(),g.current=!0))};return N?Np("dialog",{ref:l,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${d} ${p}`,tabIndex:-1,className:x(Ug,e&&!V?"pointer-events-auto":"pointer-events-none"),style:Kg,inert:!e,onKeyDown:q,onCancel:G,onClose:U,children:[Zt("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:x(Wg,e?"opacity-100":"opacity-0"),...w}),Zt("div",{ref:O,"data-daily-report-overlay-panel":"",className:x($g,e?"pointer-events-auto":"pointer-events-none"),style:C,children:Np("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[Zt(Pg.Provider,{value:{isBlocked:v,requestBlock:E},children:Zt("div",{"data-testid":"daily-report-side-pane","data-report-id":N.reportHubId,"data-displayed-report-id":N.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:Zt(ja,{item:N,headingId:d,authorId:p,activeTab:m,onActiveTabChange:f,autoMarkRead:n,isActive:e,dwell:I,userId:o,onReportDeleted:a},N.reportHubId)})}),Zt("div",{ref:c,"data-daily-report-notice-slot":"","data-overlay-interactive":"true",className:jg}),Zt("div",{className:"flex justify-start",children:Zt("button",{type:"button","data-overlay-interactive":"true",className:zg,onClick:()=>k(),children:i.close})})]})})]}):null};import sx from"lucide-react/dist/esm/icons/check.js";import{createContext as lx,memo as Bp,useCallback as dx,useContext as Jr,useEffect as cx,useId as jn,useMemo as ks,useRef as ux}from"react";import{createContext as qg,createElement as Yg,useLayoutEffect as Xg,useMemo as Qg,useRef as Zg,useState as Jg}from"react";var ex=6.75,tx=4,rx=1e-6,nx=e=>4*Math.ceil((2*Ht+2*to+tx+ex*e-rx)/4),Ya=qg(null),ox="data-daily-report-root-font-size-probe",ax={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},ix=e=>{let t=ze(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])},Pp=()=>{let e=Zg(null),[t,r]=Jg(null);Xg(()=>{let o=e.current;if(o===null)throw new Error("[daily-report] useListRowSlotHeight needs the List to render remProbe");let a=null,i=()=>{let l=nx(ix(o));l!==a&&(a=l,r(l))};i();let s=new ResizeObserver(i);return s.observe(o),()=>s.disconnect()},[]);let n=Qg(()=>Yg("div",{ref:e,"aria-hidden":!0,[ox]:"",style:ax}),[]);return{rowSlotHeight:t,remProbe:n}};import{jsx as te,jsxs as en}from"react/jsx-runtime";var px=x(Bt,Jn,eo,Zn),mx=x("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",bt,no,Ys),fx="min-w-24",yx="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",bx={touchAction:"manipulation"},hx=x("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",fx),Rx=x("relative z-10",He),Sx=x("flex h-full",bt),gx="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",Zr="h-4 rounded bg-slate-200 dark:bg-slate-700",xx=()=>te("div",{"data-skeleton":!0,...Xe,className:Sx,children:en("div",{className:gx,children:[en("div",{className:"flex flex-wrap items-center gap-2",children:[te("div",{className:x(Zr,"w-24")}),te("div",{className:x(Zr,"w-24")}),te("div",{className:x(Zr,"w-24")})]}),en("div",{className:"space-y-2",children:[te("div",{className:x(Zr,"w-full")}),te("div",{className:x(Zr,"w-11/12")}),te("div",{className:x(Zr,"w-5/6")})]})]})}),Ex=e=>{e.target===e.currentTarget&&e.preventDefault()},Ix="h-full w-full",Vp=lx(!1),kp=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=Jr(_t),a=Jr(Ct),i=Jr(Ya);if(i===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let s=ks(()=>({height:i}),[i]),{isCurrent:l,isTabStop:c}=Fa(t,e),d=Ba(t,e,o);return te(An.Provider,{value:c,children:te(Vp.Provider,{value:l,children:te("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||!d?!0:void 0,"aria-current":r!==null&&l?"true":void 0,tabIndex:r===null?-1:void 0,className:px,style:s,onMouseDown:Ex,children:d?n:te("div",{...Xe,className:Ix})})})})},Tx=({id:e})=>{let{labels:t}=$(),r=Jr(_t),n=Jr(Ct);return te("span",{id:e,hidden:!0,children:n===un?t.listRowPositionInUnknownTotal(r+1):t.listRowPosition(r+1,n)})},vx=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=Jr(Vp);return te("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:hx,children:o})},Hp=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=Kr();return te("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:Rx,children:n})},Up=Bp(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=$(),{toggleStar:i,toggleRead:s}=Ue(),l=jn(),c=jn(),d=jn(),p=jn(),m=jn(),f=ks(()=>Il(t.content??null,jl),[t.content]),b=ks(()=>de(t.employeeName),[t.employeeName]),R=Vr(e.reportHubId),g=he(e.businessDate),u=O=>{O.currentTarget.focus({preventScroll:!0});let C=Rd(O.currentTarget);C!==null&&r(e.reportHubId,C)},h=async()=>{let O=!t.isStarred;try{await i(t.reportHubId,O,t.date)}catch{}},I=async()=>{let O=!t.isRead;try{await s(t.reportHubId,O,t.date)}catch{}},v=t.isStarred?o.starRemove:o.starAdd,E=t.isRead?o.markUnread:o.markRead,T=lr(t.sourceType,a),N=[l,d,...t.attachments.length>0?[p]:[],...T===void 0?[]:[m],c].join(" ");return te("div",{"data-daily-report-card":!0,...Xe,style:bx,className:mx,children:en(Et.Provider,{value:R,children:[te(Tx,{id:l}),te("span",{id:d,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),en(vx,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:N,onClick:u,children:[te("span",{className:x($e,"shrink-0 bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:te("span",{className:"whitespace-nowrap font-medium text-slate-900 dark:text-slate-100",children:g})})," ",te("span",{className:x($e,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:te("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:te(le,{fieldKey:X.field("employeeName"),raw:t.employeeName,display:b})})})]}),en("div",{className:x(el,"ml-auto"),children:[te(rn,{id:p,count:t.attachments.length,label:o.attachments}),T?te(zr,{id:m,config:T}):null,te(Hp,{label:v,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:h,children:te($r,{filled:t.isStarred})}),te(Hp,{label:E,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:I,children:t.isRead?te(sx,{className:Le.read}):te(jr,{})})]}),te("div",{id:c,className:yx,children:f.length>0?f.map((O,C)=>te("p",{className:"wrap-break-word line-clamp-1",children:te(le,{fieldKey:X.field("content"),raw:t.content,display:O})},C)):te("p",{children:o.contentEmptyPreview})})]})})});Up.displayName="ListReportCard";var Fp=(e,t)=>dx(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),Hs=Bp(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=$(),{removeStaleItem:o}=Ue(),{report:a,error:i,isLoading:s,isRefetching:l}=cr(e.reportHubId,e.businessDate),c=ux(!1);cx(()=>{if(l){c.current=!0;return}!(a||s||i)&&c.current&&e.reportHubId>0&&o(e.reportHubId)},[a,s,l,i,e.reportHubId,o]);let d=Fp(r,e.reportHubId),p=Fp(r,e.reportHubId),m=(f,b)=>te(kp,{reportHubId:e.reportHubId,cursor:r,cardless:{label:he(e.businessDate),isBusy:b,focusTargetRef:d},children:f});return i?m(te("div",{...Xe,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:te("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?m(te(xx,{}),!0):a?te(kp,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:te(Up,{item:e,report:a,onSelect:t,focusTargetRef:p})}):m(te("div",{...Xe,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:te("p",{children:n.reportNotFound})}),!1)});Hs.displayName="ListReportItem";import{Fragment as Wx,jsx as Ge,jsxs as Za}from"react/jsx-runtime";var $p={pointerDragInputs:No,inertiaOptions:Mr(!1),wheelSpeedMultiplier:Do,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},_x={...$p,inertiaOptions:Mr(!0)},Lx=Object.freeze({value:360,unit:"pixels"}),wx=Object.freeze({value:160,unit:"pixels"}),Nx=Object.freeze({value:Lp,unit:"pixels"}),Mx=Object.freeze({value:520,unit:"pixels"}),Ox=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),Px=x("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",re),kx=x("relative w-full",co,lo),Hx=x(nt,"relative isolate overflow-hidden"),Wp="daily-report-list",Fx=()=>!1,Bx=e=>{let[t,r]=Ja(!1);return Fs(()=>{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<zl)},a=new(ze(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},Bs=e=>{let t=xr(null),[r,n]=Ja(null),o=Vo(t),a=Bx(t),{rowSlotHeight:i,remProbe:s}=Pp(),l=Or(r),c=pt(d=>(t.current=d,n(d),()=>{t.current=null,n(null)}),[]);return Za("div",{ref:c,className:io,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:Ge(Vx,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:l})]})},Vx=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:i,rootRef:s,viewportHeight:l,rowSlotHeight:c,isContainerNarrow:d,reducedMotion:p})=>{let[m]=Ja(()=>i?.current??0),f=xr(null),{labels:b}=$(),R=Ho(),[g]=Ja($o),h=xp()||d,I=xr(null),v=e.length,E=t===void 0?v:t,T=xr(null),N=pt(S=>o(S),[o]),O=pt(S=>S<v?e[S]:Co,[e,v]),C=xr(null),k=pt(S=>{let D=O(S.visibleStartIndex);D.reportHubId>0&&(g.setLabel(he(D.businessDate)),C.current=D.reportHubId)},[O,g]),V=pt(()=>C.current,[]),M=Qa(()=>({kind:"uniform",rowHeight:c}),[c]),w=xr(e);Fs(()=>{w.current=e},[e]);let{cursor:q,containerProps:G,handleRangeChange:U,handleScrollAdjust:j,attachVirtualScroll:Q,handleRef:ie,scroller:De,attachScrollContainer:ge,contentProps:oe,keyboardHelp:We,selection:Ae,settledSelection:Ce,resolveSelectedIndex:fe,rememberSelection:me,focusAfterRemoval:st}=Va({items:e,selectedId:n,onSelect:N,containerRef:f,rootRef:s,testId:Wp,itemsRef:w,rowSizing:M,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:Fx,onRangeChange:k});jo({items:e,scroller:De,readTopReportId:V});let{isMobileDetailOpen:_e,setIsMobileDetailOpen:we,isOverlayMounted:ke,shouldShowOverlay:tt,handleOverlayClose:rt,lastClosedItemIdRef:ft,selectedItem:Jt}=Mp({isMobileLayout:h,selection:Ae,dailyReportItems:e,onSelectItem:o,rootRef:s}),_=Qa(()=>({selected:Ae,settled:Ce}),[Ae,Ce]);Xa(()=>{let S=f.current,D=()=>{g.setWheelScrollActive(!0),I.current&&clearTimeout(I.current),I.current=window.setTimeout(()=>{g.setWheelScrollActive(!1),I.current=null},_o)};return S?.addEventListener("wheel",D,{passive:!0}),()=>{S?.removeEventListener("wheel",D),I.current&&clearTimeout(I.current)}},[g]),Xa(()=>{!v&&n!==null&&o(null)},[v,n,o]),Xa(()=>{if(_e||ft.current===null)return;let S=ft.current;ft.current=null;let D=fe(e,S);if(D===-1)return;let B=ie.current;if(B!==null){let J=On(B,D,e.length,M),pe=J===null?"none":Vu(J);pe!=="none"&&De.toIndex(D,{align:pe})}q.requestFocus(S)},[_e,e,ft,q,fe,ie,M,De]),Xa(()=>{v>0&&g.setLabel(he(e[0].businessDate))},[e,v,g]);let P=pt((S,D)=>{S<=0||(me(S,D),o(S),h&&we(!0))},[h,o,we,me]),K=pt(()=>c,[c]),Z=xr(c);Fs(()=>{let S=Z.current;Z.current=c;let D=ie.current;if(S===c||D===null)return;let B=D.getScrollPosition();B>0&&De.by(B*c/S-B)},[ie,c,De]);let se=pt(S=>O(S).reportHubId,[O]),y=pt((S,D)=>Ge(_t.Provider,{value:D,children:Ge(Hs,{item:S,onSelect:P,cursor:q})},S.reportHubId),[P,q]),A=pt(S=>{i&&(i.current=S);let D=f.current;D&&(D.toggleAttribute(vr,!0),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{D.toggleAttribute(vr,!1),T.current=null},150))},[i]),H=pt(S=>Ge(zo,{...S,store:g}),[g]),L=Qa(()=>Za("div",{ref:ge,className:Hx,...G,children:[We,Ge(Ct.Provider,{value:E,children:Ge(Ya.Provider,{value:c,children:Ge(Cx,{ref:Q,itemCount:v,getItem:O,getItemKey:se,getItemHeight:K,viewportSize:l,initialScrollOffset:m,overscanCount:Lo,scrollBarOptions:{...wo,renderThumbOverlay:H},behaviorOptions:p?_x:$p,onRangeChange:U,onScrollAdjust:j,onScroll:A,testId:Wp,className:kx,locale:R.locale,labels:R.labels,contentProps:oe,children:y})})})]}),[ge,Q,G,E,v,O,se,K,l,c,p,m,H,U,j,A,We,oe,R.locale,R.labels,y]),W=Qa(()=>Za(Dx,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[Ge(Kp,{id:"daily-report-list-panel",defaultSize:Lx,minSize:wx,maxSize:Mx,contentOverflow:"hidden",className:Ux,children:L}),Ge(Ax,{id:"daily-report-list-handle",thickness:10,indicator:Ox,className:Px,"aria-label":b.resizeHandle}),Ge(Kp,{id:"daily-report-detail-panel",minSize:Nx,contentOverflow:"hidden",className:Kx,children:Ge(wp,{dailyReportItems:e,autoMarkRead:r,userId:a,onReportDeleted:st})})]}),[L,b.resizeHandle,e,r,a,st]);return Za(Wx,{children:[Ge("div",{className:so,children:h?Ge("div",{className:nt,children:L}):Ge($a.Provider,{value:_,children:W})}),ke&&Ge(Op,{isOpen:tt,selectedItem:Jt,onClose:rt,autoMarkRead:h&&r,userId:a,onReportDeleted:st})]})},Ux=x("flex min-h-0",zs),Kx=x("flex min-h-0 flex-1",Bt);import{useCallback as ME,useEffect as bm,useLayoutEffect as Rm,useRef as Sm,useState as $s}from"react";import pE from"lucide-react/dist/esm/icons/plus.js";import mE from"lucide-react/dist/esm/icons/refresh-cw.js";import fE from"lucide-react/dist/esm/icons/rotate-cw.js";import{useEffect as Ks,useId as yE,useLayoutEffect as fm,useMemo as ti,useRef as Ir,useState as Tr}from"react";import{useSearchParams as bE}from"react-router";import{useEffect as $x,useRef as zp,useState as zx}from"react";var jp=(e,t,r=250)=>{let n=Or(t),[o,a]=zx(e),i=zp(e),s=zp(!0);return $x(()=>{if(s.current){s.current=!1,i.current=e,a(e);return}let l=i.current;if(l===e)return;if(n||t===null){i.current=e,a(e);return}let c=ze(t),d=0,p=null,m=f=>{p===null&&(p=f);let b=Math.min(1,Math.max(0,(f-p)/r)),R=1-(1-b)**3,g=Math.round(l+(e-l)*R);i.current=g,a(g),b<1&&(d=c.requestAnimationFrame(m))};return d=c.requestAnimationFrame(m),()=>c.cancelAnimationFrame(d)},[e,r,n,t]),n?e:o};import jx from"lucide-react/dist/esm/icons/x.js";import{useEffect as Gp,useId as qp,useLayoutEffect as Gx,useRef as Gn,useState as qx}from"react";import{jsx as Er,jsxs as Xp}from"react/jsx-runtime";var Yx=x("h-6 w-full min-w-0 rounded-md border border-solid bg-white pr-[24px] pl-[7px] text-slate-900 text-sm dark:bg-slate-900 dark:text-slate-100",vt,re),Xx=Object.freeze({union:x("mr-2 inline-flex h-6 shrink-0 items-center rounded-full border border-solid bg-white px-[11px] font-semibold text-slate-800 text-xs dark:bg-slate-900 dark:text-slate-100",vt,re),intersection:x("mr-2 inline-flex h-6 shrink-0 items-center rounded-full border border-blue-700 border-solid bg-blue-700 px-[11px] font-semibold text-white text-xs dark:border-blue-600 dark:bg-blue-600",re)}),Yp=e=>e.trim().length===0,Qx=(e,t)=>t.status==="searching"?e.searching:t.status==="failed"&&t.failure!==null?e.searchFailed(t.failure):t.status==="done"&&t.items!==null?t.items.length===0?e.searchNoHits:e.searchHitCount(t.items.length):"";function Qp({labels:e,debounceMs:t,search:r,onCommit:n,onCombineChange:o,onRelease:a,clearSignal:i}){let[s,l]=qx(""),c=Gn(null),d=Gn(null),p=Gn(!1),m=Gn(i),f=qp(),b=qp(),R=Gn({search:r,onCommit:n,onRelease:a});Gx(()=>{R.current={search:r,onCommit:n,onRelease:a}});let g=()=>{d.current!==null&&clearTimeout(d.current),d.current=null},u=C=>{g();let k=R.current;Yp(C)?k.search.committed!==null&&k.onRelease():k.onCommit(C,k.search.combine)},h=C=>{t===null||p.current||(g(),d.current=setTimeout(()=>u(C),t))},I=()=>{g(),l(""),a(),c.current?.focus()},v=C=>{l(C.target.value),h(C.target.value)},E=C=>{let k=Hr(C);if(C.key==="Enter"&&!mr(k)){C.preventDefault(),u(s);return}Lt(k)&&(s.length>0||r.committed!==null)&&(C.preventDefault(),I())},T=()=>{g();let C=r.combine==="union"?"intersection":"union";Yp(s)?o(C):n(s,C)};Gp(()=>{m.current!==i&&(m.current=i,d.current!==null&&clearTimeout(d.current),d.current=null,l(""))},[i]),Gp(()=>()=>{d.current!==null&&clearTimeout(d.current)},[]);let N=r.combine==="intersection",O=Qx(e,r);return Xp("search",{"data-testid":"daily-report-search",className:ul,children:[Er("button",{type:"button","data-testid":"daily-report-search-combine","aria-describedby":f,title:N?e.searchCombineAndTitle:e.searchCombineOrTitle,onClick:T,className:Xx[r.combine],children:N?e.searchCombineAnd:e.searchCombineOr}),Xp("div",{className:"relative min-w-0 flex-1",children:[Er("input",{ref:c,type:"text","data-testid":"daily-report-search-input","aria-label":e.searchInputLabel,"aria-describedby":b,title:e.searchSyntaxHelp,placeholder:e.searchPlaceholder,value:s,onChange:v,onKeyDown:E,onCompositionStart:()=>{p.current=!0,g()},onCompositionEnd:C=>{p.current=!1,h(C.currentTarget.value)},className:Yx}),s.length>0||r.committed!==null?Er("button",{type:"button","data-testid":"daily-report-search-clear","aria-label":e.searchClear,title:e.searchClear,onClick:I,className:x("absolute top-0 right-0",He),children:Er(jx,{"aria-hidden":"true",className:"size-4"})}):null]}),Er("span",{id:f,hidden:!0,children:N?e.searchCombineAndTitle:e.searchCombineOrTitle}),Er("span",{id:b,hidden:!0,children:e.searchSyntaxHelp}),Er("span",{"data-testid":"daily-report-search-status","aria-live":"polite",className:x("ml-2 flex min-h-6 max-w-1/2 items-center self-end text-slate-600 text-xs leading-4 empty:ml-0 dark:text-slate-300",Ar),children:O})]})}var Zp=(e,t,r)=>{if(t.length===0)return null;let n=e.findIndex(o=>o.reportHubId===r);if(n!==-1){let o=new Set(t.map(a=>a.reportHubId));for(let a=1;n+a<e.length||n-a>=0;a++){let i=e[n+a];if(i!==void 0&&o.has(i.reportHubId))return i.reportHubId;let s=e[n-a];if(s!==void 0&&o.has(s.reportHubId))return s.reportHubId}}return t[0].reportHubId},Vs=(e,t,r,n)=>r===null?n&&t.length>0?t[0].reportHubId:null:t.some(o=>o.reportHubId===r)?r:Zp(e,t,r),Jp=(e,t,r)=>e.selected===null?r!==null&&t.some(n=>n.reportHubId===r)?r:null:t.some(n=>n.reportHubId===e.selected)?e.selected:Zp(e.items,t,e.selected);import{useEffect as tm,useLayoutEffect as nE,useMemo as rm,useRef as nm,useSyncExternalStore as oE}from"react";var Zx=1e3,Jx=5e3,eE={combine:"union",committed:null,generation:0,status:"idle",failure:null,items:null,answered:null},tE=e=>e===400?"invalid":e===404?"unavailable":e===429?"busy":"failed",rE=(e,t)=>e.length===t.length&&e.every((r,n)=>r.length===t[n].length&&r.every((o,a)=>o.length===t[n][a].length&&o.every((i,s)=>i.text===t[n][a][s].text&&i.tier===t[n][a][s].tier))),em=e=>{let t=eE,r=new Set,n=null,o=null,a=null,i=null,s=null,l=null,c=E=>{t=E;for(let T of r)T()},d=()=>{i!==null&&clearTimeout(i),s!==null&&clearTimeout(s),i=null,s=null},p=(E,T)=>{let N=t.answered;return N!==null&&N.query.text===E.text&&N.query.combine===E.combine&&rE(N.words,T)?N:{query:E,words:T}},m=E=>{let T=new URLSearchParams({[Be.searchQuery]:E.text,[Be.searchCombine]:E.combine});return`${e.apiBasePath}/${Ye.search}?${T.toString()}`},f=(E,T,N,O)=>{if(!N){c({...t,status:"failed",failure:E});return}l!==O&&(l=O,s=setTimeout(()=>{s=null,R(T,!0)},Jx))},b=async(E,T,N)=>{let O=new AbortController;n={controller:O};let C={Accept:"application/json"};N&&a!==null&&a.generation===T&&(C["If-None-Match"]=a.value);try{let k=await e.fetch(m(E),{headers:C,cache:"no-store",signal:O.signal});if(O.signal.aborted||T!==t.generation)return;if(k.status===304){t.status!=="done"&&c({...t,status:"done",failure:null});return}if(k.status===401||k.status===403){e.onSessionExpired(),f("failed",E,!1,T);return}if(!k.ok){f(tE(k.status),E,N,T);return}let V=Cl(await k.json());if(O.signal.aborted||T!==t.generation)return;if(V===null){f("failed",E,N,T);return}let M=k.headers.get("ETag");a=M===null?null:{generation:T,value:M},l=null,c({...t,status:"done",failure:null,items:V.items,answered:p(E,V.words)})}catch{if(O.signal.aborted||T!==t.generation)return;f("failed",E,N,T)}finally{if(n!==null&&n.controller===O&&(n=null),n===null&&o!==null){let k=o;o=null,R(k.query,k.background)}}},R=(E,T)=>{if(n!==null){o={query:E,background:(o===null||o.background)&&T};return}b(E,t.generation,T)};return{getSnapshot:()=>t,subscribe:E=>(r.add(E),()=>{r.delete(E)}),commit:(E,T)=>{d();let N=t.committed,O=N!==null&&N.text===E&&N.combine===T,C={text:E,combine:T};c({...t,combine:T,committed:C,generation:O?t.generation:t.generation+1,status:"searching",failure:null}),R(C,!1)},setCombine:E=>{E!==t.combine&&c({...t,combine:E})},release:()=>{d(),n?.controller.abort(),n=null,o=null,t.committed!==null&&c({combine:t.combine,committed:null,generation:t.generation+1,status:"idle",failure:null,items:null,answered:null})},invalidate:()=>{let E=t.committed;E!==null&&(i!==null&&clearTimeout(i),i=setTimeout(()=>{i=null,R(E,!0)},Zx))},dispose:()=>{d(),n?.controller.abort(),n=null,o=null}}};var om=({apiBasePath:e,invalidation:t,onSessionExpired:r})=>{let n=nm(r);nE(()=>{n.current=r});let o=rm(()=>em({apiBasePath:e,onSessionExpired:()=>n.current(),fetch:(s,l)=>fetch(s,l)}),[e]);tm(()=>()=>o.dispose(),[o]);let a=nm(t);tm(()=>{a.current!==t&&(a.current=t,o.invalidate())},[t,o]);let i=oE(o.subscribe,o.getSnapshot,o.getSnapshot);return rm(()=>({...i,commit:o.commit,setCombine:o.setCombine,release:o.release}),[i,o])};import{useEffect as lm,useLayoutEffect as dE,useMemo as cE,useRef as dm}from"react";var aE=4294967295,am=e=>typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=aE,iE=e=>{if(!Array.isArray(e)||e.length%3!==0)return null;let t=[];for(let r=0;r<e.length;r+=3){let n=e[r],o=e[r+1],a=e[r+2];if(!(typeof n=="number"&&Number.isSafeInteger(n)&&n>=0&&typeof o=="number"&&Number.isSafeInteger(o)&&n<o)||a!==0&&a!==1)return null;if(r>0){let i=t[r-2];if(i>n||i===n&&t[r-1]===a)return null}t.push(n,o,a)}return t},sE=e=>{if(!ir(e))return null;let t={};for(let[r,n]of Object.entries(e)){if(!(Yo(r)&&ir(n)&&am(n.fingerprint)))return null;let o=iE(n.ranges);if(o===null)return null;t[r]={fingerprint:n.fingerprint,ranges:o}}return t},im=(e,t)=>{if(!(ir(e)&&am(e.wordsDigest)&&Array.isArray(e.reports)))return null;let r=new Set(t.requestedIds),n=new Set,o=2**t.setCount-1,a=[];for(let i of e.reports){if(!ir(i))return null;let{reportHubId:s,matchedSets:l}=i;if(!(typeof s=="number"&&_r(s)&&r.has(s))||n.has(s)||(n.add(s),t.expectsMatchedSets?!(typeof l=="number"&&Number.isInteger(l)&&l>=0&&l<=o):l!==null))return null;let c=sE(i.fields);if(c===null)return null;a.push({reportHubId:s,matchedSets:l,fields:c})}return{wordsDigest:e.wordsDigest,reports:a}};var lE=e=>{let t=Pr(e.headers.get("Retry-After"));return t===null?null:t*1e3},sm=({apiBasePath:e,fetch:t,answered:r,onSessionExpired:n})=>{let o=r.words.length,a=r.query.combine==="union"&&o>=2,i=_d(r.words),s=new Map,l=new Map,c=new Map,d=new Map,p=new Set,m=new Set,f=new Set,b=[],R=new Map,g=new Set,u=0,h=0,I=!1,v=M=>{let w=c.get(M);if(w!==void 0)for(let q of[...w])q()},E=M=>{let w=new URLSearchParams({[Be.searchQuery]:r.query.text,[Be.searchCombine]:r.query.combine,[Be.reportIds]:M.join(",")});return`${e}/${Ye.searchMarks}?${w.toString()}`},T=M=>{d.set(M,u),f.add(M),!I&&(I=!0,queueMicrotask(V))},N=(M,w)=>{for(let q of M){let G=l.get(q.reportHubId);G!==void 0&&G>w||(l.set(q.reportHubId,w),s.set(q.reportHubId,q),v(q.reportHubId))}},O=(M,w)=>{let q=M.filter(U=>!m.has(U));if(q.length===0)return;for(let U of q)m.add(U);let G=setTimeout(()=>{g.delete(G);for(let U of q)c.has(U)&&T(U)},w);g.add(G)},C=async M=>{let w=new AbortController;h+=1;let q=h;R.set(w,M);try{let G=await t(E(M),{headers:{Accept:"application/json"},cache:"no-store",signal:w.signal});if(G.status===401||G.status===403){n();return}if(G.status===429){let j=lE(G);j!==null&&O(M,j);return}if(!G.ok)return;let U=im(await G.json(),{requestedIds:M,setCount:o,expectsMatchedSets:a});if(w.signal.aborted||U===null||U.wordsDigest!==i)return;N(U.reports,q)}catch{}finally{R.delete(w),k()}},k=()=>{for(;R.size<So;){let M=b.shift();if(M===void 0)return;C(M)}},V=()=>{I=!1;let M=[...f];f.clear();for(let w=0;w<M.length;w+=ht.maxDetailIds)b.push(M.slice(w,w+ht.maxDetailIds));k()};return{indicator:Object.freeze({setCount:o,showsMatchedSets:a}),subscribe:(M,w)=>{let q=c.get(M);return q===void 0&&(q=new Set,c.set(M,q),d.get(M)!==u&&T(M)),q.add(w),()=>{let G=c.get(M);G!==void 0&&(G.delete(w),G.size===0&&c.delete(M))}},read:M=>s.get(M),revalidate:(M,w,q)=>{let G=`${M}\0${w}\0${q}`;p.has(G)||(p.add(G),T(M))},advanceEpoch:()=>{u+=1;for(let M of g)clearTimeout(M);g.clear(),m.clear();for(let M of c.keys())T(M)},dispose:()=>{for(let w of g)clearTimeout(w);g.clear();let M=[...f,...b.flat(),...[...R.values()].flat()];f.clear(),b.length=0;for(let w of[...R.keys()])w.abort();for(let w of M)d.delete(w)}}};var cm=({apiBasePath:e,answered:t,shownRevision:r,onSessionExpired:n})=>{let o=dm(n);dE(()=>{o.current=n});let a=cE(()=>t===null?null:sm({apiBasePath:e,answered:t,onSessionExpired:()=>o.current(),fetch:(s,l)=>fetch(s,l)}),[e,t]);lm(()=>{if(a!==null)return()=>a.dispose()},[a]);let i=dm({store:a,shownRevision:r});return lm(()=>{let s=i.current;i.current={store:a,shownRevision:r},a!==null&&s.store===a&&s.shownRevision!==r&&a.advanceEpoch()},[a,r]),a};import*as qn from"@radix-ui/react-switch";import*as pm from"react";import{jsx as um}from"react/jsx-runtime";var ei=pm.forwardRef(({className:e,...t},r)=>um(qn.Root,{className:x(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${nl} ${al} ${re}`,e),...t,ref:r,children:um(qn.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${ol} ${il}`})}));ei.displayName=qn.Root.displayName;import{useSyncExternalStore as uE}from"react";var mm=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)})}},Us=e=>uE(e.subscribe,e.get,e.get);import{Fragment as NE,jsx as ne,jsxs as mt}from"react/jsx-runtime";var hE="list",RE=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},SE=x(ll,hl,"flex flex-wrap items-center gap-2"),ym="relative h-4 w-4 p-0 after:absolute after:-inset-1",gE="flex items-center gap-2",xE=({count:e})=>{let{labels:t}=$(),[r,n]=Tr(null),o=jp(e,r);return ne(Ka,{ref:n,text:t.totalCount(o),widestText:t.totalCount(Fn(Math.max(e,o)))})},EE=({setSize:e,isSearchAnswer:t})=>{let{labels:r}=$();return t?ne("span",{children:r.searchHitCount(e)}):e===un?ne("span",{children:r.totalCountLoading}):ne(xE,{count:e})},IE=({checked:e,onCheckedChange:t})=>{let{labels:r}=$(),n=yE();return mt("div",{className:"flex items-center gap-1 pl-1",children:[ne(ei,{id:"auto-read-mode",checked:e,onCheckedChange:t,title:r.autoReadTitle,"aria-describedby":n}),ne(wn,{htmlFor:"auto-read-mode",className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:r.autoRead}),ne("span",{id:n,hidden:!0,children:r.autoReadTitle})]})},TE=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let i=Us(e);return ne(Bs,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:i,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},vE=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=Us(e);return ne(Ds,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},DE=({tabItems:e,actions:t,searchRow:r})=>{let[n,o]=Tr(hE),{labels:a}=$();return mt(Un,{value:n,onValueChange:i=>o(RE(i)),className:x("@container/views",nt),children:[mt("div",{className:x(cl,Rl,Sl[n]),children:[mt("div",{className:SE,children:[ne(Kn,{"aria-label":a.viewTabList,className:"flex flex-wrap gap-1",...rc,children:e.map(({value:i,label:s})=>ne(Wn,{value:i,children:s},i))}),t]}),r]}),e.map(({value:i,content:s})=>ne(Xr,{value:i,tabStop:!1,className:x("mt-0",nt),children:s},i))]})},AE=Object.freeze({items:null,generation:0,revision:0,change:"none",scrollRequest:null,restoreOnRelease:!0}),CE=(e,t,r)=>{let n="update";t===null?n=e.restoreOnRelease?"restore":"release":e.items===null?n="enter":e.generation!==r&&(n="start");let o=n==="enter"||n==="start"||n==="restore"?n:null,a=o===null?e.scrollRequest:{seq:e.scrollRequest===null?1:e.scrollRequest.seq+1,kind:o};return{items:t,generation:r,revision:e.revision+1,change:n,scrollRequest:a,restoreOnRelease:t===null||n==="enter"?!0:e.restoreOnRelease}},_E=e=>{let t=new Set;for(let r of e)t.add(r.reportHubId);return{items:e,ids:t}},LE=(e,t,r)=>{if(e===null)return{items:t,hasAnswerOnlyItems:!1};let n=new Map;for(let i of t)e.ids.has(i.reportHubId)&&n.set(i.reportHubId,i);let o=[],a=!1;for(let i of e.items){let s=n.get(i.reportHubId);s!==void 0?o.push(s):r(i.reportHubId)||(o.push(i),a=!0)}return{items:o,hasAnswerOnlyItems:a}},wE=({answer:e,hasAnswerOnlyItems:t})=>{let{phase:r,isRevalidating:n}=kr(),o=r==="complete"&&!n,a=Ir(null);return Ks(()=>{!(o&&t)||a.current===e||(a.current=e,Sn())},[o,t,e]),null},Ws=({userId:e})=>{let[t,r]=Tr(!1),{labels:n,renderHeader:o,showDevControls:a,apiBasePath:i,onSessionExpired:s,search:l}=$(),{toggleSse:c,createReport:d,refetchData:p,clearCacheAndRefetch:m}=Ue(),{isSseEnabled:f,items:b,searchInvalidation:R,isReportRemoved:g,removedVersion:u}=fa(),[h]=bE(),I=om({apiBasePath:i,invalidation:R,onSessionExpired:s}),v=l===null||I.committed===null?null:I.items,[E,T]=Tr(AE);E.items!==v&&T(CE(E,v,I.generation));let N=ti(()=>v===null?null:_E(v),[v]),O=ti(()=>LE(N,b,g),[N,b,g,u]),C=O.items,k=xd(b.length,jd()),V=v===null?k:C.length,[M,w]=Tr(0),[q]=Tr(()=>({preSearchTopReportId:null})),G=ti(()=>({request:E.scrollRequest,slot:q}),[E.scrollRequest,q]),U=cm({apiBasePath:i,answered:v===null?null:I.answered,shownRevision:E.revision,onSessionExpired:s}),j=Ir(0),Q=Ir({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[ie]=Tr(()=>mm(C.length===0?null:C[0].reportHubId)),De=Ir(null),ge=Ir(C),oe=Ir(E.revision);fm(()=>{if(oe.current===E.revision)return;oe.current=E.revision;let _e=ge.current,we=ie.get(),ke=we;E.change==="enter"?(De.current={selected:we,items:_e},ke=Vs(_e,C,we,!0)):E.change==="start"||E.change==="update"?ke=Vs(_e,C,we,E.change==="start"):E.change==="restore"&&De.current!==null&&(ke=Jp(De.current,C,we)),(E.change==="restore"||E.change==="release")&&(De.current=null),ke!==we&&ie.set(ke)},[E,C,ie]),fm(()=>{ge.current=C},[C]);let We=Ir(!1);Ks(()=>{!We.current&&C.length>0&&(We.current=!0,ie.get()===null&&ie.set(C[0].reportHubId))},[C,ie]);let Ae=async()=>{await p()},Ce=async()=>{await m()},fe=async()=>{let we=h.get("businessDate")||si();I.committed!==null&&(T(tt=>({...tt,restoreOnRelease:!1})),w(tt=>tt+1),I.release());let ke=await d(we);ie.set(ke)};Ks(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let me=_e=>{r(_e),localStorage.setItem("daily-report-auto-read",String(_e))},st=ti(()=>[{value:"list",label:n.tabList,content:ne(TE,{selectionStore:ie,dailyReportItems:C,rowSetSize:V,autoMarkRead:t,userId:e,scrollOffsetRef:j})},{value:"tree",label:n.tabTree,content:ne("div",{className:x("flex flex-1 items-center justify-center",Dr),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:ne(vE,{selectionStore:ie,dailyReportItems:C,rowSetSize:V,userId:e,scrollRestoreRef:Q})}],[C,V,t,e,n,ie]);return mt(NE,{children:[o({title:n.title,annotation:mt("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[ne(Bn,{}),ne(EE,{setSize:V,isSearchAnswer:v!==null}),ne("span",{children:n.debounce(Lr)})]})}),ne("div",{className:oo,children:mt("div",{className:ao,children:[v!==null&&ne(wE,{answer:v,hasAnswerOnlyItems:O.hasAnswerOnlyItems}),ne(ko.Provider,{value:v===null?"date":"ids",children:ne(Tn.Provider,{value:U,children:ne(_i.Provider,{value:G,children:ne(DE,{tabItems:st,searchRow:l===null?null:ne(Qp,{labels:n,debounceMs:l.debounceMs,search:I,onCommit:I.commit,onCombineChange:I.setCombine,onRelease:I.release,clearSignal:M}),actions:mt("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[mt(Nt,{size:"sm",onClick:fe,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:[ne(pE,{className:"h-3 w-3"}),ne("span",{children:n.createReport})]}),a&&mt("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:[ne("span",{className:"select-none font-bold font-mono text-amber-800 text-xs uppercase dark:text-amber-200",children:"dev"}),ne(ei,{id:"sse-mode","aria-label":n.devSseToggle,title:n.devSseToggle,checked:f,onCheckedChange:c}),mt("div",{className:gE,"data-testid":"dev-icon-buttons",children:[ne(Nt,{variant:"ghost",size:"icon",onClick:Ae,className:x(ym,"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:ne(fE,{className:"size-3"})}),ne(Nt,{variant:"ghost",size:"icon",onClick:Ce,className:x(ym,"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:ne(mE,{className:"size-3"})})]})]}),ne(IE,{checked:t,onCheckedChange:me})]})})})})})]})})]})};import{Fragment as hm,jsx as Ie,jsxs as Yn}from"react/jsx-runtime";var OE=x(nt,Bt),PE=x("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",bt,re),kE=({isFailed:e,handOver:t})=>{let{labels:r,renderHeader:n}=$(),o=Sm(null),a=ME(s=>(o.current=s,t.take()&&At(s)&&St([s]),()=>{o.current=null,s.contains(Te(s))&&t.request()}),[t]),i=()=>{St([o.current]),ta()};return Yn(hm,{children:[n({title:r.title,annotation:e?Ie("span",{className:x("font-bold",tn),children:r.loadErrorBadge}):Yn("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[Ie(Bn,{}),Ie("span",{children:r.totalCountLoading}),Ie("span",{children:r.debounce(Lr)})]})}),Ie("div",{className:oo,children:Ie("div",{className:ao,children:Ie("div",{className:OE,children:Ie("div",{ref:a,tabIndex:-1,...oc,"data-testid":"daily-report-status-panel","data-phase":e?"failed":"loading",className:x(PE,e&&"border-red-200 dark:border-red-900"),children:e?Yn(hm,{children:[Ie("p",{className:x("font-medium",tn),children:r.loadError}),Ie("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:i,className:x("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:r.reload})]}):Ie("p",{children:r.loadingIds})})})})})]})},HE=(e,t)=>e.retryingCount!==null?{status:t.streamRetrying(e.retryingCount),alert:""}:e.phase==="failed"?{status:"",alert:e.hasItems?t.streamFailed:t.loadError}:!e.hasItems&&(e.phase==="idle"||e.phase==="streaming")?{status:t.loadingIds,alert:""}:{status:"",alert:""},FE=Object.freeze({status:"",alert:""}),BE=()=>{let{labels:e}=$(),t=HE($d(),e),[r]=$s(t),[n,o]=$s(!1),a=n||t.status!==r.status||t.alert!==r.alert;Rm(()=>{a&&!n&&o(!0)},[a,n]);let{status:i,alert:s}=a?t:FE;return Yn("div",{"data-testid":"daily-report-stream-announcer",className:"sr-only",children:[Ie("p",{role:"status",children:i}),Ie("p",{role:"alert",children:s})]})},VE=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=$(),o=kr(),[a]=$s(sp),i=Sm(n);Rm(()=>{i.current=n}),bm(()=>{bn({apiBasePath:r,userKey:t??null})},[r,t]),bm(()=>{o.phase==="auth-required"&&i.current()},[o.phase]);let s=o.hasItems||o.phase==="complete";return Yn(Ki,{children:[Ie(BE,{}),Ie(As.Provider,{value:!1,children:Ie(Is.Provider,{value:a,children:Ie(es,{user:e,userId:t,children:s?Ie(Ws,{userId:t}):Ie(kE,{isFailed:o.phase==="failed",handOver:a})},t??"anonymous")})})]})},UE=({config:e,...t})=>Ie(yi,{config:e,children:Ie(VE,{...t})});var KE=new Set(Ld.filter(e=>e!=="clearCache")),WE=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:i,formMethod:s,json:l,nextUrl:c,text:d})=>{if(!n)return!1;if(!(r.pathname===c.pathname&&r.search===c.search&&r.hash===c.hash))return n;if(a){let f=a.get(Qe.intent);if(typeof f=="string"&&KE.has(f))return!1}return e!==void 0||t!==void 0||o!==void 0||a!==void 0||i!==void 0||s!==void 0||l!==void 0||d!==void 0?n:!1},$E=e=>{let t=async r=>{Pi();let n=await r.serverLoader(),o=n.userId;return Oi({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};export{Hl as DAILY_REPORT_LABEL_CATALOGS,ci as DAILY_REPORT_LABEL_KEYS,Qn as DAILY_REPORT_LATTICE_BLOCK_QUANTUM_CLASS_NAME,Rf as DAILY_REPORT_LAYOUT_LATTICE_PX,es as DailyReportActionProvider,rn as DailyReportAttachmentIndicator,yi as DailyReportConfigProvider,Ds as DailyReportDetailList,Ki as DailyReportErrorProvider,fn as DailyReportIdsStreamClient,Bn as DailyReportIdsStreamStatus,Bs as DailyReportList,UE as DailyReportPage,Ws as DailyReportResolvedContent,Oi as bootstrapDailyReportIdsStreamSession,$E as createDailyReportClientLoader,WE as dailyReportShouldRevalidate,on as defaultDailyReportClientConfig,bn as ensureDailyReportIdsStreamSession,Pi as primeDailyReportIdsStreamSession,mi as resolveDailyReportLabels,lr as resolveSourceTypeConfig,ra as resyncDailyReportIdsStream,Ab as useDailyReportActionContext,us as useDailyReportComments,$ as useDailyReportConfig,cr as useDailyReportDetail,Hy as useDailyReportIdsStream,vi as useDailyReportPrefetch,Fi as useDailyReportSseConnection};