@aiquants/daily-report 0.33.0 → 0.35.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 ou from"lucide-react/dist/esm/icons/paperclip.js";var tu="data-daily-report-row-surface",Pe={[tu]:""},jt="data-daily-report-scrolling",ht=8,yr="h-[calc-size(auto,round(up,size,4px))]",St="p-[8px]",Ri="pr-[8px]",sn="contain-size contain-layout contain-style",gi="contain-strict",X="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",hi="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",qo="scrollbar-thin [scrollbar-gutter:stable]",Xo=`-m-[4px] overflow-hidden p-[4px] ${qo}`,Si="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",ln="rounded-[calc(var(--radius-2xl)+8px)]",dn="outline-none [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-2 [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-offset-4 [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-600 dark:[:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-400 [&[aria-current=true]>:where([data-daily-report-row-surface])]:ring-2 [&[aria-current=true]>:where([data-daily-report-row-surface])]:ring-blue-500 [&[aria-current=true]>:where([data-daily-report-row-surface])]:shadow-transparent forced-colors:[&[aria-current=true]]:outline-2 forced-colors:[&[aria-current=true]]:outline-solid forced-colors:[&[aria-current=true]]:-outline-offset-8 forced-colors:[&[aria-current=true]]:outline-[Highlight] forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-2 forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-solid forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:-outline-offset-8 forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-[Highlight]",vi="[: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",cn=16,Gt="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",Ei=12,un="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200",mn="[--aqdr-hover-lift:2px] [@media(resolution:1.25dppx)]:[--aqdr-hover-lift:calc(2px/1.25)] [@media(resolution:1.75dppx)]:[--aqdr-hover-lift:calc(3px/1.75)] [@media(resolution:2.25dppx)]:[--aqdr-hover-lift:calc(4px/2.25)] [@media(resolution:2.75dppx)]:[--aqdr-hover-lift:calc(5px/2.75)] motion-safe:transition-[translate] motion-safe:duration-200 hover:border-blue-300 hover:shadow-lg motion-safe:hover:translate-y-[calc(-1*var(--aqdr-hover-lift))] [[data-daily-report-scrolling]_&]:transition-none [[data-daily-report-scrolling]_&]:hover:translate-none [[data-daily-report-scrolling]_&]:hover:shadow-sm",we=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${X}`,Ti="-mx-1",Ii="flex items-center gap-1",Ce="inline-flex h-6 items-center rounded-full px-3",xi="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",Ci="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",gt="size-4",he={starOff:`${gt} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${gt} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${gt} text-blue-600 dark:text-blue-400`,delete:`${gt} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${gt} text-red-600 dark:text-red-400`,edit:`${gt} text-slate-500 dark:text-slate-400`},Ai="h-6 w-10 border-4 border-solid",Di="size-4 data-[state=checked]:translate-x-4",_i="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]",Li="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var wi="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",Ni="rounded-xl border border-solid p-[3px]",Oi="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",ru="ml-[max(0px,round(down,calc((100%-72rem)/2),4px))]",nu="bg-slate-50 dark:bg-slate-950",We="flex min-h-0 flex-1 flex-col",Rr=`${We} ${nu}`,gr=`${We} mx-auto w-full max-w-6xl px-[4px] pt-[4px] ${ru}`,hr="text-red-700 dark:text-red-400",Mi="bg-white dark:bg-slate-900",pn="min-h-0 flex-1 overflow-clip contain-size",fn="flex h-full flex-col contain-size contain-layout contain-style",Pi="relative inline-block whitespace-nowrap tabular-nums",ki="invisible",Hi="absolute inset-0 contain-size contain-layout contain-style",bn="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",Fi="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",Bi={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},Nt="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",it=`m-0 ${Nt}`,yn="text-balance wrap-anywhere [word-break:auto-phrase]",Rn="[&_.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 Ui,jsxs as iu}from"react/jsx-runtime";var au=2,Sr=({id:e,count:t,label:r})=>t<=0?null:iu("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:[Ui(ou,{className:gt,"aria-hidden":"true"}),t>=au&&Ui("span",{className:"font-semibold text-xs leading-4",children:t})]});import{VirtualScroll as hy}from"@aiquants/virtualscroll";import{useCallback as xe,useEffect as wt,useLayoutEffect as Sy,useMemo as oi,useRef as Oe,useState as Mo}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"),c=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${i}T${d}:${m}:${c}`}return`${o}-${a}-${i}`};import{useCallback as $u,useEffect as ls,useRef as ju,useState as Gu}from"react";import{z as da}from"zod";var gn="ids-stream",Vi=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 Ot=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,Zo=e=>{for(let t=1;t<e.length;t++)if(Ot(e[t-1],e[t])>0)return!1;return!0};var vt=Object.freeze({businessDate:"business-date",idsStream:gn,report:"report",action:"action"}),Jo=Object.freeze({businessDate:"businessDate",reportHubId:"reportHubId",forceRefresh:"forceRefresh",cursorReportHubId:"cursor_report_hub_id",cursorBusinessDate:"cursor_business_date",cursorSnapshot:"cursor_snapshot"});var su=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var hn=e=>e<10?`0${e}`:`${e}`,lu=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=hn(e.getMonth()+1),n=hn(e.getDate());return`${t}-${r}-${n}`},Wi=e=>{let t=su.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}`},Ki=e=>Wi(e)===e,Qo=(e=new Date)=>Number.isNaN(e.getTime())?Qo(new Date):`${e.getFullYear()}-${hn(e.getMonth()+1)}-${hn(e.getDate())}`,Mt=e=>e==null?null:e instanceof Date?lu(e):Wi(e);var Yt=(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 D}from"zod";var Sn=/^(?:[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 zi=["auth-required","forbidden","resync-required"],ea=15e3,$i="lastEventId",du=/^\d{1,15}-\d{1,15}$/,vn=e=>du.test(e),cu=D.object({name:D.string().nullish(),affiliation:D.string().nullish()}),uu=D.object({name:D.string().nullish(),text:D.string().nullish(),color:D.string().nullish()}),mu=D.object({id:D.number(),name:D.string().nullish(),color:D.string().nullish()}),En=D.object({id:D.number(),userId:D.string().nullish(),userName:D.string().nullish(),content:D.string().nullish(),createdAt:D.string().nullish(),isMine:D.boolean()}),pu=D.object({id:D.string(),fileName:D.string(),fileType:D.string().nullable(),fileSize:D.number().nullable(),createdAt:D.string().nullable(),state:D.enum(["present","absent","unknown"]),hasThumbnail:D.boolean().default(!1)}),st=D.object({reportHubId:D.number(),date:D.string().nullish(),createdAt:D.string().nullish(),author:D.string().nullish(),userId:D.string().nullish(),sourceType:D.string().nullish(),employeeName:D.string().nullish(),updatedBy:D.string().nullish(),updatedAt:D.string().nullish(),category:D.string().nullish(),creationCategory:D.string().nullish(),visitTimeFrom:D.string().nullish(),visitTimeTo:D.string().nullish(),customerName:D.string().nullish(),interviewers:D.array(cu),subject:D.string().nullish(),content:D.string().nullish(),externalComments:D.array(uu),isRead:D.boolean(),isStarred:D.boolean(),labels:D.array(mu),postedComments:D.array(En),attachments:D.array(pu).default([])}),Pt=D.string().regex(Sn),fu=D.object({type:D.literal("connected")}),bu=D.object({type:D.literal("status-update"),reportHubId:D.number(),statusType:D.enum(["star","read"]),value:D.boolean(),clientTempId:Pt,recipientRawUserId:D.number().optional()}),ta=D.string().optional(),yu=D.object({type:D.literal("comment-add"),reportHubId:D.number(),comment:En,clientTempId:Pt,recipientRawUserId:D.number().optional(),sourceType:ta}),Ru=D.object({type:D.literal("comment-delete"),reportHubId:D.number(),commentId:D.number(),clientTempId:Pt,recipientRawUserId:D.number().optional(),sourceType:ta}),gu=D.object({type:D.literal("report-create"),reportHubId:D.number(),report:st,clientTempId:Pt,recipientRawUserId:D.number().optional()}),hu=D.object({type:D.literal("report-update"),reportHubId:D.number(),report:st,clientTempId:Pt,recipientRawUserId:D.number().optional()}),Su=D.object({type:D.literal("report-publish"),reportHubId:D.number(),report:st,clientTempId:Pt,recipientRawUserId:D.number().optional()}),vu=D.object({type:D.literal("report-delete"),reportHubId:D.number(),clientTempId:Pt,sourceType:ta}),ji=D.discriminatedUnion("type",[fu,bu,yu,Ru,gu,hu,Su,vu]);import{resolveVirtualScrollLocale as _u}from"@aiquants/virtualscroll";import{createContext as Lu,useContext as wu,useMemo as Nu}from"react";var Eu=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,Ee=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${Eu(r)}`),Gi=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),Tn=(e,t,r)=>Ee(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t);import{resolveVirtualScrollLabels as Tu,resolveVirtualScrollLocale as Iu,VIRTUAL_SCROLL_LABEL_CATALOGS as Yi,VIRTUAL_SCROLL_LABEL_KEYS as oa}from"@aiquants/virtualscroll";var Xi=["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"],Zi=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","rowState","listRowPosition","listRowPositionInUnknownTotal"],ra=[...oa,...Xi,...Zi];var xu=Object.freeze({en:"en-US",ja:"ja-JP"}),pe=(e,t)=>t.toLocaleString(xu[e]),Cu=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"}),Au=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"}),na=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: ${pe("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${pe("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${pe("en",e)} / ${pe("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${pe("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${pe("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${pe("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${Au[e]}. Please try again later.`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${pe("en",e)} of ${pe("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${pe("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: ${pe("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${pe("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${pe("ja",e)} / ${pe("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${pe("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${pe("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${pe("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${Cu[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 ${pe("ja",t)} \u4EF6\u4E2D ${pe("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${pe("ja",e)} \u4EF6\u76EE`})}),Ji=Object.freeze({en:Object.freeze({...Yi.en,...na.en}),ja:Object.freeze({...Yi.ja,...na.ja})}),Du=e=>{let t={},r=!1;for(let n of oa){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},qi=(e,t,r)=>{e[t]=r},aa=(e,t)=>{let r=Iu(e);if(t===void 0)return Ji[r];if(t===null||typeof t!="object")throw Ee("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Ee("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!ra.includes(i))throw Tn("labels key",i,ra);let a={...Tu(r,Du(t)),...na[r]};for(let i of Xi){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw Ee(`labels.${i}`,"a non-blank string",s);qi(a,i,s)}}for(let i of Zi){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw Ee(`labels.${i}`,"a function",s);qi(a,i,s)}}return Object.freeze(a)},Qi=e=>{let t={};for(let r of oa)t[r]=e[r];return Object.freeze(t)};import{jsx as ia,jsxs as Uu}from"react/jsx-runtime";var Ou=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),Mu=({title:e,annotation:t})=>Uu("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[ia("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?ia("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),vr=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:Mu,showDevControls:!1,headingLevel:3}),es=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired"];var Pu=e=>{for(let t of Object.keys(e))if(!es.includes(t))throw Tn("config key",t,es)},ku=[2,3,4,5],Hu=e=>{if(e===void 0)return vr.headingLevel;let t=ku.find(r=>r===e);if(t===void 0)throw Ee("config.headingLevel","an integer from 2 to 5 (the level of each report's heading)",e);return t},Fu=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Ee(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},ts=e=>{Pu(e);let t=e.onSessionExpired;if(t===void 0)throw Gi("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Ee("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=_u(e.locale),n=aa(r,e.labels),o=vr;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?Ou(n):Fu(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:Hu(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired}},Bu=()=>{throw new Error("[daily-report] onSessionExpired is not wired: render inside DailyReportConfigProvider with a config")},rs=Lu(ts({onSessionExpired:Bu})),sa=({config:e,children:t})=>{let r=Nu(()=>ts(e),[e]);return ia(rs.Provider,{value:r,children:t})},B=()=>wu(rs),kt=(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},In=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";import{tapScrollCircleSampleVisual as Wu}from"@aiquants/virtualscroll";var Vu=4;var qt=120,ns=1e3,xn=.8,la={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},Cn=20,os=6,An={reportHubId:-1,businessDate:null},Dn=240,_n=15,Ku=8,as=460,is=3,ss=352,zu={enabled:!0,renderVisual:Wu,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},Ln={width:Ku,tapScrollCircleOptions:zu,enableArrowButtonTabStops:!1},wn=["pen","touch"];var us=Yt(1,"use-daily-report"),ms=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},ua=ms("__DAILY_REPORT_CACHE_TTL__",3e5),Yu=ms("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),$={reports:new Map,lists:new Map,pendingLists:new Map,pendingReports:new Map,listeners:new Set,locks:new Map,lastMutations:new Map,recentDeletes:new Map,lastPrune:0,prune(){let e=Date.now();if(e-this.lastPrune<6e4)return;this.lastPrune=e;let t=3600*1e3;for(let[r,n]of this.reports)e-n.expiresAt>t&&this.reports.delete(r);for(let[r,n]of this.lists)e-n.expiresAt>t&&this.lists.delete(r)},clear(){this.reports.clear(),this.lists.clear(),this.pendingLists.clear(),this.pendingReports.clear(),this.locks.clear(),this.lastMutations.clear(),this.recentDeletes.clear(),this.listeners.forEach(e=>{e(-1)})},isLocked(e){let t=this.locks.get(e);return t===void 0?!1:t>performance.now()?!0:(this.locks.delete(e),!1)},isValid:e=>e>Date.now(),notify:e=>{$.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=Mt(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()){us.warn(`[DailyReportCache] Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+Yu))}},delete(e,t){this.reports.delete(e);let r=Mt(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+ua;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}},ps=(e,t,r=!0)=>$.set(e,t,r),Ke=(e,t)=>$.getReport(e,t?.ignoreExpiry),ze=(e,t)=>$.update(e,t),On=(e,t)=>$.delete(e,t),Tr=()=>{$.clear(),Nn.clear()},Mn=e=>{$.locks.set(e,Number.POSITIVE_INFINITY),$.lastMutations.set(e,Date.now())},Pn=e=>{$.locks.delete(e),$.lastMutations.set(e,Date.now())},fs=(e,t)=>{$.locks.set(e,performance.now()+t),$.lastMutations.set(e,Date.now()+t)},bs=e=>$.recentDeletes.set(e,Date.now()),ys=(e,t)=>{let r=n=>{n===e&&t()};return $.listeners.add(r),()=>{$.listeners.delete(r)}},Ht=(e,t)=>{$.prune(),$.set(t,Date.now()+ua)},Rs=e=>{$.prune();let t=$.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}));$.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+ua)},qu=da.object({report:st}),Xu=da.object({reports:da.array(st)}),gs=async(e,t,r)=>{if(!e.ok)throw new Error(`[daily-report] ${r} answered HTTP ${e.status}`);let n=t.safeParse(await e.json());if(!n.success)throw new Error(`[daily-report] ${r} answered a body that does not match its schema`);return n.data},Zu=async(e,t)=>{let r=$.getReport(t);if(r)return r;let n=$.pendingReports.get(t);if(n)return n;let o=Date.now(),a=new URLSearchParams({[Jo.reportHubId]:String(t)}),i=fetch(`${e}/${vt.report}?${a}`,{cache:"no-cache"}).then(s=>gs(s,qu,vt.report)).then(({report:s})=>$.cacheMany([s],null,o)[0]).finally(()=>$.pendingReports.delete(t));return $.pendingReports.set(t,i),i},Nn=new Map,Ju=1e4,Qu=(e,t)=>{let r=Nn.get(t),n=Date.now();if(r&&n-r.at<Ju)return r.inFlight;let o=ma(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return Nn.set(t,a),o.finally(()=>{Nn.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},ma=async(e,t,r={})=>{let n=r.forceRefresh?null:$.getList(t);if(n)return n;let o=$.pendingLists.get(t);if(o)return o;let a=Date.now(),i=new URLSearchParams({[Jo.businessDate]:t}),s=fetch(`${e}/${vt.businessDate}?${i}`,{cache:"no-cache"}).then(d=>gs(d,Xu,vt.businessDate)).then(({reports:d})=>$.cacheMany(d,t,a)).finally(()=>$.pendingLists.delete(t));return $.pendingLists.set(t,s),s},ca=(e,t)=>{let r=$.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!$.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=$.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:!$.isValid(n.expiresAt)}},ds=(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}=ca(e,Mt(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},Xt=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,Ft=(e,t)=>{let{apiBasePath:r}=B(),[n,o]=Gu(()=>ds(e,t)),a=ju(0),i=n;return n.id!==e&&(i=ds(e,t),o(i)),ls(()=>{let s=Mt(t),d=m=>{m===e&&o(Xt(e,{report:ca(e,s).report}))};return $.listeners.add(d),()=>{$.listeners.delete(d)}},[e,t]),ls(()=>{let s=Mt(t);a.current+=1;let d=a.current,m=()=>{a.current+=1};if(e<=0)return m;let{report:c,isStale:p}=ca(e,s);if(c&&!p)return o(Xt(e,{report:c,error:null,isLoading:!1,isRefetching:!1})),m;o(Xt(e,{report:c,isLoading:!c,isRefetching:!0}));let b=async()=>{try{let f=null;if(s){let E=$.getList(s)!==null;if(f=(await ma(r,s)).find(l=>l.reportHubId===e)??null,!f&&E){let l=await Qu(r,s);l&&(f=l.find(g=>g.reportHubId===e)??null)}}else f=await Zu(r,e);a.current===d&&o(Xt(e,{report:f,error:null}))}catch(f){a.current===d&&o(Xt(e,{error:f instanceof Error?f:new Error("Load failed")}))}finally{a.current===d&&o(Xt(e,{isLoading:!1,isRefetching:!1}))}};if(c===null)return b(),m;let S=setTimeout(b,qt);return()=>{clearTimeout(S),m()}},[e,t,r]),{report:i.report,error:i.error,isLoading:i.isLoading,isRefetching:i.isRefetching}},pa=()=>{let{apiBasePath:e}=B();return $u(t=>{let r=Mt(t);r&&!$.getList(r)&&ma(e,r).catch(n=>us.warn("Prefetch error",r,n))},[e])};import{VIRTUAL_SCROLL_LABEL_KEYS as em}from"@aiquants/virtualscroll";import{useRef as tm}from"react";var kn=()=>{let{locale:e,labels:t}=B(),r=Qi(t),n=tm(null),o=n.current;return o!==null&&em.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};import{useLayoutEffect as um,useState as mm}from"react";import{flushSync as pm}from"react-dom";var vs=Object.freeze({visibilityProperty:!0}),hs=new Set(["auto","scroll"]),Ss=new Set(["","true","plaintext-only"]),Es=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=Cs(n)?n.host:null}return!1},rm=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(vs))return!0;return!1},Ts=e=>e.localName==="area"?rm(e):e.checkVisibility(vs),nm=e=>{let t=e.getAttribute("contenteditable");if(t===null||!Ss.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(Ss.has(o))return!1;if(o==="false")return!0}return!0},om=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&&Ts(n)&&(r=n)}return r===e},am=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)},im=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 nm(e)}},sm=/^[\t\n\f\r ]*[+-]?\d/,lm=e=>{let t=e.getAttribute("tabindex");return t!==null&&sm.test(t)?e.tabIndex:null},Is=(e,t)=>{for(let r of ba(e))if(t(r)||Is(r,t))return!0;return!1},Hn=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=dm(e,t);return t.set(e,n),n},dm=(e,t)=>{if(!ya(e))return"none";let r=lm(e),n=r===null&&im(e),o=r===null&&!n&&am(e);return!(r!==null||n||o)||e.matches(":disabled")||Es(e)||!Ts(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?om(e)?"sequential":"programmatic":"sequential":Is(e,a=>Hn(a,t)==="sequential")?"none":"sequential"},fa=(e,t)=>{for(let r of ba(e))t(r),fa(r,t)},ba=e=>{if(ge(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 Fn=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return fa(e,d=>{Hn(d,a)==="sequential"&&n.push(d)}),{before:r,within:n,after:o};let i=!1,s=(d,m)=>{for(let c of ba(d)){let p=c===t;!p&&Hn(c,a)==="sequential"&&(m?n.push(c):i?o.push(c):r.push(c)),s(c,m||p),p&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},xs=e=>{let t=[],r=new Map;return fa(e,n=>{Hn(n,r)==="sequential"&&t.push(n)}),t},ge=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,ya=e=>"focus"in e&&"blur"in e,cm=e=>e.nodeType===e.DOCUMENT_NODE,Cs=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,Ne=e=>{let t=e.getRootNode();if(Cs(t)){let r=t.activeElement;return r===null?Ne(t.host):r}return cm(t)?t.activeElement:null},Ir=e=>{let t=Ne(e);return t===null||t===t.ownerDocument.body||Es(t)},Ae=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 Bn=e=>{let[t,r]=mm(null);return um(()=>{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?pm(()=>r(d)):r(d)},i=d=>{for(let m of d)a(m.borderBoxSize[0].blockSize)},s=new(Ae(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var As=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,ce=(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 Un="data-daily-report-row",Ds=`[role="listitem"][${Un}]`,fm='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',bm=/^[1-9]\d*$/,_s=e=>{if(e===null||!bm.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},Et=(e,t)=>{if(t===null||!ge(e))return null;let r=e.closest(Ds);return r===null||r===t||!t.contains(r)?null:r},Bt=e=>_s(e.getAttribute(Un)),Zt=e=>_s(e.getAttribute("aria-posinset")),Ls=e=>{let t=e.closest(Ds),r=t===null?null:Zt(t);return r===null?null:r-1},xr=(e,t)=>{if(e===null)return null;let r=Bt(e);if(r===null)return null;let n=Zt(e),o=ce(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},ws=(e,t)=>{if(!ge(e))return!1;let r=e.closest(fm);return r!==null&&r!==t&&t.contains(r)};import{createContext as Ns}from"react";var lt=Ns(0),Cr=-1,Os=(e,t)=>t.phase==="complete"?e:t.totalCount===null?Cr:Math.max(e,t.totalCount),dt=Ns(-1);import{clsx as ym}from"clsx";import{twMerge as Rm}from"tailwind-merge";function R(...e){return Rm(ym(e))}import{useCallback as Ms,useMemo as gm,useSyncExternalStore as hm}from"react";var Ps="(prefers-reduced-motion: reduce)",ks=e=>Ae(e).matchMedia(Ps).matches?"instant":"smooth",Sm=Object.freeze({...la,startVelocityThreshold:Number.POSITIVE_INFINITY}),Jt=e=>e?Sm:la,vm=()=>!1,Qt=e=>{let t=gm(()=>e===null?null:Ae(e).matchMedia(Ps),[e]),r=Ms(o=>t===null?()=>{}:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=Ms(()=>t===null?!1:t.matches,[t]);return hm(r,n,vm)};import{useSyncExternalStore as Em}from"react";import{jsx as Ra}from"react/jsx-runtime";var Vn=()=>{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)})}},Hs=16,Tm=(e,t)=>e==="vertical"?{top:0,left:-Hs,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-Hs,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},Wn=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=Em(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?Ra("div",{className:"pointer-events-none absolute flex items-center",style:Tm(e,t),children:Ra("div",{className:R(xi,"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:Ra("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};import{memo as ec,useCallback as sr,useEffect as Qd,useId as Qb,useLayoutEffect as ey,useMemo as No,useRef as ri}from"react";import{createContext as El,memo as pp,useCallback as Sl,useContext as fp,useEffect as vl,useLayoutEffect as Na,useMemo as Oa,useRef as no,useState as It}from"react";import{z as ne}from"zod";var Bs=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var ke=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),ha=e=>{let t=new FormData;if(t.append(ke.intent,e.intent),e.intent==="clearCache"||(t.append(ke.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(ke.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(ke.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(ke.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(ke.title,e.changes.title),e.changes.content!==void 0&&t.append(ke.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(ke.isStarred,String(e.value)),t;case"toggleRead":return t.append(ke.isRead,String(e.value)),t;case"addComment":return t.append(ke.content,e.content),t;case"deleteComment":return t.append(ke.commentId,String(e.commentId)),t}},Fs=/^[1-9][0-9]*$/,Im=()=>{let e=ne.string().regex(Fs),t=ne.string().regex(Sn),r=ne.literal("OK"),n=ne.object({isStarred:ne.boolean(),isRead:ne.boolean()}),o=ne.number().int().nonnegative().nullable();return{create:ne.object({status:r,intent:ne.literal("create"),reportHubId:e,clientTempId:t,report:st}),update:ne.object({status:r,intent:ne.literal("update"),reportHubId:e,clientTempId:t}),publish:ne.object({status:r,intent:ne.literal("publish"),reportHubId:e,clientTempId:t,report:st.nullable()}),delete:ne.object({status:r,intent:ne.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:ne.object({status:r,intent:ne.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:ne.object({status:r,intent:ne.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:ne.object({status:r,intent:ne.literal("addComment"),reportHubId:e,clientTempId:t,newComment:En}),deleteComment:ne.object({status:r,intent:ne.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:ne.string().regex(Fs)}),clearCache:ne.object({status:r,intent:ne.literal("clearCache")})}},ga=null,xm=()=>(ga===null&&(ga=Im()),ga),Us=(e,t)=>{let r=xm()[e].safeParse(t);return r.success?r.data:null};import{systemSseRuntime as Qn}from"@aiquants/sse";import{createBrowserEventSource as $m}from"@aiquants/sse/client";import{useReopeningEventSource as jm}from"@aiquants/sse/react";import{useEffect as Aa,useRef as eo,useState as Gm}from"react";import{startTransition as Mm,useLayoutEffect as Pm,useState as km,useSyncExternalStore as jn}from"react";var Ar=()=>{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()]})}},Vs=(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 Ws=()=>{let e=new TextDecoder,t=[],r=n=>{let o=[],a=0;for(let i=n.indexOf(`
1
+ import Rp from"lucide-react/dist/esm/icons/paperclip.js";var fp="data-daily-report-row-surface",$e={[fp]:""},ur="data-daily-report-scrolling",_t=8;var _n="[--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]",Lt=`${_n} h-[calc-size(auto,round(up,size,var(--aqdr-lattice-block)))]`,wt="p-[8px]",ss="pr-[8px]",Ln="contain-size contain-layout contain-style",ls="contain-strict",Q="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",ds="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",Ia="scrollbar-thin [scrollbar-gutter:stable]",Ta=`-m-[4px] overflow-hidden p-[4px] ${Ia}`,cs="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",wn="rounded-[calc(var(--radius-2xl)+8px)]",Nn="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]",us="[: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",dt="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",On=16,pr="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",ps=12,Mn="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200";var ms="min-h-24",fs="flex h-6 items-center",Pn="[--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",Pe=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${Q}`,ys="-mx-1",bs="flex items-center gap-1",Be="inline-flex h-6 items-center rounded-full px-3",Rs="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",hs="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",At="size-4",_e={starOff:`${At} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${At} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${At} text-blue-600 dark:text-blue-400`,delete:`${At} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${At} text-red-600 dark:text-red-400`,edit:`${At} text-slate-500 dark:text-slate-400`},Ss="h-6 w-10 border-4 border-solid",gs="size-4 data-[state=checked]:translate-x-4",Es="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]",vs="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var Is="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",Ts="rounded-xl border border-solid p-[3px]",xs="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",yp="ml-[max(0px,round(down,calc((100%-72rem)/2),var(--aqdr-lattice-block)))]",bp="bg-slate-50 dark:bg-slate-950",Qe="flex min-h-0 flex-1 flex-col",kn=`${Qe} ${bp}`,Hn=`${Qe} mx-auto w-full max-w-6xl ${_n} px-[var(--aqdr-lattice-block)] pt-[var(--aqdr-lattice-block)] ${yp}`,Ds=`shrink-0 ${Lt}`,Pr="text-red-700 dark:text-red-400",Cs="bg-white dark:bg-slate-900",Fn=`min-h-0 flex-1 overflow-clip contain-size ${_n}`,Bn="flex h-full flex-col contain-size contain-layout contain-style",As="relative inline-block whitespace-nowrap tabular-nums",_s="invisible",Ls="absolute inset-0 contain-size contain-layout contain-style",Vn="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",ws="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",Ns={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},$t="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",yt=`m-0 ${$t}`,Un="text-balance wrap-anywhere [word-break:auto-phrase]",Wn="[&_.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 Os,jsxs as Sp}from"react/jsx-runtime";var hp=2,kr=({id:e,count:t,label:r})=>t<=0?null:Sp("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:[Os(Rp,{className:At,"aria-hidden":"true"}),t>=hp&&Os("span",{className:"font-semibold text-xs leading-4",children:t})]});import{VirtualScroll as dh}from"@aiquants/virtualscroll";import{useCallback as Oe,useEffect as Ut,useLayoutEffect as ch,useMemo as Wi,useRef as Ue,useState as da}from"react";var be=e=>{if(!e)return"-";let t=e.trim();return t===""?"-":t},fe=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?fe(e.toISOString()):String(e);let t=e.trim();if(t==="")return"-";let r=t.match(/^(\d{4})[-/](\d{2})[-/](\d{2})$/);if(r)return`${r[1]}-${r[2]}-${r[3]}`;let n=new Date(t);if(Number.isNaN(n.getTime()))return t;let o=n.getFullYear(),a=String(n.getMonth()+1).padStart(2,"0"),i=String(n.getDate()).padStart(2,"0");if(t.includes(":")||t.includes("T")){let l=String(n.getHours()).padStart(2,"0"),u=String(n.getMinutes()).padStart(2,"0"),d=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${i}T${l}:${u}:${d}`}return`${o}-${a}-${i}`};import{createContext as cm,useCallback as um,useContext as sl,useEffect as ol,useRef as pm,useState as mm}from"react";import{z as Vr}from"zod";var Kn="ids-stream",Ms=e=>{if(typeof e!="object"||e===null)return"unknown";let t=e;return typeof t.kind=="string"?t.kind==="chunk"?"chunk":t.kind==="error"?"error":"unknown":Array.isArray(t.items)?"chunk":typeof t.error=="string"?"error":"unknown"};var zt=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,xa=e=>{for(let t=1;t<e.length;t++)if(zt(e[t-1],e[t])>0)return!1;return!0};var Ze=Object.freeze({businessDate:"business-date",idsStream:Kn,report:"report",search:"search",reports:"reports",action:"action"}),Je=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 gp=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var $n=e=>e<10?`0${e}`:`${e}`,Ep=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=$n(e.getMonth()+1),n=$n(e.getDate());return`${t}-${r}-${n}`},Ps=e=>{let t=gp.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}`},zn=e=>Ps(e)===e,Da=(e=new Date)=>Number.isNaN(e.getTime())?Da(new Date):`${e.getFullYear()}-${$n(e.getMonth()+1)}-${$n(e.getDate())}`,jt=e=>e==null?null:e instanceof Date?Ep(e):Ps(e);var mr=(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 vp}from"zod";var ks=e=>Number.isSafeInteger(e)&&e>0,Se=vp.number().int().positive().max(Number.MAX_SAFE_INTEGER);var Ca=Object.freeze({maxQueryLength:500,maxSets:16,maxWordsPerSet:16,maxWords:32,maxWordLength:100,maxDetailIds:100});var Ip=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},Hs=e=>{if(!Ip(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=[];for(let a=0;a<t.length;a++){let i=t[a],s=r[a],l=n[a];if(typeof i!="number"||!ks(i)||s!==null&&(typeof s!="string"||!zn(s))||typeof l!="string"||l.length===0)return null;o.push({reportHubId:i,businessDate:s,sourceType:l})}return o};import{z as M}from"zod";var jn=/^(?:[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 Fs=["auth-required","forbidden","resync-required"],Aa=15e3,Bs="lastEventId",Tp=/^\d{1,15}-\d{1,15}$/,Gn=e=>Tp.test(e),xp=M.object({name:M.string().nullish(),affiliation:M.string().nullish()}),Dp=M.object({name:M.string().nullish(),text:M.string().nullish(),color:M.string().nullish()}),Cp=M.object({id:Se,name:M.string().nullish(),color:M.string().nullish()}),qn=M.object({id:Se,userId:M.string().nullish(),userName:M.string().nullish(),content:M.string().nullish(),createdAt:M.string().nullish(),isMine:M.boolean()}),Ap=M.object({id:M.string(),fileName:M.string(),fileType:M.string().nullable(),fileSize:M.number().nullable(),createdAt:M.string().nullable(),state:M.enum(["present","absent","unknown"]),hasThumbnail:M.boolean().default(!1)}),ct=M.object({reportHubId:Se,date:M.string().nullish(),createdAt:M.string().nullish(),author:M.string().nullish(),userId:M.string().nullish(),sourceType:M.string().nullish(),employeeName:M.string().nullish(),updatedBy:M.string().nullish(),updatedAt:M.string().nullish(),category:M.string().nullish(),creationCategory:M.string().nullish(),visitTimeFrom:M.string().nullish(),visitTimeTo:M.string().nullish(),customerName:M.string().nullish(),interviewers:M.array(xp),subject:M.string().nullish(),content:M.string().nullish(),externalComments:M.array(Dp),isRead:M.boolean(),isStarred:M.boolean(),labels:M.array(Cp),postedComments:M.array(qn),attachments:M.array(Ap).default([])}),Gt=M.string().regex(jn),_p=M.object({type:M.literal("connected")}),Lp=M.object({type:M.literal("status-update"),reportHubId:Se,statusType:M.enum(["star","read"]),value:M.boolean(),clientTempId:Gt,recipientRawUserId:Se.optional()}),_a=M.string().optional(),wp=M.object({type:M.literal("comment-add"),reportHubId:Se,comment:qn,clientTempId:Gt,recipientRawUserId:Se.optional(),sourceType:_a}),Np=M.object({type:M.literal("comment-delete"),reportHubId:Se,commentId:Se,clientTempId:Gt,recipientRawUserId:Se.optional(),sourceType:_a}),Op=M.object({type:M.literal("report-create"),reportHubId:Se,report:ct,clientTempId:Gt,recipientRawUserId:Se.optional()}),Mp=M.object({type:M.literal("report-update"),reportHubId:Se,report:ct,clientTempId:Gt,recipientRawUserId:Se.optional()}),Pp=M.object({type:M.literal("report-publish"),reportHubId:Se,report:ct,clientTempId:Gt,recipientRawUserId:Se.optional()}),kp=M.object({type:M.literal("report-delete"),reportHubId:Se,clientTempId:Gt,sourceType:_a}),Vs=M.discriminatedUnion("type",[_p,Lp,wp,Np,Op,Mp,Pp,kp]);var Yn=e=>e.issues.map(t=>`${t.path.length===0?"(root)":t.path.join(".")}: ${t.code}`).join("; ");import{resolveVirtualScrollLocale as jp}from"@aiquants/virtualscroll";import{createContext as Gp,useContext as qp,useMemo as Yp}from"react";var Hp=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,ke=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${Hp(r)}`),Us=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),Hr=(e,t,r)=>ke(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t),Nt=(e,t,r,n)=>{if(typeof t=="number"&&Number.isSafeInteger(t)&&t>=r&&(n===void 0||t<=n))return t;throw ke(e,n===void 0?`an integer >= ${r}`:`an integer from ${r} to ${n}`,t)};import{resolveVirtualScrollLabels as Fp,resolveVirtualScrollLocale as Bp,VIRTUAL_SCROLL_LABEL_CATALOGS as Ws,VIRTUAL_SCROLL_LABEL_KEYS as Na}from"@aiquants/virtualscroll";var $s=["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","searchInputLabel","searchPlaceholder","searchCombineAnd","searchCombineOr","searchCombineAndTitle","searchCombineOrTitle","searchClear","searching","searchNoHits","searchSyntaxHelp"],zs=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","noticeRepeated","rowState","listRowPosition","listRowPositionInUnknownTotal","searchHitCount","searchFailed"],La=[...Na,...$s,...zs];var Vp=Object.freeze({en:"en-US",ja:"ja-JP"}),de=(e,t)=>t.toLocaleString(Vp[e]),Up=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"}),Wp=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"}),Kp=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"}),$p=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"}),wa=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",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. Enter searches, Esc clears.",totalCount:e=>`Total: ${de("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${de("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${de("en",e)} / ${de("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${de("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${de("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${de("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${Wp[e]}. Please try again later.`,noticeRepeated:e=>`(${de("en",e)} times)`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${de("en",e)} of ${de("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${de("en",e)}`,searchHitCount:e=>`${de("en",e)} ${e===1?"hit":"hits"}`,searchFailed:e=>$p[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",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\u3002Enter \u3067\u691C\u7D22\u3001Esc \u3067\u6D88\u53BB\u3057\u307E\u3059\u3002",totalCount:e=>`\u7DCF\u4EF6\u6570: ${de("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${de("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${de("ja",e)} / ${de("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${de("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${de("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${de("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${Up[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=>`(${de("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 ${de("ja",t)} \u4EF6\u4E2D ${de("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${de("ja",e)} \u4EF6\u76EE`,searchHitCount:e=>`${de("ja",e)} \u4EF6\u30D2\u30C3\u30C8`,searchFailed:e=>Kp[e]})}),js=Object.freeze({en:Object.freeze({...Ws.en,...wa.en}),ja:Object.freeze({...Ws.ja,...wa.ja})}),zp=e=>{let t={},r=!1;for(let n of Na){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},Ks=(e,t,r)=>{e[t]=r},Oa=(e,t)=>{let r=Bp(e);if(t===void 0)return js[r];if(t===null||typeof t!="object")throw ke("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw ke("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!La.includes(i))throw Hr("labels key",i,La);let a={...Fp(r,zp(t)),...wa[r]};for(let i of $s){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw ke(`labels.${i}`,"a non-blank string",s);Ks(a,i,s)}}for(let i of zs){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw ke(`labels.${i}`,"a function",s);Ks(a,i,s)}}return Object.freeze(a)},Gs=e=>{let t={};for(let r of Na)t[r]=e[r];return Object.freeze(t)};import{jsx as Ma,jsxs as am}from"react/jsx-runtime";var Xp=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),Qp=({title:e,annotation:t})=>am("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[Ma("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?Ma("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),Fr=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:Qp,showDevControls:!1,headingLevel:3}),qs=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired","search"];var Zp=e=>{for(let t of Object.keys(e))if(!qs.includes(t))throw Hr("config key",t,qs)},Ys=[2,3,4,5],Jp=e=>{if(e===void 0)return Fr.headingLevel;let t=Ys.find(r=>r===e);if(t===void 0)throw ke("config.headingLevel",`one of ${Ys.join(", ")} (the level of each report's heading)`,e);return t},Xs=["debounceMs"],em=Object.freeze({min:300,max:5e3}),tm=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},rm=e=>{if(e===void 0)return null;if(!tm(e))throw ke("config.search","a plain object ({} for Enter only, or { debounceMs })",e);for(let o of Object.keys(e))if(!Xs.includes(o))throw Hr("config.search key",o,Xs);let t=e.debounceMs;if(t===void 0)return{debounceMs:null};let{min:r,max:n}=em;return{debounceMs:Nt("config.search.debounceMs",t,r,n)}},nm=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw ke(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},Qs=e=>{Zp(e);let t=e.onSessionExpired;if(t===void 0)throw Us("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw ke("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=jp(e.locale),n=Oa(r,e.labels),o=Fr;return{apiBasePath:e.apiBasePath===void 0?o.apiBasePath:e.apiBasePath,ssePath:e.ssePath===void 0?o.ssePath:e.ssePath,draftLabelName:e.draftLabelName===void 0?o.draftLabelName:e.draftLabelName,locale:r,labels:n,sourceTypeConfigs:e.sourceTypeConfigs===void 0?Xp(n):nm(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:Jp(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired,search:rm(e.search)}},om=()=>{throw new Error("[daily-report] onSessionExpired is not wired: render inside DailyReportConfigProvider with a config")},Zs=Gp(Qs({onSessionExpired:om})),Pa=({config:e,children:t})=>{let r=Yp(()=>Qs(e),[e]);return Ma(Zs.Provider,{value:r,children:t})},B=()=>qp(Zs),qt=(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},Xn=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";import{tapScrollCircleSampleVisual as sm}from"@aiquants/virtualscroll";var im=4;var fr=120,Js=1e3,Zn=.8,ka={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},Jn=20,el=6,eo={reportHubId:-1,businessDate:null},to=240,ro=15,lm=8,tl=460,rl=3,nl=352,dm={enabled:!0,renderVisual:sm,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},no={width:lm,tapScrollCircleOptions:dm,enableArrowButtonTabStops:!1},oo=["pen","touch"];var ll=mr(1,"use-daily-report"),dl=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},Va=dl("__DAILY_REPORT_CACHE_TTL__",3e5),fm=dl("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),$={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=>{$.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=jt(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()){ll.warn(`[DailyReportCache] Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+fm))}},delete(e,t){this.reports.delete(e);let r=jt(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+Va;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,u=this.merge(i,l);return this.set(u,o,!1),u});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},cl=(e,t,r=!0)=>$.set(e,t,r),et=(e,t)=>$.getReport(e,t?.ignoreExpiry),tt=(e,t)=>$.update(e,t),Ua=(e,t)=>$.delete(e,t),Ur=()=>{$.clear(),ao.clear(),Br.clear()},io=(e,t)=>{let r=$.lastMutations.get(e);(r===void 0||r<t)&&$.lastMutations.set(e,t)},Wa=e=>{io(e,Date.now())},ul=e=>{let t=Symbol("mutation-lock"),r=$.lockHolders.get(e);return r===void 0?$.lockHolders.set(e,new Set([t])):r.add(t),io(e,Date.now()),()=>{let n=$.lockHolders.get(e);n===void 0||!n.delete(t)||(n.size===0&&$.lockHolders.delete(e),io(e,Date.now()))}},pl=(e,t)=>{let r=performance.now()+t,n=$.lockHolds.get(e);(n===void 0||n<r)&&$.lockHolds.set(e,r),io(e,Date.now()+t)},ml=e=>$.recentDeletes.set(e,Date.now()),fl=(e,t)=>{let r=n=>{n===e&&t()};return $.listeners.add(r),()=>{$.listeners.delete(r)}},Yt=(e,t)=>{$.prune(),$.set(t,Date.now()+Va)},yl=e=>{$.prune();let t=$.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}));$.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+Va)},ym=Vr.object({report:ct}),bm=Vr.object({reports:Vr.array(ct)}),Ka=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 (${Yn(n.error)})`);return n.data},Rm=async(e,t)=>{let r=$.getReport(t);if(r)return r;let n=$.pendingReports.get(t);if(n)return n;let o=Date.now(),a=new URLSearchParams({[Je.reportHubId]:String(t)}),i=fetch(`${e}/${Ze.report}?${a}`,{cache:"no-cache"}).then(s=>Ka(s,ym,Ze.report)).then(({report:s})=>$.cacheMany([s],null,o)[0]).finally(()=>$.pendingReports.delete(t));return $.pendingReports.set(t,i),i},ao=new Map,hm=1e4,Sm=(e,t)=>{let r=ao.get(t),n=Date.now();if(r&&n-r.at<hm)return r.inFlight;let o=$a(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return ao.set(t,a),o.finally(()=>{ao.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},$a=async(e,t,r={})=>{let n=r.forceRefresh?null:$.getList(t);if(n)return n;let o=$.pendingLists.get(t);if(o)return o;let a=Date.now(),i=new URLSearchParams({[Je.businessDate]:t}),s=fetch(`${e}/${Ze.businessDate}?${i}`,{cache:"no-cache"}).then(l=>Ka(l,bm,Ze.businessDate)).then(({reports:l})=>$.cacheMany(l,t,a)).finally(()=>$.pendingLists.delete(t));return $.pendingLists.set(t,s),s},gm=Vr.object({reports:Vr.array(ct)}),Em=2,so=new Map,Br=new Map,bl=[],Ha=0,Fa=!1,Rl=()=>{for(;Ha<Em;){let e=bl.shift();if(e===void 0)return;Ha+=1,e().finally(()=>{Ha-=1,Rl()})}},vm=()=>{Fa=!1;for(let[e,t]of so){so.delete(e);let r=[...t];for(let n=0;n<r.length;n+=Ca.maxDetailIds){let o=r.slice(n,n+Ca.maxDetailIds);bl.push(async()=>{let a=Date.now(),i=new URLSearchParams({[Je.reportIds]:o.map(([s])=>s).join(",")});try{let s=await fetch(`${e}/${Ze.reports}?${i}`,{cache:"no-cache"}),{reports:l}=await Ka(s,gm,Ze.reports),u=new Map($.cacheMany(l,null,a).map(d=>[d.reportHubId,d]));for(let[d,p]of o)p.resolve(u.get(d)??null)}catch(s){for(let[,l]of o)l.reject(s)}})}}Rl()},Im=(e,t)=>{let r=Br.get(t);if(r!==void 0)return r;let n=new Promise((o,a)=>{let i=so.get(e);i===void 0&&(i=new Map,so.set(e,i)),i.set(t,{resolve:o,reject:a})}).finally(()=>{Br.get(t)===n&&Br.delete(t)});return Br.set(t,n),Fa||(Fa=!0,queueMicrotask(vm)),n},lo=cm("date"),Ba=(e,t)=>{let r=$.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!$.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=$.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:!$.isValid(n.expiresAt)}},al=(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}=Ba(e,jt(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},yr=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,Xt=(e,t)=>{let{apiBasePath:r}=B(),n=sl(lo),[o,a]=mm(()=>al(e,t)),i=pm(0),s=o;return o.id!==e&&(s=al(e,t),a(s)),ol(()=>{let l=jt(t),u=d=>{d===e&&a(yr(e,{report:Ba(e,l).report}))};return $.listeners.add(u),()=>{$.listeners.delete(u)}},[e,t]),ol(()=>{let l=jt(t);i.current+=1;let u=i.current,d=()=>{i.current+=1};if(e<=0)return d;let{report:p,isStale:m}=Ba(e,l);if(p&&!m)return a(yr(e,{report:p,error:null,isLoading:!1,isRefetching:!1})),d;a(yr(e,{report:p,isLoading:!p,isRefetching:!0}));let g=async()=>{try{let T=null;if(n==="ids")T=await Im(r,e);else if(l){let v=$.getList(l)!==null;if(T=(await $a(r,l)).find(h=>h.reportHubId===e)??null,!T&&v){let h=await Sm(r,l);h&&(T=h.find(E=>E.reportHubId===e)??null)}}else T=await Rm(r,e);i.current===u&&a(yr(e,{report:T,error:null}))}catch(T){i.current===u&&a(yr(e,{error:T instanceof Error?T:new Error("Load failed")}))}finally{i.current===u&&a(yr(e,{isLoading:!1,isRefetching:!1}))}};if(p===null)return g(),d;let y=setTimeout(g,fr);return()=>{clearTimeout(y),d()}},[e,t,r,n]),{report:s.report,error:s.error,isLoading:s.isLoading,isRefetching:s.isRefetching}},za=()=>{let{apiBasePath:e}=B(),t=sl(lo);return um(r=>{if(t==="ids")return;let n=jt(r);n&&!$.getList(n)&&$a(e,n).catch(o=>ll.warn("Prefetch error",n,o))},[e,t])};import{VIRTUAL_SCROLL_LABEL_KEYS as Tm}from"@aiquants/virtualscroll";import{useRef as xm}from"react";var co=()=>{let{locale:e,labels:t}=B(),r=Gs(t),n=xm(null),o=n.current;return o!==null&&Tm.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};import{useLayoutEffect as Pm,useState as km}from"react";import{flushSync as Hm}from"react-dom";var gl=Object.freeze({visibilityProperty:!0}),hl=new Set(["auto","scroll"]),Sl=new Set(["","true","plaintext-only"]),El=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=xl(n)?n.host:null}return!1},Dm=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(gl))return!0;return!1},vl=e=>e.localName==="area"?Dm(e):e.checkVisibility(gl),Cm=e=>{let t=e.getAttribute("contenteditable");if(t===null||!Sl.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(Sl.has(o))return!1;if(o==="false")return!0}return!0},Am=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&&vl(n)&&(r=n)}return r===e},_m=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&&hl.has(a.overflowX)||n&&hl.has(a.overflowY)},Lm=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 Cm(e)}},wm=/^[\t\n\f\r ]*[+-]?\d/,Nm=e=>{let t=e.getAttribute("tabindex");return t!==null&&wm.test(t)?e.tabIndex:null},Il=(e,t)=>{for(let r of Ga(e))if(t(r)||Il(r,t))return!0;return!1},uo=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=Om(e,t);return t.set(e,n),n},Om=(e,t)=>{if(!Wr(e))return"none";let r=Nm(e),n=r===null&&Lm(e),o=r===null&&!n&&_m(e);return!(r!==null||n||o)||e.matches(":disabled")||El(e)||!vl(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?Am(e)?"sequential":"programmatic":"sequential":Il(e,a=>uo(a,t)==="sequential")?"none":"sequential"},ja=(e,t)=>{for(let r of Ga(e))t(r),ja(r,t)},Ga=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 po=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return ja(e,l=>{uo(l,a)==="sequential"&&n.push(l)}),{before:r,within:n,after:o};let i=!1,s=(l,u)=>{for(let d of Ga(l)){let p=d===t;!p&&uo(d,a)==="sequential"&&(u?n.push(d):i?o.push(d):r.push(d)),s(d,u||p),p&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},Tl=e=>{let t=[],r=new Map;return ja(e,n=>{uo(n,r)==="sequential"&&t.push(n)}),t},Re=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,Wr=e=>"focus"in e&&"blur"in e,Mm=e=>e.nodeType===e.DOCUMENT_NODE,xl=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,Te=e=>{let t=e.getRootNode();if(xl(t)){let r=t.activeElement;return r===null?Te(t.host):r}return Mm(t)?t.activeElement:null},bt=e=>{let t=Te(e);return t===null||t===t.ownerDocument.body||El(t)},Ve=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 mo=e=>{let[t,r]=km(null);return Pm(()=>{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 u=o===null;o=l,u?Hm(()=>r(l)):r(l)},i=l=>{for(let u of l)a(u.borderBoxSize[0].blockSize)},s=new(Ve(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var Dl=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,ge=(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 yo="data-daily-report-row",fo=`[role="listitem"][${yo}]`,Fm='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',Bm=/^[1-9]\d*$/,Cl=e=>{if(e===null||!Bm.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},Vm=`${fo}[tabindex="0"], ${fo} [tabindex="0"]`,bo=e=>e.querySelector(Vm),Ot=(e,t)=>{if(t===null||!Re(e))return null;let r=e.closest(fo);return r===null||r===t||!t.contains(r)?null:r},Qt=e=>Cl(e.getAttribute(yo)),br=e=>Cl(e.getAttribute("aria-posinset")),Al=e=>{let t=e.closest(fo),r=t===null?null:br(t);return r===null?null:r-1},Kr=(e,t)=>{if(e===null)return null;let r=Qt(e);if(r===null)return null;let n=br(e),o=ge(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},_l=(e,t)=>{if(!Re(e))return!1;let r=e.closest(Fm);return r!==null&&r!==t&&t.contains(r)};import{createContext as Ll}from"react";var Rt=Ll(0),$r=-1,wl=(e,t)=>t.phase==="complete"?e:t.totalCount===null?$r:Math.max(e,t.totalCount),ht=Ll(-1);import{clsx as Um}from"clsx";import{twMerge as Wm}from"tailwind-merge";function I(...e){return Wm(Um(e))}import{useCallback as Nl,useMemo as Km,useSyncExternalStore as $m}from"react";var Ol="(prefers-reduced-motion: reduce)",Ml=e=>Ve(e).matchMedia(Ol).matches?"instant":"smooth",zm=Object.freeze({...ka,startVelocityThreshold:Number.POSITIVE_INFINITY}),Rr=e=>e?zm:ka,jm=()=>!1,Gm=()=>{},hr=e=>{let t=Km(()=>e===null?null:Ve(e).matchMedia(Ol),[e]),r=Nl(o=>t===null?Gm:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=Nl(()=>t===null?!1:t.matches,[t]);return $m(r,n,jm)};import{useSyncExternalStore as qm}from"react";import{jsx as qa}from"react/jsx-runtime";var Ro=()=>{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)})}},Pl=16,Ym=(e,t)=>e==="vertical"?{top:0,left:-Pl,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-Pl,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},ho=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=qm(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?qa("div",{className:"pointer-events-none absolute flex items-center",style:Ym(e,t),children:qa("div",{className:I(Rs,"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:qa("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};import{createContext as Xm,useContext as Qm,useLayoutEffect as Zm,useRef as Jm}from"react";var Ya=Xm(null),So=({items:e,scroller:t,readTopReportId:r})=>{let n=Qm(Ya),o=n===null?null:n.request,a=Jm(o===null?0:o.seq);Zm(()=>{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 tu,useCallback as _r,useEffect as eu,useId as VR,useLayoutEffect as UR,useMemo as sa,useRef as Bi}from"react";import{createContext as Td,memo as ty,useCallback as pi,useEffect as Id,useLayoutEffect as fi,useMemo as yi,useRef as tn,useState as mt}from"react";import{z as ce}from"zod";var kl=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var ze=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),Qa=e=>{let t=new FormData;if(t.append(ze.intent,e.intent),e.intent==="clearCache"||(t.append(ze.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(ze.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(ze.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(ze.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(ze.title,e.changes.title),e.changes.content!==void 0&&t.append(ze.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(ze.isStarred,String(e.value)),t;case"toggleRead":return t.append(ze.isRead,String(e.value)),t;case"addComment":return t.append(ze.content,e.content),t;case"deleteComment":return t.append(ze.commentId,String(e.commentId)),t}},ef=()=>{let e=Se,t=ce.string().regex(jn),r=ce.literal("OK"),n=ce.object({isStarred:ce.boolean(),isRead:ce.boolean()}),o=ce.number().int().nonnegative().nullable();return{create:ce.object({status:r,intent:ce.literal("create"),reportHubId:e,clientTempId:t,report:ct}),update:ce.object({status:r,intent:ce.literal("update"),reportHubId:e,clientTempId:t}),publish:ce.object({status:r,intent:ce.literal("publish"),reportHubId:e,clientTempId:t,report:ct.nullable()}),delete:ce.object({status:r,intent:ce.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:ce.object({status:r,intent:ce.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:ce.object({status:r,intent:ce.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:ce.object({status:r,intent:ce.literal("addComment"),reportHubId:e,clientTempId:t,newComment:qn}),deleteComment:ce.object({status:r,intent:ce.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:Se}),clearCache:ce.object({status:r,intent:ce.literal("clearCache")})}},Xa=null,tf=()=>(Xa===null&&(Xa=ef()),Xa),Hl=(e,t)=>{let r=tf()[e].safeParse(t);return r.success?{result:r.data}:{mismatch:Yn(r.error)}};import{systemSseRuntime as Ao}from"@aiquants/sse";import{createBrowserEventSource as If}from"@aiquants/sse/client";import{useReopeningEventSource as Tf}from"@aiquants/sse/react";import{useEffect as ni,useRef as _o,useState as xf}from"react";import{startTransition as uf,useLayoutEffect as pf,useState as mf,useSyncExternalStore as Yr}from"react";var Fl=e=>{let t=new URLSearchParams;return e.cursor!==null&&(t.set(Je.cursorReportHubId,String(e.cursor.reportHubId)),e.cursor.businessDate!==null&&t.set(Je.cursorBusinessDate,e.cursor.businessDate)),e.snapshot!==null&&t.set(Je.cursorSnapshot,e.snapshot),e.forceRefresh&&t.set(Je.forceRefresh,"true"),t};var zr=()=>{let e=new Map,t=new Map,r=new Map,n=i=>{let s=r.get(i.reportHubId);if(s===void 0){e.set(i.reportHubId,i);return}r.delete(i.reportHubId),t.set(i.reportHubId,{previous:s,next:i})},o=(i,s)=>{if(e.has(s.reportHubId)){e.set(s.reportHubId,s);return}let 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()]})}},Bl=(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 Vl=()=>{let e=new TextDecoder,t=[],r=n=>{let o=[],a=0;for(let i=n.indexOf(`
2
2
  `);i!==-1;i=n.indexOf(`
3
- `,a)){let s=n.slice(a,i);o.push(t.length===0?s:[...t,s].join("")),t=[],a=i+1}return a<n.length&&t.push(n.slice(a)),o};return{push:n=>r(e.decode(n,{stream:!0})),end:()=>{let n=r(e.decode()),o=t.join("");return t=[],o===""?n:[...n,o]}}};var Cm=50,Am=32,Ks=0,Dm=()=>(Ks+=1,Ks),_m=1e3,Lm=3e4,wm=6,Nm=3e4,Kn=Symbol("read-stall"),Om="/daily_report/api",Dr=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=Ar();this.apiBasePath=t.apiBasePath??Om,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??Nm,this.publishCoalesceMs=t.publishCoalesceMs??Cm,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>=wm){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(_m*2**(this.consecutiveFailures-1),Lm))}}pruneUnseenItems(){let t=this.activeSeenIds;if(this.activeSeenIds=null,!!t)for(let r of Array.from(this.itemMap.keys()))t.has(r)||this.deleteItem(r)}async streamOnce(t){let r=new AbortController;this.activeAbortController=r;try{let n=this.fetchFn(this.buildStreamUrl(t),{signal:r.signal,headers:{Accept:"application/x-ndjson"},cache:"no-store"}),o=null,a=this.readStallTimeoutMs<=0?await n:await Promise.race([n,new Promise(c=>{o=this.setTimeoutFn(()=>c(Kn),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===Kn)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=Ws(),d=!1,m=!1;for(;;){let c=await this.readWithStallGuard(i);if(c===Kn)return r.abort(),i.cancel().catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let p=c.done?s.end():s.push(c.value),b=!1;for(let S of p){if(S.trim()==="")continue;let f;try{f=JSON.parse(S)}catch{this.warn("[DailyReportIdsStream] skipped malformed line");continue}let E=Vi(f);if(E==="unknown"){this.warn("[DailyReportIdsStream] skipped line of unknown kind");continue}if(E==="error"){d=!0;continue}let h=f;b=this.absorbChunkLine(h)||b,typeof h.total=="number"&&Number.isFinite(h.total)&&h.total!==this.state.totalCount&&this.publish({totalCount:h.total}),h.nextCursor&&(h.nextCursor.businessDate===null||Ki(h.nextCursor.businessDate))&&(this.lastCursor=h.nextCursor),h.isLast&&(m=!0)}if(b&&(this.consecutiveFailures=0,this.schedulePublishItems()),c.done)break}return d?{kind:"retryable",error:new Error("Stream interrupted by server error")}:m?{kind:"complete"}:{kind:"retryable",error:new Error("Stream ended before completion")}}catch(n){return n instanceof Error&&n.name==="AbortError"?{kind:"aborted"}:{kind:"retryable",error:n instanceof Error?n:new Error(String(n))}}finally{this.activeAbortController===r&&(this.activeAbortController=null)}}async readWithStallGuard(t){if(this.readStallTimeoutMs<=0)return t.read();let r=null,n=new Promise(o=>{r=this.setTimeoutFn(()=>o(Kn),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"&&vn(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=Dm(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange=Ar(),{loadedCount:this.itemMap.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-Am),r]}}publishItems(){let t=this.takePendingItems();t.itemsRevision!==void 0&&this.publish(t)}schedulePublishItems(){if(this.publishCoalesceMs<=0){this.publishItems();return}let t=this.now()-this.lastItemsPublishAt;if(t>=this.publishCoalesceMs){this.publishItems();return}this.publishCoalesceTimer===null&&(this.publishCoalesceTimer=this.setTimeoutFn(()=>{this.publishCoalesceTimer=null,this.publishItems()},this.publishCoalesceMs-t))}cancelScheduledPublishItems(){this.publishCoalesceTimer!==null&&(this.clearTimeoutFn(this.publishCoalesceTimer),this.publishCoalesceTimer=null)}publish(t){this.state={...this.state,...t};for(let r of this.listeners)r()}buildStreamUrl(t){let r=new URLSearchParams;this.lastCursor&&(r.set("cursor_report_hub_id",String(this.lastCursor.reportHubId)),this.lastCursor.businessDate!==null&&r.set("cursor_business_date",this.lastCursor.businessDate),this.lastSnapshot!==null&&r.set("cursor_snapshot",this.lastSnapshot)),t&&r.set("forceRefresh","true");let n=r.toString();return`${this.apiBasePath}/${gn}${n?`?${n}`:""}`}waitBeforeRetry(t){return new Promise(r=>{let n=null,o=()=>{n!==null&&(this.clearTimeoutFn(n),n=null),this.wakeRetryWait===o&&(this.wakeRetryWait=null),r()};this.wakeRetryWait=o,n=this.setTimeoutFn(o,t)})}};var Hm=6e4,Z=null,zs=!1,_r=new Set,zn={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},Sa=()=>{for(let e of _r)e()},va=()=>{Z&&(Z.unsubscribe(),Z.client.dispose(),Z=null,Sa())},Lr=e=>{if(typeof window>"u")return;let t=e.apiBasePath??vr.apiBasePath;if(Z&&(Z.userKey!==e.userKey||Z.apiBasePath!==t)&&(Z.userKey!==e.userKey&&Tr(),va()),!Z){let r=new Dr({apiBasePath:t});Z={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(Sa)},Fm(),r.start(),Sa();return}Gn(Z)},Gn=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>Hm&&e.client.refresh()},Fm=()=>{if(zs||typeof document>"u"||typeof window>"u")return;zs=!0;let e=()=>{Z&&Gn(Z)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},Ea=e=>{if(!(typeof window>"u")){if(!Z){Lr(e);return}if(Z.userKey!==e.userKey){Tr(),va(),Lr(e);return}Gn(Z)}},Ta=()=>{typeof window>"u"||!Z||Gn(Z)},wr=e=>{Z?.client.applyExternalUpsert(e)},Yn=e=>{Z?.client.applyExternalRemoval(e)},js=e=>Z===null?!1:Z.client.has(e),Bm=()=>Z===null?[]:Z.client.readItems(),Ia=()=>Z===null?0:Z.client.getState().itemsRevision,qn=()=>{Z?.client.retry()},Xn=()=>{Z?.client.resync()},xa=(e={})=>{Z?.client.refresh(e)},Gs=()=>Z?.userKey,Zn=e=>(_r.add(e),()=>_r.delete(e)),$n=()=>Z?.client.getState()??zn,Um=()=>zn,Vm=()=>jn(Zn,$n,Um),Ca=(e,t)=>{let r=zn,n=e(zn);return()=>{let o=$n();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},Ys=Ca(({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),Wm=Ys(),Jn=()=>jn(Zn,Ys,()=>Wm),qs=Ca(({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),Km=qs(),Xs=()=>jn(Zn,qs,()=>Km),Zs=Ca(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),zm=Zs(),Js=()=>jn(Zn,Zs,()=>zm),Qs=e=>e.phase==="complete"&&!e.isRevalidating,$s=e=>`${e.itemsRevision}:${Qs(e)}`,el=()=>{let[,e]=km(0),t=$n(),r=$s(t);return Pm(()=>{let n=r,o=()=>{let a=$s($n());a!==n&&(n=a,Mm(()=>e(i=>i+1)))};return _r.add(o),o(),()=>{_r.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readItems:Bm,settled:Qs(t)}};import.meta.hot?.dispose(va);var Ut=Yt(1,"daily-report-sse-connection"),Ym=Object.freeze({kind:"resyncing"}),tl={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},qm=1,rl=ea*3,Xm=rl+ea,Da=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=B(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=Jn(),[d,m]=Gm({generation:0,minAnchorRevision:1,anchored:!1}),c=d.generation>0&&!d.anchored,p=c&&a==="complete"&&!i?s:null,b=eo(0),S=eo(null),f=eo(n);f.current=n;let E=eo(0);E.current=o===null?0:o.revision,Aa(()=>{d.anchored||o===null||o.revision<d.minAnchorRevision||(S.current=o.lastEventId,b.current=0,m({...d,anchored:!0}))},[d,o]),Aa(()=>{if(!e||p===null)return;let{initialDelayMs:l,maxDelayMs:g,multiplier:T}=tl,C=Qn.random()*Math.min(g,l*T**b.current);Ut.warn(`SSE resync: the ids rescan gave up (${p.message}); rescanning in ${Math.round(C)} ms`);let P=Qn.setTimer(()=>{b.current+=1,Xn()},C);return()=>Qn.clearTimer(P)},[e,p]);let{status:h}=jm(e&&d.anchored?`${r}#${d.generation}`:null,{resolveUrl:({lastEventId:l})=>l===null?r:`${r}?${$i}=${encodeURIComponent(l)}`,initialLastEventId:S.current,withCredentials:!1,createEventSource:$m,runtime:Qn,backoff:tl,healthyOpenMs:Xm,nativeRetryLimit:qm,giveUpAfterFailures:"never",terminalEvents:zi,heartbeat:{staleAfterMs:rl,onHeartbeat:null},events:{message:l=>{l.lastEventId!==""&&(vn(l.lastEventId)?S.current=l.lastEventId:Ut.warn("SSE event carried a malformed id; keeping the previous cursor:",l.lastEventId));try{let g=JSON.parse(l.data),T=ji.safeParse(g);if(!T.success){Ut.error("SSE Validation Error:",T.error.flatten(),"raw message:",g);return}if(T.data.type==="connected"){Ut.info("SSE Subscribe Ready");return}t(T.data)}catch(g){Ut.error("SSE Parse Error",g)}}}});return Aa(()=>{if(h.kind==="faulted"){Ut.error("SSE connection faulted:",h.error);return}if(h.kind==="terminated")switch(h.terminalEvent){case"auth-required":f.current();return;case"forbidden":Ut.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let l=E.current+1;m(g=>({generation:g.generation+1,minAnchorRevision:l,anchored:!1})),Xn();return}}},[h]),e&&c?Ym:h};import{createContext as Zm,useCallback as Jm,useContext as Qm,useSyncExternalStore as nl}from"react";var ol=()=>{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)}}},_a=Zm(null),Tt=()=>{let e=Qm(_a);if(e===null)throw new Error("[daily-report] the draft store is read outside a DailyReportActionProvider");return e},al=(e,t)=>Jm(r=>e.subscribe(t,r),[e,t]),to=e=>{let t=Tt(),r=()=>t.modeOf(e);return nl(al(t,e),r,r)},il=e=>{let t=Tt(),r=()=>t.inputOf(e),n=nl(al(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{createContext as ep,useCallback as sl,useContext as tp,useEffect as rp,useMemo as np,useRef as ll,useState as op}from"react";import{jsx as dl,jsxs as cl}from"react/jsx-runtime";var ap=8e3,ip="fixed inset-x-0 bottom-4 z-[100] mx-auto flex w-fit max-w-[92vw] items-center gap-2 rounded-lg border border-red-300 border-solid bg-red-600 px-[15px] py-[7px] text-sm text-white shadow-lg motion-safe:fade-in motion-safe:slide-in-from-bottom-2 motion-safe:animate-in motion-safe:duration-200 dark:border-red-500/60 dark:bg-red-700",sp=R("flex size-6 shrink-0 items-center justify-center rounded font-bold text-white/90 hover:bg-red-700 hover:text-white dark:hover:bg-red-800",Si),ul=ep({notifyError:()=>{}}),ml=()=>tp(ul),La=({children:e})=>{let{onError:t,labels:r}=B(),[n,o]=op(null),a=ll(t);a.current=t;let i=ll(null),s=sl(c=>{let p=a.current;if(p){p(c);return}o(c)},[]),d=sl(()=>{i.current!==null&&(clearTimeout(i.current),i.current=null),o(null)},[]);rp(()=>{if(n)return i.current=setTimeout(()=>o(null),ap),()=>{i.current!==null&&(clearTimeout(i.current),i.current=null)}},[n]);let m=np(()=>({notifyError:s}),[s]);return cl(ul.Provider,{value:m,children:[e,n&&cl("div",{role:"alert","data-testid":"daily-report-error-banner",className:ip,children:[dl("span",{className:"font-medium",children:n.message}),dl("button",{type:"button","aria-label":r.close,onClick:d,className:sp,children:"\u2715"})]})]})};import{useState as lp}from"react";var dp={items:[],held:new Map,revision:null,settled:!1},pl=(e,t)=>{let r=0,n=e.length;for(;r<n;){let o=r+n>>1;Ot(e[o],t)<0?r=o+1:n=o}return r<e.length&&e[r].reportHubId===t.reportHubId?r:-1},fl=(e,t,r)=>{let n=r,o=e.length;for(;n<o;){let a=n+o>>1;Ot(e[a],t)<=0?n=a+1:o=a}return n},cp=(e,t)=>e.businessDate===t.businessDate,up=(e,t)=>{if(Zo(t)||t.sort(Ot),e.length===0||Ot(e[e.length-1],t[0])<0)return e.concat(t);let r=[],n=0;for(let o of t){let a=fl(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()},bl=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}},yl=(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 Zo(a)||a.sort(Ot),bl({items:a,held:i,revision:t.itemsRevision,settled:r})},mp=(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?[]:Vs(t.itemsChanges,o);if(o===null||a===null)return yl(e,t,r,n);let i=Ar();for(let l of a)i.fold(l);let{appended:s,replaced:d,removed:m}=i.build(o,t.itemsRevision),c=null,p=()=>(c===null&&(c=new Map(e.held)),c),b=[],S=new Set,f=[];for(let l of m)e.held.has(l.reportHubId)||pl(e.items,l)===-1||(r||n.has(l.reportHubId)?S.add(l.reportHubId):p().set(l.reportHubId,{item:l,since:Number.NEGATIVE_INFINITY}));let E=(l,g)=>{let T=l.reportHubId,C=e.held.get(T);C!==void 0&&p().delete(T);let P=C===void 0?g:C.item,O=P===void 0?-1:pl(e.items,P);if(n.has(T)){O!==-1&&S.add(T);return}if(O!==-1&&cp(e.items[O],l)){e.items[O].sourceType!==l.sourceType&&b.push({index:O,item:l});return}O!==-1&&S.add(T),f.push(l)};for(let{previous:l,next:g}of d)E(g,l);for(let l of s)E(l,void 0);let h=e.items;if(b.length>0){h=h.slice();for(let{index:l,item:g}of b)h[l]=g}return S.size>0&&(h=h.filter(l=>!S.has(l.reportHubId))),f.length>0&&(h=up(h,f)),bl({items:h,held:c===null?e.held:c,revision:t.itemsRevision,settled:r})},Rl=(e,t,r)=>{let[n,o]=lp(()=>yl(dp,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>mp(a,e,t,r)),[n,o]},ro=(e,t,r)=>{if(e.items.some(a=>a.reportHubId===t.reportHubId))return e;let n=e.items.slice();n.splice(fl(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}},Nr=(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}},gl=(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}},hl=e=>({...e,revision:null});import{jsx as wa,jsxs as Ip}from"react/jsx-runtime";var ct=Yt(1,"daily-report-action-context"),bp=3e4,yp=3e4,Rp=1e3,oo=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},gp=e=>{let t=new Map,r=n=>{for(let[o,a]of t){if(a>n)return;t.delete(o)}};return{add:n=>{let o=e();r(o),t.delete(n),t.set(n,o+bp)},has:n=>(r(e()),t.has(n))}},hp=(e,t)=>!("clientTempId"in e)||e.clientTempId!==t.clientTempId?!1:"reportHubId"in t?"reportHubId"in e&&e.reportHubId===String(t.reportHubId):!0,io=globalThis.__DailyReportActionsContext??El(null);globalThis.__DailyReportActionsContext=io;var so=globalThis.__DailyReportActionStateContext??El(null);globalThis.__DailyReportActionStateContext=so;var ao=(e,t)=>{let r=fp(e);if(r===null)throw new Error(`[daily-report] ${t} must be used within a DailyReportActionProvider`);return r},Te=()=>ao(io,"useDailyReportActions"),lo=()=>ao(so,"useDailyReportActionState"),Sp=()=>{let e=ao(io,"useDailyReportActionContext"),t=ao(so,"useDailyReportActionContext");return Oa(()=>({...e,...t}),[e,t])},Vt=(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},vp=()=>({pendingAddCommentIds:{current:new Map},pendingDeleteCommentIds:{current:new Map},pendingStarUpdates:{current:new Map},pendingReadUpdates:{current:new Map},resolvedIdMap:{current:new Map}}),Ep=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)}),Tp=Object.freeze({kind:"idle"}),Tl=pp(({isSseEnabled:e,onMessage:t,onStatus:r})=>{let n=Da({isSseEnabled:e,onMessage:t});return Na(()=>{r(n)},[n,r]),null});Tl.displayName="DailyReportSseConnectionHost";var Ma=({children:e,user:t,userId:r})=>{let{apiBasePath:n,draftLabelName:o,labels:a}=B(),{notifyError:i}=ml(),[s]=It(vp),{pendingAddCommentIds:d,pendingDeleteCommentIds:m,pendingStarUpdates:c,pendingReadUpdates:p,resolvedIdMap:b}=s,[S,f]=It(0),[E]=It(ol),[h,l]=It(!1),[g,T]=It(Tp),C=no(!1),P=no(new Map),O=no(new Set),[W]=It(()=>gp(()=>performance.now())),[M]=It(()=>new Map),V=el(),[G,H]=Rl(V,V.settled,O.current),J=G.items,F=Sl(()=>Gs()===(r??null),[r]),se=async()=>{ct.info("[DailyReportActionProvider] Refetching data without page reload..."),xa(),f(u=>u+1),$.listeners.forEach(u=>{u(-1)})},q=async()=>{ct.info("[DailyReportActionProvider] Clearing client & server/DB cache and refetching data without page reload..."),Tr(),O.current.clear(),H(hl);try{sessionStorage.clear()}catch{}try{let u=await fetch(`${n}/${vt.action}`,{method:"POST",body:ha({intent:"clearCache"})});if(!u.ok){let y=await u.json().catch(()=>null);ct.warn("[DailyReportActionProvider] Failed to clear server-side cache:",u.status,y)}}catch(u){ct.warn("[DailyReportActionProvider] Failed to clear server-side cache:",u)}F()&&(xa({forceRefresh:!0}),f(u=>u+1),$.listeners.forEach(u=>{u(-1)}))},K=(u,y)=>{y.unsubscribe(),M.delete(u)},ye=(u,y)=>{K(u,y),ct.warn(`[SSE Queue] Expired: reportHubId=${u}, dropped=${y.messages.length} messages`)},re=(u,y)=>{let _=performance.now(),x=M.get(u);if(x!==void 0&&x.expiresAt>_){x.messages.push(y);return}x!==void 0&&ye(u,x);let L;L={messages:[y],unsubscribe:ys(u,()=>{if(L.expiresAt<=performance.now()){ye(u,L);return}if(Ke(u,{ignoreExpiry:!0})){K(u,L),ct.info(`[SSE Queue] Replaying ${L.messages.length} messages for reportHubId=${u}`);for(let v of L.messages)Xe.current.handleSseMessage(v)}}),expiresAt:_+yp},M.set(u,L)};Na(()=>()=>{for(let u of M.values())u.unsubscribe();M.clear()},[M]);let _e=Sl((u,y)=>{y!==void 0&&wr({reportHubId:u,businessDate:y})},[]),Me=()=>{r&&(C.current=!0,l(u=>!u))};vl(()=>{if(!r)return;let u=setTimeout(()=>{C.current||l(!0)},ns);return()=>clearTimeout(u)},[r]);let Q=u=>{F()&&(O.current.add(u),Yn(u),H(y=>Nr(y,u)),E.discard(u))};vl(()=>{if(G.settled)for(let u of O.current)js(u)||O.current.delete(u)},[G.settled,G.revision]);let je=u=>{if(F()&&!W.has(u.clientTempId))switch(u.type){case"comment-add":{let{comment:y,reportHubId:_}=u,x=Ke(_,{ignoreExpiry:!0});if(x){if(x.postedComments.some(N=>N.id===y.id))return;let L=!1,k=d.current.get(_);if(k){for(let[N,z]of k.entries())if(z===y.content){k.delete(N),b.current.set(N,y.id),L=!0;break}}let v={...y,userName:y.userName||(L?Vt(t,a.unknownUser):a.unknownUser),createdAt:y.createdAt||new Date().toISOString(),isMine:L},A={...x,postedComments:[...x.postedComments,v].sort((N,z)=>new Date(N.createdAt||0).getTime()-new Date(z.createdAt||0).getTime())};Ht(_,A),Mn(_),Pn(_),f(N=>N+1)}else re(_,u);break}case"comment-delete":{let{commentId:y,reportHubId:_}=u,x=Ke(_,{ignoreExpiry:!0});if(x){let L={...x,postedComments:x.postedComments.filter(k=>k.id!==y)};Ht(_,L),Mn(_),Pn(_),f(k=>k+1)}else re(_,u);break}case"status-update":{let{statusType:y,value:_,reportHubId:x}=u,L=Ke(x,{ignoreExpiry:!0});if(y==="star")if(c.current.get(x)===_&&c.current.delete(x),L){let k={...L,isStarred:_};Ht(x,k),f(v=>v+1)}else re(x,u);else if(y==="read")if(p.current.get(x)===_&&p.current.delete(x),L){let k={...L,isRead:_};Ht(x,k),f(v=>v+1)}else re(x,u);break}case"report-delete":{let{reportHubId:y}=u;O.current.add(y),Yn(y),H(L=>Nr(L,y)),E.discard(y);let _=M.get(y);_!==void 0&&K(y,_);let x=Ke(y,{ignoreExpiry:!0});x?.date&&(On(y,x.date),f(L=>L+1));break}case"report-create":case"report-update":case"report-publish":{let{report:y}=u;Rs(y),(u.type==="report-create"||u.type==="report-publish")&&_e(y.reportHubId,y.date),f(_=>_+1);break}}},Re=async(u,y,_={})=>{let{intent:x}=u,{lockedReportHubId:L}=_;L!==void 0&&Mn(L),y.onOptimistic?.(),W.add(u.clientTempId);try{let k=await fetch(`${n}/${vt.action}`,{method:"POST",body:ha(u),headers:{Accept:"application/json"}});if(!k.ok)throw new oo(x,k.status);let v=Us(x,await k.json());if(v===null)throw new Error(`[daily-report] ${x} answered a body that is not its result`);if(!hp(v,u))throw new Error(`[daily-report] ${x} answered another request`);if(!F())throw ct.warn(`[executeAction] ${x} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${x}`);return y.onSuccess(v)}catch(k){throw ct.error(`${x} failed:`,k),F()&&(y.onFailure?.(),Xe.current.notifyError({operation:x,message:a.operationFailed(x),cause:k})),k}finally{L!==void 0&&Pn(L)}},oe=(u,y,_)=>({reportHubId:u,clientTempId:_,businessDate:typeof y=="string"?y:null,operationTimestamp:Date.now()}),Ve={toggleSse:Me,addComment:async(u,y,_)=>{let x=-1*Date.now(),L=Re({...oe(u,_,String(x)),intent:"addComment",content:y},{onOptimistic:()=>{d.current.has(u)||d.current.set(u,new Map),d.current.get(u)?.set(x,y),f(k=>k+1)},onSuccess:({newComment:k})=>{let v=k.id;b.current.set(x,v),d.current.get(u)?.delete(x);let A=Ke(u,{ignoreExpiry:!0});return A&&!A.postedComments.some(N=>N.id===v)&&ze(u,{postedComments:[...A.postedComments,{...k,isMine:!0,userName:Vt(t,a.unknownUser)}]}),v},onFailure:()=>{d.current.get(u)?.delete(x)}}).finally(()=>P.current.delete(x));P.current.set(x,L),await L},deleteComment:async(u,y,_)=>{m.current.has(u)||m.current.set(u,new Set),m.current.get(u)?.add(y),f(L=>L+1);let x=y;if(y<0){let L=b.current.get(y);if(L!==void 0)x=L;else{let k=P.current.get(y);if(!k)return;try{x=await k}catch{return}}}await Re({...oe(u,_,crypto.randomUUID()),intent:"deleteComment",commentId:x},{onSuccess:()=>{let L=Ke(u,{ignoreExpiry:!0});L&&(ze(u,{postedComments:L.postedComments.filter(k=>k.id!==x)}),bs(x)),m.current.get(u)?.delete(y)},onFailure:()=>{m.current.get(u)?.delete(y)}})},toggleStar:async(u,y,_)=>{await Re({...oe(u,_,crypto.randomUUID()),intent:"toggleStar",value:y},{onOptimistic:()=>{ze(u,{isStarred:y}),c.current.set(u,y),f(x=>x+1)},onSuccess:({updatedStatus:x})=>{Ke(u,{ignoreExpiry:!0})&&(ze(u,{isStarred:x.isStarred}),f(L=>L+1)),c.current.delete(u)},onFailure:()=>{ze(u,{isStarred:!y}),c.current.delete(u)}})},toggleRead:async(u,y,_)=>{await Re({...oe(u,_,crypto.randomUUID()),intent:"toggleRead",value:y},{onOptimistic:()=>{ze(u,{isRead:y}),p.current.set(u,y),f(x=>x+1)},onSuccess:({updatedStatus:x})=>{Ke(u,{ignoreExpiry:!0})&&(ze(u,{isRead:x.isRead}),f(L=>L+1)),p.current.delete(u)},onFailure:()=>{ze(u,{isRead:!y}),p.current.delete(u)}})},createReport:async u=>{let y=-1*Date.now(),_=new Date().toISOString(),x={reportHubId:y,date:u,createdAt:_,author:Vt(t,a.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:Vt(t,a.unknownUser),updatedBy:Vt(t,a.unknownUser),updatedAt:_,category:null,creationCategory:null,visitTimeFrom:null,visitTimeTo:null,customerName:null,interviewers:[],subject:"",content:"",externalComments:[],isRead:!0,isStarred:!1,labels:[{id:0,name:o,color:"#9ca3af"}],postedComments:[],attachments:[]};ps(x,Date.now()+3e5,!1),H(L=>ro(L,{reportHubId:y,businessDate:u},Number.NEGATIVE_INFINITY));try{let L=await Re({intent:"create",clientTempId:String(y),businessDate:u,operationTimestamp:Date.now()},{onSuccess:A=>A.report}),k=L.reportHubId,v=Ia();return wr({reportHubId:k,businessDate:u}),fs(k,Rp),Ht(k,L),f(A=>A+1),H(A=>ro(Nr(A,y),{reportHubId:k,businessDate:u},v)),k}catch(L){throw ct.error("[createReport] Failed",L),H(k=>Nr(k,y)),L}},updateReport:async(u,y,_)=>{await Re({...oe(u,_,crypto.randomUUID()),intent:"update",changes:{title:y.title,content:y.content}},{onSuccess:()=>{Ke(u,{ignoreExpiry:!0})&&(ze(u,{subject:y.title,content:y.content}),f(L=>L+1))}},{lockedReportHubId:u})},publishReport:async(u,y)=>{let _=Ke(u,{ignoreExpiry:!0});await Re({...oe(u,y,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{_&&(ze(u,{labels:_.labels.filter(x=>x.name!==o)}),f(x=>x+1))},onSuccess:({report:x})=>{x!==null&&(Ht(u,x),f(L=>L+1)),y!==void 0&&wr({reportHubId:u,businessDate:y})},onFailure:()=>{_&&(ze(u,{labels:_.labels}),f(x=>x+1))}})},deleteReport:async(u,y)=>{let _=J.find(x=>x.reportHubId===u);O.current.add(u),Yn(u),H(x=>gl(x,u));try{await Re({...oe(u,y,crypto.randomUUID()),intent:"delete"},{onSuccess:()=>{On(u,y),E.discard(u)}},{lockedReportHubId:u})}catch(x){if(x instanceof oo&&x.status===404){On(u,y),E.discard(u);return}if(!F())return;O.current.delete(u);let L=_===void 0?y:_.businessDate,k=Ia();L!==void 0&&wr({reportHubId:u,businessDate:L}),_&&H(v=>ro(v,_,k))}},removeStaleItem:Q,refetchData:se,clearCacheAndRefetch:q,handleSseMessage:je,notifyError:i},Xe=no(Ve);Na(()=>{Xe.current=Ve});let[Le]=It(()=>Ep(Xe)),I=Oa(()=>({...s,...Le.functions,user:t}),[s,Le,t]),w=Oa(()=>({version:S,items:J,isSseEnabled:h,sseStatus:g}),[S,J,h,g]);return wa(_a.Provider,{value:E,children:wa(io.Provider,{value:I,children:Ip(so.Provider,{value:w,children:[wa(Tl,{isSseEnabled:h,onMessage:Le.onSseMessage,onStatus:T}),e]})})})};import{jsx as Cp}from"react/jsx-runtime";var xp={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},xt=Object.freeze({2:3,3:4,4:5,5:6}),He=({level:e,...t})=>{let r=xp[e];return Cp(r,{...t})};import{memo as Zl,useId as hf,useMemo as Sf,useRef as vf}from"react";var Il=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var ka="tile",Mr=Il[ka],Ap=2,Or=16,xl=5,Cl=Mr.maxWidth/Ap,Dp=xl*(Cl+Or)-Or,Al=e=>{let t=Math.min(xl,1+Math.floor((e+Or)/(Cl+Or)));return Math.floor((Math.min(e,Dp)-(t-1)*Or)/t)},Pa=`round(nearest, 100cqi * ${Mr.maxHeight} / ${Mr.maxWidth}, 1px)`,Dl=Object.freeze({aspectRatio:`${Mr.maxWidth} / ${Mr.maxHeight}`,height:Pa,contain:"strict"}),_l=Object.freeze({marginBlockEnd:`calc(round(up, ${Pa}, ${4}px) - ${Pa})`});var _p="download",Lp="thumbnail",wp="1",er=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[_p]:wp})}`;case"thumbnail":return`${n}?${new URLSearchParams({[Lp]:r.variant})}`}};import{createContext as Np,useContext as Op}from"react";var Pr=Np(null),tr=()=>Op(Pr)===!1?-1:void 0,Ll=(e,t)=>{let{before:r,after:n}=Fn(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};import{createContext as Fp,useContext as Bp,useLayoutEffect as Up,useMemo as Vp,useState as Wp}from"react";import{flushSync as Kp}from"react-dom";import{flushSync as Mp}from"react-dom";var Ha=new WeakMap,wl=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,Pp=e=>{e.frame=null;let t=[...e.observations.values()].filter(wl);t.length!==0&&Mp(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},kp=(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=Al(o))}e.frame!==null||![...e.observations.values()].some(wl)||(e.frame=e.view.requestAnimationFrame(()=>Pp(e)))},Hp=e=>{let t=Ha.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=>kp(n,o)),observations:new Map,frame:null};return Ha.set(e,n),n},Nl=(e,t)=>{let r=e.ownerDocument,n=Hp(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(),Ha.delete(r)))}};import{jsx as Hr,jsxs as Pl}from"react/jsx-runtime";var kr="\u2026",zp=kr.codePointAt(0),co="data-attachment-file-name",$p=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,jp=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,kl=Fp(null),Hl=e=>{let t=e.lastIndexOf(".");return t<=0||t===e.length-1?{stem:e,extension:""}:{stem:e.slice(0,t),extension:e.slice(t)}},Ol=(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("")},Gp=(e,t,r)=>{if(r(e)<=t)return e;let{stem:n,extension:o}=Hl(e.normalize("NFC")),a=t/2,i=r(o)<=a?o:`${Ol(o,kr,a,r)}${kr}`;return r(n+i)<=t?n+i:`${Ol(n,kr+i,t,r)}${kr}${i}`},Ml=new WeakMap,Fl=e=>{let t=Ml.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 Ml.set(e,n),n},Yp=(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},Bl=e=>{let t=new Set;for(let r of e.matchAll($p)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},qp=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:Bl(t.fontFamily),measure:Yp(Fl(e.ownerDocument),r)}},Xp=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,Zp=e=>{let t=new Set([zp]);for(let r of e.querySelectorAll(`[${co}]`)){let n=r.getAttribute(co);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},Jp=(e,t)=>{for(let r of e.split(",")){let n=jp.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},Fa=new WeakMap,Ul=e=>{let t=Fa.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return Fa.set(e,r),r},Vl=(e,t)=>{let r=qp(e.container.querySelector(`[${co}]`));e.fitted={trackWidth:t,nameFont:r};let n=Ul(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=ef(n)),e.applyFit({width:t,measure:r.measure})},Qp=(e,t)=>{let r=t.map(o=>({families:Bl(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=Zp(o.container);i.some(d=>Jp(d.unicodeRange,s))&&(Fl(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&Kp(()=>{for(let[o,a]of n)Vl(o,a)})},ef=e=>{let t=e.document.fonts,r=n=>{Qp(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},tf=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=Nl(e,a=>Vl(r,a)),o=Ul(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),Fa.delete(o.document))}},Wl=({containerRef:e,children:t})=>{let[r,n]=Wp(null);return Up(()=>{let o=e.current;return tf(o,i=>{n(s=>Xp(s,i)?s:i)})},[e]),Hr(kl,{value:r,children:t})},Fr=({fileName:e,className:t,testId:r})=>{let n=Bp(kl),o=Vp(()=>n===null?null:Gp(e,n.width,n.measure),[e,n]),{stem:a,extension:i}=Hl(e);return Pl("span",{className:R("block min-w-0",t),title:e,"data-testid":r,[co]:e,children:[o===null?Pl("span",{"aria-hidden":"true",className:"flex min-w-0",children:[Hr("span",{className:"truncate",children:a}),i!==""&&Hr("span",{className:"max-w-1/2 shrink-0 truncate",children:i})]}):Hr("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:o}),Hr("span",{className:"sr-only",children:e})]})};import sf from"lucide-react/dist/esm/icons/image-off.js";import{memo as lf,useCallback as Va,useEffect as df,useLayoutEffect as cf,useRef as Wa,useState as uf}from"react";var uo=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),Kl=uo.queueWaitMs+uo.readMs+uo.renderMs+uo.transferMarginMs;var rf=Object.freeze({kind:"loaded"}),zl=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",d=null,m=null,c=null,p=null,b=null,S=F=>(F!==null&&n.clearTimeout(F),null),f=()=>{p?.(),p=null},E=()=>{b?.(),b=null},h=F=>F===null||F.kind==="loaded"?0:F.kind==="failing"?F.failedAttempts:i.maxAttempts,l=F=>{s="cooling",c=n.setTimeout(V,F)},g=()=>{o.abortInFlight(),E();let F=h(r.get(t))+1;if(F>=i.maxAttempts){s="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:F,retryAt:n.now()+i.retryDelayMs}),o.reset(),l(i.retryDelayMs)},T=F=>{if(s==="loading"){if(m=S(m),!F){g();return}s="done",r.set(t,rf),E()}},C=()=>{m=null,T(!1)},P=()=>{s="loading",o.showActivity(!0),f(),m=n.setTimeout(C,i.loadTimeoutMs),o.grant()},O=()=>{d=null,s="queued",b=a.request(P)},W=()=>{d===null&&(d=n.setTimeout(O,i.settleMs))},M=F=>{if(o.showActivity(F),F){s==="watching"&&W();return}if(s==="queued"){E(),s="watching";return}d=S(d)},V=()=>{c=null,s="watching",o.showActivity(!1),p=n.observe(e,M)},G=()=>{let F=s==="loading";s="done",f(),d=S(d),m=S(m),c=S(c),o.showActivity(!1),F&&(o.abortInFlight(),b!==null&&o.reset()),E()},H=r.get(t);if(H?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:T,dispose:G};if(H?.kind==="exhausted"){if(n.now()-H.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:T,dispose:G};r.delete(t)}o.reset();let J=H?.kind==="failing"?H.retryAt-n.now():0;return J>0?l(J):V(),{settle:T,dispose:G}};var nf=e=>{if(!Number.isInteger(e)||e<=0)throw Ee("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())}}}},$l=nf(2);var of=e=>{if(!Number.isInteger(e)||e<=0)throw Ee("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)}}},Ba=of(1024);var Ua=new WeakMap,af=e=>{let t=Ua.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 Ua.set(e,a),a},jl=(e,t)=>{let r=e.ownerDocument,n=af(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(),Ua.delete(r)))}};import{jsx as Br,jsxs as gf}from"react/jsx-runtime";var mf={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},pf="data-thumbnail-active",ff="data-daily-report-attachment-preview",Yl={[ff]:""},bf=Object.freeze({settleMs:250,loadTimeoutMs:Kl,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),Gl=e=>{let t=Ba.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},yf=()=>({limiter:$l,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:jl,tuning:bf}),Rf=(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(pf,o)}}),ql=lf(({thumbnailUrl:e,unavailableLabel:t})=>{let r=Wa(null),n=Wa(null),o=Wa(null),[a,i]=uf(()=>Gl(e));a.url!==e&&i(Gl(e)),cf(()=>{if(a.status==="failed")return;let c=n.current,p=a.status==="idle"?null:a.url;c.getAttribute("src")!==p&&(p===null?c.removeAttribute("src"):c.setAttribute("src",p))},[a]),df(()=>{let c=r.current,p=zl(c,e,Ba,yf(),Rf(e,c,i,n));return o.current=p,()=>{o.current=null,p.dispose()}},[e]);let s=Va(c=>{c!==null&&(n.current=c)},[]),d=Va(()=>{i(c=>c.status==="granted"?{url:c.url,status:"loaded"}:c),o.current?.settle(!0)},[]),m=Va(()=>{o.current?.settle(!1)},[]);return Br("span",{className:"block",children:Br("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":mf[a.status],style:Dl,className:"relative block w-full",children:Br("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 ${yn}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[Br(sf,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):Br("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 fe,jsxs as rt}from"react/jsx-runtime";var Xl=1024,Ka=["B","KB","MB","GB"],Jl="text-slate-500 text-sm line-through dark:text-slate-400",Ef=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=Xl&&r<Ka.length-1;)t/=Xl,r+=1;return r===0?`${t} ${Ka[r]}`:`${t.toFixed(1)} ${Ka[r]}`},Ql=({attachment:e,labels:t,className:r})=>rt("span",{className:r,children:[Ef(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),za=({href:e,children:t,...r})=>{let n=tr();return fe("a",{href:e,...r,tabIndex:n,children:t})},ed=({downloadUrl:e,label:t,fileName:r})=>rt(za,{href:e,className:R("relative ml-auto shrink-0 rounded-sm text-slate-500 text-xs underline decoration-slate-300 underline-offset-2 after:absolute after:-inset-x-2 after:-inset-y-1 hover:text-slate-700 hover:decoration-current dark:text-slate-400 dark:decoration-slate-600 dark:hover:text-slate-200",X),"data-testid":"daily-report-attachment-download",children:[t," ",fe("span",{className:"sr-only",children:r})]}),Tf=Zl(({attachment:e,apiBasePath:t,labels:r})=>{let n=fe(ql,{thumbnailUrl:er(t,e.id,{kind:"thumbnail",variant:ka}),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,fe(Fr,{fileName:e.fileName,className:Jl,testId:"daily-report-attachment-name"})]}):rt(za,{href:er(t,e.id,{kind:"inline"}),className:R("flex min-w-0 flex-col gap-2 rounded-lg",X),"data-testid":"daily-report-attachment-link",...Yl,children:[n,fe(Fr,{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:_l,children:[fe(Ql,{attachment:e,labels:r,className:"truncate"}),!o&&fe(ed,{downloadUrl:er(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})]})}),If=Zl(({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?fe(Fr,{fileName:e.fileName,className:Jl,testId:"daily-report-attachment-name"}):fe(za,{href:er(t,e.id,{kind:"inline"}),className:R("flex min-w-0 rounded-sm",X),"data-testid":"daily-report-attachment-link",children:fe(Fr,{fileName:e.fileName,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),fe(Ql,{attachment:e,labels:r,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!n&&fe(ed,{downloadUrl:er(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})}),xf=({attachments:e,headingId:t,apiBasePath:r,labels:n})=>{let o=vf(null);return fe(Wl,{containerRef:o,children:fe("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:fe("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=>fe(Tf,{attachment:a,apiBasePath:r,labels:n},a.id))})})})},mo=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=B(),o=hf(),{tileAttachments:a,rowAttachments:i}=Sf(()=>({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:[fe(He,{level:xt[n],id:o,className:R("m-0",Nt),children:r.attachments}),rt("div",{className:"flex flex-col gap-4",children:[a.length>0&&fe(xf,{attachments:a,headingId:o,apiBasePath:t,labels:r}),i.length>0&&fe("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:i.map(s=>fe(If,{attachment:s,apiBasePath:t,labels:r},s.id))})]})]})};import{useOverlayEscapeStack as Kf}from"@aiquants/swipe-overlay";import{memo as dd,useCallback as Ro,useEffect as ad,useId as zf,useRef as cd,useState as $f}from"react";import{useCallback as nd,useMemo as Cf,useRef as Af,useState as Df}from"react";var td=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Ee("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]},rd=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 $a=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:i,deleteComment:s}=Te(),{version:d}=lo(),{labels:m}=B(),c=m.unknownUser,[p,b]=Df(null),S=nd(l=>e&&s(e.reportHubId,l,e.date),[e,s]),f=nd(l=>e&&t?i(e.reportHubId,l,e.date):Promise.resolve(),[e,t,i]),E=Af([]);return{uiComments:Cf(()=>{if(!e)return[];let l=td(e.externalComments,e.postedComments,r,c),g=o.current.get(e.reportHubId);g?.size&&(l=l.filter(C=>!g.has(C.id)));let T=n.current.get(e.reportHubId);if(T?.size&&t){let C=new Set(l.map(O=>O.id)),P=Vt(t,c);for(let[O,W]of T){if(g?.has(O)||C.has(O))continue;let M=a.current.get(O);M&&C.has(M)||l.some(V=>V.isMine&&V.content===W&&typeof V.id=="number"&&V.id>0)||l.push({id:O,authorName:P,content:W,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1})}}return JSON.stringify(l)===JSON.stringify(E.current)?E.current:(E.current=l,l)},[e,t,r,c,o,n,a,d]),handleAddComment:f,handleDeleteComment:S,pendingDeleteId:p,setPendingDeleteId:b,resolvedIdMap:a.current}};var Ur=e=>e.isComposing||e.keyCode===229,po=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 _f={kind:"hold"},Lf=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),wf=(e,t)=>{let r=e.getAttribute("role");return r!==null&&Lf.has(r)&&e!==t&&e.contains(t)},Vr=e=>e.key==="Escape"&&!e.defaultPrevented&&!Ur(e),od=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||Ur(e))return null;let r=e.target;if(!(ge(r)&&t.contains(r)))return null;let n=xs(t);if(n.length===0)return _f;let{before:o,within:a,after:i}=Fn(t,r);return e.shiftKey?o.some(s=>!wf(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};import{Fragment as Nf,jsx as Of}from"react/jsx-runtime";var Se=({render:e})=>{let t=tr();return Of(Nf,{children:e(t)})};import Mf from"@heroicons/react/24/outline/TrashIcon.js";import{memo as Pf,useId as kf,useRef as Hf,useState as Ff}from"react";import{jsx as Ct,jsxs as fo}from"react/jsx-runtime";var ja="data-comment-id",bo="data-comment-delete-button",yo="data-comment-delete-slot",Bf=R(we,Ti),Uf="relative flex h-5 items-center",Vf=R(Ce,"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",X),Wf=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,Ga=Pf(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:d})=>{let[m,c]=Ff(!1),{labels:p}=B(),b=kf(),S=Hf(null),f=Wf(e.id,o,d),E=()=>{let l=S.current;l!==null&&s(l),a(null),c(!0),typeof e.id=="number"&&n?.(e.id)},h=l=>{if(!f)return;let g=l.relatedTarget;ge(g)&&l.currentTarget.contains(g)||a(null)};return fo("li",{[ja]:e.id,"data-deleted":m?"true":void 0,className:R("relative rounded-xl border border-slate-200 border-solid bg-white p-[11px] dark:border-slate-700 dark:bg-slate-900/70",e.isMine&&"border-blue-200 bg-blue-50 dark:border-blue-800/70 dark:bg-blue-950/40",m&&"hidden",f?"z-50":"z-0 hover:z-10"),children:[fo("div",{className:"mb-1 flex items-center justify-between",children:[Ct("div",{className:R("font-semibold text-xs",rd(e.color)),children:le(e.authorName)}),fo("div",{className:"flex items-center gap-2",children:[e.createdAt&&Ct("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:ie(e.createdAt)}),e.isMine&&!e.isLegacy&&fo("div",{[yo]:e.id,className:Uf,onBlur:h,children:[Ct(Se,{render:l=>Ct("button",{ref:S,type:"button",tabIndex:l,className:Bf,title:p.commentDelete,"aria-label":p.commentDelete,"aria-expanded":f,"aria-controls":f?b:void 0,[bo]:e.id,onClick:()=>i(e.id,f),children:Ct(Mf,{"aria-hidden":"true",className:f?he.deletePending:he.delete})})}),f&&Ct(Se,{render:l=>Ct("button",{id:b,type:"button",tabIndex:l,"data-delete-confirmation":!0,className:Vf,onClick:E,children:p.commentDeleteConfirm})})]})]})]}),Ct("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:e.content})]})});Ga.displayName="DailyReportPostedComment";import{Fragment as eb,jsx as Fe,jsxs as Ya}from"react/jsx-runtime";var jf="data-daily-report-comment-section",Gf="data-daily-report-comment-heading",Yf=R(it,X),ud=(e,t)=>e>0||t,qf=R("h-9 min-w-0 flex-1 rounded-lg border border-slate-300 border-solid bg-slate-50 px-[7px] text-sm focus:bg-white dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200 dark:focus:bg-slate-900",X),Xf=R("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",X),id=e=>e.querySelector(`[${bo}][aria-expanded="true"]`),Zf=(e,t,r)=>{let n=[...e.querySelectorAll(`[${bo}]`)].filter(s=>s===t||s.closest("[data-deleted]")===null),o=n.indexOf(t),a=n.at(o+1);if(a!==void 0)return{kind:"trash",button:a};if(o>0)return{kind:"trash",button:n[o-1]};let i=[...e.querySelectorAll(`[${ja}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return ud(i,r)?{kind:"heading"}:{kind:"report"}},Jf=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:d,onSectionRemoved:m})=>{let c=cd(null),p=Kf(),b=zf(),S=o!==null,f=Ro(()=>{let l=c.current,g=l===null?null:id(l),T=g===null?null:g.closest(`[${yo}]`),C=l===null?null:Ne(l);a(null),g!==null&&T!==null&&C!==null&&T.contains(C)&&g.focus({preventScroll:!0})},[a]);ad(()=>{if(S)return p({id:b,onEscape:l=>Vr(l)?(f(),!0):!1})},[S,p,b,f]),ad(()=>{let l=c.current;if(!S||l===null)return;let g=l.ownerDocument,T=C=>{let P=id(l)?.closest(`[${yo}]`);P!=null&&ge(C.target)&&P.contains(C.target)||a(null)};return g.addEventListener("pointerdown",T,!0),()=>g.removeEventListener("pointerdown",T,!0)},[S,a]);let E=Ro((l,g)=>{g?f():a(l)},[f,a]),h=Ro(l=>{let g=c.current;if(g===null)return;let T=Zf(g,l,s);if(T.kind==="report"){m();return}let C=T.kind==="trash"?T.button:d.current;if(C===null)throw new Error("[daily-report] the comment section's heading is not attached");C.focus({preventScroll:!0})},[s,d,m]);return e.length===0?null:Fe("ul",{ref:c,className:"space-y-2",children:e.map(l=>Fe(Ga,{comment:l,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:E,onBeforeHide:h,resolvedIdMap:i},l.id))})},sd=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=B(),a=cd(null);return ud(r.comments.length,r.canComment)?Ya("div",{[jf]:"",className:R("flex flex-col gap-2",e),children:[Fe(He,{ref:a,level:xt[o],tabIndex:-1,[Gf]:"",className:Yf,children:n.comments}),Fe(Jf,{...r,headingRef:a}),t]}):null},md=dd(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:i,onDeleteComment:s,pendingDeleteId:d,onPendingDeleteIdChange:m,resolvedIdMap:c})=>{let p=t?Fe(Qf,{onAddComment:i}):null,b={comments:a,canComment:t,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:s,pendingDeleteId:d,onPendingDeleteIdChange:m,resolvedIdMap:c,onSectionRemoved:r,className:o};return n==="in-section"?Fe(sd,{...b,children:p}):Ya(eb,{children:[Fe(sd,{...b}),p&&Fe("div",{className:"mt-auto",children:p})]})});md.displayName="ReportCommentsView";var Wr=dd(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:i})=>{let{user:s}=Te(),{uiComments:d,handleAddComment:m,handleDeleteComment:c,pendingDeleteId:p,setPendingDeleteId:b,resolvedIdMap:S}=$a(e,s,t),f=Ro(async E=>{await m(E),n?.()},[m,n]);return Fe(md,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:i,comments:d,onAddComment:f,onDeleteComment:c,pendingDeleteId:p,onPendingDeleteIdChange:b,resolvedIdMap:S})});Wr.displayName="ReportComments";var ld="content",Qf=({onAddComment:e})=>{let[t,r]=$f(!1),{labels:n}=B();return Ya("form",{className:"flex gap-2",onSubmit:async a=>{a.preventDefault();let i=a.currentTarget,s=i.elements.namedItem(ld);if(!(s instanceof Ae(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:[Fe(Se,{render:a=>Fe("input",{type:"text",name:ld,tabIndex:a,placeholder:n.commentPlaceholder,className:qf,autoComplete:"off"})}),Fe(Se,{render:a=>Fe("button",{type:"submit",tabIndex:a,className:Xf,disabled:t,children:n.commentSend})})]})};import{useState as lb}from"react";import{Slot as tb}from"@radix-ui/react-slot";import{cva as rb}from"class-variance-authority";import*as pd from"react";import{jsx as ob}from"react/jsx-runtime";var nb=rb(`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 ${X}`,{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=pd.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>ob(n?tb:"button",{className:R(nb({variant:t,size:r,className:e})),ref:a,...o}));ut.displayName="Button";import{jsx as ab}from"react/jsx-runtime";function fd({className:e,type:t,...r}){return ab("input",{type:t,"data-slot":"input",className:R(`flex h-9 w-full min-w-0 rounded-md border border-input border-solid bg-transparent px-[7px] py-[3px] text-base shadow-xs selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive md:text-sm dark:bg-input/30 ${X}`,e),...r})}import*as bd from"@radix-ui/react-label";import{jsx as ib}from"react/jsx-runtime";function Kr({className:e,...t}){return ib(bd.Root,{"data-slot":"label",className:R("flex select-none items-center gap-2 font-medium text-sm leading-none [:where(.group)[data-disabled=true]_&]:pointer-events-none [:where(.group)[data-disabled=true]_&]:opacity-50 [:where(.peer):disabled~&]:cursor-not-allowed [:where(.peer):disabled~&]:opacity-50",e),...t})}import{jsx as sb}from"react/jsx-runtime";function yd({className:e,...t}){return sb("textarea",{"data-slot":"textarea",className:R(`flex min-h-15 w-full rounded-md border border-input border-solid bg-transparent p-[7px] text-base shadow-xs placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive md:text-sm dark:bg-input/30 ${X}`,e),...t})}import{jsx as $e,jsxs as go}from"react/jsx-runtime";var rr=e=>({title:e.subject??"",content:e.content??""}),db=e=>{e.preventDefault()},ho=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=Te(),{labels:i}=B(),s=Tt(),{title:d,content:m}=il(e.reportHubId),[c,p]=lb(!1),b=async()=>{p(!0);try{await o(e.reportHubId,{title:d,content:m},e.date)}catch{}finally{p(!1)}},S=async()=>{p(!0);try{await o(e.reportHubId,{title:d,content:m},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{p(!1)}},f=`report-title-${e.reportHubId}`,E=`report-content-${e.reportHubId}`;return go("form",{className:"space-y-4 p-1",onSubmit:db,children:[go("div",{className:"space-y-2",children:[$e(Kr,{htmlFor:f,children:i.formTitle}),$e(Se,{render:h=>$e(fd,{ref:n,id:f,value:d,onChange:l=>s.setInput(e.reportHubId,{title:l.target.value}),placeholder:i.formTitlePlaceholder,disabled:c,tabIndex:h})})]}),go("div",{className:"space-y-2",children:[$e(Kr,{htmlFor:E,children:i.formContent}),$e(Se,{render:h=>$e(yd,{id:E,value:m,onChange:l=>s.setInput(e.reportHubId,{content:l.target.value}),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:c,tabIndex:h})})]}),go("div",{className:"flex justify-end gap-2",children:[t&&$e(Se,{render:h=>$e(ut,{type:"button",variant:"outline",onClick:t,disabled:c,tabIndex:h,children:i.formCancel})}),$e(Se,{render:h=>$e(ut,{type:"button",variant:"secondary",onClick:b,disabled:c,tabIndex:h,children:i.formSave})}),$e(Se,{render:h=>$e(ut,{type:"button",onClick:S,disabled:c,tabIndex:h,children:i.formPublish})})]})]})};import hb from"lucide-react/dist/esm/icons/check.js";import Sb from"lucide-react/dist/esm/icons/pencil.js";import vb from"lucide-react/dist/esm/icons/trash-2.js";import{jsx as Rd}from"react/jsx-runtime";var vo=24,gd=2,cb=20,So=5,ub=3,mb=()=>{let e=Math.cos(2*Math.PI/So)/Math.cos(Math.PI/So),t=Array.from({length:2*So},(b,S)=>{let f=-Math.PI/2+S*Math.PI/So,E=S%2===0?1:e;return{x:E*Math.cos(f),y:E*Math.sin(f)}}),r=t.map(b=>b.x),n=t.map(b=>b.y),[o,a,i,s]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],d=(cb-gd)/(a-o),m=vo/2-d*(o+a)/2,c=vo/2-d*(i+s)/2,p=b=>String(Number(b.toFixed(ub)));return t.map(b=>`${p(m+d*b.x)},${p(c+d*b.y)}`).join(" ")},pb=mb(),nr=({filled:e})=>Rd("svg",{viewBox:`0 0 ${vo} ${vo}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:gd,strokeLinejoin:"round",className:e?he.starOn:he.starOff,children:Rd("polygon",{points:pb})});import{Fragment as fb,jsx as Eo,jsxs as bb}from"react/jsx-runtime";var or=({config:e,id:t,className:r})=>Eo("span",{id:t,className:R(Ci,e.badgeClassName,r),children:e.name===void 0?e.label:bb(fb,{children:[Eo("span",{"aria-hidden":"true",children:Eo("abbr",{title:e.name,children:e.label})}),Eo("span",{className:"sr-only",children:e.name})]})});import{jsx as hd}from"react/jsx-runtime";var To=24,yb=6,ar=({className:e})=>hd("svg",{viewBox:`0 0 ${To} ${To}`,"aria-hidden":"true",className:R(he.read,e),children:hd("circle",{cx:To/2,cy:To/2,r:yb,fill:"currentColor"})});import{jsx as gb}from"react/jsx-runtime";var Rb=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/,Wt=({text:e})=>Rb.test(e)?gb("time",{dateTime:e,children:e}):e;import{jsx as Be,jsxs as vd}from"react/jsx-runtime";var de=({label:e,classNames:t,valueId:r,children:n})=>vd("div",{className:t.field,children:[Be("dt",{className:t.label,children:e}),Be("dd",{id:r,className:R("m-0",t.value),children:n})]}),At={field:"flex flex-col gap-1",label:"font-semibold text-slate-600 text-xs uppercase tracking-wide dark:text-slate-400",value:"text-slate-700 text-sm dark:text-slate-200"},Sd=({report:e,visitTimeDisplay:t,labels:r})=>{let n=e.category?.trim(),o=e.creationCategory?.trim();return vd("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:[Be(de,{label:r.author,classNames:At,children:le(e.author)}),Be(de,{label:r.createdAt,classNames:At,children:Be(Wt,{text:ie(e.createdAt)})}),Be(de,{label:r.updatedBy,classNames:At,children:le(e.updatedBy)}),Be(de,{label:r.updatedAt,classNames:At,children:Be(Wt,{text:ie(e.updatedAt)})}),Be(de,{label:r.businessDate,classNames:At,children:Be(Wt,{text:ie(e.date)})}),t!==null&&Be(de,{label:r.visitTime,classNames:At,children:t}),n&&Be(de,{label:r.category,classNames:At,children:n}),o&&Be(de,{label:r.creationCategory,classNames:At,children:o})]})};import{jsx as ae,jsxs as Td}from"react/jsx-runtime";var Io={field:R(Ce,"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:""},Eb={field:R(Ce,"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:""},Ed={field:R(Ce,"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:""},Id=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:d,sourceConfig:m,visitTimeDisplay:c,markerIds:p,labels:b})=>{let S=r?b.starRemove:b.starAdd,f=t?b.markUnread:b.markRead,E=e.category?.trim(),h=e.creationCategory?.trim();return Td("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[ae(Sr,{id:p.attachments,count:e.attachments.length,label:b.attachments}),m?ae(or,{id:p.source,config:m}):null,ae(Se,{render:l=>ae("button",{type:"button",onClick:a,tabIndex:l,className:we,title:S,"aria-label":S,"data-detail-star-button":e.reportHubId,children:ae(nr,{filled:r})})}),ae(Se,{render:l=>ae("button",{type:"button",onClick:o,tabIndex:l,className:we,title:f,"aria-label":f,"data-detail-read-button":e.reportHubId,children:t?ae(hb,{className:he.read}):ae(ar,{})})}),i&&ae(Se,{render:l=>ae("button",{ref:s,type:"button",onClick:i,tabIndex:l,"data-detail-edit-button":e.reportHubId,className:we,title:b.edit,"aria-label":b.edit,children:ae(Sb,{className:he.edit})})}),n&&ae(Se,{render:l=>ae("button",{type:"button",onClick:d,tabIndex:l,"data-detail-delete-button":e.reportHubId,className:we,title:b.deleteReport,"aria-label":b.deleteReport,children:ae(vb,{className:he.delete})})}),Td("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[ae(de,{label:b.id,classNames:Eb,children:e.reportHubId}),ae(de,{label:b.businessDate,classNames:Io,children:ae(Wt,{text:ie(e.date)})}),ae(de,{label:b.author,classNames:Io,children:le(e.employeeName)}),ae(de,{label:b.visitTime,classNames:Io,children:le(c)}),ae(de,{label:b.updatedAt,classNames:Io,children:ae(Wt,{text:ie(e.updatedAt)})}),E&&ae(de,{label:b.category,classNames:Ed,children:E}),h&&ae(de,{label:b.creationCategory,classNames:Ed,children:h})]})]})};import{useCallback as Xb,useContext as Xd,useLayoutEffect as ei,useRef as Zd}from"react";import{startTransition as Vb,useCallback as ee,useLayoutEffect as Kt,useMemo as Gd,useRef as Lt,useState as Yr,useSyncExternalStore as Wb}from"react";import{flushSync as Yd}from"react-dom";var ir=e=>({owner:e,focusIndex:null}),qa=Object.freeze({owner:null,focusIndex:null}),xd=(e,t)=>{if(e.length===0)return qa;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:e[r].reportHubId,index:r},focusIndex:r}},Cd=(e,t)=>{switch(t.kind){case"focusIn":return ir(t.row);case"focusOut":return t.to==="outside"?qa:ir(e);case"pointerPress":return t.at==="outside"?qa:ir(e);case"listChanged":{if(e===null)return ir(e);let r=ce(t.items,e.reportHubId,e.index);return r===-1?xd(t.items,e.index):ir(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?ir(e):xd(t.items,t.selection.index)}};var Tb=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),xo={capture:!0},Co=new WeakMap,Ib=e=>{let t=o=>{Tb.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,xo),e.removeEventListener("pointerdown",r,xo)}};return e.addEventListener("keydown",t,xo),e.addEventListener("pointerdown",r,xo),n},Ad=e=>{let t=Co.get(e),r=t===void 0?Ib(e):t;t===void 0&&Co.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),Co.delete(e)))}},Dd=e=>{let t=Co.get(e);return t===void 0?null:t.last};var Ao=e=>e.matches(":focus-visible")&&Dd(e.ownerDocument)!=="pointer";var xb="data-daily-report-keyboard-focus",Dt={capture:!0},_d=e=>{let t=Ad(e.ownerDocument),r=s=>{e.toggleAttribute(xb,ge(s)&&Ao(s))},n=s=>r(s.target),o=s=>{ge(s.relatedTarget)&&e.contains(s.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,Dt),e.addEventListener("keydown",n,Dt),e.addEventListener("focusout",o,Dt),e.addEventListener("pointerdown",a,Dt);let i=Ne(e);return r(i!==null&&e.contains(i)?i:null),()=>{e.removeEventListener("focusin",n,Dt),e.removeEventListener("keydown",n,Dt),e.removeEventListener("focusout",o,Dt),e.removeEventListener("pointerdown",a,Dt),r(null),t()}};var Cb='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',Ab=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],Db=Ab.map(e=>`[role="${e}"]`).join(", "),_b=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),Lb=new Set(["Enter"," "]),wb=new Map([["Home","exitBefore"],["End","exitAfter"]]),Xa=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return wb.get(e.key)??null;let r=_b.get(e.key);return r!==void 0?r:Lb.has(e.key)&&t.rowActivation?"activate":null},Ld=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},wd=(e,t,r)=>{let n=Xa(e,r);if(n===null||e.defaultPrevented||Ur(e)||t===null||!ge(e.target)||!t.contains(e.target))return null;let o=Et(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:Ld(e.target,Cb,t)||Ld(e.target,Db,t)?null:n};var Do={kind:"stay"},_o=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},Nd=e=>Math.floor(.875*e),_t=(e,t)=>({kind:"move",index:e,align:t}),zr=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",Nb=({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},Ob=({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},Mb=(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 Do;if(r==="top")return _t(n-1,"top");let m=s(n-1);return _t(n-1,zr(i-m,m,a,-1))}case"next":return n===o-1?Do:r==="top"?_t(n+1,"top"):_t(n+1,zr(d,s(n+1),a,1));case"first":return _t(0,"top");case"last":return _t(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(d>a)return{kind:"reveal",delta:Math.min(d-a,Nd(a))};if(n===o-1)return Do;let m=Nb(t);return _t(m.index,zr(m.top,s(m.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,Nd(a))};if(n===0)return Do;let m=Ob(t);return _t(m.index,zr(m.top,s(m.index),a,-1))}}},Pb=({index:e,focusedRowTop:t,heightOf:r},n)=>Hd(n,{index:e,offsetPx:-t},r),Pd=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let d=Mb(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:Pb(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}},kd=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>zr(r,n(e),t,1),Hd=(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},$r=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=_o(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:Hd(t,s,i),heightOf:i}},Od=1,Fd=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=jr(o,n,t,r);return{start:Math.max(0,o.index-Od),end:Math.min(t-1,a+Od)}},jr=(e,t,r,n)=>{let o=_o(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},Bd=(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,Md=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),Ud=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(Md(t,n,o))return t.reportHubId;if(Md(r,n,o))return r.reportHubId;let a=e[n.visibleStartIndex];return a===void 0?null:a.reportHubId};var Ja=1,Gr=2,Za=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?Ja:0)|(n===t||n===r?Gr:0),kb=e=>{if(Ir(e))return!0;let t=Ne(e);return t!==null&&e.contains(t)},Hb=(e,t)=>{let r=e.closest(`[${Un}]`);return r!==null&&r!==e&&Bt(r)===t&&Ne(e)===r},Vd={capture:!0},Wd=({getContainer:e,initialSelectedId:t})=>{let r={selectedId:t,tabStopId:t,arrivingId:null},n=null,o=null,a=!1,i=null,s=new Map,d=new Map,m=null,c=new Map,p=l=>Za(r,l),b=l=>{let g=d.get(l);if(g===void 0)return;let T=(p(l)&Gr)!==0?"0":"-1";g.getAttribute("tabindex")!==T&&g.setAttribute("tabindex",T)},S=()=>{if(n===null)return;let l=n;n=null,b(l)},f=(l,g)=>{S();let T={...r};l(r);let C=r,P=new Set([T.selectedId,T.tabStopId,T.arrivingId,C.selectedId,C.tabStopId,C.arrivingId]);for(let O of P){if(O===null)continue;let W=Za(T,O),M=Za(C,O);if(W===M)continue;((W^M)&Gr)!==0&&(O===g?n=O:b(O));let V=s.get(O);if(V!==void 0)for(let G of[...V])G()}},E=l=>{let g=l.ownerDocument,T=n!==null&&!Ir(l);T?g.addEventListener("focusout",S,Vd):S(),a=!0;try{l.focus({preventScroll:!0})}finally{a=!1,T&&g.removeEventListener("focusout",S,Vd),S()}},h=l=>{let g=e();g!==null&&(o=null,kb(g)&&E(l))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:p,setTabStopId:l=>{f(g=>{g.tabStopId=l},null)},settleSelection:(l,g)=>{f(T=>{T.selectedId=l,T.tabStopId=g,T.arrivingId=null},null)},arrive:l=>{f(g=>{g.arrivingId=l},l)},subscribe:(l,g)=>{let T=s.get(l)??new Set;return T.add(g),s.set(l,T),()=>{T.delete(g),T.size===0&&s.get(l)===T&&s.delete(l)}},registerFocusTarget:(l,g)=>{if(d.set(l,g),b(l),o===l){h(g);return}i===null||i.reportHubId!==l||(Ir(g)||Hb(g,l))&&E(g)},unregisterFocusTarget:(l,g)=>{d.get(l)===g&&d.delete(l)},requestFocus:l=>{o=l;let g=d.get(l);g!==void 0&&h(g)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>i,setFocusOwner:l=>{i=l},restoreFocus:l=>{if(i===null||i.reportHubId!==l)return;let g=d.get(l);g===void 0||!Ir(g)||E(g)},holdBodiesOutside:l=>{m=l},isBodyHeldAt:l=>m!==null&&(l<m.start||l>m.end),registerHeldBody:(l,g,T)=>{let C={indexHint:g,release:T};return c.set(l,C),()=>{c.get(l)===C&&c.delete(l)}},releaseHeldBodiesWithin:(l,g)=>{if(l!==null)for(let[T,{indexHint:C,release:P}]of[...c]){let O=g(T,C);O>=l.start&&O<=l.end&&P()}}}};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}},Qa=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),Fb=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),Kd=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),Bb=new Map(Object.values(Je).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),zd=e=>{let t=Bb.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},Ub=(e,t,r)=>e==="row"||e==="page"?t+r:r,$d=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:zd(e)}),jd=(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",zd(r)):(e.pending=Ub(e.axis,e.pending,r.amount),Qa)}case"frame":{if(e.fence==="open")return Qa;if(e.fence==="immediate")return e.fence="flush",Fb;if(e.pending===0)return e.fence="open",Qa;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?Kd:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return Kd}};var Kb=Object.freeze({kind:"frame"}),zb=Object.freeze({kind:"keyup"}),$b=Object.freeze({kind:"cancel"}),jb=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})}),Gb=(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}},Yb=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),qb=e=>{let t=Bt(e),r=Zt(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},Lo=(e,t)=>{let r=ee(a=>e.subscribe(t,a),[e,t]),n=ee(()=>e.rowStateOf(t),[e,t]),o=Wb(r,n,n);return{isCurrent:(o&Ja)!==0,isTabStop:(o&Gr)!==0}},wo=(e,t,r)=>{let[n,o]=Yr(()=>!e.isBodyHeldAt(r));return Kt(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return Vb(a),i},[e,t,r,n]),n},qd=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:d,rowActivation:m})=>{let[c]=Yr(()=>Wd({getContainer:()=>n.current,initialSelectedId:t})),p=Lt({items:e,onSelect:r,rowSizing:s,arrowAlign:d,rowActivation:m}),b=Lt(null),S=Lt(null),[f,E]=Yr(null),h=Lt(null),l=Lt(null),[g,T]=Yr(null),C=Lt(!1),P=Lt(null),[O,W]=Yr(0),M=Gd(()=>({id:t,indexHint:t===null?null:As(f,t)}),[t,f]),V=Lt(M);Kt(()=>{p.current={items:e,onSelect:r,rowSizing:s,arrowAlign:d,rowActivation:m},V.current=M},[e,r,s,d,m,M]);let G=ee((I,w)=>{let u=S.current;if(u!==null&&u.items===I&&u.reportHubId===w)return u.index;let y=ce(I,w,u!==null&&u.reportHubId===w?u.index:null);return y!==-1&&(S.current={items:I,reportHubId:w,index:y}),y},[]),H=ee((I,w)=>{S.current={items:p.current.items,reportHubId:I,index:w},E(u=>u!==null&&u.reportHubId===I&&u.index===w?u:{reportHubId:I,index:w})},[]),J=ee(I=>{let w=c.getFocusOwner();if(w===null)return null;let u=ce(I,w.reportHubId,w.index);return u===-1?null:{reportHubId:w.reportHubId,index:u}},[c]),F=ee(I=>{let w=p.current.items,u=I===null?null:{reportHubId:I,index:G(w,I)};return Ud(w,J(w),u,b.current,P.current)},[G,J]),se=ee(()=>{c.setTabStopId(F(c.getSelectedId()))},[c,F]),q=ee(I=>{let w=c.getFocusOwner();w===I||w!==null&&I!==null&&w.reportHubId===I.reportHubId&&w.index===I.index||(c.setFocusOwner(I),C.current||se())},[c,se]),K=ee(I=>{let w=Cd(c.getFocusOwner(),I);q(w.owner),w.focusIndex!==null&&(h.current=w.focusIndex,c.requestFocus(w.owner.reportHubId))},[c,q]);Kt(()=>{c.settleSelection(t,F(t))},[c,t,e,O,F]),Kt(()=>{let I=o.current;if(I!==null)return _d(I)},[o]),Kt(()=>{let I=n.current;if(I===null)return;let w=I.ownerDocument,u=y=>{let _=n.current,x=y.target;K({kind:"pointerPress",at:_!==null&&ge(x)&&_.contains(x)?"inside":"outside"})};return w.addEventListener("pointerdown",u,{capture:!0}),()=>w.removeEventListener("pointerdown",u,{capture:!0})},[n,K]),Kt(()=>{let I=c.pendingFocusId();I!==null&&ce(e,I,h.current)===-1&&c.cancelFocusRequest(),K({kind:"listChanged",items:e})},[c,e,K]);let ye=ee(I=>{K({kind:"removed",reportHubId:I,selection:S.current,items:p.current.items})},[K]),re=ee((I,w,u)=>{let{items:y,onSelect:_,rowSizing:x,arrowAlign:L}=p.current,k=a.current;if(_===null||k===null)return null;let v=ce(y,u.reportHubId,u.index);if(v===-1)return null;let A=$r(k,v,y.length,x);if(A===null)return null;let N=Pd(I,w,A,L),z=y[N.index],me=N.index!==v;if(me){c.arrive(z.reportHubId),P.current=z.reportHubId,h.current=N.index,C.current=!0;try{c.requestFocus(z.reportHubId)}finally{C.current=!1}}try{Yd(()=>{me&&(c.pendingFocusId()===null&&c.settleSelection(z.reportHubId,z.reportHubId),_(z.reportHubId,N.index)),N.alignment!==null&&i.toIndex(N.alignment.index,{align:N.alignment.align}),N.scrollDelta!==0&&i.by(N.scrollDelta),me&&(H(z.reportHubId,N.index),W(et=>et+1));let Ze=Fd(k,y.length,x);c.holdBodiesOutside(Ze),c.releaseHeldBodiesWithin(Ze,(et,an)=>ce(y,et,an))})}finally{c.holdBodiesOutside(null)}return me?{reportHubId:z.reportHubId,index:N.index}:{reportHubId:u.reportHubId,index:v}},[c,a,i,H]),_e=ee(I=>{let{items:w,onSelect:u}=p.current;if(u===null)return;let y=ce(w,I.reportHubId,I.index);y!==-1&&(u(I.reportHubId,y),H(I.reportHubId,y))},[H]),Me=ee(I=>{let w=n.current,u=w===null?null:Ne(w),y=w!==null&&u!==null&&w.contains(u)?xr(Et(u,w),p.current.items):null;return y===null?I.origin:y},[n]),Q=ee((I,w)=>{let u=Me(I);if(w.axis==="activate"){_e(u);return}let y=Gb(w.axis,w.amount),_=re(y.command,y.count,u);_!==null&&(I.origin=_)},[Me,_e,re]),je=ee(I=>{l.current=null,I.frame!==0&&I.view.cancelAnimationFrame(I.frame),T(null)},[]),Re=ee((I,w,u)=>{let{apply:y}=w;y!==null&&(w.flush?Yd(()=>Q(I,y)):Q(I,y)),l.current===I&&(w.ended?je(I):w.requestFrame&&(I.frame=I.view.requestAnimationFrame(u)))},[Q,je]),oe=ee((I,w,u)=>{Re(I,jd(I.state,w),u)},[Re]),ue=ee(()=>{let I=l.current;I!==null&&(I.frame=0,oe(I,Kb,ue))},[oe]),Ge=ee(()=>{let I=l.current;I!==null&&oe(I,zb,ue)},[oe,ue]),Ye=ee(()=>{let I=l.current;I!==null&&oe(I,$b,ue)},[oe,ue]),bt=ee((I,w,u)=>{T(V.current);let{state:y,effects:_}=$d(Je[I]),x={state:y,origin:w,view:u,frame:0};l.current=x,Re(x,_,ue)},[Re,ue]);Kt(()=>()=>{let I=l.current;l.current=null,I!==null&&I.frame!==0&&I.view.cancelAnimationFrame(I.frame)},[]);let yt=ee(I=>{let w=l.current,u=w!==null&&I.repeat?Xa(I,p.current):null;if(w!==null&&u!==null&&u!=="exitBefore"&&u!=="exitAfter"&&Je[u].axis===w.state.axis){I.preventDefault(),oe(w,jb[u],ue);return}let{items:y,onSelect:_,rowSizing:x,rowActivation:L}=p.current,k=n.current,v=_===null?null:wd(po(I),k,{rowActivation:L});if(c.cancelFocusRequest(),Ge(),v===null||k===null)return;if(v==="exitBefore"||v==="exitAfter"){let z=Ll(k,v==="exitBefore"?"before":"after");if(z===null)return;I.preventDefault(),z.focus();return}let A=Ne(k),N=xr(Et(A!==null&&k.contains(A)?A:I.target,k),y);if(N!==null){if(v!=="activate"){let z=a.current;if(z===null||$r(z,N.index,y.length,x)===null)return}if(I.preventDefault(),I.repeat){bt(v,N,Ae(k));return}v==="activate"?_e(N):re(v,1,N)}},[c,n,a,ue,oe,Ge,bt,_e,re]),Rt=ee(()=>{Ge()},[Ge]),Qe=ee(I=>{let w=n.current,u=I.target,y=Et(u,w);if(K({kind:"focusIn",row:y===null?null:qb(y)}),c.isMovingFocus())return;let _=a.current;if(w===null||_===null||!ge(u)||!Ao(u))return;let x=y===null?null:y.closest('[role="list"]');if(y===null||x===null)return;let L=x.getBoundingClientRect(),k=y.getBoundingClientRect(),v=k.height<=L.height?k:Yb(u.getBoundingClientRect(),ht),A=Bd(v,L),N=_.getViewportSize();A===0||!(N>0&&L.height>0)||i.by(A*N/L.height)},[c,n,a,i,K]),qe=ee(I=>{let w=n.current,u=I.relatedTarget,y=ge(u)?w?.contains(u)?"view":"outside":"nowhere";y!=="view"&&Ye(),K({kind:"focusOut",to:y})},[n,Ye,K]),Ve=ee(()=>{c.cancelFocusRequest(),Ye()},[c,Ye]),Xe=ee(I=>{b.current={visibleStartIndex:I.visibleStartIndex,visibleEndIndex:I.visibleEndIndex},P.current=null,se()},[se]),Le=Gd(()=>({onKeyDown:yt,onKeyUp:Rt,onPointerDownCapture:Ve,onWheelCapture:Ve,onTouchStartCapture:Ve,onFocus:Qe,onBlur:qe}),[yt,Rt,Ve,Qe,qe]);return{cursor:c,containerProps:Le,handleRangeChange:Xe,selection:M,settledSelection:g===null?M:g,resolveSelectedIndex:G,rememberSelection:H,focusAfterRemoval:ye}};import{jsx as ti}from"react/jsx-runtime";var Zb=R(St,ln,dn,sn,"h-full"),Jb="h-full w-full",Jd=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:d}=Lo(a,e),m=Xd(dt),c=Xd(lt),p=wo(a,e,m),b=Zd(null),S=Zd(null),f=Xb(E=>(b.current=E,a.registerFocusTarget(e,E),()=>{b.current=null,a.unregisterFocusTarget(e,E)}),[a,e]);return ei(()=>{let E=b.current,h=E===null||!p?null:E.firstElementChild,l=h instanceof HTMLElement?h:null,g=S.current;g!==null&&g.body===l||(g!==null&&g.stop(),S.current=l===null?null:{body:l,stop:o(l)})}),ei(()=>()=>{S.current?.stop(),S.current=null},[]),ei(()=>{a.restoreFocus(e)},[a,e,n]),ti(Pr.Provider,{value:d,children:ti("div",{ref:f,className:Zb,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":m+1,"aria-setsize":c,"aria-labelledby":p&&t.kind==="card"?t.ids.heading:void 0,"aria-describedby":p&&t.kind==="card"?t.describedBy:void 0,"aria-label":t.kind==="label"?t.label:void 0,"aria-busy":r||!p?!0:void 0,"aria-current":s?"true":void 0,children:p?i:ti("div",{...Pe,className:Jb})})})};import{jsx as j,jsxs as ve}from"react/jsx-runtime";var ty=R("flex w-full flex-col",tt,mn,yr),ry=R(tt,yr),ny=R("rounded-2xl",yr),oy=R("rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-700 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",yr),Ie="bg-slate-200 dark:bg-slate-700",ay=(e,t)=>{let r=le(e.name);return e.affiliation?.trim()?t.interviewerWithAffiliation(r,e.affiliation):r},iy=()=>ve("div",{...Pe,className:ry,children:[ve("div",{className:"mb-4 flex flex-wrap gap-2",children:[j("div",{className:R("h-6 w-20 rounded-full",Ie)}),j("div",{className:R("h-6 w-24 rounded-full",Ie)}),j("div",{className:R("h-6 w-24 rounded-full",Ie)}),j("div",{className:R("h-6 w-28 rounded-full",Ie)})]}),ve("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[ve("div",{className:"space-y-4",children:[j("div",{className:R("h-5 w-40 rounded",Ie)}),j("div",{className:R("h-5 w-56 rounded",Ie)}),j("div",{className:R("h-24 rounded-xl",Ie)})]}),ve("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[j("div",{className:R("mb-2 h-4 w-24 rounded",Ie)}),j("div",{className:R("mb-2 h-4 w-28 rounded",Ie)}),j("div",{className:R("h-4 w-32 rounded",Ie)})]})]}),ve("div",{className:"space-y-4",children:[j("div",{className:R("h-4 w-24 rounded",Ie)}),ve("div",{className:"flex flex-wrap gap-2",children:[j("div",{className:R("h-6 w-16 rounded-full",Ie)}),j("div",{className:R("h-6 w-16 rounded-full",Ie)}),j("div",{className:R("h-6 w-16 rounded-full",Ie)})]}),ve("div",{className:"space-y-2",children:[j("div",{className:R("h-16 rounded-xl",Ie)}),j("div",{className:R("h-16 rounded-xl",Ie)})]})]})]}),sy=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:d}=Ft(e.reportHubId,e.businessDate),{removeStaleItem:m}=Te(),{draftLabelName:c,sourceTypeConfigs:p}=B(),b=Tt(),S=to(e.reportHubId),f=S==="editing"||S==="automatic",E=ri(!1),h=ri(!1),l=ri(!1);Qd(()=>{if(d){l.current=!0;return}!(a||s||i)&&l.current&&e.reportHubId>0&&m(e.reportHubId)},[a,s,d,i,e.reportHubId,m]);let g=a?.labels.some(re=>re.name===c),T=n&&a?.userId===n,C=No(()=>a===null?void 0:()=>{E.current=!0,b.open(e.reportHubId,rr(a),!1)},[b,e.reportHubId,a]),P=sr(()=>{h.current=!0,b.dismiss(e.reportHubId)},[b,e.reportHubId]),O=sr(()=>{h.current=!0,b.discard(e.reportHubId)},[b,e.reportHubId]),W=sr(re=>{re===null||!E.current||(E.current=!1,re.focus())},[]),M=sr(re=>{re===null||!h.current||(h.current=!1,re.focus())},[]);ey(()=>{f||(h.current=!1)},[f]),Qd(()=>{a!==null&&(T&&g&&S==="display"?b.open(e.reportHubId,rr(a),!0):!g&&S==="automatic"&&b.discard(e.reportHubId))},[a,T,g,S,b,e.reportHubId]);let V=sr(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),G=Qb(),H=No(()=>({heading:`${G}-heading`,state:`${G}-state`,attachments:`${G}-attachments`,source:`${G}-source`}),[G]),J=a!==null&&a.attachments.length>0,F=a===null?void 0:kt(a.sourceType,p),se=[H.state,...J?[H.attachments]:[],...F!==void 0?[H.source]:[]].join(" "),q=!i&&a!==null&&!f?{kind:"card",ids:H,describedBy:se}:{kind:"label",label:ie(e.businessDate)},K=!i&&a===null&&s,ye=i?"error":a===null?s?"loading":"missing":f?"editing":"resolved";return j(Jd,{itemId:e.reportHubId,name:q,isBusy:K,bodyKind:ye,observeRowHeight:t,cursor:o,children:i?j(ly,{itemId:e.reportHubId}):a?f?j("div",{...Pe,className:ny,children:j(ho,{report:a,onCancel:P,onPublishSuccess:O,titleInputRef:W})}):j(rc,{item:e,report:a,sourceConfig:F,textIds:H,onCommentAdded:r,userId:n,onEdit:T?C:void 0,editButtonRef:M,onCommentSectionRemoved:V}):j(iy,{})})},tc=ec(sy),rc=ec(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:d})=>{let{toggleStar:m,toggleRead:c,pendingStarUpdates:p,pendingReadUpdates:b,deleteReport:S}=Te(),{labels:f,headingLevel:E}=B(),h=xt[E],l=In(t.sourceType,r),g=sr(()=>o?.(e.reportHubId),[o,e.reportHubId]),T=p.current.get(t.reportHubId),C=T===void 0?t.isStarred:T,P=b.current.get(t.reportHubId),O=P===void 0?t.isRead:P,W=!!(a&&t.userId===a),M=async()=>{try{await c(t.reportHubId,!O,t.date)}catch{}},V=async()=>{try{await m(t.reportHubId,!C,t.date)}catch{}},G=async()=>{confirm(f.confirmDelete)&&await S(t.reportHubId,t.date)},H=No(()=>t.content?t.content.replace(/<br\s*\/??\s*>/gi,`
4
- `).trim():"",[t.content]),J=No(()=>{let F=t.visitTimeFrom?.trim(),se=t.visitTimeTo?.trim();return F&&se?`${F} - ${se}`:F||se||null},[t.visitTimeFrom,t.visitTimeTo]);return ve("div",{...Pe,onDoubleClick:i,className:ty,children:[j(He,{level:E,id:n.heading,className:"sr-only",children:`${ie(t.date)} ${le(t.employeeName)} ${le(t.subject)}`}),j("span",{id:n.state,className:"sr-only",children:f.rowState({isRead:O,isStarred:C})}),ve("div",{className:"flex flex-col gap-4",children:[j(Id,{report:t,sourceConfig:r,isRead:O,isStarred:C,isMine:W,onToggleRead:M,onToggleStar:V,onEdit:i,editButtonRef:s,onDelete:G,visitTimeDisplay:J,markerIds:n,labels:f}),ve("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[ve("div",{className:"flex flex-col gap-4",children:[ve("div",{className:"grid gap-4 sm:grid-cols-2",children:[ve("div",{className:"flex flex-col gap-1",children:[j(He,{level:h,className:it,children:f.customer}),j("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:le(t.customerName)})]}),ve("div",{className:"flex flex-col gap-1",children:[j(He,{level:h,className:it,children:f.subject}),j("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:le(t.subject)})]})]}),H&&ve("div",{className:"flex flex-col gap-2",children:[j(He,{level:h,className:it,children:f.content}),j("div",{className:R("whitespace-pre-wrap",un),children:H})]}),t.interviewers.length>0&&ve("div",{className:"flex flex-col gap-2",children:[j(He,{level:h,className:it,children:f.interviewers}),j("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map(F=>j("li",{className:R(Ce,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:ay(F,f)},JSON.stringify([F.name,F.affiliation])))})]}),j(mo,{attachments:t.attachments}),j(Wr,{report:t,userId:a,canComment:l,onCommentAdded:g,onSectionRemoved:d,formPlacement:"after-section"})]}),j(Sd,{report:t,visitTimeDisplay:J,labels:f})]})]})]})});rc.displayName="DailyReportResolvedItem";var ly=({itemId:e})=>{let{labels:t}=B();return j("div",{...Pe,className:oy,children:j("p",{children:t.reportLoadFailed(e)})})};import{useCallback as lc,useId as yy,useMemo as dc,useRef as Ry}from"react";import{useCallback as nc,useLayoutEffect as oc,useMemo as ac,useRef as ni}from"react";var dy=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e[o]?.reportHubId!==t[o]?.reportHubId)return!0;return!1},cy=(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}},uy=(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}},my=(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"?cy(e.index,a,n.rowHeight,r.length):uy(e.index,a,_o(n),r.length);return{reportHubId:r[i].reportHubId,index:i,offsetPx:s,lastVisibleIndex:jr({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},py=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=ce(t,e[n].reportHubId,n-1);if(o!==-1)return o}return-1},ic=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=ni(null),a=ni(e),i=ni(r),s=nc(()=>{let c=t.current,p=c===null?-1:c.getScrollPosition(),b=c===null||!(p>0)?null:c.getScrollAnchor(),S=a.current,f=b===null?void 0:S[b.index],E=c===null?0:c.getViewportSize();o.current=b===null||f===void 0||!(E>0)?null:{reportHubId:f.reportHubId,index:b.index,offsetPx:b.offsetPx,lastVisibleIndex:jr(b,E,S.length,i.current),recordedAt:p}},[t]),d=ac(()=>({toIndex:(c,p)=>{let b=t.current;b!==null&&(b.scrollToIndex(c,p),s())},by:c=>{let p=t.current;p!==null&&(p.scrollBy(c),s())},resizeRow:(c,p)=>{let b=t.current;b!==null&&(b.updateItemSize(c,p),s())}}),[t,s]);oc(()=>{let c=a.current;a.current=e;let p=o.current,b=t.current;if(c===e||p===null||b===null||n())return;let S=my(p,b.getScrollPosition(),c,i.current,b.getViewportSize());if(S===null){o.current=null;return}let f=ce(e,S.reportHubId,S.index),E=f===-1?py(c,e,S):f;if(E===-1){o.current=null;return}if(E===S.index&&!dy(c,e,S.index,S.lastVisibleIndex)){o.current=S;return}b.scrollToIndex(E,{align:"top",offset:-S.offsetPx}),o.current={reportHubId:e[E].reportHubId,index:E,offsetPx:S.offsetPx,lastVisibleIndex:jr({index:E,offsetPx:S.offsetPx},b.getViewportSize(),e.length,r),recordedAt:b.getScrollPosition()}},[e,t,r,n]),oc(()=>{i.current=r},[r]);let m=nc(c=>{if(c.cause!=="clamp"){s();return}let p=o.current;p!==null&&(o.current={...p,recordedAt:p.recordedAt+c.delta})},[s]);return ac(()=>({handleRangeChange:s,handleScrollAdjust:m,scroller:d}),[s,m,d])};import{useCallback as fy}from"react";var by=20,sc=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>fy(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=by)=>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 gy}from"react/jsx-runtime";var Oo=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let i=Ry(null),s=lc(C=>(i.current=C,()=>{i.current=null}),[]),{handleRangeChange:d,handleScrollAdjust:m,scroller:c}=ic({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:p,...b}=qd({...a,containerRef:e,handleRef:i,scroller:c}),S=sc({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:c,itemsRef:r}),{labels:f}=B(),E=yy(),h=a.onSelect!==null,l=lc(C=>{p(C),d(),o(C)},[p,d,o]),g=dc(()=>({role:"list","aria-label":f.title,"aria-describedby":h?E:void 0}),[f.title,h,E]),T=dc(()=>h?gy("span",{id:E,className:"sr-only",children:f.listKeyboardHelp}):null,[h,E,f.listKeyboardHelp]);return{...b,handleRangeChange:l,handleScrollAdjust:m,attachVirtualScroll:s,handleRef:i,scroller:c,attachScrollContainer:S,contentProps:g,keyboardHelp:T}};import{Fragment as Ay,jsx as mt,jsxs as Cy}from"react/jsx-runtime";var uc={pointerDragInputs:wn,wheelSpeedMultiplier:xn,inertiaOptions:Jt(!1),enableKeyboardNavigation:!1},vy={...uc,inertiaOptions:Jt(!0)},cc="daily-report-detail-list",Ey=R("relative w-full",Rn,bn),Ty=R(We,"relative"),Iy=300,ai=e=>{let t=Oe(null),[r,n]=Mo(null),o=Bn(t),a=Qt(r),i=xe(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return mt("div",{ref:i,className:pn,children:mt("div",{className:fn,children:o===null?null:mt(xy,{...e,viewportHeight:o,reducedMotion:a})})})},xy=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:i,reducedMotion:s})=>{let[{initialScrollAnchor:d,restored:m}]=Mo(()=>{let v=a?.current;if(!v||v.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!v.topItem)return{initialScrollAnchor:void 0,restored:!0};let A=e.findIndex(N=>N.reportHubId===v.topItem?.reportHubId);return A!==-1?{initialScrollAnchor:{index:A,offsetPx:v.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:v.topItem.index,offsetPx:0},restored:!0}}),c=Oe(m),p=Oe(n??null),b=Oe(a?.current.measuredHeights??new Map),S=Oe(null),f=kn(),E=pa(),[h]=Mo(Vn),l=Oe(null),g=Oe(null),T=Oe(e),C=Oe(o);Sy(()=>{T.current=e,C.current=o},[e,o]);let P=Oe(null),[O,W]=Mo(0),M=Oe(null),V=e.length,G=t===void 0?V:t,H=xe(v=>v>=V?An:e[v],[e,V]),J=xe(v=>{let A=b.current.get(H(v).reportHubId);return A===void 0?ss:A},[H]),F=xe(v=>H(v).reportHubId,[H]),se=oi(()=>({kind:"measured",heightOf:J}),[J]),q=xe((v,A)=>{P.current={reportHubId:v,index:A},W(N=>N+1),C.current?.(v)},[]),K=xe((v,A)=>{if(V===0)return;let N=Math.max(0,v),z=Math.min(V-1,A);if(N>z)return;let me=new Set;for(let Ze=N;Ze<=z;Ze++){let et=H(Ze);if(et.businessDate&&me.add(et.businessDate),me.size>=os)break}me.forEach(Ze=>{E(Ze)})},[H,V,E]),ye=xe(v=>{if(V===0)return;let{renderingStartIndex:A,renderingEndIndex:N,visibleStartIndex:z}=v,me=H(z);me.businessDate&&h.setLabel(ie(me.businessDate)),K(A,N),K(N+1,N+Cn),K(A-Cn,A-1)},[H,V,K,h]),re=xe(()=>M.current!==null,[]),{cursor:_e,containerProps:Me,handleRangeChange:Q,handleScrollAdjust:je,attachVirtualScroll:Re,handleRef:oe,scroller:ue,attachScrollContainer:Ge,contentProps:Ye,keyboardHelp:bt,resolveSelectedIndex:yt,rememberSelection:Rt}=Oo({items:e,selectedId:n??null,onSelect:o===void 0?null:q,containerRef:S,rootRef:S,testId:cc,itemsRef:T,rowSizing:se,arrowAlign:"top",rowActivation:!0,isViewRevealPending:re,onRangeChange:ye}),Qe=xe((v,A)=>{if(oe.current===null)return!1;let N=T.current,z=A!==null&&A.reportHubId===v?ce(N,v,A.index):yt(N,v);return z===-1?!1:(c.current&&(c.current=!1,v===p.current)||A!==null&&A.reportHubId===v&&A.index===z||ue.toIndex(z,{align:"top"}),!0)},[oe,yt,ue]);wt(()=>{let v=P.current;P.current=null,M.current=null,n!=null&&(Qe(n,v)||(M.current=n))},[n,Qe]),wt(()=>{let v=M.current;v!==null&&Qe(v,null)&&(M.current=null)},[e,Qe]),wt(()=>{let v=a?.current;v&&(v.anchorReportHubId=n??null)},[n,a]),wt(()=>{P.current=null},[O]);let qe=Oe(null),Ve=xe(()=>{oe.current&&(qe.current=oe.current);let v=a?.current,A=qe.current;if(v&&A){let z=A.getScrollAnchor(),me=z?T.current[z.index]:void 0;z&&me&&(v.topItem={reportHubId:me.reportHubId,index:z.index,offsetPx:z.offsetPx})}let N=S.current;N&&(N.toggleAttribute(jt,!0),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{N.toggleAttribute(jt,!1),g.current=null},150))},[oe,a]),Xe=xe(v=>mt(Wn,{...v,store:h}),[h]);wt(()=>{let v=S.current;if(!v)return;let A=()=>{h.setWheelScrollActive(!0),l.current&&clearTimeout(l.current),l.current=window.setTimeout(()=>{h.setWheelScrollActive(!1),l.current=null},Dn)};return v.addEventListener("wheel",A,{passive:!0}),()=>{v.removeEventListener("wheel",A),l.current&&clearTimeout(l.current)}},[h]);let Le=Oe(null),I=xe(v=>{for(let A of v){let N=A.target.parentElement,z=N===null?null:Bt(N),me=N===null?null:Zt(N),Ze=A.borderBoxSize[0];if(z===null||me===null||Ze===void 0)continue;let et=Ze.blockSize+2*ht;if(b.current.get(z)===et)continue;let an=ce(T.current,z,me-1);an!==-1&&(b.current.set(z,et),ue.resizeRow(an,et))}},[ue]),w=xe(v=>{Le.current===null&&(Le.current=new ResizeObserver(I));let A=Le.current;return A.observe(v),()=>A.unobserve(v)},[I]);wt(()=>()=>{Le.current?.disconnect(),Le.current=null},[]),wt(()=>{V!==0&&K(0,Math.min(V-1,Cn))},[V,K]);let u=Oe(null),y=xe(v=>{let A=ce(T.current,v,null);A!==-1&&(u.current!==null&&clearTimeout(u.current),u.current=setTimeout(()=>{u.current=null;let N=ce(T.current,v,A);N!==-1&&ue.toIndex(N,{align:"bottom"})},Iy))},[ue]);wt(()=>()=>{u.current!==null&&clearTimeout(u.current)},[]);let _=xe(v=>{if(!C.current)return;let A=Et(v.target,S.current);if(A===null||ws(v.target,A))return;let N=xr(A,T.current);N!==null&&(Rt(N.reportHubId,N.index),q(N.reportHubId,N.index))},[q,Rt]),x=xe((v,A)=>mt(dt.Provider,{value:A,children:mt(tc,{item:v,observeRowHeight:w,onCommentAdded:y,userId:r,cursor:_e})},v.reportHubId),[w,y,r,_e]),L=oi(()=>({...Ln,renderThumbOverlay:Xe}),[Xe]),k=oi(()=>mt(lt.Provider,{value:G,children:mt(hy,{ref:Re,itemCount:V,getItem:H,getItemKey:F,getItemHeight:J,viewportSize:i,initialScrollAnchor:d,overscanCount:_n,scrollBarOptions:L,behaviorOptions:s?vy:uc,onRangeChange:Q,onScrollAdjust:je,onScroll:Ve,testId:cc,className:Ey,locale:f.locale,labels:f.labels,contentProps:Ye,children:x})}),[Re,G,V,H,F,J,i,s,d,L,Q,je,Ve,f.locale,f.labels,Ye,x]);return mt(Ay,{children:Cy("div",{ref:Ge,className:Ty,...Me,onClick:_,children:[bt,k]})})};import pc from"lucide-react/dist/esm/icons/refresh-cw.js";import{jsx as mc,jsxs as Dy}from"react/jsx-runtime";var qr=e=>10**String(e).length-1,Po=({text:e,widestText:t,ref:r})=>Dy("span",{ref:r,className:Pi,children:[mc("span",{"aria-hidden":"true",className:ki,children:t}),mc("span",{className:Hi,children:e})]});import{jsx as lr,jsxs as ko}from"react/jsx-runtime";var _y=(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)}},Ly=({loadedCount:e,totalCount:t})=>{let{labels:r}=B(),{text:n,widestText:o}=_y(r,e,t);return ko("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:R(Ce,"gap-1 bg-blue-100 font-medium text-blue-800 text-xs tabular-nums dark:bg-blue-900/40 dark:text-blue-300"),children:[lr("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 motion-safe:animate-pulse dark:bg-blue-400"}),lr(Po,{text:n,widestText:o})]})},Xr=()=>{let e=Xs(),{labels:t}=B();return e.phase==="streaming"?lr(Ly,{loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?ko("span",{role:"status","data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:R(Ce,"gap-1 bg-amber-100 font-medium text-amber-800 text-xs tabular-nums dark:bg-amber-900/40 dark:text-amber-300"),children:[lr(pc,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?ko("span",{role:"status","data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:R(Ce,"gap-1 bg-rose-100 font-medium text-rose-800 text-xs dark:bg-rose-900/40 dark:text-rose-300"),children:[t.streamFailed,lr("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:()=>qn(),className:R("inline-flex h-5 items-center rounded-full bg-rose-200 px-2 font-semibold text-rose-900 hover:bg-rose-300 dark:bg-rose-800 dark:text-rose-100 dark:hover:bg-rose-700",X),children:t.streamRetry})]}):e.isRevalidating?ko("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:[lr(pc,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null};import{Panel as Vc,PanelGroup as XR,PanelResizeHandle as ZR}from"@aiquants/resize-panels";import{VirtualScroll as JR}from"@aiquants/virtualscroll";import{useCallback as at,useEffect as Wo,useLayoutEffect as mi,useMemo as Ko,useRef as br,useState as $o}from"react";import{useSyncExternalStore as wy}from"react";var fc="(max-width: 639px)",Ny=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};let t=window.matchMedia(fc);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},Oy=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(fc).matches:!1,My=()=>!1,bc=()=>wy(Ny,Oy,My);import{SwipeCloseGuardContext as oR,useOverlayEscapeStack as aR,useSwipeGuardState as iR,useSwipeToDismissOverlay as sR,useTapClick as lR,useTransitionDisplay as dR}from"@aiquants/swipe-overlay";import{useCallback as Bo,useEffect as ur,useId as ci,useLayoutEffect as _c,useRef as ot,useState as Uo}from"react";import{createContext as Py,useMemo as ky}from"react";var yc=Object.freeze({id:null,indexHint:null}),Ho=Py(Object.freeze({selected:yc,settled:yc})),Zr=(e,t)=>{let{id:r,indexHint:n}=t;return ky(()=>{if(r===null)return null;let o=ce(e,r,n);return o===-1?null:e[o]},[e,r,n])};import Hy from"lucide-react/dist/esm/icons/check.js";import Fy from"lucide-react/dist/esm/icons/pencil.js";import By from"lucide-react/dist/esm/icons/trash-2.js";import{memo as Uy,useCallback as zt,useContext as Vy,useDeferredValue as Wy,useEffect as ii,useId as vc,useLayoutEffect as si,useMemo as xc,useRef as rn,useState as Ec}from"react";import*as pt from"@radix-ui/react-tabs";import*as Ue from"react";import{jsx as Jr}from"react/jsx-runtime";var Rc=Ue.createContext(null),gc=e=>{let t=Ue.useContext(Rc);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},hc=(e,t)=>`${e}-trigger-${t}`,Sc=(e,t)=>`${e}-panel-${t}`,Qr=Ue.forwardRef(({value:e,children:t,...r},n)=>{let o=Ue.useId(),a=Ue.useMemo(()=>({baseId:o,value:e}),[o,e]);return Jr(pt.Root,{ref:n,value:e,...r,children:Jr(Rc,{value:a,children:t})})});Qr.displayName=pt.Root.displayName;var en=Ue.forwardRef(({className:e,...t},r)=>Jr(pt.List,{ref:r,className:R("inline-flex",e),...t}));en.displayName=pt.List.displayName;var tn=Ue.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=gc("TabsTrigger");return Jr(pt.Trigger,{ref:n,value:t,...r,id:hc(o,t),"aria-controls":Sc(o,t),className:R(`${Oi} ${X}`,e)})});tn.displayName=pt.Trigger.displayName;var dr=Ue.forwardRef(({className:e,value:t,children:r,...n},o)=>{let{baseId:a,value:i}=gc("TabsContent"),s=t===i;return Jr("div",{ref:o,role:"tabpanel",id:Sc(a,t),"aria-labelledby":hc(a,t),"data-state":s?"active":"inactive",hidden:!s,tabIndex:0,...n,className:R(`mt-2 data-[state=inactive]:hidden ${X}`,e),children:s?r:null})});dr.displayName="TabsContent";import{Fragment as nR,jsx as U,jsxs as nt}from"react/jsx-runtime";var Cc=R(Nt,"w-24 shrink-0"),Tc={field:"flex items-baseline",label:Cc,value:"flex-1"},Ky={field:"flex min-w-0 flex-1 items-baseline",label:Cc,value:"wrap-break-word min-w-0 flex-1"},zy={field:"flex flex-col gap-1",label:Nt,value:""},$y={field:"flex items-center gap-1",label:Nt,value:""},Ic=R("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",qo,hi,gi),jy=R("flex flex-col gap-1",Xo),Gy=R("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",X),Yy=500,li=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)})}},qy=(e,t,r,n,o,a)=>{let i=rn(null),s=e?.reportHubId;si(()=>{i.current=null},[s]),ii(()=>{n||(i.current=null)},[n]);let d=zt(async(m,c)=>{c||(i.current=m.reportHubId);try{await a(m.reportHubId,!m.isRead,m.date)}catch{}},[a]);return ii(()=>{if(!(r&&e&&!e.isRead&&!t)||i.current===e.reportHubId)return;let m=null,c=()=>{m!==null&&clearTimeout(m),m=o.isDwelling()?setTimeout(()=>d(e,!0),Yy):null};c();let p=o.subscribe(c);return()=>{p(),m!==null&&clearTimeout(m)}},[e,t,r,d,o]),{handleToggleRead:d}},di="article",Xy=["article","relations"],Zy=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},Jy=R("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",tt),Qy=9,eR=.875,tR=16,Ac=4*Math.ceil((2*ht+2*cn+2*Ei+Qy*eR*tR)/4),Dc=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=B(),a=vc(),i=vc(),[s,d]=Ec(di),{selected:m,settled:c}=Vy(Ho),p=Zr(e,m),b=Zr(e,Wy(c)),S=p===null?null:p.reportHubId,E=(b===null?null:b.reportHubId)===S,[h]=Ec(()=>li(E));return si(()=>{h.set(E)},[h,E]),U("aside",{"data-testid":"daily-report-side-pane","data-report-id":p?.reportHubId,"data-displayed-report-id":b?.reportHubId,"aria-busy":E?void 0:!0,className:Jy,children:b===null?U("div",{className:R("flex h-full flex-1 items-center justify-center text-center",Gt),children:U("p",{className:yn,children:o.selectPrompt})}):U(Fo,{item:b,headingId:a,authorId:i,activeTab:s,onActiveTabChange:d,autoMarkRead:t,isActive:!0,dwell:h,userId:r,onReportDeleted:n},b.reportHubId)})},Fo=Uy(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:d,onReportDeleted:m})=>{let{draftLabelName:c,labels:p,sourceTypeConfigs:b,headingLevel:S}=B(),{report:f,error:E,isLoading:h}=Ft(e.reportHubId,e.businessDate),l=Tt(),g=to(e.reportHubId),T=g==="editing"||g==="automatic",C=rn(null),P=rn(null),O=rn(!1),W=rn(!1),M=!!(d&&f?.userId===d),V=f?.labels.some(Q=>Q.name===c);ii(()=>{f!==null&&(M&&V&&g==="display"?l.open(e.reportHubId,rr(f),!0):!V&&g==="automatic"&&l.discard(e.reportHubId))},[f,M,V,g,l,e.reportHubId]);let G=xc(()=>f===null?void 0:()=>{O.current=!0,l.open(e.reportHubId,rr(f),!1)},[l,e.reportHubId,f]),H=zt(()=>{W.current=!0,l.dismiss(e.reportHubId)},[l,e.reportHubId]),J=zt(()=>{W.current=!0,l.discard(e.reportHubId)},[l,e.reportHubId]),F=zt(Q=>{Q===null||!O.current||(O.current=!1,Q.focus())},[]),se=zt(Q=>{Q===null||!W.current||(W.current=!1,Q.focus())},[]),q=zt(()=>{P.current?.focus({preventScroll:!0})},[]);si(()=>{T||!W.current||(W.current=!1,P.current?.focus())},[T]);let K=zt(()=>{setTimeout(()=>{let Q=C.current;Q!==null&&Q.scrollTo({top:Q.scrollHeight,behavior:ks(Q)})},100)},[]),ye=ie(e.businessDate),re=f===null?null:le(f.employeeName),_e=h||!f,Me=f===null?void 0:kt(f.sourceType,b);return nt(nR,{children:[nt("div",{className:jy,children:[U("dl",{className:"m-0",children:U(de,{label:p.businessDate,classNames:zy,children:U(He,{ref:P,level:S,id:t,tabIndex:-1,className:Gy,children:ye})})}),nt("div",{className:"flex min-h-4 items-center gap-1 text-slate-500 text-xs dark:text-slate-300",children:[U("dl",{className:"m-0",children:U(de,{label:p.author,classNames:$y,valueId:r,children:_e?U("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):re})}),Me?U(or,{config:Me,className:"ml-2"}):null]})]}),nt(Qr,{value:n,onValueChange:Q=>o(Zy(Q)),className:"flex min-h-0 flex-1 flex-col",children:[U("div",{className:Xo,children:U(en,{"aria-label":p.reportTabList,className:R(wi,"grid grid-cols-2 gap-1"),children:Xy.map(Q=>U(tn,{value:Q,children:Q==="article"?p.tabArticle:p.tabRelations},Q))})}),U(dr,{ref:C,value:"article",className:Ic,children:T?f?U(ho,{report:f,onCancel:H,onPublishSuccess:J,titleInputRef:F}):U("p",{className:Gt,children:p.loading}):U(rR,{report:f,sourceConfig:Me,isLoading:h,error:E,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:K,userId:d,onEdit:M?G:void 0,editButtonRef:se,onReportDeleted:m,onCommentSectionRemoved:q})}),U(dr,{value:"relations",className:Ic,children:U("p",{className:Gt,children:p.relationsEmpty})})]})]})});Fo.displayName="DailyReportSidePaneContent";var cr=({className:e="w-32"})=>U("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),rR=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:i=!0,dwell:s,onCommentAdded:d,userId:m,onEdit:c,editButtonRef:p,onReportDeleted:b,onCommentSectionRemoved:S})=>{let{toggleStar:f,toggleRead:E,deleteReport:h}=Te(),{labels:l,headingLevel:g}=B(),T=xt[g],{handleToggleRead:C}=qy(e,r,a,i,s,E),P=e!==null&&In(e.sourceType,t),O=xc(()=>e?.content?e.content.replace(/<br\s*\/?\s*>/gi,`
3
+ `,a)){let s=n.slice(a,i);o.push(t.length===0?s:[...t,s].join("")),t=[],a=i+1}return a<n.length&&t.push(n.slice(a)),o};return{push:n=>r(e.decode(n,{stream:!0})),end:()=>{let n=r(e.decode()),o=t.join("");return t=[],o===""?n:[...n,o]}}};var rf=50,nf=32,Ul=0,of=()=>(Ul+=1,Ul),af=1e3,sf=3e4,lf=6,df=3e4,go=Symbol("read-stall"),cf="/daily_report/api",jr=class{constructor(t={}){this.itemMap=new Map;this.listeners=new Set;this.state={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null};this.streamAnchorRevision=0;this.lastCursor=null;this.lastSnapshot=null;this.consecutiveFailures=0;this.started=!1;this.disposed=!1;this.loopGeneration=0;this.activeAbortController=null;this.activeSeenIds=null;this.externalRemovalTombstones=new Set;this.pendingForceRefresh=!1;this.wakeRetryWait=null;this.handleOnline=()=>this.wakeRetryWait?.();this.publishCoalesceTimer=null;this.lastItemsPublishAt=Number.NEGATIVE_INFINITY;this.pendingItemsChange=zr();this.apiBasePath=t.apiBasePath??cf,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??df,this.publishCoalesceMs=t.publishCoalesceMs??rf,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 u=i.get(l.reportHubId);s.push(u===void 0?l:u)}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>=lf){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(af*2**(this.consecutiveFailures-1),sf))}}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(go),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===go)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=Vl(),l=!1,u=!1;for(;;){let d=await this.readWithStallGuard(i);if(d===go)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 g of p){if(g.trim()==="")continue;let y;try{y=JSON.parse(g)}catch{this.warn("[DailyReportIdsStream] skipped malformed line");continue}let T=Ms(y);if(T==="unknown"){this.warn("[DailyReportIdsStream] skipped line of unknown kind");continue}if(T==="error"){l=!0;continue}let v=y;m=this.absorbChunkLine(v)||m,typeof v.total=="number"&&Number.isFinite(v.total)&&v.total!==this.state.totalCount&&this.publish({totalCount:v.total}),v.nextCursor&&(v.nextCursor.businessDate===null||zn(v.nextCursor.businessDate))&&(this.lastCursor=v.nextCursor),v.isLast&&(u=!0)}if(m&&(this.consecutiveFailures=0,this.schedulePublishItems()),d.done)break}return l?{kind:"retryable",error:new Error("Stream interrupted by server error")}:u?{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(go),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"&&Gn(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=of(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange=zr(),{loadedCount:this.itemMap.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-nf),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=Fl({cursor:this.lastCursor,snapshot:this.lastCursor===null?null:this.lastSnapshot,forceRefresh:t}).toString();return`${this.apiBasePath}/${Kn}${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 ff=6e4,te=null,Wl=!1,Gr=new Set,Eo={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},Za=()=>{for(let e of Gr)e()},Ja=()=>{te&&(te.unsubscribe(),te.client.dispose(),te=null,Za())},qr=e=>{if(typeof window>"u")return;let t=e.apiBasePath??Fr.apiBasePath;if(te&&(te.userKey!==e.userKey||te.apiBasePath!==t)&&(te.userKey!==e.userKey&&Ur(),Ja()),!te){let r=new jr({apiBasePath:t});te={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(Za)},yf(),r.start(),Za();return}Io(te)},Io=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>ff&&e.client.refresh()},yf=()=>{if(Wl||typeof document>"u"||typeof window>"u")return;Wl=!0;let e=()=>{te&&Io(te)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},ei=e=>{if(!(typeof window>"u")){if(!te){qr(e);return}if(te.userKey!==e.userKey){Ur(),Ja(),qr(e);return}Io(te)}},ti=()=>{typeof window>"u"||!te||Io(te)},Xr=e=>{te?.client.applyExternalUpsert(e)},To=e=>{te?.client.applyExternalRemoval(e)},$l=e=>te===null?!1:te.client.has(e),bf=()=>te===null?[]:te.client.readItems(),ri=()=>te===null?0:te.client.getState().itemsRevision,xo=()=>{te?.client.retry()},Do=()=>{te?.client.resync()},Qr=(e={})=>{te?.client.refresh(e)},zl=()=>te?.userKey,Zr=e=>(Gr.add(e),()=>Gr.delete(e)),vo=()=>te?.client.getState()??Eo,Rf=()=>Eo,hf=()=>Yr(Zr,vo,Rf),Co=(e,t)=>{let r=Eo,n=e(Eo);return()=>{let o=vo();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},jl=Co(({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),Sf=jl(),Sr=()=>Yr(Zr,jl,()=>Sf),Gl=Co(({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),gf=Gl(),ql=()=>Yr(Zr,Gl,()=>gf),Yl=Co(({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),Ef=Yl(),Xl=()=>Yr(Zr,Yl,()=>Ef),Ql=Co(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),vf=Ql(),Zl=()=>Yr(Zr,Ql,()=>vf),Jl=e=>e.phase==="complete"&&!e.isRevalidating,Kl=e=>`${e.itemsRevision}:${Jl(e)}`,ed=()=>{let[,e]=mf(0),t=vo(),r=Kl(t);return pf(()=>{let n=r,o=()=>{let a=Kl(vo());a!==n&&(n=a,uf(()=>e(i=>i+1)))};return Gr.add(o),o(),()=>{Gr.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readItems:bf,settled:Jl(t)}};import.meta.hot?.dispose(Ja);var Zt=mr(1,"daily-report-sse-connection"),Df=Object.freeze({kind:"resyncing"}),td={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},Cf=1,rd=Aa*3,Af=rd+Aa,oi=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=B(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=Sr(),[l,u]=xf({generation:0,minAnchorRevision:1,anchored:!1}),d=l.generation>0&&!l.anchored,p=d&&a==="complete"&&!i?s:null,m=_o(0),g=_o(null),y=_o(n);y.current=n;let T=_o(0);T.current=o===null?0:o.revision,ni(()=>{l.anchored||o===null||o.revision<l.minAnchorRevision||(g.current=o.lastEventId,m.current=0,u({...l,anchored:!0}))},[l,o]),ni(()=>{if(!e||p===null)return;let{initialDelayMs:c,maxDelayMs:h,multiplier:E}=td,S=Ao.random()*Math.min(h,c*E**m.current);Zt.warn(`SSE resync: the ids rescan gave up (${p.message}); rescanning in ${Math.round(S)} ms`);let x=Ao.setTimer(()=>{m.current+=1,Do()},S);return()=>Ao.clearTimer(x)},[e,p]);let{status:v}=Tf(e&&l.anchored?`${r}#${l.generation}`:null,{resolveUrl:({lastEventId:c})=>c===null?r:`${r}?${Bs}=${encodeURIComponent(c)}`,initialLastEventId:g.current,withCredentials:!1,createEventSource:If,runtime:Ao,backoff:td,healthyOpenMs:Af,nativeRetryLimit:Cf,giveUpAfterFailures:"never",terminalEvents:Fs,heartbeat:{staleAfterMs:rd,onHeartbeat:null},events:{message:c=>{c.lastEventId!==""&&(Gn(c.lastEventId)?g.current=c.lastEventId:Zt.warn("SSE event carried a malformed id; keeping the previous cursor:",c.lastEventId));try{let h=JSON.parse(c.data),E=Vs.safeParse(h);if(!E.success){Zt.error("SSE Validation Error:",E.error.flatten(),"raw message:",h);return}if(E.data.type==="connected"){Zt.info("SSE Subscribe Ready");return}t(E.data)}catch(h){Zt.error("SSE Parse Error",h)}}}});return ni(()=>{if(v.kind==="faulted"){Zt.error("SSE connection faulted:",v.error);return}if(v.kind==="terminated")switch(v.terminalEvent){case"auth-required":y.current();return;case"forbidden":Zt.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let c=T.current+1;u(h=>({generation:h.generation+1,minAnchorRevision:c,anchored:!1})),Do();return}}},[v]),e&&d?Df:v};import{createContext as _f,useCallback as Lf,useContext as wf,useSyncExternalStore as nd}from"react";var od=()=>{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)}}},ai=_f(null),Mt=()=>{let e=wf(ai);if(e===null)throw new Error("[daily-report] the draft store is read outside a DailyReportActionProvider");return e},ad=(e,t)=>Lf(r=>e.subscribe(t,r),[e,t]),Lo=e=>{let t=Mt(),r=()=>t.modeOf(e);return nd(ad(t,e),r,r)},id=e=>{let t=Mt(),r=()=>t.inputOf(e),n=nd(ad(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 Bf}from"@aiquants/swipe-overlay";import{createContext as Vf,Fragment as Uf,useCallback as No,useId as si,useLayoutEffect as yd,useMemo as Wf,useRef as tr,useState as pd}from"react";import{createPortal as md}from"react-dom";var Nf=Object.freeze({visibilityProperty:!0,opacityProperty:!0}),sd="data-daily-report-view-tabs",ld={[sd]:""},dd="data-daily-report-status-panel",cd={[dd]:""},Of=e=>{for(let t of e.getClientRects())if(t.width>0&&t.height>0)return!0;return!1},Mf=e=>e.isConnected&&Wr(e)&&Of(e)&&e.checkVisibility(Nf),ut=e=>{for(let t of e)if(!(t===null||!Mf(t))&&(t.focus({preventScroll:!0}),Te(t)===t))return t;return null},ii=e=>e.querySelector(`[${sd}] [role="tab"][aria-selected="true"]`),wo=e=>[bo(e),ii(e),e.querySelector(`[${dd}]`)];var Jt=e=>e.isComposing||e.keyCode===229,gr=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 Pf={kind:"hold"},kf=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),Hf=(e,t)=>{let r=e.getAttribute("role");return r!==null&&kf.has(r)&&e!==t&&e.contains(t)},St=e=>e.key==="Escape"&&!e.defaultPrevented&&!Jt(e),ud=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||Jt(e))return null;let r=e.target;if(!(Re(r)&&t.contains(r)))return null;let n=Tl(t);if(n.length===0)return Pf;let{before:o,within:a,after:i}=po(t,r);return e.shiftKey?o.some(s=>!Hf(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};import{useContext as Ff}from"react";var er=(e,t,r)=>{let n=Ff(e);if(n===null)throw new Error(`[daily-report] ${t} must be used within a ${r}`);return n};import{jsx as pt,jsxs as Rd}from"react/jsx-runtime";var Kf=I("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",Lt),$f="flex shrink-0 justify-center p-[8px]",zf=I("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",cs),jf="data-daily-report-notice-alert",Gf={[jf]:""},bd=Vf(null),Oo=()=>er(bd,"useDailyReportErrorSurface","DailyReportErrorProvider"),fd=({notice:e})=>pt("div",{role:"alert",...Gf,className:"sr-only",children:e===null?null:pt("span",{children:e.info.message},e.occurrence)}),qf=({notice:e,closeLabel:t,repeatedLabel:r,onDismiss:n})=>{let o=tr(null),a=tr(null),i=tr(null),s=Bf(),l=si(),u=si(),d=si(),p=e.repeat>1?`${u} ${d}`:u,m=No(()=>{let T=o.current;if(T?.contains(T.ownerDocument.activeElement)){let[v,...c]=wo(T.ownerDocument);ut([a.current,v,T.closest("dialog"),...c])}n()},[n]),g=T=>{if(i.current!==null)return;let v=T.relatedTarget;a.current=Re(v)&&!T.currentTarget.contains(v)?v:null,i.current=s({id:l,onEscape:c=>St(c)?(m(),!0):!1})},y=T=>{Re(T.relatedTarget)&&T.currentTarget.contains(T.relatedTarget)||(i.current?.(),i.current=null,a.current=null)};return yd(()=>()=>{i.current?.(),i.current=null},[]),Rd("div",{ref:o,role:"group","aria-labelledby":p,"data-testid":"daily-report-error-banner",className:Kf,onFocus:g,onBlur:y,children:[pt("span",{id:u,className:"min-w-0 font-medium",children:pt(Uf,{children:e.info.message},e.occurrence)}),e.repeat>1&&pt("span",{id:d,className:"shrink-0 font-normal tabular-nums",children:r(e.repeat)}),pt("button",{type:"button","aria-label":t,"aria-describedby":p,onClick:m,className:zf,children:"\u2715"})]})},li=({children:e})=>{let{onError:t,labels:r}=B(),[n,o]=pd(null),[a,i]=pd([]),s=tr([]),l=tr(0),u=tr(0),d=tr(t);yd(()=>{d.current=t});let p=No(h=>{let E=d.current;if(E){E(h);return}u.current+=1;let S=u.current,x=s.current,N=x.length===0?null:x[x.length-1].registration;o(O=>({info:h,occurrence:S,repeat:O!==null&&O.info.message===h.message?O.repeat+1:1,announcedIn:N}))},[]),m=No(h=>{l.current+=1;let E={element:h,registration:l.current};return s.current=[...s.current,E],i(s.current),()=>{s.current=s.current.filter(S=>S!==E),i(s.current)}},[]),g=No(()=>o(null),[]),y=Wf(()=>({notifyError:p,registerNoticeHost:m}),[p,m]),T=a.at(-1),v=n===null?null:pt(qf,{notice:n,closeLabel:r.close,repeatedLabel:r.noticeRepeated,onDismiss:g}),c=h=>n!==null&&n.announcedIn===h?n:null;return Rd(bd.Provider,{value:y,children:[e,pt(fd,{notice:c(null)}),a.map(h=>md(pt(fd,{notice:c(h.registration)}),h.element,String(h.registration))),v!==null&&T!==void 0&&md(v,T.element),v!==null&&T===void 0&&pt("div",{"data-daily-report-notice-slot":"",className:$f,children:v})]})};import{useState as Yf}from"react";var Xf={items:[],held:new Map,revision:null,settled:!1},Er=(e,t)=>{let r=0,n=e.length;for(;r<n;){let o=r+n>>1;zt(e[o],t)<0?r=o+1:n=o}return r<e.length&&e[r].reportHubId===t.reportHubId?r:-1},hd=(e,t,r)=>{let n=r,o=e.length;for(;n<o;){let a=n+o>>1;zt(e[a],t)<=0?n=a+1:o=a}return n},Qf=(e,t)=>e.businessDate===t.businessDate,Jr={removals:[],replacements:[],additions:[],insertions:[]},Zf=(e,t)=>{if(t.length===0)return[];if(e.length===0||zt(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=hd(e,o,n),r.push(n);return r},Mo=(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((g,y)=>g-y),a=[...t.replacements].sort((g,y)=>g.index-y.index),i=e.length,s=new Array(i-o.length+r.length),l=0,u=0,d=0,p=0,m=0;for(;;){let g=Math.min(d<o.length?o[d]:i,p<a.length?a[p].index:i,m<r.length?n[m]:i);for(;u<g;u++)s[l++]=e[u];for(;m<r.length&&n[m]===g;m++)s[l++]=r[m];if(g===i)break;d<o.length&&o[d]===g?(d+=1,u=g+1):p<a.length&&a[p].index===g&&(s[l++]=a[p].item,p+=1,u=g+1)}return s},Sd=(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 l=e.held.get(s.reportHubId),u=l===void 0?Number.NEGATIVE_INFINITY:l.since;r&&s.reportHubId>0&&t.itemsRevision>u||(i.set(s.reportHubId,{item:s,since:u}),a.push(s))}return xa(a)||a.sort(zt),{items:a,held:i,revision:t.itemsRevision,settled:r}},Jf=(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?[]:Bl(t.itemsChanges,o);if(o===null||a===null)return Sd(e,t,r,n);let i=zr();for(let E of a)i.fold(E);let{appended:s,replaced:l,removed:u}=i.build(o,t.itemsRevision),d=e.items,p=null,m=()=>(p===null&&(p=new Map(e.held)),p),g=[],y=[],T=[];for(let E of u){if(e.held.has(E.reportHubId))continue;let S=Er(d,E);S!==-1&&(r||n.has(E.reportHubId)?g.push(S):m().set(E.reportHubId,{item:E,since:Number.NEGATIVE_INFINITY}))}let v=(E,S)=>{let x=E.reportHubId,N=e.held.get(x);N!==void 0&&m().delete(x);let O=N===void 0?S:N.item,C=O===void 0?-1:Er(d,O);if(n.has(x)){C!==-1&&g.push(C);return}if(C!==-1&&Qf(d[C],E)){d[C].sourceType!==E.sourceType&&y.push({index:C,item:E});return}C!==-1&&g.push(C),T.push(E)};for(let{previous:E,next:S}of l)v(S,E);for(let E of s)v(E,void 0);let c=t.itemsRevision;if(r)for(let[E,S]of p===null?e.held:p){if(E<=0||c<=S.since)continue;let x=Er(d,S.item);x!==-1&&g.push(x),m().delete(E)}return xa(T)||T.sort(zt),{items:Mo(d,{removals:g,replacements:y,additions:T,insertions:Zf(d,T)}),held:p===null?e.held:p,revision:c,settled:r}},gd=(e,t,r)=>{let[n,o]=Yf(()=>Sd(Xf,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>Jf(a,e,t,r)),[n,o]},ey=(e,t)=>{for(let r=0;r<e.length;r++)if(e[r].reportHubId===t)return!0;return!1},Po=(e,t,r)=>{if(e.held.has(t.reportHubId)||Er(e.items,t)!==-1||ey(e.items,t.reportHubId))return e;let n=Mo(e.items,{...Jr,additions:[t],insertions:[hd(e.items,t,0)]}),o=new Map(e.held);return o.set(t.reportHubId,{item:t,since:r}),{...e,items:n,held:o}},en=(e,t)=>{let r=e.held.get(t);if(r===void 0)return e;let n=Er(e.items,r.item),o=new Map(e.held);return o.delete(t),{...e,items:Mo(e.items,n===-1?Jr:{...Jr,removals:[n]}),held:o}},Ed=(e,t)=>{let r=e.held.get(t.reportHubId),n=Er(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:Mo(e.items,n===-1?Jr:{...Jr,removals:[n]}),held:o}},vd=e=>({...e,revision:null});var di=(e,t,r)=>{if(!Number.isFinite(e)||e<=0)throw ke("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 ci=0,ui=e=>{let t=Nt("drawTemporaryId: nowMs",e,1);return ci=Math.min(-t,ci-1),ci};import{jsx as mi,jsxs as my}from"react/jsx-runtime";var gt=mr(1,"daily-report-action-context"),ry=3e4,ny=3e4,oy=1e3,bi=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},ay=e=>{let t=di(ry,e,()=>{});return{add:r=>t.add(r,!0),has:r=>t.get(r)===!0}},iy=e=>di(ny,e,(t,r)=>{r.unsubscribe(),gt.warn(`[SSE Queue] Expired: reportHubId=${t}, dropped=${r.messages.length} messages`)}),GI=Object.freeze(["delete","deleteComment"]),sy=e=>e.intent==="create"?null:e.reportHubId,ly=(e,t)=>{let r=e;if(r.intent==="clearCache"||r.clientTempId!==t.clientTempId)return!1;let n=sy(t);return n===null||r.reportHubId===n},Ho=globalThis.__DailyReportActionsContext??Td(null);globalThis.__DailyReportActionsContext=Ho;var Fo=globalThis.__DailyReportActionStateContext??Td(null);globalThis.__DailyReportActionStateContext=Fo;var ko="DailyReportActionProvider",He=()=>er(Ho,"useDailyReportActions",ko),Bo=()=>er(Fo,"useDailyReportActionState",ko),dy=()=>{let e=er(Ho,"useDailyReportActionContext",ko),t=er(Fo,"useDailyReportActionContext",ko);return yi(()=>({...e,...t}),[e,t])},rr=(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},cy=()=>({pendingAddCommentIds:{current:new Map},pendingDeleteCommentIds:{current:new Map},pendingStarUpdates:{current:new Map},pendingReadUpdates:{current:new Map},resolvedIdMap:{current:new Map}}),uy=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)}),py=Object.freeze({kind:"idle"}),xd=ty(({isSseEnabled:e,onMessage:t,onStatus:r})=>{let n=oi({isSseEnabled:e,onMessage:t});return fi(()=>{r(n)},[n,r]),null});xd.displayName="DailyReportSseConnectionHost";var Ri=({children:e,user:t,userId:r})=>{let{apiBasePath:n,draftLabelName:o,labels:a}=B(),{notifyError:i}=Oo(),[s]=mt(cy),{pendingAddCommentIds:l,pendingDeleteCommentIds:u,pendingStarUpdates:d,pendingReadUpdates:p,resolvedIdMap:m}=s,[g,y]=mt(0),[T,v]=mt(0),[c,h]=mt(0),[E]=mt(od),[S,x]=mt(!1),[N,O]=mt(py),C=tn(!1),w=tn(new Map),V=tn(new Set),H=tn(new Set),[J]=mt(()=>ay(()=>performance.now())),[F]=mt(()=>iy(()=>performance.now())),oe=ed(),[le,X]=gd(oe,oe.settled,V.current),W=le.items,z=`${T}:${le.settled?le.revision:"-"}`,ne=()=>{v(b=>b+1)},ve=pi(b=>H.current.has(b),[]),q=pi(()=>zl()===(r??null),[r]),nt=async()=>{gt.info("[DailyReportActionProvider] Refetching data without page reload..."),Qr(),y(b=>b+1),$.listeners.forEach(b=>{b(-1)})},Ke=async()=>{gt.info("[DailyReportActionProvider] Clearing client & server/DB cache and refetching data without page reload..."),Ur(),V.current.clear(),H.current.clear(),h(b=>b+1),X(vd);try{sessionStorage.clear()}catch{}try{let b=await fetch(`${n}/${Ze.action}`,{method:"POST",body:Qa({intent:"clearCache"})});if(!b.ok){let D=await b.json().catch(()=>null);gt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",b.status,D)}}catch(b){gt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",b)}q()&&(Qr({forceRefresh:!0}),y(b=>b+1),$.listeners.forEach(b=>{b(-1)}))},ye=(b,D)=>{let R=F.get(b);if(R!==void 0){R.messages.push(D);return}let f;f={messages:[D],unsubscribe:fl(b,()=>{if(F.get(b)===f&&et(b,{ignoreExpiry:!0})){F.remove(b),f.unsubscribe(),gt.info(`[SSE Queue] Replaying ${f.messages.length} messages for reportHubId=${b}`);for(let P of f.messages)ee.current.handleSseMessage(P)}})},F.add(b,f)};fi(()=>()=>{for(let b of F.drain())b.unsubscribe()},[F]);let De=pi((b,D)=>{D!==void 0&&Xr({reportHubId:b,businessDate:D})},[]),Le=()=>{r&&(C.current=!0,x(b=>!b))};Id(()=>{if(!r)return;let b=setTimeout(()=>{C.current||x(!0)},Js);return()=>clearTimeout(b)},[r]);let ie=b=>{q()&&(V.current.add(b),H.current.add(b),h(D=>D+1),To(b),X(D=>en(D,b)),E.discard(b))};Id(()=>{if(le.settled)for(let b of V.current)$l(b)||V.current.delete(b)},[le.settled,le.revision]);let Ce=b=>{if(q()&&!J.has(b.clientTempId))switch(b.type!=="status-update"&&ne(),b.type){case"comment-add":{let{comment:D,reportHubId:R}=b,f=et(R,{ignoreExpiry:!0});if(f){if(f.postedComments.some(Z=>Z.id===D.id))return;let _=typeof r=="string"&&D.userId===r,P={...D,userName:D.userName||(_?rr(t,a.unknownUser):a.unknownUser),createdAt:D.createdAt||new Date().toISOString(),isMine:_},j={...f,postedComments:[...f.postedComments,P].sort((Z,me)=>new Date(Z.createdAt||0).getTime()-new Date(me.createdAt||0).getTime())};Yt(R,j),Wa(R),y(Z=>Z+1)}else ye(R,b);break}case"comment-delete":{let{commentId:D,reportHubId:R}=b,f=et(R,{ignoreExpiry:!0});if(f){let _={...f,postedComments:f.postedComments.filter(P=>P.id!==D)};Yt(R,_),Wa(R),y(P=>P+1)}else ye(R,b);break}case"status-update":{let{statusType:D,value:R,reportHubId:f}=b,_=et(f,{ignoreExpiry:!0});if(D==="star")if(d.current.get(f)===R&&d.current.delete(f),_){let P={..._,isStarred:R};Yt(f,P),y(j=>j+1)}else ye(f,b);else if(D==="read")if(p.current.get(f)===R&&p.current.delete(f),_){let P={..._,isRead:R};Yt(f,P),y(j=>j+1)}else ye(f,b);break}case"report-delete":{let{reportHubId:D}=b;V.current.add(D),H.current.add(D),h(f=>f+1),To(D),X(f=>en(f,D)),E.discard(D),F.remove(D)?.unsubscribe();let R=et(D,{ignoreExpiry:!0});R?.date&&(Ua(D,R.date),y(f=>f+1));break}case"report-create":case"report-update":case"report-publish":{let{report:D}=b;yl(D),(b.type==="report-create"||b.type==="report-publish")&&De(D.reportHubId,D.date),y(R=>R+1);break}}},se=async(b,D,R={})=>{let{intent:f}=b,{onGone:_}=D,{lockedReportHubId:P}=R,j=P===void 0?null:ul(P);D.onOptimistic?.(),J.add(b.clientTempId);let Z=()=>{if(!q())throw gt.warn(`[executeAction] ${f} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${f}`)};try{let me=await fetch(`${n}/${Ze.action}`,{method:"POST",body:Qa(b),headers:{Accept:"application/json"}});if(me.status===404&&_!==void 0)return Z(),_();if(!me.ok)throw new bi(f,me.status);let Ct=Hl(f,await me.json());if("mismatch"in Ct)throw new Error(`[daily-report] ${f} answered a body that is not its result (${Ct.mismatch})`);let{result:is}=Ct;if(!ly(is,b))throw new Error(`[daily-report] ${f} answered another request`);return Z(),D.onSuccess(is)}catch(me){throw gt.error(`${f} failed:`,me),q()&&(D.onFailure?.(),ee.current.notifyError({operation:f,message:a.operationFailed(f),cause:me})),me}finally{j?.()}},Ae=(b,D,R)=>({reportHubId:b,clientTempId:R,businessDate:typeof D=="string"?D:null,operationTimestamp:Date.now()}),K={toggleSse:Le,addComment:async(b,D,R)=>{let f=ui(Date.now()),_=se({...Ae(b,R,String(f)),intent:"addComment",content:D},{onOptimistic:()=>{l.current.has(b)||l.current.set(b,new Map),l.current.get(b)?.set(f,D),y(P=>P+1)},onSuccess:({newComment:P})=>{let j=P.id;m.current.set(f,j),l.current.get(b)?.delete(f),ne();let Z=et(b,{ignoreExpiry:!0});return Z&&!Z.postedComments.some(me=>me.id===j)&&tt(b,{postedComments:[...Z.postedComments,{...P,isMine:!0,userName:rr(t,a.unknownUser)}]}),j},onFailure:()=>{l.current.get(b)?.delete(f)}}).finally(()=>w.current.delete(f));w.current.set(f,_),await _},deleteComment:async(b,D,R)=>{u.current.has(b)||u.current.set(b,new Set),u.current.get(b)?.add(D),y(P=>P+1);let f=D;if(D<0){let P=m.current.get(D);if(P!==void 0)f=P;else{let j=w.current.get(D);if(!j)return;try{f=await j}catch{return}}}let _=()=>{let P=et(b,{ignoreExpiry:!0});P&&(tt(b,{postedComments:P.postedComments.filter(j=>j.id!==f)}),ml(f)),u.current.get(b)?.delete(D),ne()};await se({...Ae(b,R,crypto.randomUUID()),intent:"deleteComment",commentId:f},{onSuccess:_,onGone:_,onFailure:()=>{u.current.get(b)?.delete(D)}})},toggleStar:async(b,D,R)=>{await se({...Ae(b,R,crypto.randomUUID()),intent:"toggleStar",value:D},{onOptimistic:()=>{tt(b,{isStarred:D}),d.current.set(b,D),y(f=>f+1)},onSuccess:({updatedStatus:f})=>{et(b,{ignoreExpiry:!0})&&(tt(b,{isStarred:f.isStarred}),y(_=>_+1)),d.current.delete(b)},onFailure:()=>{tt(b,{isStarred:!D}),d.current.delete(b)}})},toggleRead:async(b,D,R)=>{await se({...Ae(b,R,crypto.randomUUID()),intent:"toggleRead",value:D},{onOptimistic:()=>{tt(b,{isRead:D}),p.current.set(b,D),y(f=>f+1)},onSuccess:({updatedStatus:f})=>{et(b,{ignoreExpiry:!0})&&(tt(b,{isRead:f.isRead}),y(_=>_+1)),p.current.delete(b)},onFailure:()=>{tt(b,{isRead:!D}),p.current.delete(b)}})},createReport:async b=>{let D=ui(Date.now()),R=new Date().toISOString(),f={reportHubId:D,date:b,createdAt:R,author:rr(t,a.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:rr(t,a.unknownUser),updatedBy:rr(t,a.unknownUser),updatedAt:R,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:[]};cl(f,Date.now()+3e5,!1),X(_=>Po(_,{reportHubId:D,businessDate:b},Number.NEGATIVE_INFINITY));try{let _=await se({intent:"create",clientTempId:String(D),businessDate:b,operationTimestamp:Date.now()},{onSuccess:Z=>Z.report}),P=_.reportHubId,j=ri();return Xr({reportHubId:P,businessDate:b}),pl(P,oy),Yt(P,_),y(Z=>Z+1),ne(),X(Z=>Po(en(Z,D),{reportHubId:P,businessDate:b},j)),P}catch(_){throw gt.error("[createReport] Failed",_),X(P=>en(P,D)),_}},updateReport:async(b,D,R)=>{await se({...Ae(b,R,crypto.randomUUID()),intent:"update",changes:{title:D.title,content:D.content}},{onSuccess:()=>{et(b,{ignoreExpiry:!0})&&(tt(b,{subject:D.title,content:D.content}),y(_=>_+1)),ne()}},{lockedReportHubId:b})},publishReport:async(b,D)=>{let R=et(b,{ignoreExpiry:!0});await se({...Ae(b,D,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{R&&(tt(b,{labels:R.labels.filter(f=>f.name!==o)}),y(f=>f+1))},onSuccess:({report:f})=>{f!==null&&(Yt(b,f),y(_=>_+1)),D!==void 0&&Xr({reportHubId:b,businessDate:D}),ne()},onFailure:()=>{R&&(tt(b,{labels:R.labels}),y(f=>f+1))}})},deleteReport:async(b,D)=>{let R=W.find(_=>_.reportHubId===b);V.current.add(b),H.current.add(b),h(_=>_+1),To(b),R!==void 0&&X(_=>Ed(_,R));let f=()=>{Ua(b,D),E.discard(b),ne()};try{await se({...Ae(b,D,crypto.randomUUID()),intent:"delete"},{onSuccess:f,onGone:f},{lockedReportHubId:b})}catch(_){if(!q())return;V.current.delete(b),H.current.delete(b),h(Z=>Z+1);let P=R===void 0?D:R.businessDate,j=ri();throw P!==void 0&&Xr({reportHubId:b,businessDate:P}),R&&X(Z=>Po(Z,R,j)),_}},removeStaleItem:ie,refetchData:nt,clearCacheAndRefetch:Ke,handleSseMessage:Ce,notifyError:i},ee=tn(K);fi(()=>{ee.current=K});let[pe]=mt(()=>uy(ee)),Me=yi(()=>({...s,...pe.functions,user:t}),[s,pe,t]),Ie=yi(()=>({version:g,items:W,isSseEnabled:S,sseStatus:N,searchInvalidation:z,isReportRemoved:ve,removedVersion:c}),[g,W,S,N,z,ve,c]);return mi(ai.Provider,{value:E,children:mi(Ho.Provider,{value:Me,children:my(Fo.Provider,{value:Ie,children:[mi(xd,{isSseEnabled:S,onMessage:pe.onSseMessage,onStatus:O}),e]})})})};import{jsx as yy}from"react/jsx-runtime";var fy={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},Pt=Object.freeze({2:3,3:4,4:5,5:6}),je=({level:e,...t})=>{let r=fy[e];return yy(r,{...t})};import{memo as Jd,useId as lb,useMemo as db,useRef as cb}from"react";var Dd=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var Si="tile",nn=Dd[Si],by=2,rn=16,Cd=5,Ad=nn.maxWidth/by,Ry=Cd*(Ad+rn)-rn,_d=e=>{let t=Math.min(Cd,1+Math.floor((e+rn)/(Ad+rn)));return Math.floor((Math.min(e,Ry)-(t-1)*rn)/t)},hi=`round(nearest, 100cqi * ${nn.maxHeight} / ${nn.maxWidth}, 1px)`,Ld=Object.freeze({aspectRatio:`${nn.maxWidth} / ${nn.maxHeight}`,height:hi,contain:"strict"}),hy="--aqdr-lattice-block",wd=Object.freeze({marginBlockEnd:`calc(round(up, ${hi}, var(${hy})) - ${hi})`});var Sy="download",gy="thumbnail",Ey="1",vr=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[Sy]:Ey})}`;case"thumbnail":return`${n}?${new URLSearchParams({[gy]:r.variant})}`}};import{createContext as vy,useContext as Iy}from"react";var on=vy(null),Ir=()=>Iy(on)===!1?-1:void 0,Nd=(e,t)=>{let{before:r,after:n}=po(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};import{createContext as Ay,useContext as _y,useLayoutEffect as Ly,useMemo as wy,useState as Ny}from"react";import{flushSync as Oy}from"react-dom";import{flushSync as Ty}from"react-dom";var gi=new WeakMap,Od=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,xy=e=>{e.frame=null;let t=[...e.observations.values()].filter(Od);t.length!==0&&Ty(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},Dy=(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=_d(o))}e.frame!==null||![...e.observations.values()].some(Od)||(e.frame=e.view.requestAnimationFrame(()=>xy(e)))},Cy=e=>{let t=gi.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=>Dy(n,o)),observations:new Map,frame:null};return gi.set(e,n),n},Md=(e,t)=>{let r=e.ownerDocument,n=Cy(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(),gi.delete(r)))}};import{jsx as sn,jsxs as Hd}from"react/jsx-runtime";var an="\u2026",My=an.codePointAt(0),Vo="data-attachment-file-name",Py=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,ky=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,Fd=Ay(null),Bd=e=>{let t=e.lastIndexOf(".");return t<=0||t===e.length-1?{stem:e,extension:""}:{stem:e.slice(0,t),extension:e.slice(t)}},Pd=(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("")},Hy=(e,t,r)=>{if(r(e)<=t)return e;let{stem:n,extension:o}=Bd(e.normalize("NFC")),a=t/2,i=r(o)<=a?o:`${Pd(o,an,a,r)}${an}`;return r(n+i)<=t?n+i:`${Pd(n,an+i,t,r)}${an}${i}`},kd=new WeakMap,Vd=e=>{let t=kd.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 kd.set(e,n),n},Fy=(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},Ud=e=>{let t=new Set;for(let r of e.matchAll(Py)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},By=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:Ud(t.fontFamily),measure:Fy(Vd(e.ownerDocument),r)}},Vy=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,Uy=e=>{let t=new Set([My]);for(let r of e.querySelectorAll(`[${Vo}]`)){let n=r.getAttribute(Vo);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},Wy=(e,t)=>{for(let r of e.split(",")){let n=ky.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},Ei=new WeakMap,Wd=e=>{let t=Ei.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return Ei.set(e,r),r},Kd=(e,t)=>{let r=By(e.container.querySelector(`[${Vo}]`));e.fitted={trackWidth:t,nameFont:r};let n=Wd(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=$y(n)),e.applyFit({width:t,measure:r.measure})},Ky=(e,t)=>{let r=t.map(o=>({families:Ud(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(u=>a.nameFont.families.has(u)));if(i.length===0)continue;let s=Uy(o.container);i.some(l=>Wy(l.unicodeRange,s))&&(Vd(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&Oy(()=>{for(let[o,a]of n)Kd(o,a)})},$y=e=>{let t=e.document.fonts,r=n=>{Ky(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},zy=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=Md(e,a=>Kd(r,a)),o=Wd(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),Ei.delete(o.document))}},$d=({containerRef:e,children:t})=>{let[r,n]=Ny(null);return Ly(()=>{let o=e.current;return zy(o,i=>{n(s=>Vy(s,i)?s:i)})},[e]),sn(Fd,{value:r,children:t})},ln=({fileName:e,className:t,testId:r})=>{let n=_y(Fd),o=wy(()=>n===null?null:Hy(e,n.width,n.measure),[e,n]),{stem:a,extension:i}=Bd(e);return Hd("span",{className:I("block min-w-0",t),title:e,"data-testid":r,[Vo]:e,children:[o===null?Hd("span",{"aria-hidden":"true",className:"flex min-w-0",children:[sn("span",{className:"truncate",children:a}),i!==""&&sn("span",{className:"max-w-1/2 shrink-0 truncate",children:i})]}):sn("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:o}),sn("span",{className:"sr-only",children:e})]})};import Xy from"lucide-react/dist/esm/icons/image-off.js";import{memo as Qy,useCallback as Ti,useEffect as Zy,useLayoutEffect as Jy,useRef as xi,useState as eb}from"react";var Uo=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),zd=Uo.queueWaitMs+Uo.readMs+Uo.renderMs+Uo.transferMarginMs;var jy=Object.freeze({kind:"loaded"}),jd=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",l=null,u=null,d=null,p=null,m=null,g=F=>(F!==null&&n.clearTimeout(F),null),y=()=>{p?.(),p=null},T=()=>{m?.(),m=null},v=F=>F===null||F.kind==="loaded"?0:F.kind==="failing"?F.failedAttempts:i.maxAttempts,c=F=>{s="cooling",d=n.setTimeout(w,F)},h=()=>{o.abortInFlight(),T();let F=v(r.get(t))+1;if(F>=i.maxAttempts){s="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:F,retryAt:n.now()+i.retryDelayMs}),o.reset(),c(i.retryDelayMs)},E=F=>{if(s==="loading"){if(u=g(u),!F){h();return}s="done",r.set(t,jy),T()}},S=()=>{u=null,E(!1)},x=()=>{s="loading",o.showActivity(!0),y(),u=n.setTimeout(S,i.loadTimeoutMs),o.grant()},N=()=>{l=null,s="queued",m=a.request(x)},O=()=>{l===null&&(l=n.setTimeout(N,i.settleMs))},C=F=>{if(o.showActivity(F),F){s==="watching"&&O();return}if(s==="queued"){T(),s="watching";return}l=g(l)},w=()=>{d=null,s="watching",o.showActivity(!1),p=n.observe(e,C)},V=()=>{let F=s==="loading";s="done",y(),l=g(l),u=g(u),d=g(d),o.showActivity(!1),F&&(o.abortInFlight(),m!==null&&o.reset()),T()},H=r.get(t);if(H?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:E,dispose:V};if(H?.kind==="exhausted"){if(n.now()-H.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:E,dispose:V};r.delete(t)}o.reset();let J=H?.kind==="failing"?H.retryAt-n.now():0;return J>0?c(J):w(),{settle:E,dispose:V}};var Gy=e=>{Nt("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())}}}},Gd=Gy(2);var qy=e=>{Nt("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)}}},vi=qy(1024);var Ii=new WeakMap,Yy=e=>{let t=Ii.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 Ii.set(e,a),a},qd=(e,t)=>{let r=e.ownerDocument,n=Yy(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(),Ii.delete(r)))}};import{jsx as dn,jsxs as sb}from"react/jsx-runtime";var tb={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},rb="data-thumbnail-active",nb="data-daily-report-attachment-preview",Xd={[nb]:""},ob=Object.freeze({settleMs:250,loadTimeoutMs:zd,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),Yd=e=>{let t=vi.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},ab=()=>({limiter:Gd,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:qd,tuning:ob}),ib=(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(rb,o)}}),Qd=Qy(({thumbnailUrl:e,unavailableLabel:t})=>{let r=xi(null),n=xi(null),o=xi(null),[a,i]=eb(()=>Yd(e));a.url!==e&&i(Yd(e)),Jy(()=>{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]),Zy(()=>{let d=r.current,p=jd(d,e,vi,ab(),ib(e,d,i,n));return o.current=p,()=>{o.current=null,p.dispose()}},[e]);let s=Ti(d=>{d!==null&&(n.current=d)},[]),l=Ti(()=>{i(d=>d.status==="granted"?{url:d.url,status:"loaded"}:d),o.current?.settle(!0)},[]),u=Ti(()=>{o.current?.settle(!1)},[]);return dn("span",{className:"block",children:dn("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":tb[a.status],style:Ld,className:"relative block w-full",children:dn("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"?sb("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 ${Un}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[dn(Xy,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):dn("img",{ref:s,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:l,onError:u,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 xe,jsxs as ft}from"react/jsx-runtime";var Zd=1024,Di=["B","KB","MB","GB"],ec="text-slate-500 text-sm line-through dark:text-slate-400",ub=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=Zd&&r<Di.length-1;)t/=Zd,r+=1;return r===0?`${t} ${Di[r]}`:`${t.toFixed(1)} ${Di[r]}`},tc=({attachment:e,labels:t,className:r})=>ft("span",{className:r,children:[ub(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),Ci=({href:e,children:t,...r})=>{let n=Ir();return xe("a",{href:e,...r,tabIndex:n,children:t})},rc=({downloadUrl:e,label:t,fileName:r})=>ft(Ci,{href:e,className:I("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," ",xe("span",{className:"sr-only",children:r})]}),pb=Jd(({attachment:e,apiBasePath:t,labels:r})=>{let n=xe(Qd,{thumbnailUrl:vr(t,e.id,{kind:"thumbnail",variant:Si}),unavailableLabel:r.attachmentThumbnailUnavailable}),o=e.state==="absent";return ft("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[o?ft("div",{className:"flex min-w-0 flex-col gap-2",children:[n,xe(ln,{fileName:e.fileName,className:ec,testId:"daily-report-attachment-name"})]}):ft(Ci,{href:vr(t,e.id,{kind:"inline"}),className:I("flex min-w-0 flex-col gap-2 rounded-lg",Q),"data-testid":"daily-report-attachment-link",...Xd,children:[n,xe(ln,{fileName:e.fileName,className:"text-blue-600 text-sm dark:text-blue-400 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover_&]:underline"})]}),ft("div",{className:"flex h-4 min-w-0 items-center gap-2 text-slate-500 text-xs tabular-nums dark:text-slate-400",style:wd,children:[xe(tc,{attachment:e,labels:r,className:"truncate"}),!o&&xe(rc,{downloadUrl:vr(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})]})}),mb=Jd(({attachment:e,apiBasePath:t,labels:r})=>{let n=e.state==="absent";return ft("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:[ft("div",{className:"flex min-w-0 flex-col",children:[n?xe(ln,{fileName:e.fileName,className:ec,testId:"daily-report-attachment-name"}):xe(Ci,{href:vr(t,e.id,{kind:"inline"}),className:I("flex min-w-0 rounded-sm",Q),"data-testid":"daily-report-attachment-link",children:xe(ln,{fileName:e.fileName,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),xe(tc,{attachment:e,labels:r,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!n&&xe(rc,{downloadUrl:vr(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})}),fb=({attachments:e,headingId:t,apiBasePath:r,labels:n})=>{let o=cb(null);return xe($d,{containerRef:o,children:xe("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:xe("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=>xe(pb,{attachment:a,apiBasePath:r,labels:n},a.id))})})})},Wo=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=B(),o=lb(),{tileAttachments:a,rowAttachments:i}=db(()=>({tileAttachments:e.filter(s=>s.hasThumbnail),rowAttachments:e.filter(s=>!s.hasThumbnail)}),[e]);return e.length===0?null:ft("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[xe(je,{level:Pt[n],id:o,className:I("m-0",$t),children:r.attachments}),ft("div",{className:"flex flex-col gap-4",children:[a.length>0&&xe(fb,{attachments:a,headingId:o,apiBasePath:t,labels:r}),i.length>0&&xe("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:i.map(s=>xe(mb,{attachment:s,apiBasePath:t,labels:r},s.id))})]})]})};import{useOverlayEscapeStack as _b}from"@aiquants/swipe-overlay";import{memo as cc,useCallback as jo,useEffect as ic,useId as Lb,useRef as uc,useState as wb}from"react";import{useCallback as ac,useMemo as yb,useRef as bb,useState as Rb}from"react";var nc=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw ke("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]},oc=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 Ai=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:i,deleteComment:s}=He(),{version:l}=Bo(),{labels:u}=B(),d=u.unknownUser,[p,m]=Rb(null),g=ac(c=>e&&s(e.reportHubId,c,e.date),[e,s]),y=ac(c=>e&&t?i(e.reportHubId,c,e.date):Promise.resolve(),[e,t,i]),T=bb([]);return{uiComments:yb(()=>{if(!e)return[];let c=nc(e.externalComments,e.postedComments,r,d),h=o.current.get(e.reportHubId);h?.size&&(c=c.filter(S=>!h.has(S.id)));let E=n.current.get(e.reportHubId);if(E?.size&&t){let S=new Set(c.map(N=>N.id)),x=rr(t,d);for(let[N,O]of E){if(h?.has(N)||S.has(N))continue;let C=a.current.get(N);C&&S.has(C)||c.some(w=>w.isMine&&w.content===O&&typeof w.id=="number"&&w.id>0)||c.push({id:N,authorName:x,content:O,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1})}}return JSON.stringify(c)===JSON.stringify(T.current)?T.current:(T.current=c,c)},[e,t,r,d,o,n,a,l]),handleAddComment:y,handleDeleteComment:g,pendingDeleteId:p,setPendingDeleteId:m,resolvedIdMap:a.current}};import{Fragment as hb,jsx as Sb}from"react/jsx-runtime";var we=({render:e})=>{let t=Ir();return Sb(hb,{children:e(t)})};import gb from"@heroicons/react/24/outline/TrashIcon.js";import{memo as Eb,useId as vb,useRef as Ib,useState as Tb}from"react";import{jsx as kt,jsxs as Ko}from"react/jsx-runtime";var _i="data-comment-id",$o="data-comment-delete-button",zo="data-comment-delete-slot",xb=I(Pe,ys),Db="relative flex h-5 items-center",Cb=I(Be,"motion-safe:fade-in motion-safe:zoom-in-95 absolute top-full right-0 z-20 mt-1 whitespace-nowrap bg-red-600 font-bold text-white text-xs shadow-lg hover:bg-red-700 active:bg-red-800 motion-safe:animate-in motion-safe:duration-200",Q),Ab=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,Li=Eb(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:l})=>{let[u,d]=Tb(!1),{labels:p}=B(),m=vb(),g=Ib(null),y=Ab(e.id,o,l),T=()=>{let c=g.current;c!==null&&s(c),a(null),d(!0),typeof e.id=="number"&&n?.(e.id)},v=c=>{if(!y)return;let h=c.relatedTarget;Re(h)&&c.currentTarget.contains(h)||a(null)};return Ko("li",{[_i]:e.id,"data-deleted":u?"true":void 0,className:I("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",u&&"hidden",y?"z-50":"z-0 hover:z-10"),children:[Ko("div",{className:"mb-1 flex items-center justify-between",children:[kt("div",{className:I("font-semibold text-xs",oc(e.color)),children:be(e.authorName)}),Ko("div",{className:"flex items-center gap-2",children:[e.createdAt&&kt("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:fe(e.createdAt)}),e.isMine&&!e.isLegacy&&Ko("div",{[zo]:e.id,className:Db,onBlur:v,children:[kt(we,{render:c=>kt("button",{ref:g,type:"button",tabIndex:c,className:xb,title:p.commentDelete,"aria-label":p.commentDelete,"aria-expanded":y,"aria-controls":y?m:void 0,[$o]:e.id,onClick:()=>i(e.id,y),children:kt(gb,{"aria-hidden":"true",className:y?_e.deletePending:_e.delete})})}),y&&kt(we,{render:c=>kt("button",{id:m,type:"button",tabIndex:c,"data-delete-confirmation":!0,className:Cb,onClick:T,children:p.commentDeleteConfirm})})]})]})]}),kt("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:e.content})]})});Li.displayName="DailyReportPostedComment";import{Fragment as Vb,jsx as Ge,jsxs as wi}from"react/jsx-runtime";var Nb="data-daily-report-comment-section",Ob="data-daily-report-comment-heading",Mb=I(yt,Q),pc=(e,t)=>e>0||t,Pb=I("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),kb=I("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",Q),sc=e=>e.querySelector(`[${$o}][aria-expanded="true"]`),Hb=(e,t,r)=>{let n=[...e.querySelectorAll(`[${$o}]`)].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(`[${_i}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return pc(i,r)?{kind:"heading"}:{kind:"report"}},Fb=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:l,onSectionRemoved:u})=>{let d=uc(null),p=_b(),m=Lb(),g=o!==null,y=jo(()=>{let c=d.current,h=c===null?null:sc(c),E=h===null?null:h.closest(`[${zo}]`),S=c===null?null:Te(c);a(null),h!==null&&E!==null&&S!==null&&E.contains(S)&&h.focus({preventScroll:!0})},[a]);ic(()=>{if(g)return p({id:m,onEscape:c=>St(c)?(y(),!0):!1})},[g,p,m,y]),ic(()=>{let c=d.current;if(!g||c===null)return;let h=c.ownerDocument,E=S=>{let x=sc(c)?.closest(`[${zo}]`);x!=null&&Re(S.target)&&x.contains(S.target)||a(null)};return h.addEventListener("pointerdown",E,!0),()=>h.removeEventListener("pointerdown",E,!0)},[g,a]);let T=jo((c,h)=>{h?y():a(c)},[y,a]),v=jo(c=>{let h=d.current;if(h===null)return;let E=Hb(h,c,s);if(E.kind==="report"){u();return}let S=E.kind==="trash"?E.button:l.current;if(S===null)throw new Error("[daily-report] the comment section's heading is not attached");S.focus({preventScroll:!0})},[s,l,u]);return e.length===0?null:Ge("ul",{ref:d,className:"space-y-2",children:e.map(c=>Ge(Li,{comment:c,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:T,onBeforeHide:v,resolvedIdMap:i},c.id))})},lc=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=B(),a=uc(null);return pc(r.comments.length,r.canComment)?wi("div",{[Nb]:"",className:I("flex flex-col gap-2",e),children:[Ge(je,{ref:a,level:Pt[o],tabIndex:-1,[Ob]:"",className:Mb,children:n.comments}),Ge(Fb,{...r,headingRef:a}),t]}):null},mc=cc(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:i,onDeleteComment:s,pendingDeleteId:l,onPendingDeleteIdChange:u,resolvedIdMap:d})=>{let p=t?Ge(Bb,{onAddComment:i}):null,m={comments:a,canComment:t,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:s,pendingDeleteId:l,onPendingDeleteIdChange:u,resolvedIdMap:d,onSectionRemoved:r,className:o};return n==="in-section"?Ge(lc,{...m,children:p}):wi(Vb,{children:[Ge(lc,{...m}),p&&Ge("div",{className:"mt-auto",children:p})]})});mc.displayName="ReportCommentsView";var cn=cc(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:i})=>{let{user:s}=He(),{uiComments:l,handleAddComment:u,handleDeleteComment:d,pendingDeleteId:p,setPendingDeleteId:m,resolvedIdMap:g}=Ai(e,s,t),y=jo(async T=>{await u(T),n?.()},[u,n]);return Ge(mc,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:i,comments:l,onAddComment:y,onDeleteComment:d,pendingDeleteId:p,onPendingDeleteIdChange:m,resolvedIdMap:g})});cn.displayName="ReportComments";var dc="content",Bb=({onAddComment:e})=>{let[t,r]=wb(!1),{labels:n}=B();return wi("form",{className:"flex gap-2",onSubmit:async a=>{a.preventDefault();let i=a.currentTarget,s=i.elements.namedItem(dc);if(!(s instanceof Ve(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:[Ge(we,{render:a=>Ge("input",{type:"text",name:dc,tabIndex:a,placeholder:n.commentPlaceholder,className:Pb,autoComplete:"off"})}),Ge(we,{render:a=>Ge("button",{type:"submit",tabIndex:a,className:kb,disabled:t,children:n.commentSend})})]})};import{useState as qb}from"react";import{Slot as Ub}from"@radix-ui/react-slot";import{cva as Wb}from"class-variance-authority";import*as fc from"react";import{jsx as $b}from"react/jsx-runtime";var Kb=Wb(`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"}}),Et=fc.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>$b(n?Ub:"button",{className:I(Kb({variant:t,size:r,className:e})),ref:a,...o}));Et.displayName="Button";import{jsx as zb}from"react/jsx-runtime";function yc({className:e,type:t,...r}){return zb("input",{type:t,"data-slot":"input",className:I(`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 bc from"@radix-ui/react-label";import{jsx as jb}from"react/jsx-runtime";function un({className:e,...t}){return jb(bc.Root,{"data-slot":"label",className:I("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 Gb}from"react/jsx-runtime";function Rc({className:e,...t}){return Gb("textarea",{"data-slot":"textarea",className:I(`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 rt,jsxs as Go}from"react/jsx-runtime";var Tr=e=>({title:e.subject??"",content:e.content??""}),Yb=e=>{e.preventDefault()},qo=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=He(),{labels:i}=B(),s=Mt(),{title:l,content:u}=id(e.reportHubId),[d,p]=qb(!1),m=async()=>{p(!0);try{await o(e.reportHubId,{title:l,content:u},e.date)}catch{}finally{p(!1)}},g=async()=>{p(!0);try{await o(e.reportHubId,{title:l,content:u},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{p(!1)}},y=`report-title-${e.reportHubId}`,T=`report-content-${e.reportHubId}`;return Go("form",{className:"space-y-4 p-1",onSubmit:Yb,children:[Go("div",{className:"space-y-2",children:[rt(un,{htmlFor:y,children:i.formTitle}),rt(we,{render:v=>rt(yc,{ref:n,id:y,value:l,onChange:c=>s.setInput(e.reportHubId,{title:c.target.value}),placeholder:i.formTitlePlaceholder,disabled:d,tabIndex:v})})]}),Go("div",{className:"space-y-2",children:[rt(un,{htmlFor:T,children:i.formContent}),rt(we,{render:v=>rt(Rc,{id:T,value:u,onChange:c=>s.setInput(e.reportHubId,{content:c.target.value}),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:d,tabIndex:v})})]}),Go("div",{className:"flex justify-end gap-2",children:[t&&rt(we,{render:v=>rt(Et,{type:"button",variant:"outline",onClick:t,disabled:d,tabIndex:v,children:i.formCancel})}),rt(we,{render:v=>rt(Et,{type:"button",variant:"secondary",onClick:m,disabled:d,tabIndex:v,children:i.formSave})}),rt(we,{render:v=>rt(Et,{type:"button",onClick:g,disabled:d,tabIndex:v,children:i.formPublish})})]})]})};import aR from"lucide-react/dist/esm/icons/check.js";import iR from"lucide-react/dist/esm/icons/pencil.js";import sR from"lucide-react/dist/esm/icons/trash-2.js";import{jsx as hc}from"react/jsx-runtime";var Xo=24,Sc=2,Xb=20,Yo=5,Qb=3,Zb=()=>{let e=Math.cos(2*Math.PI/Yo)/Math.cos(Math.PI/Yo),t=Array.from({length:2*Yo},(m,g)=>{let y=-Math.PI/2+g*Math.PI/Yo,T=g%2===0?1:e;return{x:T*Math.cos(y),y:T*Math.sin(y)}}),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=(Xb-Sc)/(a-o),u=Xo/2-l*(o+a)/2,d=Xo/2-l*(i+s)/2,p=m=>String(Number(m.toFixed(Qb)));return t.map(m=>`${p(u+l*m.x)},${p(d+l*m.y)}`).join(" ")},Jb=Zb(),xr=({filled:e})=>hc("svg",{viewBox:`0 0 ${Xo} ${Xo}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:Sc,strokeLinejoin:"round",className:e?_e.starOn:_e.starOff,children:hc("polygon",{points:Jb})});import{Fragment as eR,jsx as Qo,jsxs as tR}from"react/jsx-runtime";var Dr=({config:e,id:t,className:r})=>Qo("span",{id:t,className:I(hs,e.badgeClassName,r),children:e.name===void 0?e.label:tR(eR,{children:[Qo("span",{"aria-hidden":"true",children:Qo("abbr",{title:e.name,children:e.label})}),Qo("span",{className:"sr-only",children:e.name})]})});import{jsx as gc}from"react/jsx-runtime";var Zo=24,rR=6,Cr=({className:e})=>gc("svg",{viewBox:`0 0 ${Zo} ${Zo}`,"aria-hidden":"true",className:I(_e.read,e),children:gc("circle",{cx:Zo/2,cy:Zo/2,r:rR,fill:"currentColor"})});import{jsx as oR}from"react/jsx-runtime";var nR=/^(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}):\d{2})?$/,nr=({text:e})=>{let t=nR.exec(e);if(t===null)return e;let[,r,n]=t;return oR("time",{dateTime:e,children:n===void 0?r:`${r} ${n}`})};import{jsx as qe,jsxs as vc}from"react/jsx-runtime";var he=({label:e,classNames:t,valueId:r,children:n})=>vc("div",{className:t.field,children:[qe("dt",{className:t.label,children:e}),qe("dd",{id:r,className:I("m-0",t.value),children:n})]}),Ht={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"},Ec=({report:e,visitTimeDisplay:t,labels:r})=>{let n=e.category?.trim(),o=e.creationCategory?.trim();return vc("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:[qe(he,{label:r.author,classNames:Ht,children:be(e.author)}),qe(he,{label:r.createdAt,classNames:Ht,children:qe(nr,{text:fe(e.createdAt)})}),qe(he,{label:r.updatedBy,classNames:Ht,children:be(e.updatedBy)}),qe(he,{label:r.updatedAt,classNames:Ht,children:qe(nr,{text:fe(e.updatedAt)})}),qe(he,{label:r.businessDate,classNames:Ht,children:qe(nr,{text:fe(e.date)})}),t!==null&&qe(he,{label:r.visitTime,classNames:Ht,children:t}),n&&qe(he,{label:r.category,classNames:Ht,children:n}),o&&qe(he,{label:r.creationCategory,classNames:Ht,children:o})]})};import{jsx as ue,jsxs as Tc}from"react/jsx-runtime";var Jo={field:I(Be,"gap-1 whitespace-nowrap bg-slate-100 text-slate-800 dark:bg-slate-800 dark:text-slate-100"),label:"text-slate-600 text-xs uppercase tracking-wide dark:text-slate-400",value:""},lR={field:I(Be,"gap-1 whitespace-nowrap bg-blue-50 font-semibold text-blue-800 text-xs dark:bg-blue-500/15 dark:text-blue-200"),label:"text-blue-700 text-xs uppercase tracking-wide dark:text-blue-300",value:""},Ic={field:I(Be,"gap-1 whitespace-nowrap bg-amber-100 text-amber-900 dark:bg-amber-500/15 dark:text-amber-200"),label:"text-amber-800 text-xs uppercase tracking-wide dark:text-amber-300",value:""},xc=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:l,sourceConfig:u,visitTimeDisplay:d,markerIds:p,labels:m})=>{let g=r?m.starRemove:m.starAdd,y=t?m.markUnread:m.markRead,T=e.category?.trim(),v=e.creationCategory?.trim();return Tc("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[ue(kr,{id:p.attachments,count:e.attachments.length,label:m.attachments}),u?ue(Dr,{id:p.source,config:u}):null,ue(we,{render:c=>ue("button",{type:"button",onClick:a,tabIndex:c,className:Pe,title:g,"aria-label":g,"data-detail-star-button":e.reportHubId,children:ue(xr,{filled:r})})}),ue(we,{render:c=>ue("button",{type:"button",onClick:o,tabIndex:c,className:Pe,title:y,"aria-label":y,"data-detail-read-button":e.reportHubId,children:t?ue(aR,{className:_e.read}):ue(Cr,{})})}),i&&ue(we,{render:c=>ue("button",{ref:s,type:"button",onClick:i,tabIndex:c,"data-detail-edit-button":e.reportHubId,className:Pe,title:m.edit,"aria-label":m.edit,children:ue(iR,{className:_e.edit})})}),n&&ue(we,{render:c=>ue("button",{type:"button",onClick:l,tabIndex:c,"data-detail-delete-button":e.reportHubId,className:Pe,title:m.deleteReport,"aria-label":m.deleteReport,children:ue(sR,{className:_e.delete})})}),Tc("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[ue(he,{label:m.id,classNames:lR,children:e.reportHubId}),ue(he,{label:m.businessDate,classNames:Jo,children:ue(nr,{text:fe(e.date)})}),ue(he,{label:m.author,classNames:Jo,children:be(e.employeeName)}),ue(he,{label:m.visitTime,classNames:Jo,children:be(d)}),ue(he,{label:m.updatedAt,classNames:Jo,children:ue(nr,{text:fe(e.updatedAt)})}),T&&ue(he,{label:m.category,classNames:Ic,children:T}),v&&ue(he,{label:m.creationCategory,classNames:Ic,children:v})]})]})};import{useCallback as HR,useContext as Qc,useLayoutEffect as Hi,useRef as Zc}from"react";import{startTransition as CR,useCallback as ae,useLayoutEffect as or,useMemo as qc,useRef as Vt,useState as bn,useSyncExternalStore as AR}from"react";import{flushSync as Yc}from"react-dom";var Ar=e=>({owner:e,focusIndex:null}),Ni=Object.freeze({owner:null,focusIndex:null}),Dc=(e,t)=>{if(e.length===0)return Ni;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:e[r].reportHubId,index:r},focusIndex:r}},Cc=(e,t)=>{switch(t.kind){case"focusIn":return Ar(t.row);case"focusOut":return t.to==="outside"?Ni:Ar(e);case"pointerPress":return t.at==="outside"?Ni:Ar(e);case"listChanged":{if(e===null)return Ar(e);let r=ge(t.items,e.reportHubId,e.index);return r===-1?Dc(t.items,e.index):Ar(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Ar(e):Dc(t.items,t.selection.index)}};var dR=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),ea={capture:!0},ta=new WeakMap,cR=e=>{let t=o=>{dR.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,ea),e.removeEventListener("pointerdown",r,ea)}};return e.addEventListener("keydown",t,ea),e.addEventListener("pointerdown",r,ea),n},Ac=e=>{let t=ta.get(e),r=t===void 0?cR(e):t;t===void 0&&ta.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),ta.delete(e)))}},_c=e=>{let t=ta.get(e);return t===void 0?null:t.last};var ra=e=>e.matches(":focus-visible")&&_c(e.ownerDocument)!=="pointer";var uR="data-daily-report-keyboard-focus",Ft={capture:!0},Lc=e=>{let t=Ac(e.ownerDocument),r=s=>{e.toggleAttribute(uR,Re(s)&&ra(s))},n=s=>r(s.target),o=s=>{Re(s.relatedTarget)&&e.contains(s.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,Ft),e.addEventListener("keydown",n,Ft),e.addEventListener("focusout",o,Ft),e.addEventListener("pointerdown",a,Ft);let i=Te(e);return r(i!==null&&e.contains(i)?i:null),()=>{e.removeEventListener("focusin",n,Ft),e.removeEventListener("keydown",n,Ft),e.removeEventListener("focusout",o,Ft),e.removeEventListener("pointerdown",a,Ft),r(null),t()}};var pR='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',mR=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],fR=mR.map(e=>`[role="${e}"]`).join(", "),yR=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),bR=new Set(["Enter"," "]),RR=new Map([["Home","exitBefore"],["End","exitAfter"]]),Oi=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return RR.get(e.key)??null;let r=yR.get(e.key);return r!==void 0?r:bR.has(e.key)&&t.rowActivation?"activate":null},wc=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},Nc=(e,t,r)=>{let n=Oi(e,r);if(n===null||e.defaultPrevented||Jt(e)||t===null||!Re(e.target)||!t.contains(e.target))return null;let o=Ot(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:wc(e.target,pR,t)||wc(e.target,fR,t)?null:n};var na={kind:"stay"},oa=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},Oc=e=>Math.floor(.875*e),Bt=(e,t)=>({kind:"move",index:e,align:t}),pn=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",hR=({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 u=o(l);if(a+=u,a>r)break;s={index:l,top:i},i+=u}return s},SR=({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},gR=(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 na;if(r==="top")return Bt(n-1,"top");let u=s(n-1);return Bt(n-1,pn(i-u,u,a,-1))}case"next":return n===o-1?na:r==="top"?Bt(n+1,"top"):Bt(n+1,pn(l,s(n+1),a,1));case"first":return Bt(0,"top");case"last":return Bt(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(l>a)return{kind:"reveal",delta:Math.min(l-a,Oc(a))};if(n===o-1)return na;let u=hR(t);return Bt(u.index,pn(u.top,s(u.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,Oc(a))};if(n===0)return na;let u=SR(t);return Bt(u.index,pn(u.top,s(u.index),a,-1))}}},ER=({index:e,focusedRowTop:t,heightOf:r},n)=>Fc(n,{index:e,offsetPx:-t},r),kc=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let l=gR(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:ER(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}},Hc=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>pn(r,n(e),t,1),Fc=(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},mn=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=oa(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:Fc(t,s,i),heightOf:i}},Mc=1,Bc=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=fn(o,n,t,r);return{start:Math.max(0,o.index-Mc),end:Math.min(t-1,a+Mc)}},fn=(e,t,r,n)=>{let o=oa(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},Vc=(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,Pc=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),Uc=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(Pc(t,n,o))return t.reportHubId;if(Pc(r,n,o))return r.reportHubId;let a=e[n.visibleStartIndex];return a===void 0?null:a.reportHubId};var Pi=1,yn=2,Mi=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?Pi:0)|(n===t||n===r?yn:0),vR=e=>{if(bt(e))return!0;let t=Te(e);return t!==null&&e.contains(t)},IR=(e,t)=>{let r=e.closest(`[${yo}]`);return r!==null&&r!==e&&Qt(r)===t&&Te(e)===r},Wc={capture:!0},Kc=({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,u=null,d=new Map,p=c=>Mi(r,c),m=c=>{let h=l.get(c);if(h===void 0)return;let E=(p(c)&yn)!==0?"0":"-1";h.getAttribute("tabindex")!==E&&h.setAttribute("tabindex",E)},g=()=>{if(n===null)return;let c=n;n=null,m(c)},y=(c,h)=>{g();let E={...r};c(r);let S=r,x=new Set([E.selectedId,E.tabStopId,E.arrivingId,S.selectedId,S.tabStopId,S.arrivingId]);for(let N of x){if(N===null)continue;let O=Mi(E,N),C=Mi(S,N);if(O===C)continue;((O^C)&yn)!==0&&(N===h?n=N:m(N));let w=s.get(N);if(w!==void 0)for(let V of[...w])V()}},T=c=>{let h=c.ownerDocument,E=n!==null&&!bt(c);E?h.addEventListener("focusout",g,Wc):g(),a=!0;try{c.focus({preventScroll:!0})}finally{a=!1,E&&h.removeEventListener("focusout",g,Wc),g()}},v=c=>{let h=e();h!==null&&(o=null,vR(h)&&T(c))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:p,setTabStopId:c=>{y(h=>{h.tabStopId=c},null)},settleSelection:(c,h)=>{y(E=>{E.selectedId=c,E.tabStopId=h,E.arrivingId=null},null)},arrive:c=>{y(h=>{h.arrivingId=c},c)},subscribe:(c,h)=>{let E=s.get(c)??new Set;return E.add(h),s.set(c,E),()=>{E.delete(h),E.size===0&&s.get(c)===E&&s.delete(c)}},registerFocusTarget:(c,h)=>{if(l.set(c,h),m(c),o===c){v(h);return}i===null||i.reportHubId!==c||(bt(h)||IR(h,c))&&T(h)},unregisterFocusTarget:(c,h)=>{l.get(c)===h&&l.delete(c)},requestFocus:c=>{o=c;let h=l.get(c);h!==void 0&&v(h)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>i,setFocusOwner:c=>{i=c},restoreFocus:c=>{if(i===null||i.reportHubId!==c)return;let h=l.get(c);h===void 0||!bt(h)||T(h)},holdBodiesOutside:c=>{u=c},isBodyHeldAt:c=>u!==null&&(c<u.start||c>u.end),registerHeldBody:(c,h,E)=>{let S={indexHint:h,release:E};return d.set(c,S),()=>{d.get(c)===S&&d.delete(c)}},releaseHeldBodiesWithin:(c,h)=>{if(c!==null)for(let[E,{indexHint:S,release:x}]of[...d]){let N=h(E,S);N>=c.start&&N<=c.end&&x()}}}};var ot={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}},ki=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),TR=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),$c=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),xR=new Map(Object.values(ot).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),zc=e=>{let t=xR.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},DR=(e,t,r)=>e==="row"||e==="page"?t+r:r,jc=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:zc(e)}),Gc=(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",zc(r)):(e.pending=DR(e.axis,e.pending,r.amount),ki)}case"frame":{if(e.fence==="open")return ki;if(e.fence==="immediate")return e.fence="flush",TR;if(e.pending===0)return e.fence="open",ki;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?$c:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return $c}};var _R=Object.freeze({kind:"frame"}),LR=Object.freeze({kind:"keyup"}),wR=Object.freeze({kind:"cancel"}),NR=Object.freeze({previous:Object.freeze({kind:"repeat",step:ot.previous}),next:Object.freeze({kind:"repeat",step:ot.next}),pageBackward:Object.freeze({kind:"repeat",step:ot.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:ot.pageForward}),first:Object.freeze({kind:"repeat",step:ot.first}),last:Object.freeze({kind:"repeat",step:ot.last}),activate:Object.freeze({kind:"repeat",step:ot.activate})}),OR=(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}},MR=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),PR=e=>{let t=Qt(e),r=br(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},aa=(e,t)=>{let r=ae(a=>e.subscribe(t,a),[e,t]),n=ae(()=>e.rowStateOf(t),[e,t]),o=AR(r,n,n);return{isCurrent:(o&Pi)!==0,isTabStop:(o&yn)!==0}},ia=(e,t,r)=>{let[n,o]=bn(()=>!e.isBodyHeldAt(r));return or(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return CR(a),i},[e,t,r,n]),n},kR=e=>e==="first"||e==="last",Xc=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:l,rowActivation:u})=>{let[d]=bn(()=>Kc({getContainer:()=>n.current,initialSelectedId:t})),p=Vt({items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:u}),m=Vt(null),g=Vt(null),[y,T]=bn(null),v=Vt(null),c=Vt(null),[h,E]=bn(null),S=Vt(!1),x=Vt(null),[N,O]=bn(0),C=qc(()=>({id:t,indexHint:t===null?null:Dl(y,t)}),[t,y]),w=Vt(C);or(()=>{p.current={items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:u},w.current=C},[e,r,s,l,u,C]);let V=ae((A,L)=>{let k=g.current;if(k!==null&&k.items===A&&k.reportHubId===L)return k.index;let K=ge(A,L,k!==null&&k.reportHubId===L?k.index:null);return K!==-1&&(g.current={items:A,reportHubId:L,index:K}),K},[]),H=ae((A,L)=>{g.current={items:p.current.items,reportHubId:A,index:L},T(k=>k!==null&&k.reportHubId===A&&k.index===L?k:{reportHubId:A,index:L})},[]),J=ae(A=>{let L=d.getFocusOwner();if(L===null)return null;let k=ge(A,L.reportHubId,L.index);return k===-1?null:{reportHubId:L.reportHubId,index:k}},[d]),F=ae(A=>{let L=p.current.items,k=A===null?null:{reportHubId:A,index:V(L,A)};return Uc(L,J(L),k,m.current,x.current)},[V,J]),oe=ae(()=>{d.setTabStopId(F(d.getSelectedId()))},[d,F]),le=ae(A=>{let L=d.getFocusOwner();L===A||L!==null&&A!==null&&L.reportHubId===A.reportHubId&&L.index===A.index||(d.setFocusOwner(A),S.current||oe())},[d,oe]),X=ae(A=>{let L=Cc(d.getFocusOwner(),A);le(L.owner),L.focusIndex!==null&&(v.current=L.focusIndex,d.requestFocus(L.owner.reportHubId))},[d,le]);or(()=>{d.settleSelection(t,F(t))},[d,t,e,N,F]),or(()=>{let A=o.current;if(A!==null)return Lc(A)},[o]),or(()=>{let A=n.current;if(A===null)return;let L=A.ownerDocument,k=K=>{let ee=n.current,pe=K.target;X({kind:"pointerPress",at:ee!==null&&Re(pe)&&ee.contains(pe)?"inside":"outside"})};return L.addEventListener("pointerdown",k,{capture:!0}),()=>L.removeEventListener("pointerdown",k,{capture:!0})},[n,X]),or(()=>{let A=d.pendingFocusId();A!==null&&ge(e,A,v.current)===-1&&d.cancelFocusRequest(),X({kind:"listChanged",items:e})},[d,e,X]);let W=ae(A=>{X({kind:"removed",reportHubId:A,selection:g.current,items:p.current.items})},[X]),z=ae((A,L,k,K)=>{let{items:ee,onSelect:pe,rowSizing:Me,arrowAlign:Ie}=p.current,b=a.current;if(pe===null||b===null)return null;let D=ge(ee,k.reportHubId,k.index);if(D===-1)return null;let R=mn(b,D,ee.length,Me);if(R===null)return null;let f=kc(A,L,R,Ie),_=ee[f.index],P=f.index!==D,j=P||K&&kR(A)&&w.current.id!==_.reportHubId;if(P){d.arrive(_.reportHubId),x.current=_.reportHubId,v.current=f.index,S.current=!0;try{d.requestFocus(_.reportHubId)}finally{S.current=!1}}try{Yc(()=>{j&&(d.pendingFocusId()===null&&d.settleSelection(_.reportHubId,_.reportHubId),pe(_.reportHubId,f.index)),f.alignment!==null&&i.toIndex(f.alignment.index,{align:f.alignment.align}),f.scrollDelta!==0&&i.by(f.scrollDelta),j&&(H(_.reportHubId,f.index),O(me=>me+1));let Z=Bc(b,ee.length,Me);d.holdBodiesOutside(Z),d.releaseHeldBodiesWithin(Z,(me,Ct)=>ge(ee,me,Ct))})}finally{d.holdBodiesOutside(null)}return P?{reportHubId:_.reportHubId,index:f.index}:{reportHubId:k.reportHubId,index:D}},[d,a,i,H]),ne=ae(A=>{let{items:L,onSelect:k}=p.current;if(k===null)return;let K=ge(L,A.reportHubId,A.index);K!==-1&&(k(A.reportHubId,K),H(A.reportHubId,K))},[H]),ve=ae(A=>{let L=n.current,k=L===null?null:Te(L),K=L!==null&&k!==null&&L.contains(k)?Kr(Ot(k,L),p.current.items):null;return K===null?A.origin:K},[n]),q=ae((A,L)=>{let k=ve(A);if(L.axis==="activate"){ne(k);return}let K=OR(L.axis,L.amount),ee=z(K.command,K.count,k,!1);ee!==null&&(A.origin=ee)},[ve,ne,z]),nt=ae(A=>{c.current=null,A.frame!==0&&A.view.cancelAnimationFrame(A.frame),E(null)},[]),Ke=ae((A,L,k)=>{let{apply:K}=L;K!==null&&(L.flush?Yc(()=>q(A,K)):q(A,K)),c.current===A&&(L.ended?nt(A):L.requestFrame&&(A.frame=A.view.requestAnimationFrame(k)))},[q,nt]),ye=ae((A,L,k)=>{Ke(A,Gc(A.state,L),k)},[Ke]),De=ae(()=>{let A=c.current;A!==null&&(A.frame=0,ye(A,_R,De))},[ye]),Le=ae(()=>{let A=c.current;A!==null&&ye(A,LR,De)},[ye,De]),ie=ae(()=>{let A=c.current;A!==null&&ye(A,wR,De)},[ye,De]),Ce=ae((A,L,k)=>{E(w.current);let{state:K,effects:ee}=jc(ot[A]),pe={state:K,origin:L,view:k,frame:0};c.current=pe,Ke(pe,ee,De)},[Ke,De]);or(()=>()=>{let A=c.current;c.current=null,A!==null&&A.frame!==0&&A.view.cancelAnimationFrame(A.frame)},[]);let se=ae(A=>{let L=c.current,k=L!==null&&A.repeat?Oi(A,p.current):null;if(L!==null&&k!==null&&k!=="exitBefore"&&k!=="exitAfter"&&ot[k].axis===L.state.axis){A.preventDefault(),ye(L,NR[k],De);return}let{items:K,onSelect:ee,rowSizing:pe,rowActivation:Me}=p.current,Ie=n.current,b=ee===null?null:Nc(gr(A),Ie,{rowActivation:Me});if(d.cancelFocusRequest(),Le(),b===null||Ie===null)return;if(b==="exitBefore"||b==="exitAfter"){let f=Nd(Ie,b==="exitBefore"?"before":"after");if(f===null)return;A.preventDefault(),f.focus();return}let D=Te(Ie),R=Kr(Ot(D!==null&&Ie.contains(D)?D:A.target,Ie),K);if(R!==null){if(b!=="activate"){let f=a.current;if(f===null||mn(f,R.index,K.length,pe)===null)return}if(A.preventDefault(),A.repeat){Ce(b,R,Ve(Ie));return}b==="activate"?ne(R):z(b,1,R,!0)}},[d,n,a,De,ye,Le,Ce,ne,z]),Ae=ae(()=>{Le()},[Le]),xt=ae(A=>{let L=n.current,k=A.target,K=Ot(k,L);if(X({kind:"focusIn",row:K===null?null:PR(K)}),d.isMovingFocus())return;let ee=a.current;if(L===null||ee===null||!Re(k)||!ra(k))return;let pe=K===null?null:K.closest('[role="list"]');if(K===null||pe===null)return;let Me=pe.getBoundingClientRect(),Ie=K.getBoundingClientRect(),b=Ie.height<=Me.height?Ie:MR(k.getBoundingClientRect(),_t),D=Vc(b,Me),R=ee.getViewportSize();D===0||!(R>0&&Me.height>0)||i.by(D*R/Me.height)},[d,n,a,i,X]),Dt=ae(A=>{let L=n.current,k=A.relatedTarget,K=Re(k)?L?.contains(k)?"view":"outside":"nowhere";K!=="view"&&ie(),X({kind:"focusOut",to:K})},[n,ie,X]),Xe=ae(()=>{d.cancelFocusRequest(),ie()},[d,ie]),lt=ae(A=>{m.current={visibleStartIndex:A.visibleStartIndex,visibleEndIndex:A.visibleEndIndex},x.current=null,oe()},[oe]),Kt=qc(()=>({onKeyDown:se,onKeyUp:Ae,onPointerDownCapture:Xe,onWheelCapture:Xe,onTouchStartCapture:Xe,onFocus:xt,onBlur:Dt}),[se,Ae,Xe,xt,Dt]);return{cursor:d,containerProps:Kt,handleRangeChange:lt,selection:C,settledSelection:h===null?C:h,resolveSelectedIndex:V,rememberSelection:H,focusAfterRemoval:W}};import{jsx as Fi}from"react/jsx-runtime";var FR=I(wt,wn,Nn,Ln,"h-full"),BR="h-full w-full",Jc=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:l}=aa(a,e),u=Qc(ht),d=Qc(Rt),p=ia(a,e,u),m=Zc(null),g=Zc(null),y=HR(T=>(m.current=T,a.registerFocusTarget(e,T),()=>{m.current=null,a.unregisterFocusTarget(e,T)}),[a,e]);return Hi(()=>{let T=m.current,v=T===null||!p?null:T.firstElementChild,c=v instanceof HTMLElement?v:null,h=g.current;h!==null&&h.body===c||(h!==null&&h.stop(),g.current=c===null?null:{body:c,stop:o(c)})}),Hi(()=>()=>{g.current?.stop(),g.current=null},[]),Hi(()=>{a.restoreFocus(e)},[a,e,n]),Fi(on.Provider,{value:l,children:Fi("div",{ref:y,className:FR,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":u+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:Fi("div",{...$e,className:BR})})})};import{jsx as G,jsxs as Ne}from"react/jsx-runtime";var WR=I("flex w-full flex-col",dt,Pn,Lt),KR=I(dt,Lt),$R=I("rounded-2xl",Lt),zR=I("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",Lt),Fe="bg-slate-200 dark:bg-slate-700",jR=(e,t)=>{let r=be(e.name);return e.affiliation?.trim()?t.interviewerWithAffiliation(r,e.affiliation):r},GR=()=>Ne("div",{...$e,className:KR,children:[Ne("div",{className:"mb-4 flex flex-wrap gap-2",children:[G("div",{className:I("h-6 w-20 rounded-full",Fe)}),G("div",{className:I("h-6 w-24 rounded-full",Fe)}),G("div",{className:I("h-6 w-24 rounded-full",Fe)}),G("div",{className:I("h-6 w-28 rounded-full",Fe)})]}),Ne("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[Ne("div",{className:"space-y-4",children:[G("div",{className:I("h-5 w-40 rounded",Fe)}),G("div",{className:I("h-5 w-56 rounded",Fe)}),G("div",{className:I("h-24 rounded-xl",Fe)})]}),Ne("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[G("div",{className:I("mb-2 h-4 w-24 rounded",Fe)}),G("div",{className:I("mb-2 h-4 w-28 rounded",Fe)}),G("div",{className:I("h-4 w-32 rounded",Fe)})]})]}),Ne("div",{className:"space-y-4",children:[G("div",{className:I("h-4 w-24 rounded",Fe)}),Ne("div",{className:"flex flex-wrap gap-2",children:[G("div",{className:I("h-6 w-16 rounded-full",Fe)}),G("div",{className:I("h-6 w-16 rounded-full",Fe)}),G("div",{className:I("h-6 w-16 rounded-full",Fe)})]}),Ne("div",{className:"space-y-2",children:[G("div",{className:I("h-16 rounded-xl",Fe)}),G("div",{className:I("h-16 rounded-xl",Fe)})]})]})]}),qR=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:l}=Xt(e.reportHubId,e.businessDate),{removeStaleItem:u}=He(),{draftLabelName:d,sourceTypeConfigs:p}=B(),m=Mt(),g=Lo(e.reportHubId),y=g==="editing"||g==="automatic",T=Bi(!1),v=Bi(!1),c=Bi(!1);eu(()=>{if(l){c.current=!0;return}!(a||s||i)&&c.current&&e.reportHubId>0&&u(e.reportHubId)},[a,s,l,i,e.reportHubId,u]);let h=a?.labels.some(z=>z.name===d),E=n&&a?.userId===n,S=sa(()=>a===null?void 0:()=>{T.current=!0,m.open(e.reportHubId,Tr(a),!1)},[m,e.reportHubId,a]),x=_r(()=>{v.current=!0,m.dismiss(e.reportHubId)},[m,e.reportHubId]),N=_r(()=>{v.current=!0,m.discard(e.reportHubId)},[m,e.reportHubId]),O=_r(z=>{z===null||!T.current||(T.current=!1,z.focus())},[]),C=_r(z=>{z===null||!v.current||(v.current=!1,z.focus())},[]);UR(()=>{y||(v.current=!1)},[y]),eu(()=>{a!==null&&(E&&h&&g==="display"?m.open(e.reportHubId,Tr(a),!0):!h&&g==="automatic"&&m.discard(e.reportHubId))},[a,E,h,g,m,e.reportHubId]);let w=_r(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),V=VR(),H=sa(()=>({heading:`${V}-heading`,state:`${V}-state`,attachments:`${V}-attachments`,source:`${V}-source`}),[V]),J=a!==null&&a.attachments.length>0,F=a===null?void 0:qt(a.sourceType,p),oe=[H.state,...J?[H.attachments]:[],...F!==void 0?[H.source]:[]].join(" "),le=!i&&a!==null&&!y?{kind:"card",ids:H,describedBy:oe}:{kind:"label",label:fe(e.businessDate)},X=!i&&a===null&&s,W=i?"error":a===null?s?"loading":"missing":y?"editing":"resolved";return G(Jc,{itemId:e.reportHubId,name:le,isBusy:X,bodyKind:W,observeRowHeight:t,cursor:o,children:i?G(YR,{itemId:e.reportHubId}):a?y?G("div",{...$e,className:$R,children:G(qo,{report:a,onCancel:x,onPublishSuccess:N,titleInputRef:O})}):G(nu,{item:e,report:a,sourceConfig:F,textIds:H,onCommentAdded:r,userId:n,onEdit:E?S:void 0,editButtonRef:C,onCommentSectionRemoved:w}):G(GR,{})})},ru=tu(qR),nu=tu(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:l})=>{let{toggleStar:u,toggleRead:d,pendingStarUpdates:p,pendingReadUpdates:m,deleteReport:g}=He(),{labels:y,headingLevel:T}=B(),v=Pt[T],c=Xn(t.sourceType,r),h=_r(()=>o?.(e.reportHubId),[o,e.reportHubId]),E=p.current.get(t.reportHubId),S=E===void 0?t.isStarred:E,x=m.current.get(t.reportHubId),N=x===void 0?t.isRead:x,O=!!(a&&t.userId===a),C=async()=>{try{await d(t.reportHubId,!N,t.date)}catch{}},w=async()=>{try{await u(t.reportHubId,!S,t.date)}catch{}},V=async()=>{if(confirm(y.confirmDelete))try{await g(t.reportHubId,t.date)}catch{}},H=sa(()=>t.content?t.content.replace(/<br\s*\/??\s*>/gi,`
4
+ `).trim():"",[t.content]),J=sa(()=>{let F=t.visitTimeFrom?.trim(),oe=t.visitTimeTo?.trim();return F&&oe?`${F} - ${oe}`:F||oe||null},[t.visitTimeFrom,t.visitTimeTo]);return Ne("div",{...$e,onDoubleClick:i,className:WR,children:[G(je,{level:T,id:n.heading,className:"sr-only",children:`${fe(t.date)} ${be(t.employeeName)} ${be(t.subject)}`}),G("span",{id:n.state,className:"sr-only",children:y.rowState({isRead:N,isStarred:S})}),Ne("div",{className:"flex flex-col gap-4",children:[G(xc,{report:t,sourceConfig:r,isRead:N,isStarred:S,isMine:O,onToggleRead:C,onToggleStar:w,onEdit:i,editButtonRef:s,onDelete:V,visitTimeDisplay:J,markerIds:n,labels:y}),Ne("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[Ne("div",{className:"flex flex-col gap-4",children:[Ne("div",{className:"grid gap-4 sm:grid-cols-2",children:[Ne("div",{className:"flex flex-col gap-1",children:[G(je,{level:v,className:yt,children:y.customer}),G("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:be(t.customerName)})]}),Ne("div",{className:"flex flex-col gap-1",children:[G(je,{level:v,className:yt,children:y.subject}),G("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:be(t.subject)})]})]}),H&&Ne("div",{className:"flex flex-col gap-2",children:[G(je,{level:v,className:yt,children:y.content}),G("div",{className:I("whitespace-pre-wrap",Mn),children:H})]}),t.interviewers.length>0&&Ne("div",{className:"flex flex-col gap-2",children:[G(je,{level:v,className:yt,children:y.interviewers}),G("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map(F=>G("li",{className:I(Be,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:jR(F,y)},JSON.stringify([F.name,F.affiliation])))})]}),G(Wo,{attachments:t.attachments}),G(cn,{report:t,userId:a,canComment:c,onCommentAdded:h,onSectionRemoved:l,formPlacement:"after-section"})]}),G(Ec,{report:t,visitTimeDisplay:J,labels:y})]})]})]})});nu.displayName="DailyReportResolvedItem";var YR=({itemId:e})=>{let{labels:t}=B();return G("div",{...$e,className:zR,children:G("p",{children:t.reportLoadFailed(e)})})};import{useCallback as uu,useId as ih,useMemo as pu,useRef as sh}from"react";import{createContext as XR,useContext as QR,useLayoutEffect as ZR}from"react";var ou=()=>{let e=!1;return{request:()=>{e=!0},isPending:()=>e,take:()=>{let t=e;return e=!1,t}}},Vi=XR(null),au=(e,t)=>{let r=QR(Vi);ZR(()=>{let n=e.current;if(r===null||!r.isPending()||n===null)return;let o=bo(n);o===null&&!t||(r.take(),bt(n)&&ut([o===null?ii(n.ownerDocument):o]))})};import{useCallback as iu,useLayoutEffect as su,useMemo as lu,useRef as Ui}from"react";var JR=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e[o]?.reportHubId!==t[o]?.reportHubId)return!0;return!1},eh=(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}},th=(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}},rh=(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"?eh(e.index,a,n.rowHeight,r.length):th(e.index,a,oa(n),r.length);return{reportHubId:r[i].reportHubId,index:i,offsetPx:s,lastVisibleIndex:fn({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},nh=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=ge(t,e[n].reportHubId,n-1);if(o!==-1)return o}return-1},du=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=Ui(null),a=Ui(e),i=Ui(r),s=iu(()=>{let d=t.current,p=d===null?-1:d.getScrollPosition(),m=d===null||!(p>0)?null:d.getScrollAnchor(),g=a.current,y=m===null?void 0:g[m.index],T=d===null?0:d.getViewportSize();o.current=m===null||y===void 0||!(T>0)?null:{reportHubId:y.reportHubId,index:m.index,offsetPx:m.offsetPx,lastVisibleIndex:fn(m,T,g.length,i.current),recordedAt:p}},[t]),l=lu(()=>({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]);su(()=>{let d=a.current;a.current=e;let p=o.current,m=t.current;if(d===e||p===null||m===null||n())return;let g=rh(p,m.getScrollPosition(),d,i.current,m.getViewportSize());if(g===null){o.current=null;return}let y=ge(e,g.reportHubId,g.index),T=y===-1?nh(d,e,g):y;if(T===-1){o.current=null;return}if(T===g.index&&!JR(d,e,g.index,g.lastVisibleIndex)){o.current=g;return}m.scrollToIndex(T,{align:"top",offset:-g.offsetPx}),o.current={reportHubId:e[T].reportHubId,index:T,offsetPx:g.offsetPx,lastVisibleIndex:fn({index:T,offsetPx:g.offsetPx},m.getViewportSize(),e.length,r),recordedAt:m.getScrollPosition()}},[e,t,r,n]),su(()=>{i.current=r},[r]);let u=iu(d=>{if(d.cause!=="clamp"){s();return}let p=o.current;p!==null&&(o.current={...p,recordedAt:p.recordedAt+d.delta})},[s]);return lu(()=>({handleRangeChange:s,handleScrollAdjust:u,scroller:l}),[s,u,l])};import{useCallback as oh}from"react";var ah=20,cu=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>oh(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(u=>u.reportHubId===l),getReportItem:l=>o.current[l],getReportIds:(l=ah)=>o.current.slice(0,l).map(u=>u.reportHubId),revealIndex:(l,u)=>n.toIndex(l,u)}}}),()=>{i!==null&&delete i.__virtualScroll,t.current=null}},[e,t,r,n,o]);import{jsx as lh}from"react/jsx-runtime";var la=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let i=sh(null),s=uu(S=>(i.current=S,()=>{i.current=null}),[]),{handleRangeChange:l,handleScrollAdjust:u,scroller:d}=du({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:p,...m}=Xc({...a,containerRef:e,handleRef:i,scroller:d}),g=cu({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:d,itemsRef:r});au(e,a.items.length===0);let{labels:y}=B(),T=ih(),v=a.onSelect!==null,c=uu(S=>{p(S),l(),o(S)},[p,l,o]),h=pu(()=>({role:"list","aria-label":y.title,"aria-describedby":v?T:void 0}),[y.title,v,T]),E=pu(()=>v?lh("span",{id:T,className:"sr-only",children:y.listKeyboardHelp}):null,[v,T,y.listKeyboardHelp]);return{...m,handleRangeChange:c,handleScrollAdjust:u,attachVirtualScroll:s,handleRef:i,scroller:d,attachScrollContainer:g,contentProps:h,keyboardHelp:E}};import{Fragment as Rh,jsx as vt,jsxs as bh}from"react/jsx-runtime";var fu={pointerDragInputs:oo,wheelSpeedMultiplier:Zn,inertiaOptions:Rr(!1),enableKeyboardNavigation:!1},uh={...fu,inertiaOptions:Rr(!0)},mu="daily-report-detail-list",ph=I("relative w-full",Wn,Vn),mh=I(Qe,"relative"),fh=300,Ki=e=>{let t=Ue(null),[r,n]=da(null),o=mo(t),a=hr(r),i=Oe(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return vt("div",{ref:i,className:Fn,children:vt("div",{className:Bn,children:o===null?null:vt(yh,{...e,viewportHeight:o,reducedMotion:a})})})},yh=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:i,reducedMotion:s})=>{let[{initialScrollAnchor:l,restored:u}]=da(()=>{let R=a?.current;if(!R||R.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!R.topItem)return{initialScrollAnchor:void 0,restored:!0};let f=e.findIndex(_=>_.reportHubId===R.topItem?.reportHubId);return f!==-1?{initialScrollAnchor:{index:f,offsetPx:R.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:R.topItem.index,offsetPx:0},restored:!0}}),d=Ue(u),p=Ue(n??null),m=Ue(a?.current.measuredHeights??new Map),g=Ue(null),y=co(),T=za(),[v]=da(Ro),c=Ue(null),h=Ue(null),E=Ue(e),S=Ue(o);ch(()=>{E.current=e,S.current=o},[e,o]);let x=Ue(null),[N,O]=da(0),C=Ue(null),w=e.length,V=t===void 0?w:t,H=Oe(R=>R>=w?eo:e[R],[e,w]),J=Oe(R=>{let f=m.current.get(H(R).reportHubId);return f===void 0?nl:f},[H]),F=Oe(R=>H(R).reportHubId,[H]),oe=Wi(()=>({kind:"measured",heightOf:J}),[J]),le=Oe((R,f)=>{x.current={reportHubId:R,index:f},O(_=>_+1),S.current?.(R)},[]),X=Oe((R,f)=>{if(w===0)return;let _=Math.max(0,R),P=Math.min(w-1,f);if(_>P)return;let j=new Set;for(let Z=_;Z<=P;Z++){let me=H(Z);if(me.businessDate&&j.add(me.businessDate),j.size>=el)break}j.forEach(Z=>{T(Z)})},[H,w,T]),W=Ue(null),z=Oe(()=>W.current,[]),ne=Oe(R=>{if(w===0)return;let{renderingStartIndex:f,renderingEndIndex:_,visibleStartIndex:P}=R,j=H(P);j.reportHubId>0&&(W.current=j.reportHubId),j.businessDate&&v.setLabel(fe(j.businessDate)),X(f,_),X(_+1,_+Jn),X(f-Jn,f-1)},[H,w,X,v]),ve=Oe(()=>C.current!==null,[]),{cursor:q,containerProps:nt,handleRangeChange:Ke,handleScrollAdjust:ye,attachVirtualScroll:De,handleRef:Le,scroller:ie,attachScrollContainer:Ce,contentProps:se,keyboardHelp:Ae,resolveSelectedIndex:xt,rememberSelection:Dt}=la({items:e,selectedId:n??null,onSelect:o===void 0?null:le,containerRef:g,rootRef:g,testId:mu,itemsRef:E,rowSizing:oe,arrowAlign:"top",rowActivation:!0,isViewRevealPending:ve,onRangeChange:ne});So({items:e,scroller:ie,readTopReportId:z});let Xe=Oe((R,f)=>{if(Le.current===null)return!1;let _=E.current,P=f!==null&&f.reportHubId===R?ge(_,R,f.index):xt(_,R);return P===-1?!1:(d.current&&(d.current=!1,R===p.current)||f!==null&&f.reportHubId===R&&f.index===P||ie.toIndex(P,{align:"top"}),!0)},[Le,xt,ie]);Ut(()=>{let R=x.current;x.current=null,C.current=null,n!=null&&(Xe(n,R)||(C.current=n))},[n,Xe]),Ut(()=>{let R=C.current;R!==null&&Xe(R,null)&&(C.current=null)},[e,Xe]),Ut(()=>{let R=a?.current;R&&(R.anchorReportHubId=n??null)},[n,a]),Ut(()=>{x.current=null},[N]);let lt=Ue(null),Kt=Oe(()=>{Le.current&&(lt.current=Le.current);let R=a?.current,f=lt.current;if(R&&f){let P=f.getScrollAnchor(),j=P?E.current[P.index]:void 0;P&&j&&(R.topItem={reportHubId:j.reportHubId,index:P.index,offsetPx:P.offsetPx})}let _=g.current;_&&(_.toggleAttribute(ur,!0),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{_.toggleAttribute(ur,!1),h.current=null},150))},[Le,a]),A=Oe(R=>vt(ho,{...R,store:v}),[v]);Ut(()=>{let R=g.current;if(!R)return;let f=()=>{v.setWheelScrollActive(!0),c.current&&clearTimeout(c.current),c.current=window.setTimeout(()=>{v.setWheelScrollActive(!1),c.current=null},to)};return R.addEventListener("wheel",f,{passive:!0}),()=>{R.removeEventListener("wheel",f),c.current&&clearTimeout(c.current)}},[v]);let L=Ue(null),k=Oe(R=>{for(let f of R){let _=f.target.parentElement,P=_===null?null:Qt(_),j=_===null?null:br(_),Z=f.borderBoxSize[0];if(P===null||j===null||Z===void 0)continue;let me=Z.blockSize+2*_t;if(m.current.get(P)===me)continue;let Ct=ge(E.current,P,j-1);Ct!==-1&&(m.current.set(P,me),ie.resizeRow(Ct,me))}},[ie]),K=Oe(R=>{L.current===null&&(L.current=new ResizeObserver(k));let f=L.current;return f.observe(R),()=>f.unobserve(R)},[k]);Ut(()=>()=>{L.current?.disconnect(),L.current=null},[]),Ut(()=>{w!==0&&X(0,Math.min(w-1,Jn))},[w,X]);let ee=Ue(null),pe=Oe(R=>{let f=ge(E.current,R,null);f!==-1&&(ee.current!==null&&clearTimeout(ee.current),ee.current=setTimeout(()=>{ee.current=null;let _=ge(E.current,R,f);_!==-1&&ie.toIndex(_,{align:"bottom"})},fh))},[ie]);Ut(()=>()=>{ee.current!==null&&clearTimeout(ee.current)},[]);let Me=Oe(R=>{if(!S.current)return;let f=Ot(R.target,g.current);if(f===null||_l(R.target,f))return;let _=Kr(f,E.current);_!==null&&(Dt(_.reportHubId,_.index),le(_.reportHubId,_.index))},[le,Dt]),Ie=Oe((R,f)=>vt(ht.Provider,{value:f,children:vt(ru,{item:R,observeRowHeight:K,onCommentAdded:pe,userId:r,cursor:q})},R.reportHubId),[K,pe,r,q]),b=Wi(()=>({...no,renderThumbOverlay:A}),[A]),D=Wi(()=>vt(Rt.Provider,{value:V,children:vt(dh,{ref:De,itemCount:w,getItem:H,getItemKey:F,getItemHeight:J,viewportSize:i,initialScrollAnchor:l,overscanCount:ro,scrollBarOptions:b,behaviorOptions:s?uh:fu,onRangeChange:Ke,onScrollAdjust:ye,onScroll:Kt,testId:mu,className:ph,locale:y.locale,labels:y.labels,contentProps:se,children:Ie})}),[De,V,w,H,F,J,i,s,l,b,Ke,ye,Kt,y.locale,y.labels,se,Ie]);return vt(Rh,{children:bh("div",{ref:Ce,className:mh,...nt,onClick:Me,children:[Ae,D]})})};import bu from"lucide-react/dist/esm/icons/refresh-cw.js";import{createContext as Sh,useContext as gh,useLayoutEffect as Eh,useRef as vh}from"react";import{jsx as yu,jsxs as hh}from"react/jsx-runtime";var Rn=e=>10**String(e).length-1,ca=({text:e,widestText:t,ref:r})=>hh("span",{ref:r,className:As,children:[yu("span",{"aria-hidden":"true",className:_s,children:t}),yu("span",{className:Ls,children:e})]});import{jsx as ar,jsxs as ua}from"react/jsx-runtime";var $i=Sh(!0),Ih=`inline-flex rounded-full empty:not-focus:hidden ${Q}`,Th=(e,t,r)=>{if(r===null||r===0)return{text:e.streamProgressCount(t),widestText:e.streamProgressCount(Rn(t))};let n=Rn(Math.max(t,r));return{text:e.streamProgressRatio(t,r,Math.min(100,Math.round(t/r*100))),widestText:e.streamProgressRatio(n,n,100)}},xh=({labels:e,loadedCount:t,totalCount:r})=>{let{text:n,widestText:o}=Th(e,t,r);return ua("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:I(Be,"gap-1 bg-blue-100 font-medium text-blue-800 text-xs tabular-nums dark:bg-blue-900/40 dark:text-blue-300"),children:[ar("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 motion-safe:animate-pulse dark:bg-blue-400"}),ar(ca,{text:n,widestText:o})]})},Dh=(e,t,r,n)=>e.phase==="streaming"?ar(xh,{labels:t,loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?ua("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:I(Be,"gap-1 bg-amber-100 font-medium text-amber-800 text-xs tabular-nums dark:bg-amber-900/40 dark:text-amber-300"),children:[ar(bu,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?ua("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:I(Be,"gap-1 bg-rose-100 font-medium text-rose-800 text-xs dark:bg-rose-900/40 dark:text-rose-300"),children:[t.streamFailed,ar("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:n,className:I("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?ua("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:[ar(bu,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null,hn=()=>{let e=ql(),{labels:t}=B(),r=gh($i),n=vh(null),a=Dh(e,t,r,()=>{ut([n.current]),xo()}),i=a===null;return Eh(()=>{let s=n.current;!i||s===null||!s.contains(Te(s))||ut(wo(s.ownerDocument))},[i]),ar("span",{ref:n,tabIndex:-1,"data-daily-report-stream-status":"",className:Ih,children:a})};import{Panel as Ku,PanelGroup as qS,PanelResizeHandle as YS}from"@aiquants/resize-panels";import{VirtualScroll as XS}from"@aiquants/virtualscroll";import{useCallback as it,useEffect as ha,useLayoutEffect as Zi,useMemo as Sa,useRef as sr,useState as Ea}from"react";import{useSyncExternalStore as Ch}from"react";var Ru="(max-width: 639px)",Ah=()=>{},_h=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return Ah;let t=window.matchMedia(Ru);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},Lh=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(Ru).matches:!1,wh=()=>!1,hu=()=>Ch(_h,Lh,wh);import{SwipeCloseGuardContext as tS,useOverlayEscapeStack as rS,useSwipeGuardState as nS,useSwipeToDismissOverlay as oS,useTapClick as aS,useTransitionDisplay as iS}from"@aiquants/swipe-overlay";import{useCallback as ya,useEffect as wr,useId as Yi,useLayoutEffect as Xi,useRef as at,useState as ba}from"react";import{createContext as Nh,useMemo as Oh}from"react";var Su=Object.freeze({id:null,indexHint:null}),pa=Nh(Object.freeze({selected:Su,settled:Su})),Sn=(e,t)=>{let{id:r,indexHint:n}=t;return Oh(()=>{if(r===null)return null;let o=ge(e,r,n);return o===-1?null:e[o]},[e,r,n])};import Mh from"lucide-react/dist/esm/icons/check.js";import Ph from"lucide-react/dist/esm/icons/pencil.js";import kh from"lucide-react/dist/esm/icons/trash-2.js";import{memo as Hh,useCallback as ir,useContext as Fh,useDeferredValue as Bh,useEffect as zi,useId as Tu,useLayoutEffect as ji,useMemo as Au,useRef as Tn,useState as xu}from"react";import*as It from"@radix-ui/react-tabs";import*as Ye from"react";import{jsx as gn}from"react/jsx-runtime";var gu=Ye.createContext(null),Eu=e=>{let t=Ye.useContext(gu);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},vu=(e,t)=>`${e}-trigger-${t}`,Iu=(e,t)=>`${e}-panel-${t}`,En=Ye.forwardRef(({value:e,children:t,...r},n)=>{let o=Ye.useId(),a=Ye.useMemo(()=>({baseId:o,value:e}),[o,e]);return gn(It.Root,{ref:n,value:e,...r,children:gn(gu,{value:a,children:t})})});En.displayName=It.Root.displayName;var vn=Ye.forwardRef(({className:e,...t},r)=>gn(It.List,{ref:r,className:I("inline-flex",e),...t}));vn.displayName=It.List.displayName;var In=Ye.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=Eu("TabsTrigger");return gn(It.Trigger,{ref:n,value:t,...r,id:vu(o,t),"aria-controls":Iu(o,t),className:I(`${xs} ${Q}`,e)})});In.displayName=It.Trigger.displayName;var Lr=Ye.forwardRef(({className:e,value:t,children:r,...n},o)=>{let{baseId:a,value:i}=Eu("TabsContent"),s=t===i;return gn("div",{ref:o,role:"tabpanel",id:Iu(a,t),"aria-labelledby":vu(a,t),"data-state":s?"active":"inactive",hidden:!s,tabIndex:0,...n,className:I(`mt-2 data-[state=inactive]:hidden ${Q}`,e),children:s?r:null})});Lr.displayName="TabsContent";import{Fragment as eS,jsx as U,jsxs as Tt}from"react/jsx-runtime";var _u=I($t,"w-24 shrink-0"),Du={field:"flex items-baseline",label:_u,value:"flex-1"},Vh={field:"flex min-w-0 flex-1 items-baseline",label:_u,value:"wrap-break-word min-w-0 flex-1"},Uh={field:"flex flex-col gap-1",label:$t,value:""},Wh={field:"flex items-center gap-1",label:$t,value:""},Cu=I("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",Ia,ds,ls),Kh=I("flex flex-col gap-1",Ta),$h=I("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",Q),Gi=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)})}},zh=(e,t,r,n,o,a)=>{let i=Tn(null),s=e?.reportHubId;ji(()=>{i.current=null},[s]),zi(()=>{n||(i.current=null)},[n]);let l=ir(async(u,d)=>{d||(i.current=u.reportHubId);try{await a(u.reportHubId,!u.isRead,u.date)}catch{}},[a]);return zi(()=>{if(!(r&&e&&!e.isRead&&!t)||i.current===e.reportHubId)return;let u=null,d=()=>{u!==null&&clearTimeout(u),u=o.isDwelling()?setTimeout(()=>l(e,!0),500):null};d();let p=o.subscribe(d);return()=>{p(),u!==null&&clearTimeout(u)}},[e,t,r,l,o]),{handleToggleRead:l}},qi="article",jh=["article","relations"],Gh=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},qh=I("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",dt),Yh=9,Xh=.875,Qh=16,Lu=4*Math.ceil((2*_t+2*On+2*ps+Yh*Xh*Qh)/4),wu=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=B(),a=Tu(),i=Tu(),[s,l]=xu(qi),{selected:u,settled:d}=Fh(pa),p=Sn(e,u),m=Sn(e,Bh(d)),g=p===null?null:p.reportHubId,T=(m===null?null:m.reportHubId)===g,[v]=xu(()=>Gi(T));return ji(()=>{v.set(T)},[v,T]),U("aside",{"data-testid":"daily-report-side-pane","data-report-id":p?.reportHubId,"data-displayed-report-id":m?.reportHubId,"aria-busy":T?void 0:!0,className:qh,children:m===null?U("div",{className:I("flex h-full flex-1 items-center justify-center text-center",pr),children:U("p",{className:Un,children:o.selectPrompt})}):U(fa,{item:m,headingId:a,authorId:i,activeTab:s,onActiveTabChange:l,autoMarkRead:t,isActive:!0,dwell:v,userId:r,onReportDeleted:n},m.reportHubId)})},fa=Hh(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:l,onReportDeleted:u})=>{let{draftLabelName:d,labels:p,sourceTypeConfigs:m,headingLevel:g}=B(),{report:y,error:T,isLoading:v}=Xt(e.reportHubId,e.businessDate),c=Mt(),h=Lo(e.reportHubId),E=h==="editing"||h==="automatic",S=Tn(null),x=Tn(null),N=Tn(!1),O=Tn(!1),C=!!(l&&y?.userId===l),w=y?.labels.some(q=>q.name===d);zi(()=>{y!==null&&(C&&w&&h==="display"?c.open(e.reportHubId,Tr(y),!0):!w&&h==="automatic"&&c.discard(e.reportHubId))},[y,C,w,h,c,e.reportHubId]);let V=Au(()=>y===null?void 0:()=>{N.current=!0,c.open(e.reportHubId,Tr(y),!1)},[c,e.reportHubId,y]),H=ir(()=>{O.current=!0,c.dismiss(e.reportHubId)},[c,e.reportHubId]),J=ir(()=>{O.current=!0,c.discard(e.reportHubId)},[c,e.reportHubId]),F=ir(q=>{q===null||!N.current||(N.current=!1,q.focus())},[]),oe=ir(q=>{q===null||!O.current||(O.current=!1,q.focus())},[]),le=ir(()=>{x.current?.focus({preventScroll:!0})},[]);ji(()=>{E||!O.current||(O.current=!1,x.current?.focus())},[E]);let X=ir(()=>{setTimeout(()=>{let q=S.current;q!==null&&q.scrollTo({top:q.scrollHeight,behavior:Ml(q)})},100)},[]),W=fe(e.businessDate),z=y===null?null:be(y.employeeName),ne=v||!y,ve=y===null?void 0:qt(y.sourceType,m);return Tt(eS,{children:[Tt("div",{className:Kh,children:[U("dl",{className:"m-0",children:U(he,{label:p.businessDate,classNames:Uh,children:U(je,{ref:x,level:g,id:t,tabIndex:-1,className:$h,children:W})})}),Tt("div",{className:"flex min-h-4 items-center gap-1 text-slate-500 text-xs dark:text-slate-300",children:[U("dl",{className:"m-0",children:U(he,{label:p.author,classNames:Wh,valueId:r,children:ne?U("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):z})}),ve?U(Dr,{config:ve,className:"ml-2"}):null]})]}),Tt(En,{value:n,onValueChange:q=>o(Gh(q)),className:"flex min-h-0 flex-1 flex-col",children:[U("div",{className:Ta,children:U(vn,{"aria-label":p.reportTabList,className:I(Is,"grid grid-cols-2 gap-1"),children:jh.map(q=>U(In,{value:q,children:q==="article"?p.tabArticle:p.tabRelations},q))})}),U(Lr,{ref:S,value:"article",className:Cu,children:E?y?U(qo,{report:y,onCancel:H,onPublishSuccess:J,titleInputRef:F}):U("p",{className:pr,children:p.loading}):U(Jh,{report:y,sourceConfig:ve,isLoading:v,error:T,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:X,userId:l,onEdit:C?V:void 0,editButtonRef:oe,onReportDeleted:u,onCommentSectionRemoved:le})}),U(Lr,{value:"relations",className:Cu,children:U("p",{className:pr,children:p.relationsEmpty})})]})]})});fa.displayName="DailyReportSidePaneContent";var ma=({className:e="w-32"})=>U("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),Zh=["w-full","w-11/12","w-4/5"],Jh=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:i=!0,dwell:s,onCommentAdded:l,userId:u,onEdit:d,editButtonRef:p,onReportDeleted:m,onCommentSectionRemoved:g})=>{let{toggleStar:y,toggleRead:T,deleteReport:v}=He(),{labels:c,headingLevel:h}=B(),E=Pt[h],{handleToggleRead:S}=zh(e,r,a,i,s,T),x=e!==null&&Xn(e.sourceType,t),N=Au(()=>e?.content?e.content.replace(/<br\s*\/?\s*>/gi,`
5
5
  `).replace(/<\/p>/gi,`
6
- `).replace(/<[^>]+>/g,""):null,[e]),W=async H=>{try{await f(H.reportHubId,!H.isStarred,H.date)}catch{}},M=async H=>{if(confirm(l.confirmDelete)){try{await h(H.reportHubId,H.date)}catch{alert(l.deleteFailed);return}b(H.reportHubId)}};if(n)return U("p",{className:hr,children:l.reportLoadFailed(o.reportHubId)});let V=!e,G=!!(m&&e?.userId===m);return nt("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:c,children:[nt("div",{className:"flex items-start gap-2",children:[U("dl",{className:"m-0 flex min-w-0 flex-1",children:U(de,{label:l.subject,classNames:Ky,children:V?U(cr,{className:"w-3/4"}):U("span",{className:"text-sm",children:le(e?.subject)})})}),!V&&e&&nt("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[U("button",{type:"button",onClick:()=>W(e),className:we,title:e.isStarred?l.starRemove:l.starAdd,"aria-label":e.isStarred?l.starRemove:l.starAdd,"data-detail-star-button":e.reportHubId,children:U(nr,{filled:e.isStarred})}),U("button",{type:"button",onClick:()=>C(e,!1),className:we,title:e.isRead?l.markUnread:l.markRead,"aria-label":e.isRead?l.markUnread:l.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?U(Hy,{className:he.read}):U(ar,{})}),c&&U("button",{ref:p,type:"button",onClick:c,"data-detail-edit-button":e.reportHubId,className:we,title:l.edit,"aria-label":l.edit,children:U(Fy,{className:he.edit})}),G&&U("button",{type:"button",onClick:()=>M(e),"data-detail-delete-button":e.reportHubId,className:we,title:l.deleteReport,"aria-label":l.deleteReport,children:U(By,{className:he.delete})})]})]}),U("dl",{className:"m-0",children:U(de,{label:l.customer,classNames:Tc,children:V?U(cr,{className:"w-1/2"}):U("span",{className:"text-sm",children:le(e?.customerName)})})}),nt("div",{className:"flex flex-col gap-2",children:[U(He,{level:T,className:it,children:l.content}),U("div",{className:R("min-h-22",un),children:V?nt("div",{className:"space-y-2",children:[U(cr,{className:"w-full"}),U(cr,{className:"w-11/12"}),U(cr,{className:"w-4/5"})]}):O?U("div",{className:"whitespace-pre-wrap",children:O}):U("p",{className:"text-slate-500 dark:text-slate-400",children:l.contentEmpty})})]}),U("dl",{className:"m-0",children:U(de,{label:l.visitTime,classNames:Tc,children:V?U(cr,{className:"w-1/3"}):nt("span",{className:"text-sm",children:[le(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",le(e?.visitTimeTo)]})})}),e&&U(mo,{attachments:e.attachments}),e&&U(Wr,{report:e,userId:m,canComment:P,onCommentAdded:d,onSectionRemoved:S,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};import{jsx as $t,jsxs as Lc}from"react/jsx-runtime";var cR="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]",uR={right:"var(--aqdr-overlay-right, 0px)"},mR="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",pR=R("relative ml-auto flex h-full w-full max-w-full touch-none shadow-xl motion-safe:transition-[transform] motion-safe:duration-200 motion-safe:ease-out",Mi),fR=R("inline-flex h-9 touch-manipulation items-center rounded-full border border-slate-300 border-solid px-[15px] font-medium text-slate-600 text-sm shadow-sm hover:bg-slate-100 dark:border-slate-600 dark:text-slate-200 dark:hover:bg-slate-800",X),bR=50,wc=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=Uo(!1),[d,m]=Uo(!1),c=ot(null),p=ot(null),b=ot(null),S=ot(e),f=ot(!0),E=Zr(r,t),h=Bo(()=>{let C=o.current;if(C===null)return;let P=C.ownerDocument.body;b.current={body:P,overflow:P.style.overflow},P.style.overflow="hidden"},[o]),l=Bo(()=>{let C=b.current;C!==null&&(C.body.style.overflow=C.overflow,b.current=null)},[]);ur(()=>{if(f.current){f.current=!1,S.current=e;return}let C=!S.current;S.current=e,C&&e&&a!==null?s(!0):!e&&i&&(p.current=a,s(!1),l())},[e,a,i,l]);let g=e&&i&&E!==null;ur(()=>{if(g)m(!0);else{let C=setTimeout(()=>m(!1),300);return()=>clearTimeout(C)}},[g]),ur(()=>{if(e&&i&&a!==null&&!c.current){let C=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:C},"",window.location.href),c.current=C}else!(e&&i)&&c.current&&(c.current=null);return e&&i?h():l(),l},[e,i,a,h,l]),ur(()=>{let C=()=>{c.current&&(p.current=a,c.current=null,s(!1),n(null))};return window.addEventListener("popstate",C),()=>window.removeEventListener("popstate",C)},[a,n]);let T=Bo(()=>{e&&(p.current=a,s(!1),n(null),c.current&&(c.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:i,setIsMobileDetailOpen:s,isOverlayMounted:d,shouldShowOverlay:g,handleOverlayClose:T,lastClosedItemIdRef:p,selectedItem:E}},Nc=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=B(),s=ot(null),d=ci(),m=ci(),[c,p]=Uo(di),b=aR(),S=ci(),f=ot(!1),E=ot(e),h=ot(null),[l]=Uo(()=>li(e)),{isBlocked:g,requestBlock:T,reset:C}=iR(),P=dR(e,t),{overlayRef:O,overlayStyle:W,attemptClose:M,isSwiping:V}=sR({isOpen:e,onClose:r,isCloseBlocked:Bo(()=>g,[g]),skipWhenTextSelected:!0}),G=ot(M);_c(()=>{G.current=M,E.current=e,l.set(e)},[M,e,l]),ur(()=>{if(e)return b({id:S,onEscape:q=>Vr(q)&&G.current()})},[e,b,S]),_c(()=>{let q=s.current;if(q===null)return;if(e){if(f.current)return;q.showModal(),f.current=!0,q.ownerDocument.getElementById(d)?.focus();return}if(!f.current)return;f.current=!1;let K=Ne(q);K!==null&&q.contains(K)&&ya(K)&&K.blur(),q.close()},[e,d]),ur(()=>{e||C()},[e,C]);let H=lR(()=>M()),J=q=>{let K=po(q);if(Vr(K)){M()&&q.preventDefault();return}if(K.key==="Escape"){h.current=q.timeStamp;return}let ye=od(K,q.currentTarget);ye!==null&&(q.preventDefault(),ye.kind==="wrap"&&ye.element.focus())},F=q=>{q.preventDefault();let K=h.current;h.current=null,!(K!==null&&q.timeStamp-K<=bR)&&G.current()},se=q=>{let K=q.currentTarget;K.open||!E.current||(f.current=!1,!G.current()&&(K.showModal(),f.current=!0))};return P?Lc("dialog",{ref:s,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${d} ${m}`,tabIndex:-1,className:R(cR,e&&!V?"pointer-events-auto":"pointer-events-none"),style:uR,inert:!e,onKeyDown:J,onCancel:F,onClose:se,children:[$t("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:R(mR,e?"opacity-100":"opacity-0"),...H}),$t("div",{ref:O,"data-daily-report-overlay-panel":"",className:R(pR,e?"pointer-events-auto":"pointer-events-none"),style:W,children:Lc("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[$t(oR.Provider,{value:{isBlocked:g,requestBlock:T},children:$t("div",{"data-testid":"daily-report-side-pane","data-report-id":P.reportHubId,"data-displayed-report-id":P.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:$t(Fo,{item:P,headingId:d,authorId:m,activeTab:c,onActiveTabChange:p,autoMarkRead:n,isActive:e,dwell:l,userId:o,onReportDeleted:a},P.reportHubId)})}),$t("div",{className:"flex justify-start",children:$t("button",{type:"button","data-overlay-interactive":"true",className:fR,onClick:()=>M(),children:i.close})})]})})]}):null};import _R from"lucide-react/dist/esm/icons/check.js";import{createContext as LR,memo as Hc,useCallback as wR,useContext as pr,useEffect as NR,useId as nn,useMemo as Fc,useRef as OR}from"react";import{createContext as yR,createElement as RR,useLayoutEffect as gR,useMemo as hR,useRef as SR,useState as vR}from"react";var ER=6.75,TR=4,IR=1e-6,xR=e=>4*Math.ceil((2*ht+2*cn+TR+ER*e-IR)/4),Vo=yR(null),CR="data-daily-report-root-font-size-probe",AR={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},DR=e=>{let t=Ae(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])},Oc=()=>{let e=SR(null),[t,r]=vR(null);gR(()=>{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=xR(DR(o));d!==a&&(a=d,r(d))};i();let s=new ResizeObserver(i);return s.observe(o),()=>s.disconnect()},[]);let n=hR(()=>RR("div",{ref:e,"aria-hidden":!0,[CR]:"",style:AR}),[]);return{rowSlotHeight:t,remProbe:n}};import{jsx as Y,jsxs as fr}from"react/jsx-runtime";var MR=R(St,ln,dn,sn),PR=R("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",tt,mn,vi),kR="min-w-24",HR="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",FR={touchAction:"manipulation"},BR=R("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",kR),UR=R("relative z-10",we),VR=R("flex h-full",tt),WR="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",mr="h-4 rounded bg-slate-200 dark:bg-slate-700",KR=()=>Y("div",{"data-skeleton":!0,...Pe,className:VR,children:fr("div",{className:WR,children:[fr("div",{className:"flex flex-wrap items-center gap-2",children:[Y("div",{className:R(mr,"w-24")}),Y("div",{className:R(mr,"w-24")}),Y("div",{className:R(mr,"w-24")})]}),fr("div",{className:"space-y-2",children:[Y("div",{className:R(mr,"w-full")}),Y("div",{className:R(mr,"w-11/12")}),Y("div",{className:R(mr,"w-5/6")})]})]})}),zR=e=>{e.target===e.currentTarget&&e.preventDefault()},$R="h-full w-full",Bc=LR(!1),Mc=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=pr(dt),a=pr(lt),i=pr(Vo);if(i===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let s=Fc(()=>({height:i}),[i]),{isCurrent:d,isTabStop:m}=Lo(t,e),c=wo(t,e,o);return Y(Pr.Provider,{value:m,children:Y(Bc.Provider,{value:d,children:Y("div",{ref:r?.focusTargetRef,role:"listitem","data-daily-report-row":e,"aria-posinset":o+1,"aria-setsize":a,"aria-label":r?.label,"aria-busy":r?.isBusy||!c?!0:void 0,"aria-current":r!==null&&d?"true":void 0,tabIndex:r===null?-1:void 0,className:MR,style:s,onMouseDown:zR,children:c?n:Y("div",{...Pe,className:$R})})})})},jR=/(<br\s*\/?\s*>|<\/p>|\r?\n)|<[^>]+>/gi,GR=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(jR))if(r+=e.slice(n,a.index),n=a.index+a[0].length,a[1]!==void 0&&(o(),t.length===is))return t;return r+=e.slice(n),o(),t},YR=({id:e})=>{let{labels:t}=B(),r=pr(dt),n=pr(lt);return Y("span",{id:e,hidden:!0,children:n===Cr?t.listRowPositionInUnknownTotal(r+1):t.listRowPosition(r+1,n)})},qR=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=pr(Bc);return Y("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:BR,children:o})},Pc=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=tr();return Y("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:UR,children:n})},Uc=Hc(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=B(),{toggleStar:i,toggleRead:s}=Te(),d=nn(),m=nn(),c=nn(),p=nn(),b=nn(),S=Fc(()=>GR(t.content??null),[t.content]),f=le(t.employeeName),E=ie(e.businessDate),h=W=>{W.currentTarget.focus({preventScroll:!0});let M=Ls(W.currentTarget);M!==null&&r(e.reportHubId,M)},l=async()=>{let W=!t.isStarred;try{await i(t.reportHubId,W,t.date)}catch{}},g=async()=>{let W=!t.isRead;try{await s(t.reportHubId,W,t.date)}catch{}},T=t.isStarred?o.starRemove:o.starAdd,C=t.isRead?o.markUnread:o.markRead,P=kt(t.sourceType,a),O=[d,c,...t.attachments.length>0?[p]:[],...P===void 0?[]:[b],m].join(" ");return fr("div",{"data-daily-report-card":!0,...Pe,style:FR,className:PR,children:[Y(YR,{id:d}),Y("span",{id:c,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),fr(qR,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:O,onClick:h,children:[Y("span",{className:R(Ce,"shrink-0 bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:Y("span",{className:"whitespace-nowrap font-medium text-slate-900 dark:text-slate-100",children:E})})," ",Y("span",{className:R(Ce,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:Y("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:f})})]}),fr("div",{className:R(Ii,"ml-auto"),children:[Y(Sr,{id:p,count:t.attachments.length,label:o.attachments}),P?Y(or,{id:b,config:P}):null,Y(Pc,{label:T,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:l,children:Y(nr,{filled:t.isStarred})}),Y(Pc,{label:C,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:g,children:t.isRead?Y(_R,{className:he.read}):Y(ar,{})})]}),Y("div",{id:m,className:HR,children:S.length>0?S.map((W,M)=>Y("p",{className:"wrap-break-word line-clamp-1",children:W},M)):Y("p",{children:o.contentEmptyPreview})})]})});Uc.displayName="ListReportCard";var kc=(e,t)=>wR(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),ui=Hc(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=B(),{removeStaleItem:o}=Te(),{report:a,error:i,isLoading:s,isRefetching:d}=Ft(e.reportHubId,e.businessDate),m=OR(!1);NR(()=>{if(d){m.current=!0;return}!(a||s||i)&&m.current&&e.reportHubId>0&&o(e.reportHubId)},[a,s,d,i,e.reportHubId,o]);let c=kc(r,e.reportHubId),p=kc(r,e.reportHubId),b=(S,f)=>Y(Mc,{reportHubId:e.reportHubId,cursor:r,cardless:{label:ie(e.businessDate),isBusy:f,focusTargetRef:c},children:S});return i?b(Y("div",{...Pe,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:Y("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?b(Y(KR,{}),!0):a?Y(Mc,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:Y(Uc,{item:e,report:a,onSelect:t,focusTargetRef:p})}):b(Y("div",{...Pe,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:Y("p",{children:n.reportNotFound})}),!1)});ui.displayName="ListReportItem";import{Fragment as pg,jsx as De,jsxs as zo}from"react/jsx-runtime";var Kc={pointerDragInputs:wn,inertiaOptions:Jt(!1),wheelSpeedMultiplier:xn,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},QR={...Kc,inertiaOptions:Jt(!0)},eg=Object.freeze({value:360,unit:"pixels"}),tg=Object.freeze({value:160,unit:"pixels"}),rg=Object.freeze({value:Ac,unit:"pixels"}),ng=Object.freeze({value:520,unit:"pixels"}),og=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),ag=R("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",X),ig=R("relative w-full",Rn,bn),sg=R(We,"relative isolate overflow-hidden"),Wc="daily-report-list",lg=()=>!1,dg=e=>{let[t,r]=$o(!1);return mi(()=>{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<as)},a=new(Ae(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},pi=e=>{let t=br(null),[r,n]=$o(null),o=Bn(t),a=dg(t),{rowSlotHeight:i,remProbe:s}=Oc(),d=Qt(r),m=at(c=>(t.current=c,n(c),()=>{t.current=null,n(null)}),[]);return zo("div",{ref:m,className:pn,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:De(cg,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:d})]})},cg=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:i,rootRef:s,viewportHeight:d,rowSlotHeight:m,isContainerNarrow:c,reducedMotion:p})=>{let[b]=$o(()=>i?.current??0),S=br(null),{labels:f}=B(),E=kn(),[h]=$o(Vn),g=bc()||c,T=br(null),C=e.length,P=t===void 0?C:t,O=br(null),W=at(v=>o(v),[o]),M=at(v=>v<C?e[v]:An,[e,C]),V=at(v=>{let A=M(v.visibleStartIndex);A.reportHubId>0&&h.setLabel(ie(A.businessDate))},[M,h]),G=Ko(()=>({kind:"uniform",rowHeight:m}),[m]),H=br(e);mi(()=>{H.current=e},[e]);let{cursor:J,containerProps:F,handleRangeChange:se,handleScrollAdjust:q,attachVirtualScroll:K,handleRef:ye,scroller:re,attachScrollContainer:_e,contentProps:Me,keyboardHelp:Q,selection:je,settledSelection:Re,resolveSelectedIndex:oe,rememberSelection:ue,focusAfterRemoval:Ge}=Oo({items:e,selectedId:n,onSelect:W,containerRef:S,rootRef:s,testId:Wc,itemsRef:H,rowSizing:G,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:lg,onRangeChange:V}),{isMobileDetailOpen:Ye,setIsMobileDetailOpen:bt,isOverlayMounted:yt,shouldShowOverlay:Rt,handleOverlayClose:Qe,lastClosedItemIdRef:qe,selectedItem:Ve}=wc({isMobileLayout:g,selection:je,dailyReportItems:e,onSelectItem:o,rootRef:s}),Xe=Ko(()=>({selected:je,settled:Re}),[je,Re]);Wo(()=>{let v=S.current,A=()=>{h.setWheelScrollActive(!0),T.current&&clearTimeout(T.current),T.current=window.setTimeout(()=>{h.setWheelScrollActive(!1),T.current=null},Dn)};return v?.addEventListener("wheel",A,{passive:!0}),()=>{v?.removeEventListener("wheel",A),T.current&&clearTimeout(T.current)}},[h]),Wo(()=>{!C&&n!==null&&o(null)},[C,n,o]),Wo(()=>{if(Ye||qe.current===null)return;let v=qe.current;qe.current=null;let A=oe(e,v);if(A===-1)return;let N=ye.current;if(N!==null){let z=$r(N,A,e.length,G),me=z===null?"none":kd(z);me!=="none"&&re.toIndex(A,{align:me})}J.requestFocus(v)},[Ye,e,qe,J,oe,ye,G,re]),Wo(()=>{C>0&&h.setLabel(ie(e[0].businessDate))},[e,C,h]);let Le=at((v,A)=>{v<=0||(ue(v,A),o(v),g&&bt(!0))},[g,o,bt,ue]),I=at(()=>m,[m]),w=br(m);mi(()=>{let v=w.current;w.current=m;let A=ye.current;if(v===m||A===null)return;let N=A.getScrollPosition();N>0&&re.by(N*m/v-N)},[ye,m,re]);let u=at(v=>M(v).reportHubId,[M]),y=at((v,A)=>De(dt.Provider,{value:A,children:De(ui,{item:v,onSelect:Le,cursor:J})},v.reportHubId),[Le,J]),_=at(v=>{i&&(i.current=v);let A=S.current;A&&(A.toggleAttribute(jt,!0),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{A.toggleAttribute(jt,!1),O.current=null},150))},[i]),x=at(v=>De(Wn,{...v,store:h}),[h]),L=Ko(()=>zo("div",{ref:_e,className:sg,...F,children:[Q,De(lt.Provider,{value:P,children:De(Vo.Provider,{value:m,children:De(JR,{ref:K,itemCount:C,getItem:M,getItemKey:u,getItemHeight:I,viewportSize:d,initialScrollOffset:b,overscanCount:_n,scrollBarOptions:{...Ln,renderThumbOverlay:x},behaviorOptions:p?QR:Kc,onRangeChange:se,onScrollAdjust:q,onScroll:_,testId:Wc,className:ig,locale:E.locale,labels:E.labels,contentProps:Me,children:y})})})]}),[_e,K,F,P,C,M,u,I,d,m,p,b,x,se,q,_,Q,Me,E.locale,E.labels,y]),k=Ko(()=>zo(XR,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[De(Vc,{id:"daily-report-list-panel",defaultSize:eg,minSize:tg,maxSize:ng,contentOverflow:"hidden",className:ug,children:L}),De(ZR,{id:"daily-report-list-handle",thickness:10,indicator:og,className:ag,"aria-label":f.resizeHandle}),De(Vc,{id:"daily-report-detail-panel",minSize:rg,contentOverflow:"hidden",className:mg,children:De(Dc,{dailyReportItems:e,autoMarkRead:r,userId:a,onReportDeleted:Ge})})]}),[L,f.resizeHandle,e,r,a,Ge]);return zo(pg,{children:[De("div",{className:fn,children:g?De("div",{className:We,children:L}):De(Ho.Provider,{value:Xe,children:k})}),yt&&De(Nc,{isOpen:Rt,selectedItem:Ve,onClose:Qe,autoMarkRead:g&&r,userId:a,onReportDeleted:Ge})]})},ug=R("flex min-h-0",Ri),mg=R("flex min-h-0 flex-1",St);import{useEffect as Zc,useLayoutEffect as Ng,useRef as Og}from"react";import Rg from"lucide-react/dist/esm/icons/plus.js";import gg from"lucide-react/dist/esm/icons/refresh-cw.js";import hg from"lucide-react/dist/esm/icons/rotate-cw.js";import{useEffect as qc,useMemo as Sg,useRef as bi,useState as Go}from"react";import{useSearchParams as vg}from"react-router";import{useEffect as fg,useRef as zc,useState as bg}from"react";var $c=(e,t,r=250)=>{let n=Qt(t),[o,a]=bg(e),i=zc(e),s=zc(!0);return fg(()=>{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=Ae(t),c=0,p=null,b=S=>{p===null&&(p=S);let f=Math.min(1,Math.max(0,(S-p)/r)),E=1-(1-f)**3,h=Math.round(d+(e-d)*E);i.current=h,a(h),f<1&&(c=m.requestAnimationFrame(b))};return c=m.requestAnimationFrame(b),()=>m.cancelAnimationFrame(c)},[e,r,n,t]),n?e:o};import*as on from"@radix-ui/react-switch";import*as Gc from"react";import{jsx as jc}from"react/jsx-runtime";var jo=Gc.forwardRef(({className:e,...t},r)=>jc(on.Root,{className:R(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${Ai} ${_i} ${X}`,e),...t,ref:r,children:jc(on.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${Di} ${Li}`})}));jo.displayName=on.Root.displayName;import{useSyncExternalStore as yg}from"react";var Yc=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)})}},fi=e=>yg(e.subscribe,e.get,e.get);import{Fragment as wg,jsx as te,jsxs as ft}from"react/jsx-runtime";var Eg="list",Tg=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},Ig=R(Ni,Fi,"ml-[8px] flex flex-wrap items-center gap-2"),Xc="relative h-4 w-4 p-0 after:absolute after:-inset-1",xg="flex items-center gap-2",Cg=({count:e})=>{let{labels:t}=B(),[r,n]=Go(null),o=$c(e,r);return te(Po,{ref:n,text:t.totalCount(o),widestText:t.totalCount(qr(Math.max(e,o)))})},Ag=({setSize:e})=>{let{labels:t}=B();return e===Cr?te("span",{children:t.totalCountLoading}):te(Cg,{count:e})},Dg=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let i=fi(e);return te(pi,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:i,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},_g=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=fi(e);return te(ai,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},Lg=({tabItems:e,actions:t})=>{let[r,n]=Go(Eg),{labels:o}=B();return ft(Qr,{value:r,onValueChange:a=>n(Tg(a)),className:R("@container/views",We),children:[ft("div",{className:R(Ig,Bi[r]),children:[te(en,{"aria-label":o.viewTabList,className:"flex flex-wrap gap-1",children:e.map(({value:a,label:i})=>te(tn,{value:a,children:i},a))}),t]}),e.map(({value:a,content:i})=>te(dr,{value:a,className:R("mt-0",We),children:i},a))]})},yi=({userId:e})=>{let[t,r]=Go(!1),{labels:n,renderHeader:o,showDevControls:a}=B(),{toggleSse:i,createReport:s,refetchData:d,clearCacheAndRefetch:m}=Te(),{isSseEnabled:c,items:p}=lo(),[b]=vg(),S=Os(p.length,Js()),f=bi(0),E=bi({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[h]=Go(()=>Yc(p.length===0?null:p[0].reportHubId)),l=bi(!1);qc(()=>{!l.current&&p.length>0&&(l.current=!0,h.get()===null&&h.set(p[0].reportHubId))},[p,h]);let g=async()=>{await d()},T=async()=>{await m()},C=async()=>{let M=b.get("businessDate")||Qo(),V=await s(M);h.set(V)};qc(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let P=W=>{r(W),localStorage.setItem("daily-report-auto-read",String(W))},O=Sg(()=>[{value:"list",label:n.tabList,content:te(Dg,{selectionStore:h,dailyReportItems:p,rowSetSize:S,autoMarkRead:t,userId:e,scrollOffsetRef:f})},{value:"tree",label:n.tabTree,content:te("div",{className:R("flex flex-1 items-center justify-center",Gt),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:te(_g,{selectionStore:h,dailyReportItems:p,rowSetSize:S,userId:e,scrollRestoreRef:E})}],[p,S,t,e,n,h]);return ft(wg,{children:[o({title:n.title,annotation:ft("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[te(Xr,{}),te(Ag,{setSize:S}),te("span",{children:n.debounce(qt)})]})}),te("div",{className:Rr,children:te("div",{className:gr,children:te(Lg,{tabItems:O,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:[te(Rg,{className:"h-3 w-3"}),te("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:[te("span",{className:"select-none font-bold font-mono text-amber-800 text-xs uppercase dark:text-amber-200",children:"dev"}),te(jo,{id:"sse-mode","aria-label":n.devSseToggle,title:n.devSseToggle,checked:c,onCheckedChange:i}),ft("div",{className:xg,"data-testid":"dev-icon-buttons",children:[te(ut,{variant:"ghost",size:"icon",onClick:g,className:R(Xc,"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:te(hg,{className:"size-3"})}),te(ut,{variant:"ghost",size:"icon",onClick:T,className:R(Xc,"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:te(gg,{className:"size-3"})})]})]}),ft("div",{className:"flex items-center gap-1 pl-1",title:n.autoReadTitle,children:[te(jo,{id:"auto-read-mode",checked:t,onCheckedChange:P}),te(Kr,{htmlFor:"auto-read-mode",className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:n.autoRead})]})]})})})})]})};import{Fragment as eu,jsx as be,jsxs as Yo}from"react/jsx-runtime";var Jc=R(We,St),Qc=R("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",tt),Mg=()=>{let{labels:e,renderHeader:t}=B();return Yo(eu,{children:[t({title:e.title,annotation:be("span",{className:R("font-bold",hr),children:e.loadErrorBadge})}),be("div",{className:Rr,children:be("div",{className:gr,children:be("div",{className:Jc,children:Yo("div",{className:R(Qc,"border-red-200 dark:border-red-900"),children:[be("p",{className:R("font-medium",hr),children:e.loadError}),be("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:()=>qn(),className:R("rounded bg-slate-100 px-4 py-2 text-slate-700 text-sm hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-300 dark:hover:bg-slate-700",X),children:e.reload})]})})})})]})},Pg=()=>{let{labels:e,renderHeader:t}=B();return Yo(eu,{children:[t({title:e.title,annotation:Yo("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[be(Xr,{}),be("span",{children:e.totalCountLoading}),be("span",{children:e.debounce(qt)})]})}),be("div",{className:Rr,children:be("div",{className:gr,children:be("div",{className:Jc,children:be("div",{className:Qc,children:e.loadingIds})})})})]})},kg=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=B(),o=Jn(),a=Og(n);Ng(()=>{a.current=n}),Zc(()=>{Lr({apiBasePath:r,userKey:t??null})},[r,t]),Zc(()=>{o.phase==="auth-required"&&a.current()},[o.phase]);let i=o.hasItems||o.phase==="complete";return be(La,{children:be(Ma,{user:e,userId:t,children:i?be(yi,{userId:t}):o.phase==="failed"?be(Mg,{}):be(Pg,{})},t??"anonymous")})},Hg=({config:e,...t})=>be(sa,{config:e,children:be(kg,{...t})});var Fg=new Set(Bs.filter(e=>e!=="clearCache")),Bg=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:i,formMethod:s,json:d,nextUrl:m,text:c})=>{if(!n)return!1;if(!(r.pathname===m.pathname&&r.search===m.search&&r.hash===m.hash))return n;if(a){let S=a.get(ke.intent);if(typeof S=="string"&&Fg.has(S))return!1}return e!==void 0||t!==void 0||o!==void 0||a!==void 0||i!==void 0||s!==void 0||d!==void 0||c!==void 0?n:!1},Ug=e=>{let t=async r=>{Ta();let n=await r.serverLoader(),o=n.userId;return Ea({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};export{Ji as DAILY_REPORT_LABEL_CATALOGS,ra as DAILY_REPORT_LABEL_KEYS,Vu as DAILY_REPORT_LAYOUT_LATTICE_PX,Ma as DailyReportActionProvider,Sr as DailyReportAttachmentIndicator,sa as DailyReportConfigProvider,ai as DailyReportDetailList,La as DailyReportErrorProvider,Dr as DailyReportIdsStreamClient,Xr as DailyReportIdsStreamStatus,pi as DailyReportList,Hg as DailyReportPage,yi as DailyReportResolvedContent,Ea as bootstrapDailyReportIdsStreamSession,Ug as createDailyReportClientLoader,Bg as dailyReportShouldRevalidate,vr as defaultDailyReportClientConfig,Lr as ensureDailyReportIdsStreamSession,Ta as primeDailyReportIdsStreamSession,aa as resolveDailyReportLabels,kt as resolveSourceTypeConfig,Xn as resyncDailyReportIdsStream,Sp as useDailyReportActionContext,$a as useDailyReportComments,B as useDailyReportConfig,Ft as useDailyReportDetail,Vm as useDailyReportIdsStream,pa as useDailyReportPrefetch,Da as useDailyReportSseConnection};
6
+ `).replace(/<[^>]+>/g,""):null,[e]),O=async H=>{try{await y(H.reportHubId,!H.isStarred,H.date)}catch{}},C=async H=>{if(confirm(c.confirmDelete)){try{await v(H.reportHubId,H.date)}catch{alert(c.deleteFailed);return}m(H.reportHubId)}};if(n)return U("p",{className:Pr,children:c.reportLoadFailed(o.reportHubId)});let w=!e,V=!!(u&&e?.userId===u);return Tt("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:d,children:[Tt("div",{className:"flex items-start gap-2",children:[U("dl",{className:"m-0 flex min-w-0 flex-1",children:U(he,{label:c.subject,classNames:Vh,children:w?U(ma,{className:"w-3/4"}):U("span",{className:"text-sm",children:be(e?.subject)})})}),!w&&e&&Tt("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[U("button",{type:"button",onClick:()=>O(e),className:Pe,title:e.isStarred?c.starRemove:c.starAdd,"aria-label":e.isStarred?c.starRemove:c.starAdd,"data-detail-star-button":e.reportHubId,children:U(xr,{filled:e.isStarred})}),U("button",{type:"button",onClick:()=>S(e,!1),className:Pe,title:e.isRead?c.markUnread:c.markRead,"aria-label":e.isRead?c.markUnread:c.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?U(Mh,{className:_e.read}):U(Cr,{})}),d&&U("button",{ref:p,type:"button",onClick:d,"data-detail-edit-button":e.reportHubId,className:Pe,title:c.edit,"aria-label":c.edit,children:U(Ph,{className:_e.edit})}),V&&U("button",{type:"button",onClick:()=>C(e),"data-detail-delete-button":e.reportHubId,className:Pe,title:c.deleteReport,"aria-label":c.deleteReport,children:U(kh,{className:_e.delete})})]})]}),U("dl",{className:"m-0",children:U(he,{label:c.customer,classNames:Du,children:w?U(ma,{className:"w-1/2"}):U("span",{className:"text-sm",children:be(e?.customerName)})})}),Tt("div",{className:"flex flex-col gap-2",children:[U(je,{level:E,className:yt,children:c.content}),U("div",{className:I(ms,Mn),children:w?Zh.map(H=>U("div",{className:fs,children:U(ma,{className:H})},H)):N?U("div",{className:"whitespace-pre-wrap",children:N}):U("p",{className:"text-slate-500 dark:text-slate-400",children:c.contentEmpty})})]}),U("dl",{className:"m-0",children:U(he,{label:c.visitTime,classNames:Du,children:w?U(ma,{className:"w-1/3"}):Tt("span",{className:"text-sm",children:[be(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",be(e?.visitTimeTo)]})})}),e&&U(Wo,{attachments:e.attachments}),e&&U(cn,{report:e,userId:u,canComment:x,onCommentAdded:l,onSectionRemoved:g,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};import{jsx as Wt,jsxs as Nu}from"react/jsx-runtime";var sS="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]",lS={right:"var(--aqdr-overlay-right, 0px)"},dS="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",cS=I("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",Cs),uS=I("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),pS="flex shrink-0 justify-center empty:hidden",mS=50,Ou=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=ba(!1),[l,u]=ba(!1),d=at(null),p=at(null),m=at(null),g=at(e),y=at(!0),T=Sn(r,t),v=ya(()=>{let S=o.current;if(S===null)return;let x=S.ownerDocument.body;m.current={body:x,overflow:x.style.overflow},x.style.overflow="hidden"},[o]),c=ya(()=>{let S=m.current;S!==null&&(S.body.style.overflow=S.overflow,m.current=null)},[]);wr(()=>{if(y.current){y.current=!1,g.current=e;return}let S=!g.current;g.current=e,S&&e&&a!==null?s(!0):!e&&i&&(p.current=a,s(!1),c())},[e,a,i,c]);let h=e&&i&&T!==null;wr(()=>{if(h)u(!0);else{let S=setTimeout(()=>u(!1),300);return()=>clearTimeout(S)}},[h]),wr(()=>{if(e&&i&&a!==null&&!d.current){let S=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:S},"",window.location.href),d.current=S}else!(e&&i)&&d.current&&(d.current=null);return e&&i?v():c(),c},[e,i,a,v,c]),wr(()=>{let S=()=>{d.current&&(p.current=a,d.current=null,s(!1),n(null))};return window.addEventListener("popstate",S),()=>window.removeEventListener("popstate",S)},[a,n]);let E=ya(()=>{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:E,lastClosedItemIdRef:p,selectedItem:T}},Mu=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=B(),{registerNoticeHost:s}=Oo(),l=at(null),u=at(null),d=Yi(),p=Yi(),[m,g]=ba(qi),y=rS(),T=Yi(),v=at(!1),c=at(e),h=at(null),[E]=ba(()=>Gi(e)),{isBlocked:S,requestBlock:x,reset:N}=nS(),O=iS(e,t),{overlayRef:C,overlayStyle:w,attemptClose:V,isSwiping:H}=oS({isOpen:e,onClose:r,isCloseBlocked:ya(()=>S,[S]),skipWhenTextSelected:!0}),J=at(V);Xi(()=>{J.current=V,c.current=e,E.set(e)},[V,e,E]),wr(()=>{if(e)return y({id:T,onEscape:W=>St(W)&&J.current()})},[e,y,T]),Xi(()=>{let W=l.current;if(W===null)return;if(e){if(v.current)return;W.showModal(),v.current=!0,W.ownerDocument.getElementById(d)?.focus();return}if(!v.current)return;v.current=!1;let z=Te(W);z!==null&&W.contains(z)&&Wr(z)&&z.blur(),W.close()},[e,d]),Xi(()=>{let W=u.current;if(!(!e||W===null))return s(W)},[e,s]),wr(()=>{e||N()},[e,N]);let F=aS(()=>V()),oe=W=>{let z=gr(W);if(St(z)){V()&&W.preventDefault();return}if(z.key==="Escape"){h.current=W.timeStamp;return}let ne=ud(z,W.currentTarget);ne!==null&&(W.preventDefault(),ne.kind==="wrap"&&ne.element.focus())},le=W=>{W.preventDefault();let z=h.current;h.current=null,!(z!==null&&W.timeStamp-z<=mS)&&J.current()},X=W=>{let z=W.currentTarget;z.open||!c.current||(v.current=!1,!J.current()&&(z.showModal(),v.current=!0))};return O?Nu("dialog",{ref:l,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${d} ${p}`,tabIndex:-1,className:I(sS,e&&!H?"pointer-events-auto":"pointer-events-none"),style:lS,inert:!e,onKeyDown:oe,onCancel:le,onClose:X,children:[Wt("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:I(dS,e?"opacity-100":"opacity-0"),...F}),Wt("div",{ref:C,"data-daily-report-overlay-panel":"",className:I(cS,e?"pointer-events-auto":"pointer-events-none"),style:w,children:Nu("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[Wt(tS.Provider,{value:{isBlocked:S,requestBlock:x},children:Wt("div",{"data-testid":"daily-report-side-pane","data-report-id":O.reportHubId,"data-displayed-report-id":O.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:Wt(fa,{item:O,headingId:d,authorId:p,activeTab:m,onActiveTabChange:g,autoMarkRead:n,isActive:e,dwell:E,userId:o,onReportDeleted:a},O.reportHubId)})}),Wt("div",{ref:u,"data-daily-report-notice-slot":"","data-overlay-interactive":"true",className:pS}),Wt("div",{className:"flex justify-start",children:Wt("button",{type:"button","data-overlay-interactive":"true",className:uS,onClick:()=>V(),children:i.close})})]})})]}):null};import CS from"lucide-react/dist/esm/icons/check.js";import{createContext as AS,memo as Bu,useCallback as _S,useContext as Or,useEffect as LS,useId as xn,useMemo as Vu,useRef as wS}from"react";import{createContext as fS,createElement as yS,useLayoutEffect as bS,useMemo as RS,useRef as hS,useState as SS}from"react";var gS=6.75,ES=4,vS=1e-6,IS=e=>4*Math.ceil((2*_t+2*On+ES+gS*e-vS)/4),Ra=fS(null),TS="data-daily-report-root-font-size-probe",xS={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},DS=e=>{let t=Ve(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])},Pu=()=>{let e=hS(null),[t,r]=SS(null);bS(()=>{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=IS(DS(o));l!==a&&(a=l,r(l))};i();let s=new ResizeObserver(i);return s.observe(o),()=>s.disconnect()},[]);let n=RS(()=>yS("div",{ref:e,"aria-hidden":!0,[TS]:"",style:xS}),[]);return{rowSlotHeight:t,remProbe:n}};import{jsx as Y,jsxs as Mr}from"react/jsx-runtime";var NS=I(wt,wn,Nn,Ln),OS=I("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",dt,Pn,us),MS="min-w-24",PS="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",kS={touchAction:"manipulation"},HS=I("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",MS),FS=I("relative z-10",Pe),BS=I("flex h-full",dt),VS="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",Nr="h-4 rounded bg-slate-200 dark:bg-slate-700",US=()=>Y("div",{"data-skeleton":!0,...$e,className:BS,children:Mr("div",{className:VS,children:[Mr("div",{className:"flex flex-wrap items-center gap-2",children:[Y("div",{className:I(Nr,"w-24")}),Y("div",{className:I(Nr,"w-24")}),Y("div",{className:I(Nr,"w-24")})]}),Mr("div",{className:"space-y-2",children:[Y("div",{className:I(Nr,"w-full")}),Y("div",{className:I(Nr,"w-11/12")}),Y("div",{className:I(Nr,"w-5/6")})]})]})}),WS=e=>{e.target===e.currentTarget&&e.preventDefault()},KS="h-full w-full",Uu=AS(!1),ku=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=Or(ht),a=Or(Rt),i=Or(Ra);if(i===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let s=Vu(()=>({height:i}),[i]),{isCurrent:l,isTabStop:u}=aa(t,e),d=ia(t,e,o);return Y(on.Provider,{value:u,children:Y(Uu.Provider,{value:l,children:Y("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:NS,style:s,onMouseDown:WS,children:d?n:Y("div",{...$e,className:KS})})})})},$S=/(<br\s*\/?\s*>|<\/p>|\r?\n)|<[^>]+>/gi,zS=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($S))if(r+=e.slice(n,a.index),n=a.index+a[0].length,a[1]!==void 0&&(o(),t.length===rl))return t;return r+=e.slice(n),o(),t},jS=({id:e})=>{let{labels:t}=B(),r=Or(ht),n=Or(Rt);return Y("span",{id:e,hidden:!0,children:n===$r?t.listRowPositionInUnknownTotal(r+1):t.listRowPosition(r+1,n)})},GS=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=Or(Uu);return Y("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:HS,children:o})},Hu=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=Ir();return Y("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:FS,children:n})},Wu=Bu(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=B(),{toggleStar:i,toggleRead:s}=He(),l=xn(),u=xn(),d=xn(),p=xn(),m=xn(),g=Vu(()=>zS(t.content??null),[t.content]),y=be(t.employeeName),T=fe(e.businessDate),v=O=>{O.currentTarget.focus({preventScroll:!0});let C=Al(O.currentTarget);C!==null&&r(e.reportHubId,C)},c=async()=>{let O=!t.isStarred;try{await i(t.reportHubId,O,t.date)}catch{}},h=async()=>{let O=!t.isRead;try{await s(t.reportHubId,O,t.date)}catch{}},E=t.isStarred?o.starRemove:o.starAdd,S=t.isRead?o.markUnread:o.markRead,x=qt(t.sourceType,a),N=[l,d,...t.attachments.length>0?[p]:[],...x===void 0?[]:[m],u].join(" ");return Mr("div",{"data-daily-report-card":!0,...$e,style:kS,className:OS,children:[Y(jS,{id:l}),Y("span",{id:d,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),Mr(GS,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:N,onClick:v,children:[Y("span",{className:I(Be,"shrink-0 bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:Y("span",{className:"whitespace-nowrap font-medium text-slate-900 dark:text-slate-100",children:T})})," ",Y("span",{className:I(Be,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:Y("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:y})})]}),Mr("div",{className:I(bs,"ml-auto"),children:[Y(kr,{id:p,count:t.attachments.length,label:o.attachments}),x?Y(Dr,{id:m,config:x}):null,Y(Hu,{label:E,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:c,children:Y(xr,{filled:t.isStarred})}),Y(Hu,{label:S,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:h,children:t.isRead?Y(CS,{className:_e.read}):Y(Cr,{})})]}),Y("div",{id:u,className:PS,children:g.length>0?g.map((O,C)=>Y("p",{className:"wrap-break-word line-clamp-1",children:O},C)):Y("p",{children:o.contentEmptyPreview})})]})});Wu.displayName="ListReportCard";var Fu=(e,t)=>_S(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),Qi=Bu(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=B(),{removeStaleItem:o}=He(),{report:a,error:i,isLoading:s,isRefetching:l}=Xt(e.reportHubId,e.businessDate),u=wS(!1);LS(()=>{if(l){u.current=!0;return}!(a||s||i)&&u.current&&e.reportHubId>0&&o(e.reportHubId)},[a,s,l,i,e.reportHubId,o]);let d=Fu(r,e.reportHubId),p=Fu(r,e.reportHubId),m=(g,y)=>Y(ku,{reportHubId:e.reportHubId,cursor:r,cardless:{label:fe(e.businessDate),isBusy:y,focusTargetRef:d},children:g});return i?m(Y("div",{...$e,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:Y("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?m(Y(US,{}),!0):a?Y(ku,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:Y(Wu,{item:e,report:a,onSelect:t,focusTargetRef:p})}):m(Y("div",{...$e,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:Y("p",{children:n.reportNotFound})}),!1)});Qi.displayName="ListReportItem";import{Fragment as ug,jsx as We,jsxs as ga}from"react/jsx-runtime";var zu={pointerDragInputs:oo,inertiaOptions:Rr(!1),wheelSpeedMultiplier:Zn,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},QS={...zu,inertiaOptions:Rr(!0)},ZS=Object.freeze({value:360,unit:"pixels"}),JS=Object.freeze({value:160,unit:"pixels"}),eg=Object.freeze({value:Lu,unit:"pixels"}),tg=Object.freeze({value:520,unit:"pixels"}),rg=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),ng=I("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",Q),og=I("relative w-full",Wn,Vn),ag=I(Qe,"relative isolate overflow-hidden"),$u="daily-report-list",ig=()=>!1,sg=e=>{let[t,r]=Ea(!1);return Zi(()=>{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<tl)},a=new(Ve(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},Ji=e=>{let t=sr(null),[r,n]=Ea(null),o=mo(t),a=sg(t),{rowSlotHeight:i,remProbe:s}=Pu(),l=hr(r),u=it(d=>(t.current=d,n(d),()=>{t.current=null,n(null)}),[]);return ga("div",{ref:u,className:Fn,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:We(lg,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:l})]})},lg=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:i,rootRef:s,viewportHeight:l,rowSlotHeight:u,isContainerNarrow:d,reducedMotion:p})=>{let[m]=Ea(()=>i?.current??0),g=sr(null),{labels:y}=B(),T=co(),[v]=Ea(Ro),h=hu()||d,E=sr(null),S=e.length,x=t===void 0?S:t,N=sr(null),O=it(R=>o(R),[o]),C=it(R=>R<S?e[R]:eo,[e,S]),w=sr(null),V=it(R=>{let f=C(R.visibleStartIndex);f.reportHubId>0&&(v.setLabel(fe(f.businessDate)),w.current=f.reportHubId)},[C,v]),H=it(()=>w.current,[]),J=Sa(()=>({kind:"uniform",rowHeight:u}),[u]),F=sr(e);Zi(()=>{F.current=e},[e]);let{cursor:oe,containerProps:le,handleRangeChange:X,handleScrollAdjust:W,attachVirtualScroll:z,handleRef:ne,scroller:ve,attachScrollContainer:q,contentProps:nt,keyboardHelp:Ke,selection:ye,settledSelection:De,resolveSelectedIndex:Le,rememberSelection:ie,focusAfterRemoval:Ce}=la({items:e,selectedId:n,onSelect:O,containerRef:g,rootRef:s,testId:$u,itemsRef:F,rowSizing:J,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:ig,onRangeChange:V});So({items:e,scroller:ve,readTopReportId:H});let{isMobileDetailOpen:se,setIsMobileDetailOpen:Ae,isOverlayMounted:xt,shouldShowOverlay:Dt,handleOverlayClose:Xe,lastClosedItemIdRef:lt,selectedItem:Kt}=Ou({isMobileLayout:h,selection:ye,dailyReportItems:e,onSelectItem:o,rootRef:s}),A=Sa(()=>({selected:ye,settled:De}),[ye,De]);ha(()=>{let R=g.current,f=()=>{v.setWheelScrollActive(!0),E.current&&clearTimeout(E.current),E.current=window.setTimeout(()=>{v.setWheelScrollActive(!1),E.current=null},to)};return R?.addEventListener("wheel",f,{passive:!0}),()=>{R?.removeEventListener("wheel",f),E.current&&clearTimeout(E.current)}},[v]),ha(()=>{!S&&n!==null&&o(null)},[S,n,o]),ha(()=>{if(se||lt.current===null)return;let R=lt.current;lt.current=null;let f=Le(e,R);if(f===-1)return;let _=ne.current;if(_!==null){let P=mn(_,f,e.length,J),j=P===null?"none":Hc(P);j!=="none"&&ve.toIndex(f,{align:j})}oe.requestFocus(R)},[se,e,lt,oe,Le,ne,J,ve]),ha(()=>{S>0&&v.setLabel(fe(e[0].businessDate))},[e,S,v]);let L=it((R,f)=>{R<=0||(ie(R,f),o(R),h&&Ae(!0))},[h,o,Ae,ie]),k=it(()=>u,[u]),K=sr(u);Zi(()=>{let R=K.current;K.current=u;let f=ne.current;if(R===u||f===null)return;let _=f.getScrollPosition();_>0&&ve.by(_*u/R-_)},[ne,u,ve]);let ee=it(R=>C(R).reportHubId,[C]),pe=it((R,f)=>We(ht.Provider,{value:f,children:We(Qi,{item:R,onSelect:L,cursor:oe})},R.reportHubId),[L,oe]),Me=it(R=>{i&&(i.current=R);let f=g.current;f&&(f.toggleAttribute(ur,!0),N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{f.toggleAttribute(ur,!1),N.current=null},150))},[i]),Ie=it(R=>We(ho,{...R,store:v}),[v]),b=Sa(()=>ga("div",{ref:q,className:ag,...le,children:[Ke,We(Rt.Provider,{value:x,children:We(Ra.Provider,{value:u,children:We(XS,{ref:z,itemCount:S,getItem:C,getItemKey:ee,getItemHeight:k,viewportSize:l,initialScrollOffset:m,overscanCount:ro,scrollBarOptions:{...no,renderThumbOverlay:Ie},behaviorOptions:p?QS:zu,onRangeChange:X,onScrollAdjust:W,onScroll:Me,testId:$u,className:og,locale:T.locale,labels:T.labels,contentProps:nt,children:pe})})})]}),[q,z,le,x,S,C,ee,k,l,u,p,m,Ie,X,W,Me,Ke,nt,T.locale,T.labels,pe]),D=Sa(()=>ga(qS,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[We(Ku,{id:"daily-report-list-panel",defaultSize:ZS,minSize:JS,maxSize:tg,contentOverflow:"hidden",className:dg,children:b}),We(YS,{id:"daily-report-list-handle",thickness:10,indicator:rg,className:ng,"aria-label":y.resizeHandle}),We(Ku,{id:"daily-report-detail-panel",minSize:eg,contentOverflow:"hidden",className:cg,children:We(wu,{dailyReportItems:e,autoMarkRead:r,userId:a,onReportDeleted:Ce})})]}),[b,y.resizeHandle,e,r,a,Ce]);return ga(ug,{children:[We("div",{className:Bn,children:h?We("div",{className:Qe,children:b}):We(pa.Provider,{value:A,children:D})}),xt&&We(Mu,{isOpen:Dt,selectedItem:Kt,onClose:Xe,autoMarkRead:h&&r,userId:a,onReportDeleted:Ce})]})},dg=I("flex min-h-0",ss),cg=I("flex min-h-0 flex-1",wt);import{useCallback as $g,useEffect as cp,useLayoutEffect as pp,useRef as mp,useState as as}from"react";import Dg from"lucide-react/dist/esm/icons/plus.js";import Cg from"lucide-react/dist/esm/icons/refresh-cw.js";import Ag from"lucide-react/dist/esm/icons/rotate-cw.js";import{useEffect as ns,useLayoutEffect as lp,useMemo as rs,useRef as dr,useState as cr}from"react";import{useSearchParams as _g}from"react-router";import{useEffect as pg,useRef as ju,useState as mg}from"react";var Gu=(e,t,r=250)=>{let n=hr(t),[o,a]=mg(e),i=ju(e),s=ju(!0);return pg(()=>{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 u=Ve(t),d=0,p=null,m=g=>{p===null&&(p=g);let y=Math.min(1,Math.max(0,(g-p)/r)),T=1-(1-y)**3,v=Math.round(l+(e-l)*T);i.current=v,a(v),y<1&&(d=u.requestAnimationFrame(m))};return d=u.requestAnimationFrame(m),()=>u.cancelAnimationFrame(d)},[e,r,n,t]),n?e:o};import fg from"lucide-react/dist/esm/icons/x.js";import{useEffect as qu,useId as Yu,useLayoutEffect as yg,useRef as Dn,useState as bg}from"react";import{jsx as lr,jsxs as hg}from"react/jsx-runtime";var Xu=e=>e.trim().length===0,Rg=(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 Qu({labels:e,debounceMs:t,search:r,onCommit:n,onCombineChange:o,onRelease:a,clearSignal:i}){let[s,l]=bg(""),u=Dn(null),d=Dn(null),p=Dn(!1),m=Dn(i),g=Yu(),y=Yu(),T=Dn({search:r,onCommit:n,onRelease:a});yg(()=>{T.current={search:r,onCommit:n,onRelease:a}});let v=()=>{d.current!==null&&clearTimeout(d.current),d.current=null},c=C=>{v();let w=T.current;Xu(C)?w.search.committed!==null&&w.onRelease():w.onCommit(C,w.search.combine)},h=C=>{t===null||p.current||(v(),d.current=setTimeout(()=>c(C),t))},E=()=>{v(),l(""),a(),u.current?.focus()},S=C=>{l(C.target.value),h(C.target.value)},x=C=>{let w=gr(C);if(C.key==="Enter"&&!Jt(w)){C.preventDefault(),c(s);return}St(w)&&(s.length>0||r.committed!==null)&&(C.preventDefault(),E())},N=()=>{v();let C=r.combine==="union"?"intersection":"union";Xu(s)?o(C):n(s,C),u.current?.focus()};qu(()=>{m.current!==i&&(m.current=i,d.current!==null&&clearTimeout(d.current),d.current=null,l(""))},[i]),qu(()=>()=>{d.current!==null&&clearTimeout(d.current)},[]);let O=r.combine==="intersection";return hg("search",{"data-testid":"daily-report-search",className:"flex h-8 min-w-0 items-center gap-2 px-[8px]",children:[lr("button",{type:"button","data-testid":"daily-report-search-combine","aria-describedby":g,title:O?e.searchCombineAndTitle:e.searchCombineOrTitle,onClick:N,className:I("inline-flex h-6 shrink-0 items-center rounded-full border border-solid px-[11px] font-semibold text-xs",O?"border-blue-700 bg-blue-700 text-white":"border-slate-400 bg-white text-slate-800 dark:bg-slate-900 dark:text-slate-100",Q),children:O?e.searchCombineAnd:e.searchCombineOr}),lr("input",{ref:u,type:"text","data-testid":"daily-report-search-input","aria-label":e.searchInputLabel,"aria-describedby":y,title:e.searchSyntaxHelp,placeholder:e.searchPlaceholder,value:s,onChange:S,onKeyDown:x,onCompositionStart:()=>{p.current=!0,v()},onCompositionEnd:C=>{p.current=!1,h(C.currentTarget.value)},className:I("h-6 min-w-0 flex-1 rounded-md border border-slate-300 border-solid bg-white px-[7px] text-slate-900 text-sm placeholder:text-slate-500 dark:border-slate-600 dark:bg-slate-900 dark:text-slate-100",Q)}),s.length>0||r.committed!==null?lr("button",{type:"button","data-testid":"daily-report-search-clear","aria-label":e.searchClear,title:e.searchClear,onClick:E,className:Pe,children:lr(fg,{"aria-hidden":"true",className:"size-4"})}):null,lr("span",{id:g,hidden:!0,children:O?e.searchCombineAndTitle:e.searchCombineOrTitle}),lr("span",{id:y,hidden:!0,children:e.searchSyntaxHelp}),lr("span",{"data-testid":"daily-report-search-status","aria-live":"polite",className:"h-6 w-[8rem] shrink-0 truncate text-slate-600 text-xs leading-6 dark:text-slate-300",children:Rg(e,r)})]})}var Zu=(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},es=(e,t,r,n)=>r===null?n&&t.length>0?t[0].reportHubId:null:t.some(o=>o.reportHubId===r)?r:Zu(e,t,r),Ju=(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:Zu(e.items,t,e.selected);import{useEffect as tp,useLayoutEffect as Ig,useMemo as rp,useRef as np,useSyncExternalStore as Tg}from"react";var Sg=1e3,gg=5e3,Eg={combine:"union",committed:null,generation:0,status:"idle",failure:null,items:null},vg=e=>e===400?"invalid":e===404?"unavailable":e===429?"busy":"failed",ep=e=>{let t=Eg,r=new Set,n=null,o=null,a=null,i=null,s=null,l=null,u=S=>{t=S;for(let x of r)x()},d=()=>{i!==null&&clearTimeout(i),s!==null&&clearTimeout(s),i=null,s=null},p=S=>{let x=new URLSearchParams({[Je.searchQuery]:S.text,[Je.searchCombine]:S.combine});return`${e.apiBasePath}/${Ze.search}?${x.toString()}`},m=(S,x,N,O)=>{if(!N){u({...t,status:"failed",failure:S});return}l!==O&&(l=O,s=setTimeout(()=>{s=null,y(x,!0)},gg))},g=async(S,x,N)=>{let O=new AbortController;n={controller:O};let C={Accept:"application/json"};N&&a!==null&&a.generation===x&&(C["If-None-Match"]=a.value);try{let w=await e.fetch(p(S),{headers:C,cache:"no-store",signal:O.signal});if(O.signal.aborted||x!==t.generation)return;if(w.status===304){t.status!=="done"&&u({...t,status:"done",failure:null});return}if(w.status===401||w.status===403){e.onSessionExpired(),m("failed",S,!1,x);return}if(!w.ok){m(vg(w.status),S,N,x);return}let V=Hs(await w.json());if(O.signal.aborted||x!==t.generation)return;if(V===null){m("failed",S,N,x);return}let H=w.headers.get("ETag");a=H===null?null:{generation:x,value:H},l=null,u({...t,status:"done",failure:null,items:V})}catch{if(O.signal.aborted||x!==t.generation)return;m("failed",S,N,x)}finally{if(n!==null&&n.controller===O&&(n=null),n===null&&o!==null){let w=o;o=null,y(w.query,w.background)}}},y=(S,x)=>{if(n!==null){o={query:S,background:(o===null||o.background)&&x};return}g(S,t.generation,x)};return{getSnapshot:()=>t,subscribe:S=>(r.add(S),()=>{r.delete(S)}),commit:(S,x)=>{d();let N=t.committed,O=N!==null&&N.text===S&&N.combine===x,C={text:S,combine:x};u({...t,combine:x,committed:C,generation:O?t.generation:t.generation+1,status:"searching",failure:null}),y(C,!1)},setCombine:S=>{S!==t.combine&&u({...t,combine:S})},release:()=>{d(),n?.controller.abort(),n=null,o=null,t.committed!==null&&u({combine:t.combine,committed:null,generation:t.generation+1,status:"idle",failure:null,items:null})},invalidate:()=>{let S=t.committed;S!==null&&(i!==null&&clearTimeout(i),i=setTimeout(()=>{i=null,y(S,!0)},Sg))},dispose:()=>{d(),n?.controller.abort(),n=null,o=null}}};var op=({apiBasePath:e,invalidation:t,onSessionExpired:r})=>{let n=np(r);Ig(()=>{n.current=r});let o=rp(()=>ep({apiBasePath:e,onSessionExpired:()=>n.current(),fetch:(s,l)=>fetch(s,l)}),[e]);tp(()=>()=>o.dispose(),[o]);let a=np(t);tp(()=>{a.current!==t&&(a.current=t,o.invalidate())},[t,o]);let i=Tg(o.subscribe,o.getSnapshot,o.getSnapshot);return rp(()=>({...i,commit:o.commit,setCombine:o.setCombine,release:o.release}),[i,o])};import*as Cn from"@radix-ui/react-switch";import*as ip from"react";import{jsx as ap}from"react/jsx-runtime";var va=ip.forwardRef(({className:e,...t},r)=>ap(Cn.Root,{className:I(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${Ss} ${Es} ${Q}`,e),...t,ref:r,children:ap(Cn.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${gs} ${vs}`})}));va.displayName=Cn.Root.displayName;import{useSyncExternalStore as xg}from"react";var sp=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)})}},ts=e=>xg(e.subscribe,e.get,e.get);import{Fragment as Kg,jsx as re,jsxs as st}from"react/jsx-runtime";var Lg="list",wg=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},Ng=I(Ts,ws,"ml-[8px] flex flex-wrap items-center gap-2"),dp="relative h-4 w-4 p-0 after:absolute after:-inset-1",Og="flex items-center gap-2",Mg=({count:e})=>{let{labels:t}=B(),[r,n]=cr(null),o=Gu(e,r);return re(ca,{ref:n,text:t.totalCount(o),widestText:t.totalCount(Rn(Math.max(e,o)))})},Pg=({setSize:e,isSearchAnswer:t})=>{let{labels:r}=B();return t?re("span",{children:r.searchHitCount(e)}):e===$r?re("span",{children:r.totalCountLoading}):re(Mg,{count:e})},kg=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let i=ts(e);return re(Ji,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:i,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},Hg=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=ts(e);return re(Ki,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},Fg=({tabItems:e,actions:t,searchRow:r})=>{let[n,o]=cr(Lg),{labels:a}=B();return st(En,{value:n,onValueChange:i=>o(wg(i)),className:I("@container/views",Qe),children:[st("div",{className:Ds,children:[st("div",{className:I(Ng,Ns[n]),children:[re(vn,{"aria-label":a.viewTabList,className:"flex flex-wrap gap-1",...ld,children:e.map(({value:i,label:s})=>re(In,{value:i,children:s},i))}),t]}),r]}),e.map(({value:i,content:s})=>re(Lr,{value:i,className:I("mt-0",Qe),children:s},i))]})},Bg=Object.freeze({items:null,generation:0,revision:0,change:"none",scrollRequest:null,restoreOnRelease:!0}),Vg=(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}},Ug=(e,t,r)=>{if(e===null)return{items:t,hasAnswerOnlyItems:!1};let n=new Map(t.map(i=>[i.reportHubId,i])),o=[],a=!1;for(let i of e){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}},Wg=({answer:e,hasAnswerOnlyItems:t})=>{let{phase:r,isRevalidating:n}=Sr(),o=r==="complete"&&!n,a=dr(null);return ns(()=>{!(o&&t)||a.current===e||(a.current=e,Qr())},[o,t,e]),null},os=({userId:e})=>{let[t,r]=cr(!1),{labels:n,renderHeader:o,showDevControls:a,apiBasePath:i,onSessionExpired:s,search:l}=B(),{toggleSse:u,createReport:d,refetchData:p,clearCacheAndRefetch:m}=He(),{isSseEnabled:g,items:y,searchInvalidation:T,isReportRemoved:v,removedVersion:c}=Bo(),[h]=_g(),E=op({apiBasePath:i,invalidation:T,onSessionExpired:s}),S=l===null||E.committed===null?null:E.items,[x,N]=cr(Bg);x.items!==S&&N(Vg(x,S,E.generation));let O=rs(()=>Ug(S,y,v),[S,y,v,c]),C=O.items,w=wl(y.length,Zl()),V=S===null?w:C.length,[H,J]=cr(0),[F]=cr(()=>({preSearchTopReportId:null})),oe=rs(()=>({request:x.scrollRequest,slot:F}),[x.scrollRequest,F]),le=dr(0),X=dr({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[W]=cr(()=>sp(C.length===0?null:C[0].reportHubId)),z=dr(null),ne=dr(C),ve=dr(x.revision);lp(()=>{if(ve.current===x.revision)return;ve.current=x.revision;let ie=ne.current,Ce=W.get(),se=Ce;x.change==="enter"?(z.current={selected:Ce,items:ie},se=es(ie,C,Ce,!0)):x.change==="start"||x.change==="update"?se=es(ie,C,Ce,x.change==="start"):x.change==="restore"&&z.current!==null&&(se=Ju(z.current,C,Ce)),(x.change==="restore"||x.change==="release")&&(z.current=null),se!==Ce&&W.set(se)},[x,C,W]),lp(()=>{ne.current=C},[C]);let q=dr(!1);ns(()=>{!q.current&&C.length>0&&(q.current=!0,W.get()===null&&W.set(C[0].reportHubId))},[C,W]);let nt=async()=>{await p()},Ke=async()=>{await m()},ye=async()=>{let Ce=h.get("businessDate")||Da();E.committed!==null&&(N(Ae=>({...Ae,restoreOnRelease:!1})),J(Ae=>Ae+1),E.release());let se=await d(Ce);W.set(se)};ns(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let De=ie=>{r(ie),localStorage.setItem("daily-report-auto-read",String(ie))},Le=rs(()=>[{value:"list",label:n.tabList,content:re(kg,{selectionStore:W,dailyReportItems:C,rowSetSize:V,autoMarkRead:t,userId:e,scrollOffsetRef:le})},{value:"tree",label:n.tabTree,content:re("div",{className:I("flex flex-1 items-center justify-center",pr),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:re(Hg,{selectionStore:W,dailyReportItems:C,rowSetSize:V,userId:e,scrollRestoreRef:X})}],[C,V,t,e,n,W]);return st(Kg,{children:[o({title:n.title,annotation:st("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[re(hn,{}),re(Pg,{setSize:V,isSearchAnswer:S!==null}),re("span",{children:n.debounce(fr)})]})}),re("div",{className:kn,children:st("div",{className:Hn,children:[S!==null&&re(Wg,{answer:S,hasAnswerOnlyItems:O.hasAnswerOnlyItems}),re(lo.Provider,{value:S===null?"date":"ids",children:re(Ya.Provider,{value:oe,children:re(Fg,{tabItems:Le,searchRow:l===null?null:re(Qu,{labels:n,debounceMs:l.debounceMs,search:E,onCommit:E.commit,onCombineChange:E.setCombine,onRelease:E.release,clearSignal:H}),actions:st("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[st(Et,{size:"sm",onClick:ye,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(Dg,{className:"h-3 w-3"}),re("span",{children:n.createReport})]}),a&&st("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(va,{id:"sse-mode","aria-label":n.devSseToggle,title:n.devSseToggle,checked:g,onCheckedChange:u}),st("div",{className:Og,"data-testid":"dev-icon-buttons",children:[re(Et,{variant:"ghost",size:"icon",onClick:nt,className:I(dp,"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(Ag,{className:"size-3"})}),re(Et,{variant:"ghost",size:"icon",onClick:Ke,className:I(dp,"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(Cg,{className:"size-3"})})]})]}),st("div",{className:"flex items-center gap-1 pl-1",title:n.autoReadTitle,children:[re(va,{id:"auto-read-mode",checked:t,onCheckedChange:De}),re(un,{htmlFor:"auto-read-mode",className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:n.autoRead})]})]})})})})]})})]})};import{Fragment as up,jsx as Ee,jsxs as An}from"react/jsx-runtime";var zg=I(Qe,wt),jg=I("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",dt,Q),Gg=({isFailed:e,handOver:t})=>{let{labels:r,renderHeader:n}=B(),o=mp(null),a=$g(s=>(o.current=s,t.take()&&bt(s)&&ut([s]),()=>{o.current=null,s.contains(Te(s))&&t.request()}),[t]),i=()=>{ut([o.current]),xo()};return An(up,{children:[n({title:r.title,annotation:e?Ee("span",{className:I("font-bold",Pr),children:r.loadErrorBadge}):An("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[Ee(hn,{}),Ee("span",{children:r.totalCountLoading}),Ee("span",{children:r.debounce(fr)})]})}),Ee("div",{className:kn,children:Ee("div",{className:Hn,children:Ee("div",{className:zg,children:Ee("div",{ref:a,tabIndex:-1,...cd,"data-testid":"daily-report-status-panel","data-phase":e?"failed":"loading",className:I(jg,e&&"border-red-200 dark:border-red-900"),children:e?An(up,{children:[Ee("p",{className:I("font-medium",Pr),children:r.loadError}),Ee("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:i,className:I("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:r.reload})]}):Ee("p",{children:r.loadingIds})})})})})]})},qg=(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:""},Yg=Object.freeze({status:"",alert:""}),Xg=()=>{let{labels:e}=B(),t=qg(Xl(),e),[r]=as(t),[n,o]=as(!1),a=n||t.status!==r.status||t.alert!==r.alert;pp(()=>{a&&!n&&o(!0)},[a,n]);let{status:i,alert:s}=a?t:Yg;return An("div",{"data-testid":"daily-report-stream-announcer",className:"sr-only",children:[Ee("p",{role:"status",children:i}),Ee("p",{role:"alert",children:s})]})},Qg=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=B(),o=Sr(),[a]=as(ou),i=mp(n);pp(()=>{i.current=n}),cp(()=>{qr({apiBasePath:r,userKey:t??null})},[r,t]),cp(()=>{o.phase==="auth-required"&&i.current()},[o.phase]);let s=o.hasItems||o.phase==="complete";return An(li,{children:[Ee(Xg,{}),Ee($i.Provider,{value:!1,children:Ee(Vi.Provider,{value:a,children:Ee(Ri,{user:e,userId:t,children:s?Ee(os,{userId:t}):Ee(Gg,{isFailed:o.phase==="failed",handOver:a})},t??"anonymous")})})]})},Zg=({config:e,...t})=>Ee(Pa,{config:e,children:Ee(Qg,{...t})});var Jg=new Set(kl.filter(e=>e!=="clearCache")),eE=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:i,formMethod:s,json:l,nextUrl:u,text:d})=>{if(!n)return!1;if(!(r.pathname===u.pathname&&r.search===u.search&&r.hash===u.hash))return n;if(a){let g=a.get(ze.intent);if(typeof g=="string"&&Jg.has(g))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},tE=e=>{let t=async r=>{ti();let n=await r.serverLoader(),o=n.userId;return ei({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};export{js as DAILY_REPORT_LABEL_CATALOGS,La as DAILY_REPORT_LABEL_KEYS,_n as DAILY_REPORT_LATTICE_BLOCK_QUANTUM_CLASS_NAME,im as DAILY_REPORT_LAYOUT_LATTICE_PX,Ri as DailyReportActionProvider,kr as DailyReportAttachmentIndicator,Pa as DailyReportConfigProvider,Ki as DailyReportDetailList,li as DailyReportErrorProvider,jr as DailyReportIdsStreamClient,hn as DailyReportIdsStreamStatus,Ji as DailyReportList,Zg as DailyReportPage,os as DailyReportResolvedContent,ei as bootstrapDailyReportIdsStreamSession,tE as createDailyReportClientLoader,eE as dailyReportShouldRevalidate,Fr as defaultDailyReportClientConfig,qr as ensureDailyReportIdsStreamSession,ti as primeDailyReportIdsStreamSession,Oa as resolveDailyReportLabels,qt as resolveSourceTypeConfig,Do as resyncDailyReportIdsStream,dy as useDailyReportActionContext,Ai as useDailyReportComments,B as useDailyReportConfig,Xt as useDailyReportDetail,hf as useDailyReportIdsStream,za as useDailyReportPrefetch,oi as useDailyReportSseConnection};