@aiquants/daily-report 0.30.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";var Pd=Object.create;var cn=Object.defineProperty;var Hd=Object.getOwnPropertyDescriptor;var Fd=Object.getOwnPropertyNames;var Bd=Object.getPrototypeOf,Ud=Object.prototype.hasOwnProperty;var Vd=(e,t)=>{for(var r in t)cn(e,r,{get:t[r],enumerable:!0})},wa=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Fd(t))!Ud.call(e,o)&&o!==r&&cn(e,o,{get:()=>t[o],enumerable:!(n=Hd(t,o))||n.enumerable});return e};var ve=(e,t,r)=>(r=e!=null?Pd(Bd(e)):{},wa(t||!e||!e.__esModule?cn(r,"default",{value:e,enumerable:!0}):r,e)),Wd=e=>wa(cn({},"__esModule",{value:!0}),e);var hf={};Vd(hf,{DAILY_REPORT_LABEL_CATALOGS:()=>Wo,DAILY_REPORT_LABEL_KEYS:()=>Tn,DAILY_REPORT_LAYOUT_LATTICE_PX:()=>di,DailyReportActionProvider:()=>no,DailyReportAttachmentIndicator:()=>ar,DailyReportConfigProvider:()=>In,DailyReportDetailList:()=>_o,DailyReportErrorProvider:()=>ro,DailyReportIdsStreamClient:()=>fr,DailyReportIdsStreamStatus:()=>xr,DailyReportList:()=>Mo,DailyReportPage:()=>Nd,DailyReportResolvedContent:()=>Po,bootstrapDailyReportIdsStreamSession:()=>Zn,createDailyReportClientLoader:()=>Md,dailyReportShouldRevalidate:()=>Od,defaultDailyReportClientConfig:()=>dr,ensureDailyReportIdsStreamSession:()=>br,primeDailyReportIdsStreamSession:()=>Jn,resolveDailyReportLabels:()=>xn,resolveSourceTypeConfig:()=>Ht,resyncDailyReportIdsStream:()=>Wr,useDailyReportActionContext:()=>Pe,useDailyReportComments:()=>gr,useDailyReportConfig:()=>B,useDailyReportDetail:()=>Ft,useDailyReportIdsStream:()=>bt,useDailyReportPrefetch:()=>Pn,useDailyReportSseConnection:()=>to});module.exports=Wd(hf);var Ja=ve(require("lucide-react/dist/esm/icons/paperclip.js"));var Kd="data-daily-report-row-surface",je={[Kd]:""},nr="data-daily-report-scrolling",kt=8,Dr="h-[calc-size(auto,round(up,size,4px))]",Pt="p-[8px]",Na="pr-[8px]",un="contain-size contain-layout contain-style",Oa="contain-strict",ae="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",Ma="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",Fo="scrollbar-thin [scrollbar-gutter:stable]",Bo=`-m-[4px] overflow-hidden p-[4px] ${Fo}`,ka="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",mn="rounded-[calc(var(--radius-2xl)+8px)]",pn="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]",Pa="[: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",ft="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",fn=16,or="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",Ha=12,bn="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200",yn="[--aqdr-hover-lift:2px] [@media(resolution:1.25dppx)]:[--aqdr-hover-lift:calc(2px/1.25)] [@media(resolution:1.75dppx)]:[--aqdr-hover-lift:calc(3px/1.75)] motion-safe:transition-[translate] motion-safe:duration-200 hover:border-blue-300 hover:shadow-lg motion-safe:hover:translate-y-[calc(-1*var(--aqdr-hover-lift))] [[data-daily-report-scrolling]_&]:transition-none [[data-daily-report-scrolling]_&]:hover:translate-none [[data-daily-report-scrolling]_&]:hover:shadow-sm",Ke=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${ae}`,Fa="-mx-1",Ba="flex items-center gap-1",Ue="inline-flex h-6 items-center rounded-full px-3",Ua="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",Va="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",Mt="size-4",Le={starOff:`${Mt} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${Mt} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${Mt} text-blue-600 dark:text-blue-400`,delete:`${Mt} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${Mt} text-red-600 dark:text-red-400`,edit:`${Mt} text-slate-500 dark:text-slate-400`},Wa="h-6 w-10 border-4 border-solid",Ka="size-4 data-[state=checked]:translate-x-4",$a="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]",za="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var Ga="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",ja="rounded-xl border border-solid p-[3px]",Ya="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",$d="ml-[max(0px,round(down,calc((100%-72rem)/2),4px))]",zd="bg-slate-50 dark:bg-slate-950",Je="flex min-h-0 flex-1 flex-col",wr=`${Je} ${zd}`,Nr=`${Je} mx-auto w-full max-w-6xl px-[4px] pt-[4px] ${$d}`,Or="text-red-700 dark:text-red-400",qa="bg-white dark:bg-slate-900",gn="flex min-h-0 flex-1 flex-col overflow-clip contain-size",Rn="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",Xa="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",Za={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},jt="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",xt=`m-0 ${jt}`,hn="text-balance wrap-anywhere [word-break:auto-phrase]",Sn="[&_.aqvs-scrollbar]:bg-slate-100 [&_.aqvs-scrollbar-track]:bg-slate-100 [&_.aqvs-scrollbar-thumb]:bg-slate-500 [&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-600 [&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-700 [&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 [&_.aqvs-scrollbar-arrow-button]:bg-slate-100 [&_.aqvs-scrollbar-arrow-button]:text-slate-600 [&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-200 dark:[&_.aqvs-scrollbar]:bg-slate-900 dark:[&_.aqvs-scrollbar-track]:bg-slate-900 dark:[&_.aqvs-scrollbar-thumb]:bg-slate-500 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-400 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-300 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 dark:[&_.aqvs-scrollbar-arrow-button]:bg-slate-900 dark:[&_.aqvs-scrollbar-arrow-button]:text-slate-400 dark:[&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-800 forced-colors:[&_.aqvs-scrollbar-thumb]:bg-[CanvasText] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-[GrayText] forced-colors:[&_.aqvs-scrollbar-track]:outline-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-solid forced-colors:[&_.aqvs-scrollbar-track]:-outline-offset-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-[CanvasText]";var Mr=require("react/jsx-runtime"),Gd=2,ar=({id:e,count:t,label:r})=>t<=0?null:(0,Mr.jsxs)("span",{id:e,className:"inline-flex h-6 shrink-0 items-center gap-1 text-slate-500 dark:text-slate-400",title:`${r}: ${t}`,role:"img","aria-label":`${r}: ${t}`,"data-testid":"daily-report-attachment-indicator","data-attachment-count":t,children:[(0,Mr.jsx)(Ja.default,{className:Mt,"aria-hidden":"true"}),t>=Gd&&(0,Mr.jsx)("span",{className:"font-semibold text-xs leading-4",children:t})]});var Gl=require("@aiquants/virtualscroll"),U=require("react");var ge=e=>{if(!e)return"-";let t=e.trim();return t===""?"-":t},ye=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?ye(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"),c=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${i}T${l}:${u}:${c}`}return`${o}-${a}-${i}`};var It=require("react");var jd=/^\d{4}-\d{2}-\d{2}$/,Yd=/^\d{4}\/\d{2}\/\d{2}$/,En=e=>e<10?`0${e}`:`${e}`,Qa=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=En(e.getMonth()+1),n=En(e.getDate());return`${t}-${r}-${n}`},Uo=(e=new Date)=>Number.isNaN(e.getTime())?Uo(new Date):`${e.getFullYear()}-${En(e.getMonth()+1)}-${En(e.getDate())}`,Yt=e=>{if(e==null)return null;if(e instanceof Date)return Qa(e);let t=e.trim();if(t==="")return null;if(jd.test(t))return t;if(Yd.test(t))return t.replaceAll("/","-");let r=new Date(t);return Qa(r)};var ir=(e,t,r=console)=>{let n=o=>typeof o=="string"?[`${t} ${o}`]:[t,o];return{debug:(o,...a)=>{e<=0&&r.debug(...n(o),...a)},info:(o,...a)=>{e<=1&&r.info(...n(o),...a)},warn:(o,...a)=>{e<=2&&r.warn(...n(o),...a)},error:(o,...a)=>{e<=3&&r.error(...n(o),...a)}}};var ii=require("@aiquants/virtualscroll"),lr=require("react");var qd=e=>typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"||e===null||e===void 0?String(e):Array.isArray(e)?"array":typeof e,Me=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${qd(r)}`),ei=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),vn=(e,t,r)=>Me(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t);var lt=require("@aiquants/virtualscroll");var ri=["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"],ni=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","rowState","listRowPosition"],Tn=[...lt.VIRTUAL_SCROLL_LABEL_KEYS,...ri,...ni];var Xd=Object.freeze({en:"en-US",ja:"ja-JP"}),Ce=(e,t)=>t.toLocaleString(Xd[e]),Zd=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"}),Jd=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"}),Vo=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: ${Ce("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${Ce("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${Ce("en",e)} / ${Ce("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${Ce("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${Ce("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${Ce("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${Jd[e]}. Please try again later.`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${Ce("en",e)} of ${Ce("en",t)}`}),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: ${Ce("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${Ce("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${Ce("ja",e)} / ${Ce("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${Ce("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${Ce("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${Ce("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${Zd[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 ${Ce("ja",t)} \u4EF6\u4E2D ${Ce("ja",e)} \u4EF6\u76EE`})}),Wo=Object.freeze({en:Object.freeze({...lt.VIRTUAL_SCROLL_LABEL_CATALOGS.en,...Vo.en}),ja:Object.freeze({...lt.VIRTUAL_SCROLL_LABEL_CATALOGS.ja,...Vo.ja})}),Qd=e=>{let t={},r=!1;for(let n of lt.VIRTUAL_SCROLL_LABEL_KEYS){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},ti=(e,t,r)=>{e[t]=r},xn=(e,t)=>{let r=(0,lt.resolveVirtualScrollLocale)(e);if(t===void 0)return Wo[r];if(t===null||typeof t!="object")throw Me("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Me("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!Tn.includes(i))throw vn("labels key",i,Tn);let a={...(0,lt.resolveVirtualScrollLabels)(r,Qd(t)),...Vo[r]};for(let i of ri){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw Me(`labels.${i}`,"a non-blank string",s);ti(a,i,s)}}for(let i of ni){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw Me(`labels.${i}`,"a function",s);ti(a,i,s)}}return Object.freeze(a)},oi=e=>{let t={};for(let r of lt.VIRTUAL_SCROLL_LABEL_KEYS)t[r]=e[r];return Object.freeze(t)};var sr=require("react/jsx-runtime"),ec=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),tc=({title:e,annotation:t})=>(0,sr.jsxs)("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[(0,sr.jsx)("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?(0,sr.jsx)("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),dr=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:tc,showDevControls:!1,headingLevel:3}),ai=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired"];var rc=e=>{for(let t of Object.keys(e))if(!ai.includes(t))throw vn("config key",t,ai)},nc=[2,3,4,5],oc=e=>{if(e===void 0)return dr.headingLevel;let t=nc.find(r=>r===e);if(t===void 0)throw Me("config.headingLevel","an integer from 2 to 5 (the level of each report's heading)",e);return t},ac=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Me(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},si=e=>{rc(e);let t=e.onSessionExpired;if(t===void 0)throw ei("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Me("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=(0,ii.resolveVirtualScrollLocale)(e.locale),n=xn(r,e.labels),o=dr;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?ec(n):ac(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:oc(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired}},ic=()=>{throw new Error("[daily-report] onSessionExpired is not wired: render inside DailyReportConfigProvider with a config")},li=(0,lr.createContext)(si({onSessionExpired:ic})),In=({config:e,children:t})=>{let r=(0,lr.useMemo)(()=>si(e),[e]);return(0,sr.jsx)(li.Provider,{value:r,children:t})},B=()=>(0,lr.useContext)(li),Ht=(e,t)=>{if(!(e&&t))return;if(t[e])return t[e];let r=e.toLowerCase(),n=Object.keys(t).find(o=>o.toLowerCase()===r);return n?t[n]:void 0},Ln=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";var ci=require("@aiquants/virtualscroll");var di=4;var cr=120,ui=1e3,Cn=.8,Ko={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},An=20,mi=6,_n={reportHubId:-1,businessDate:null},Dn=240,wn=15,sc=8,pi=460,fi=3,bi=352,lc={enabled:!0,renderVisual:ci.tapScrollCircleSampleVisual,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},Nn={width:sc,tapScrollCircleOptions:lc,enableArrowButtonTabStops:!1},On=["pen","touch"];var Ri=ir(1,"use-daily-report"),hi=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},zo=hi("__DAILY_REPORT_CACHE_TTL__",3e5),dc=hi("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),X={reports:new Map,lists:new Map,pendingLists:new Map,pendingReports:new Map,listeners:new Set,locks:new Set,lastMutations:new Map,recentDeletes:new Map,lastPrune:0,prune(){let e=Date.now();if(e-this.lastPrune<6e4)return;this.lastPrune=e;let t=3600*1e3;for(let[r,n]of this.reports)e-n.expiresAt>t&&this.reports.delete(r);for(let[r,n]of this.lists)e-n.expiresAt>t&&this.lists.delete(r)},clear(){this.reports.clear(),this.lists.clear(),this.pendingLists.clear(),this.pendingReports.clear(),this.locks.clear(),this.lastMutations.clear(),this.recentDeletes.clear(),this.listeners.forEach(e=>{e(-1)})},isValid:e=>e>Date.now(),notify:e=>{X.listeners.forEach(t=>{t(e)})},getReport(e,t=!1){let r=this.reports.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},getList(e,t=!1){let r=e&&this.lists.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},set(e,t,r=!0){if(this.reports.set(e.reportHubId,{data:e,expiresAt:t}),r){let n=Yt(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()){Ri.warn(`[DailyReportCache] Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+dc))}},delete(e,t){this.reports.delete(e);let r=Yt(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+zo;for(let[i,s]of this.recentDeletes)n-s>1e4&&this.recentDeletes.delete(i);let a=e.map(i=>{if(this.locks.has(i.reportHubId))return i;let s=this.lastMutations.get(i.reportHubId);if(s&&r>0&&s>r)return this.reports.get(i.reportHubId)?.data??i;let 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}},Si=(e,t,r=!0)=>X.set(e,t,r),Qe=(e,t)=>X.getReport(e,t?.ignoreExpiry),et=(e,t)=>X.update(e,t),kn=(e,t)=>X.delete(e,t),Pr=()=>{X.clear(),Mn.clear()},Hr=e=>{X.locks.add(e),X.lastMutations.set(e,Date.now())},Fr=e=>{X.locks.delete(e),X.lastMutations.set(e,Date.now())},Ei=e=>X.recentDeletes.set(e,Date.now()),vi=(e,t)=>{let r=n=>{n===e&&t()};return X.listeners.add(r),()=>{X.listeners.delete(r)}},qt=(e,t)=>{X.prune(),X.set(t,Date.now()+zo)},Ti=e=>{X.prune();let t=X.getReport(e.reportHubId,!0),r=new Map;for(let o of t?.postedComments??[])r.set(o.id,o.isMine??!1);let n=(e.postedComments??[]).map(o=>({...o,isMine:r.get(o.id)??!1}));X.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+zo)},cc=async(e,t)=>{let r=X.getReport(t);if(r)return r;let n=X.pendingReports.get(t);if(n)return n;let o=Date.now(),a=fetch(`${e}/report?reportHubId=${t}`,{cache:"no-cache"}).then(i=>i.ok?i.json():Promise.reject(`HTTP ${i.status}`)).then(i=>{if(i.error)throw new Error(i.error.message);let s=i.report;return X.cacheMany([s],null,o)[0]}).finally(()=>X.pendingReports.delete(t));return X.pendingReports.set(t,a),a},Mn=new Map,uc=1e4,mc=(e,t)=>{let r=Mn.get(t),n=Date.now();if(r&&n-r.at<uc)return r.inFlight;let o=Go(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return Mn.set(t,a),o.finally(()=>{Mn.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},Go=async(e,t,r={})=>{let n=r.forceRefresh?null:X.getList(t);if(n)return n;let o=X.pendingLists.get(t);if(o)return o;let a=Date.now(),i=fetch(`${e}/business-date?businessDate=${encodeURIComponent(t)}`,{cache:"no-cache"}).then(s=>s.ok?s.json():Promise.reject(`HTTP ${s.status}`)).then(s=>{if(s.error)throw new Error(s.error.message);return X.cacheMany(s.reports??[],t,a)}).finally(()=>X.pendingLists.delete(t));return X.pendingLists.set(t,i),i},$o=(e,t)=>{let r=X.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!X.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=X.lists.get(t),o=n?.data.find(a=>a.reportHubId===e);return n===void 0||o===void 0?{report:null,isStale:!1}:{report:o,isStale:!X.isValid(n.expiresAt)}},yi=(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}=$o(e,Yt(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},ur=(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]=(0,It.useState)(()=>yi(e,t)),a=(0,It.useRef)(0),i=n;return n.id!==e&&(i=yi(e,t),o(i)),(0,It.useEffect)(()=>{let s=Yt(t),l=u=>{u===e&&o(ur(e,{report:$o(e,s).report}))};return X.listeners.add(l),()=>{X.listeners.delete(l)}},[e,t]),(0,It.useEffect)(()=>{let s=Yt(t);a.current+=1;let l=a.current,u=()=>{a.current+=1};if(e<=0)return u;let{report:c,isStale:y}=$o(e,s);if(c&&!y)return o(ur(e,{report:c,error:null,isLoading:!1,isRefetching:!1})),u;o(ur(e,{report:c,isLoading:!c,isRefetching:!0}));let g=async()=>{try{let I=null;if(s){let T=X.getList(s)!==null;if(I=(await Go(r,s)).find(d=>d.reportHubId===e)??null,!I&&T){let d=await mc(r,s);d&&(I=d.find(b=>b.reportHubId===e)??null)}}else I=await cc(r,e);a.current===l&&o(ur(e,{report:I,error:null}))}catch(I){a.current===l&&o(ur(e,{error:I instanceof Error?I:new Error("Load failed")}))}finally{a.current===l&&o(ur(e,{isLoading:!1,isRefetching:!1}))}};if(c===null)return g(),u;let E=setTimeout(g,cr);return()=>{clearTimeout(E),u()}},[e,t,r]),{report:i.report,error:i.error,isLoading:i.isLoading,isRefetching:i.isRefetching}},Pn=()=>{let{apiBasePath:e}=B();return(0,It.useCallback)(t=>{let r=Yt(t);r&&!X.getList(r)&&Go(e,r).catch(n=>Ri.warn("Prefetch error",r,n))},[e])};var xi=require("@aiquants/virtualscroll"),Ii=require("react");var Hn=()=>{let{locale:e,labels:t}=B(),r=oi(t),n=(0,Ii.useRef)(null),o=n.current;return o!==null&&xi.VIRTUAL_SCROLL_LABEL_KEYS.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};var Un=require("react"),Mi=require("react-dom");var Ai=Object.freeze({visibilityProperty:!0}),Li=new Set(["auto","scroll"]),Ci=new Set(["","true","plaintext-only"]),_i=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=Oi(n)?n.host:null}return!1},pc=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(Ai))return!0;return!1},Di=e=>e.localName==="area"?pc(e):e.checkVisibility(Ai),fc=e=>{let t=e.getAttribute("contenteditable");if(t===null||!Ci.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(Ci.has(o))return!1;if(o==="false")return!0}return!0},bc=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&&Di(n)&&(r=n)}return r===e},yc=e=>{let t=e.ownerDocument;if(e===t.documentElement||e===t.body)return!1;let r=e.scrollWidth>e.clientWidth,n=e.scrollHeight>e.clientHeight;if(!(r||n))return!1;let o=t.defaultView;if(o===null)return!1;let a=o.getComputedStyle(e);return r&&Li.has(a.overflowX)||n&&Li.has(a.overflowY)},gc=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 fc(e)}},Rc=/^[\t\n\f\r ]*[+-]?\d/,hc=e=>{let t=e.getAttribute("tabindex");return t!==null&&Rc.test(t)?e.tabIndex:null},wi=(e,t)=>{for(let r of Yo(e))if(t(r)||wi(r,t))return!0;return!1},Fn=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=Sc(e,t);return t.set(e,n),n},Sc=(e,t)=>{if(!qo(e))return"none";let r=hc(e),n=r===null&&gc(e),o=r===null&&!n&&yc(e);return!(r!==null||n||o)||e.matches(":disabled")||_i(e)||!Di(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?bc(e)?"sequential":"programmatic":"sequential":wi(e,a=>Fn(a,t)==="sequential")?"none":"sequential"},jo=(e,t)=>{for(let r of Yo(e))t(r),jo(r,t)},Yo=e=>{if(Te(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 Bn=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return jo(e,l=>{Fn(l,a)==="sequential"&&n.push(l)}),{before:r,within:n,after:o};let i=!1,s=(l,u)=>{for(let c of Yo(l)){let y=c===t;!y&&Fn(c,a)==="sequential"&&(u?n.push(c):i?o.push(c):r.push(c)),s(c,u||y),y&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},Ni=e=>{let t=[],r=new Map;return jo(e,n=>{Fn(n,r)==="sequential"&&t.push(n)}),t},Te=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,qo=e=>"focus"in e&&"blur"in e,Ec=e=>e.nodeType===e.DOCUMENT_NODE,Oi=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,$e=e=>{let t=e.getRootNode();if(Oi(t)){let r=t.activeElement;return r===null?$e(t.host):r}return Ec(t)?t.activeElement:null},Br=e=>{let t=$e(e);return t===null||t===t.ownerDocument.body||_i(t)},dt=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 Vn=e=>{let[t,r]=(0,Un.useState)(null);return(0,Un.useLayoutEffect)(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] useViewBoxHeight needs viewRef attached to the view's root");let o=null,a=l=>{if(l===o)return;let u=o===null;o=l,u?(0,Mi.flushSync)(()=>r(l)):r(l)},i=l=>{for(let u of l)a(u.borderBoxSize[0].blockSize)},s=new(dt(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var ki=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,Se=(e,t,r)=>{if(r!==null&&Number.isInteger(r)&&r>=0&&r<e.length){if(e[r].reportHubId===t)return r;for(let n=1;n<=16;n++){let o=r+n;if(o<e.length&&e[o].reportHubId===t)return o;let a=r-n;if(a>=0&&e[a].reportHubId===t)return a}}return e.findIndex(n=>n.reportHubId===t)};var Wn="data-daily-report-row",Pi=`[role="listitem"][${Wn}]`,vc='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',Tc=/^[1-9]\d*$/,Hi=e=>{if(e===null||!Tc.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},Bt=(e,t)=>{if(t===null||!Te(e))return null;let r=e.closest(Pi);return r===null||r===t||!t.contains(r)?null:r},Xt=e=>Hi(e.getAttribute(Wn)),mr=e=>Hi(e.getAttribute("aria-posinset")),Fi=e=>{let t=e.closest(Pi),r=t===null?null:mr(t);return r===null?null:r-1},Ur=(e,t)=>{if(e===null)return null;let r=Xt(e);if(r===null)return null;let n=mr(e),o=Se(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},Bi=(e,t)=>{if(!Te(e))return!1;let r=e.closest(vc);return r!==null&&r!==t&&t.contains(r)};var Xo=require("react"),Lt=(0,Xo.createContext)(0),Ct=(0,Xo.createContext)(-1);var Ui=require("clsx"),Vi=require("tailwind-merge");function R(...e){return(0,Vi.twMerge)((0,Ui.clsx)(e))}var Zt=require("react");var Wi="(prefers-reduced-motion: reduce)",Ki=e=>dt(e).matchMedia(Wi).matches?"instant":"smooth",xc=Object.freeze({...Ko,startVelocityThreshold:Number.POSITIVE_INFINITY}),pr=e=>e?xc:Ko,Ic=()=>!1,Kn=e=>{let t=(0,Zt.useMemo)(()=>e===null?null:dt(e).matchMedia(Wi),[e]),r=(0,Zt.useCallback)(o=>t===null?()=>{}:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=(0,Zt.useCallback)(()=>t===null?!1:t.matches,[t]);return(0,Zt.useSyncExternalStore)(r,n,Ic)};var zi=require("react");var $n=require("react/jsx-runtime"),zn=()=>{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)})}},$i=16,Lc=(e,t)=>e==="vertical"?{top:0,left:-$i,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-$i,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},Gn=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=(0,zi.useSyncExternalStore)(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?(0,$n.jsx)("div",{className:"pointer-events-none absolute flex items-center",style:Lc(e,t),children:(0,$n.jsx)("div",{className:R(Ua,"border-slate-200 bg-white text-slate-700 text-xs shadow-md shadow-slate-400/30 dark:border-slate-700 dark:bg-slate-900/90 dark:text-slate-100"),children:(0,$n.jsx)("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};var se=require("react");var Z=require("react");var Gi="ids-stream",ji=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 jn=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,Yi=e=>{for(let t=1;t<e.length;t++)if(jn(e[t-1],e[t])>0)return!1;return!0},Zo=(e,t)=>{let r=e.filter(a=>a.reportHubId!==t.reportHubId),n=0,o=r.length;for(;n<o;){let a=n+o>>1;jn(r[a],t)<=0?n=a+1:o=a}return r.splice(n,0,t),r};var Kr=require("@aiquants/sse"),as=require("@aiquants/sse/client"),is=require("@aiquants/sse/react"),ct=require("react");var _=require("zod"),qi=["auth-required","forbidden","resync-required"],Jo=15e3,Xi="lastEventId",Cc=/^\d{1,15}-\d{1,15}$/,Yn=e=>Cc.test(e),Ac=_.z.object({name:_.z.string().nullish(),affiliation:_.z.string().nullish()}),_c=_.z.object({name:_.z.string().nullish(),text:_.z.string().nullish(),color:_.z.string().nullish()}),Dc=_.z.object({id:_.z.number(),name:_.z.string().nullish(),color:_.z.string().nullish()}),Zi=_.z.object({id:_.z.number(),userId:_.z.string().nullish(),userName:_.z.string().nullish(),content:_.z.string().nullish(),createdAt:_.z.string().nullish(),isMine:_.z.boolean()}),wc=_.z.object({id:_.z.string(),fileName:_.z.string(),fileType:_.z.string().nullable(),fileSize:_.z.number().nullable(),createdAt:_.z.string().nullable(),state:_.z.enum(["present","absent","unknown"]),hasThumbnail:_.z.boolean().default(!1)}),Qo=_.z.object({reportHubId:_.z.number(),date:_.z.string().nullish(),createdAt:_.z.string().nullish(),author:_.z.string().nullish(),userId:_.z.string().nullish(),sourceType:_.z.string().nullish(),employeeName:_.z.string().nullish(),updatedBy:_.z.string().nullish(),updatedAt:_.z.string().nullish(),category:_.z.string().nullish(),creationCategory:_.z.string().nullish(),visitTimeFrom:_.z.string().nullish(),visitTimeTo:_.z.string().nullish(),customerName:_.z.string().nullish(),interviewers:_.z.array(Ac),subject:_.z.string().nullish(),content:_.z.string().nullish(),externalComments:_.z.array(_c),isRead:_.z.boolean(),isStarred:_.z.boolean(),labels:_.z.array(Dc),postedComments:_.z.array(Zi),attachments:_.z.array(wc).default([])}),Nc=_.z.object({type:_.z.literal("connected")}),Oc=_.z.object({type:_.z.literal("status-update"),reportHubId:_.z.number(),statusType:_.z.enum(["star","read"]),value:_.z.boolean(),clientTempId:_.z.string(),recipientRawUserId:_.z.number().optional()}),ea=_.z.string().optional(),Mc=_.z.object({type:_.z.literal("comment-add"),reportHubId:_.z.number(),comment:Zi,clientTempId:_.z.string(),recipientRawUserId:_.z.number().optional(),sourceType:ea}),kc=_.z.object({type:_.z.literal("comment-delete"),reportHubId:_.z.number(),commentId:_.z.number(),clientTempId:_.z.string(),recipientRawUserId:_.z.number().optional(),sourceType:ea}),Pc=_.z.object({type:_.z.literal("report-create"),reportHubId:_.z.number(),report:Qo,clientTempId:_.z.string(),recipientRawUserId:_.z.number().optional()}),Hc=_.z.object({type:_.z.literal("report-update"),reportHubId:_.z.number(),report:Qo,clientTempId:_.z.string(),recipientRawUserId:_.z.number().optional()}),Fc=_.z.object({type:_.z.literal("report-publish"),reportHubId:_.z.number(),report:Qo,clientTempId:_.z.string(),recipientRawUserId:_.z.number().optional()}),Bc=_.z.object({type:_.z.literal("report-delete"),reportHubId:_.z.number(),clientTempId:_.z.string(),sourceType:ea}),Ji=_.z.discriminatedUnion("type",[Nc,Oc,Mc,kc,Pc,Hc,Fc,Bc]);var ts=require("react");var Qi=()=>{let e=new TextDecoder,t=[],r=n=>{let o=[],a=0;for(let i=n.indexOf(`
1
+ "use strict";var ic=Object.create;var gn=Object.defineProperty;var sc=Object.getOwnPropertyDescriptor;var lc=Object.getOwnPropertyNames;var dc=Object.getPrototypeOf,cc=Object.prototype.hasOwnProperty;var uc=(e,t)=>{for(var r in t)gn(e,r,{get:t[r],enumerable:!0})},$a=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of lc(t))!cc.call(e,o)&&o!==r&&gn(e,o,{get:()=>t[o],enumerable:!(n=sc(t,o))||n.enumerable});return e};var Ie=(e,t,r)=>(r=e!=null?ic(dc(e)):{},$a(t||!e||!e.__esModule?gn(r,"default",{value:e,enumerable:!0}):r,e)),mc=e=>$a(gn({},"__esModule",{value:!0}),e);var Yf={};uc(Yf,{DAILY_REPORT_LABEL_CATALOGS:()=>Xo,DAILY_REPORT_LABEL_KEYS:()=>wn,DAILY_REPORT_LAYOUT_LATTICE_PX:()=>vi,DailyReportActionProvider:()=>po,DailyReportAttachmentIndicator:()=>dr,DailyReportConfigProvider:()=>On,DailyReportDetailList:()=>Fo,DailyReportErrorProvider:()=>uo,DailyReportIdsStreamClient:()=>gr,DailyReportIdsStreamStatus:()=>Ar,DailyReportList:()=>Ko,DailyReportPage:()=>nc,DailyReportResolvedContent:()=>zo,bootstrapDailyReportIdsStreamSession:()=>oo,createDailyReportClientLoader:()=>ac,dailyReportShouldRevalidate:()=>oc,defaultDailyReportClientConfig:()=>pr,ensureDailyReportIdsStreamSession:()=>hr,primeDailyReportIdsStreamSession:()=>ao,resolveDailyReportLabels:()=>Nn,resolveSourceTypeConfig:()=>Ut,resyncDailyReportIdsStream:()=>Yr,useDailyReportActionContext:()=>Pe,useDailyReportComments:()=>vr,useDailyReportConfig:()=>U,useDailyReportDetail:()=>Vt,useDailyReportIdsStream:()=>nt,useDailyReportPrefetch:()=>$n,useDailyReportSseConnection:()=>lo});module.exports=mc(Yf);var ui=Ie(require("lucide-react/dist/esm/icons/paperclip.js"));var pc="data-daily-report-row-surface",ze={[pc]:""},sr="data-daily-report-scrolling",Ft=8,Mr="h-[calc-size(auto,round(up,size,4px))]",Bt="p-[8px]",za="pr-[8px]",hn="contain-size contain-layout contain-style",Ga="contain-strict",ae="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",ja="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",Go="scrollbar-thin [scrollbar-gutter:stable]",jo=`-m-[4px] overflow-hidden p-[4px] ${Go}`,Ya="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",Sn="rounded-[calc(var(--radius-2xl)+8px)]",vn="outline-none [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-2 [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-offset-4 [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-600 dark:[:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-400 [&[aria-current=true]>:where([data-daily-report-row-surface])]:ring-2 [&[aria-current=true]>:where([data-daily-report-row-surface])]:ring-blue-500 [&[aria-current=true]>:where([data-daily-report-row-surface])]:shadow-transparent forced-colors:[&[aria-current=true]]:outline-2 forced-colors:[&[aria-current=true]]:outline-solid forced-colors:[&[aria-current=true]]:-outline-offset-8 forced-colors:[&[aria-current=true]]:outline-[Highlight] forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-2 forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-solid forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:-outline-offset-8 forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-[Highlight]",qa="[:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-2 [:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-offset-4 [:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-blue-600 dark:[:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-blue-400 has-[>[aria-current=true]]:ring-2 has-[>[aria-current=true]]:ring-blue-500 has-[>[aria-current=true]]:shadow-transparent",ht="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",En=16,lr="rounded-xl border border-dashed border-slate-300 bg-slate-50 p-[11px] text-slate-600 text-sm dark:border-slate-600 dark:bg-slate-900/40 dark:text-slate-300",Xa=12,Tn="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200",xn="[--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 ${ae}`,Za="-mx-1",Ja="flex items-center gap-1",Be="inline-flex h-6 items-center rounded-full px-3",Qa="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",ei="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",Ht="size-4",Ae={starOff:`${Ht} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${Ht} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${Ht} text-blue-600 dark:text-blue-400`,delete:`${Ht} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${Ht} text-red-600 dark:text-red-400`,edit:`${Ht} text-slate-500 dark:text-slate-400`},ti="h-6 w-10 border-4 border-solid",ri="size-4 data-[state=checked]:translate-x-4",ni="data-[state=unchecked]:bg-slate-500 data-[state=checked]:bg-blue-600 dark:data-[state=unchecked]:bg-slate-400 dark:data-[state=checked]:bg-blue-400 forced-colors:border-[ButtonText] forced-colors:data-[state=checked]:bg-[Highlight]",oi="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var ai="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",ii="rounded-xl border border-solid p-[3px]",si="relative inline-flex h-6 items-center justify-center whitespace-nowrap rounded-lg px-2 font-medium text-slate-600 text-xs dark:text-slate-300 data-[state=active]:bg-white data-[state=active]:text-slate-900 dark:data-[state=active]:bg-slate-950 dark:data-[state=active]:text-slate-100 after:pointer-events-none after:absolute after:right-[var(--radius-lg)] after:bottom-0 after:left-[var(--radius-lg)] after:h-[2px] after:rounded-full after:forced-color-adjust-none data-[state=active]:after:bg-blue-600 dark:data-[state=active]:after:bg-blue-400 forced-colors:data-[state=active]:after:bg-[Highlight] disabled:pointer-events-none disabled:opacity-50",fc="ml-[max(0px,round(down,calc((100%-72rem)/2),4px))]",bc="bg-slate-50 dark:bg-slate-950",et="flex min-h-0 flex-1 flex-col",kr=`${et} ${bc}`,Pr=`${et} mx-auto w-full max-w-6xl px-[4px] pt-[4px] ${fc}`,Hr="text-red-700 dark:text-red-400",li="bg-white dark:bg-slate-900",In="flex min-h-0 flex-1 flex-col overflow-clip contain-size",Cn="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",di="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",ci={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},Xt="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",It=`m-0 ${Xt}`,Ln="text-balance wrap-anywhere [word-break:auto-phrase]",Dn="[&_.aqvs-scrollbar]:bg-slate-100 [&_.aqvs-scrollbar-track]:bg-slate-100 [&_.aqvs-scrollbar-thumb]:bg-slate-500 [&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-600 [&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-700 [&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 [&_.aqvs-scrollbar-arrow-button]:bg-slate-100 [&_.aqvs-scrollbar-arrow-button]:text-slate-600 [&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-200 dark:[&_.aqvs-scrollbar]:bg-slate-900 dark:[&_.aqvs-scrollbar-track]:bg-slate-900 dark:[&_.aqvs-scrollbar-thumb]:bg-slate-500 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-400 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-300 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 dark:[&_.aqvs-scrollbar-arrow-button]:bg-slate-900 dark:[&_.aqvs-scrollbar-arrow-button]:text-slate-400 dark:[&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-800 forced-colors:[&_.aqvs-scrollbar-thumb]:bg-[CanvasText] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-[GrayText] forced-colors:[&_.aqvs-scrollbar-track]:outline-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-solid forced-colors:[&_.aqvs-scrollbar-track]:-outline-offset-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-[CanvasText]";var Fr=require("react/jsx-runtime"),yc=2,dr=({id:e,count:t,label:r})=>t<=0?null:(0,Fr.jsxs)("span",{id:e,className:"inline-flex h-6 shrink-0 items-center gap-1 text-slate-500 dark:text-slate-400",title:`${r}: ${t}`,role:"img","aria-label":`${r}: ${t}`,"data-testid":"daily-report-attachment-indicator","data-attachment-count":t,children:[(0,Fr.jsx)(ui.default,{className:Ht,"aria-hidden":"true"}),t>=yc&&(0,Fr.jsx)("span",{className:"font-semibold text-xs leading-4",children:t})]});var Rd=require("@aiquants/virtualscroll"),V=require("react");var he=e=>{if(!e)return"-";let t=e.trim();return t===""?"-":t},ge=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?ge(e.toISOString()):String(e);let t=e.trim();if(t==="")return"-";let r=t.match(/^(\d{4})[-/](\d{2})[-/](\d{2})$/);if(r)return`${r[1]}-${r[2]}-${r[3]}`;let n=new Date(t);if(Number.isNaN(n.getTime()))return t;let o=n.getFullYear(),a=String(n.getMonth()+1).padStart(2,"0"),i=String(n.getDate()).padStart(2,"0");if(t.includes(":")||t.includes("T")){let d=String(n.getHours()).padStart(2,"0"),m=String(n.getMinutes()).padStart(2,"0"),u=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${i}T${d}:${m}:${u}`}return`${o}-${a}-${i}`};var Ct=require("react");var Rc=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var An=e=>e<10?`0${e}`:`${e}`,gc=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=An(e.getMonth()+1),n=An(e.getDate());return`${t}-${r}-${n}`},hc=e=>{let t=Rc.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}`};var Yo=(e=new Date)=>Number.isNaN(e.getTime())?Yo(new Date):`${e.getFullYear()}-${An(e.getMonth()+1)}-${An(e.getDate())}`,Zt=e=>e==null?null:e instanceof Date?gc(e):hc(e);var cr=(e,t,r=console)=>{let n=o=>typeof o=="string"?[`${t} ${o}`]:[t,o];return{debug:(o,...a)=>{e<=0&&r.debug(...n(o),...a)},info:(o,...a)=>{e<=1&&r.info(...n(o),...a)},warn:(o,...a)=>{e<=2&&r.warn(...n(o),...a)},error:(o,...a)=>{e<=3&&r.error(...n(o),...a)}}};var gi=require("@aiquants/virtualscroll"),mr=require("react");var Sc=e=>typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"||e===null||e===void 0?String(e):Array.isArray(e)?"array":typeof e,Me=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${Sc(r)}`),mi=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),_n=(e,t,r)=>Me(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t);var ut=require("@aiquants/virtualscroll");var fi=["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"],bi=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","rowState","listRowPosition","listRowPositionInUnknownTotal"],wn=[...ut.VIRTUAL_SCROLL_LABEL_KEYS,...fi,...bi];var vc=Object.freeze({en:"en-US",ja:"ja-JP"}),Ce=(e,t)=>t.toLocaleString(vc[e]),Ec=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"}),Tc=Object.freeze({create:"create the report",update:"save the report",publish:"publish the report",delete:"delete the report",addComment:"post the comment",deleteComment:"delete the comment",toggleStar:"update the star",toggleRead:"update the read state"}),qo=Object.freeze({en:Object.freeze({id:"ID",businessDate:"Business date",author:"Author",visitTime:"Visit time",createdAt:"Created at",updatedAt:"Updated at",updatedBy:"Updated by",category:"Category",creationCategory:"Creation category",customer:"Customer",subject:"Subject",content:"Content",interviewers:"Attendees",comments:"Comments",attachments:"Attachments",attachmentMissing:"File is missing",attachmentDownload:"Download",attachmentThumbnailUnavailable:"Preview unavailable",tabArticle:"Overview",tabRelations:"Related",reportTabList:"Report sections",relationsEmpty:"No related view configured yet.",title:"Daily Reports",listKeyboardHelp:"Up and Down arrows: previous or next report. Home and End: first or last report. Page Up and Page Down: move by a page. Enter or Space on a report row: make it current. Control+Home and Control+End: move to the nearest control before or after the list, when there is one.",tabList:"\u{1F4C4} List",tabTree:"\u{1F333} Tree",tabDetailList:"\u{1F4CB} DetailList",viewTabList:"Views",treeComingSoon:"The tree view is coming soon",totalCountLoading:"Total: loading...",createReport:"New report",createReportTitle:"Create a daily report",devControls:"Development-only controls",devSseToggle:"Toggle SSE real-time sync",devReload:"Reload data",devClearCache:"Clear the cache and reload",autoRead:"Auto-read",autoReadTitle:"Mark reports as read automatically while viewing them",loadErrorBadge:"Error",loadError:"Failed to load the daily reports.",reload:"Reload",loadingIds:"Loading report IDs...",streamFailed:"Failed to load",streamRetry:"Retry",streamRevalidating:"Refreshing",selectPrompt:"Select a report from the list on the left.",loading:"Loading...",reportNotFound:"Report not found",contentEmpty:"No content has been entered.",contentEmptyPreview:"No content has been entered",confirmDelete:"Are you sure you want to delete this report?",deleteFailed:"Failed to delete the report",starAdd:"Add star",starRemove:"Remove star",markRead:"Mark as read",markUnread:"Mark as unread",deleteReport:"Delete",edit:"Edit",resizeHandle:"Resize the border between the report list and the detail pane",close:"Close",formTitle:"Title",formTitlePlaceholder:"Enter the report title",formContent:"Content",formContentPlaceholder:"Enter the report content",formCancel:"Cancel",formSave:"Save",formPublish:"Publish",commentPlaceholder:"Add a comment...",commentSend:"Send",commentDelete:"Delete comment",commentDeleteConfirm:"Delete",unknownUser:"Unknown",sourceInternal:"Original",totalCount:e=>`Total: ${Ce("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${Ce("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${Ce("en",e)} / ${Ce("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${Ce("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${Ce("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${Ce("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${Tc[e]}. Please try again later.`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${Ce("en",e)} of ${Ce("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${Ce("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: ${Ce("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${Ce("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${Ce("ja",e)} / ${Ce("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${Ce("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${Ce("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${Ce("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${Ec[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 ${Ce("ja",t)} \u4EF6\u4E2D ${Ce("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${Ce("ja",e)} \u4EF6\u76EE`})}),Xo=Object.freeze({en:Object.freeze({...ut.VIRTUAL_SCROLL_LABEL_CATALOGS.en,...qo.en}),ja:Object.freeze({...ut.VIRTUAL_SCROLL_LABEL_CATALOGS.ja,...qo.ja})}),xc=e=>{let t={},r=!1;for(let n of ut.VIRTUAL_SCROLL_LABEL_KEYS){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},pi=(e,t,r)=>{e[t]=r},Nn=(e,t)=>{let r=(0,ut.resolveVirtualScrollLocale)(e);if(t===void 0)return Xo[r];if(t===null||typeof t!="object")throw Me("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Me("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!wn.includes(i))throw _n("labels key",i,wn);let a={...(0,ut.resolveVirtualScrollLabels)(r,xc(t)),...qo[r]};for(let i of fi){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw Me(`labels.${i}`,"a non-blank string",s);pi(a,i,s)}}for(let i of bi){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw Me(`labels.${i}`,"a function",s);pi(a,i,s)}}return Object.freeze(a)},yi=e=>{let t={};for(let r of ut.VIRTUAL_SCROLL_LABEL_KEYS)t[r]=e[r];return Object.freeze(t)};var ur=require("react/jsx-runtime"),Ic=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),Cc=({title:e,annotation:t})=>(0,ur.jsxs)("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[(0,ur.jsx)("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?(0,ur.jsx)("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),pr=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:Cc,showDevControls:!1,headingLevel:3}),Ri=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired"];var Lc=e=>{for(let t of Object.keys(e))if(!Ri.includes(t))throw _n("config key",t,Ri)},Dc=[2,3,4,5],Ac=e=>{if(e===void 0)return pr.headingLevel;let t=Dc.find(r=>r===e);if(t===void 0)throw Me("config.headingLevel","an integer from 2 to 5 (the level of each report's heading)",e);return t},_c=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Me(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},hi=e=>{Lc(e);let t=e.onSessionExpired;if(t===void 0)throw mi("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Me("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=(0,gi.resolveVirtualScrollLocale)(e.locale),n=Nn(r,e.labels),o=pr;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?Ic(n):_c(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:Ac(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired}},wc=()=>{throw new Error("[daily-report] onSessionExpired is not wired: render inside DailyReportConfigProvider with a config")},Si=(0,mr.createContext)(hi({onSessionExpired:wc})),On=({config:e,children:t})=>{let r=(0,mr.useMemo)(()=>hi(e),[e]);return(0,ur.jsx)(Si.Provider,{value:r,children:t})},U=()=>(0,mr.useContext)(Si),Ut=(e,t)=>{if(!(e&&t))return;if(t[e])return t[e];let r=e.toLowerCase(),n=Object.keys(t).find(o=>o.toLowerCase()===r);return n?t[n]:void 0},Mn=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";var Ei=require("@aiquants/virtualscroll");var Zo={from:1,to:3},lb=Array.from({length:(Zo.to-Zo.from)*4+1},(e,t)=>(Zo.from*4+t)/4),vi=4;var fr=120,Ti=1e3,kn=.8,Jo={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},Pn=20,xi=6,Hn={reportHubId:-1,businessDate:null},Fn=240,Bn=15,Nc=8,Ii=460,Ci=3,Li=352,Oc={enabled:!0,renderVisual:Ei.tapScrollCircleSampleVisual,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},Un={width:Nc,tapScrollCircleOptions:Oc,enableArrowButtonTabStops:!1},Vn=["pen","touch"];var _i=cr(1,"use-daily-report"),wi=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},ea=wi("__DAILY_REPORT_CACHE_TTL__",3e5),Mc=wi("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),J={reports:new Map,lists:new Map,pendingLists:new Map,pendingReports:new Map,listeners:new Set,locks:new Set,lastMutations:new Map,recentDeletes:new Map,lastPrune:0,prune(){let e=Date.now();if(e-this.lastPrune<6e4)return;this.lastPrune=e;let t=3600*1e3;for(let[r,n]of this.reports)e-n.expiresAt>t&&this.reports.delete(r);for(let[r,n]of this.lists)e-n.expiresAt>t&&this.lists.delete(r)},clear(){this.reports.clear(),this.lists.clear(),this.pendingLists.clear(),this.pendingReports.clear(),this.locks.clear(),this.lastMutations.clear(),this.recentDeletes.clear(),this.listeners.forEach(e=>{e(-1)})},isValid:e=>e>Date.now(),notify:e=>{J.listeners.forEach(t=>{t(e)})},getReport(e,t=!1){let r=this.reports.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},getList(e,t=!1){let r=e&&this.lists.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},set(e,t,r=!0){if(this.reports.set(e.reportHubId,{data:e,expiresAt:t}),r){let n=Zt(e.date),o=n?this.lists.get(n):null;if(o&&n){let i=o.data.some(s=>s.reportHubId===e.reportHubId)?o.data.map(s=>s.reportHubId===e.reportHubId?e:s):[e,...o.data];this.lists.set(n,{...o,data:i})}}this.notify(e.reportHubId)},update(e,t,r=!0){let n=this.reports.get(e);if(n?.data){if(r&&t.updatedAt&&n.data.updatedAt&&new Date(t.updatedAt).getTime()<new Date(n.data.updatedAt).getTime()){_i.warn(`[DailyReportCache] Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+Mc))}},delete(e,t){this.reports.delete(e);let r=Zt(t),n=r&&this.lists.get(r);n&&r&&this.lists.set(r,{...n,data:n.data.filter(o=>o.reportHubId!==e)}),this.notify(e)},merge(e,t){let r=e;if(r.postedComments.some(n=>this.recentDeletes.has(n.id))&&(r={...r,postedComments:r.postedComments.filter(n=>!this.recentDeletes.has(n.id))}),t){let n=new Set(r.postedComments.map(a=>a.id)),o=t.postedComments.filter(a=>!n.has(a.id)&&a.isMine&&Date.now()-new Date(a.createdAt||0).getTime()<1e4);o.length>0&&(r={...r,postedComments:[...r.postedComments,...o].sort((a,i)=>new Date(a.createdAt||0).getTime()-new Date(i.createdAt||0).getTime())})}return r},cacheMany(e,t,r){this.prune();let n=Date.now(),o=n+ea;for(let[i,s]of this.recentDeletes)n-s>1e4&&this.recentDeletes.delete(i);let a=e.map(i=>{if(this.locks.has(i.reportHubId))return i;let s=this.lastMutations.get(i.reportHubId);if(s&&r>0&&s>r)return this.reports.get(i.reportHubId)?.data??i;let d=this.reports.get(i.reportHubId)?.data,m=this.merge(i,d);return this.set(m,o,!1),m});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},Ni=(e,t,r=!0)=>J.set(e,t,r),tt=(e,t)=>J.getReport(e,t?.ignoreExpiry),rt=(e,t)=>J.update(e,t),Kn=(e,t)=>J.delete(e,t),Ur=()=>{J.clear(),Wn.clear()},Vr=e=>{J.locks.add(e),J.lastMutations.set(e,Date.now())},Wr=e=>{J.locks.delete(e),J.lastMutations.set(e,Date.now())},Oi=e=>J.recentDeletes.set(e,Date.now()),Mi=(e,t)=>{let r=n=>{n===e&&t()};return J.listeners.add(r),()=>{J.listeners.delete(r)}},Jt=(e,t)=>{J.prune(),J.set(t,Date.now()+ea)},ki=e=>{J.prune();let t=J.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}));J.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+ea)},kc=async(e,t)=>{let r=J.getReport(t);if(r)return r;let n=J.pendingReports.get(t);if(n)return n;let o=Date.now(),a=fetch(`${e}/report?reportHubId=${t}`,{cache:"no-cache"}).then(i=>i.ok?i.json():Promise.reject(`HTTP ${i.status}`)).then(i=>{if(i.error)throw new Error(i.error.message);let s=i.report;return J.cacheMany([s],null,o)[0]}).finally(()=>J.pendingReports.delete(t));return J.pendingReports.set(t,a),a},Wn=new Map,Pc=1e4,Hc=(e,t)=>{let r=Wn.get(t),n=Date.now();if(r&&n-r.at<Pc)return r.inFlight;let o=ta(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return Wn.set(t,a),o.finally(()=>{Wn.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},ta=async(e,t,r={})=>{let n=r.forceRefresh?null:J.getList(t);if(n)return n;let o=J.pendingLists.get(t);if(o)return o;let a=Date.now(),i=fetch(`${e}/business-date?businessDate=${encodeURIComponent(t)}`,{cache:"no-cache"}).then(s=>s.ok?s.json():Promise.reject(`HTTP ${s.status}`)).then(s=>{if(s.error)throw new Error(s.error.message);return J.cacheMany(s.reports??[],t,a)}).finally(()=>J.pendingLists.delete(t));return J.pendingLists.set(t,i),i},Qo=(e,t)=>{let r=J.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!J.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=J.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:!J.isValid(n.expiresAt)}},Di=(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}=Qo(e,Zt(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},br=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,Vt=(e,t)=>{let{apiBasePath:r}=U(),[n,o]=(0,Ct.useState)(()=>Di(e,t)),a=(0,Ct.useRef)(0),i=n;return n.id!==e&&(i=Di(e,t),o(i)),(0,Ct.useEffect)(()=>{let s=Zt(t),d=m=>{m===e&&o(br(e,{report:Qo(e,s).report}))};return J.listeners.add(d),()=>{J.listeners.delete(d)}},[e,t]),(0,Ct.useEffect)(()=>{let s=Zt(t);a.current+=1;let d=a.current,m=()=>{a.current+=1};if(e<=0)return m;let{report:u,isStale:f}=Qo(e,s);if(u&&!f)return o(br(e,{report:u,error:null,isLoading:!1,isRefetching:!1})),m;o(br(e,{report:u,isLoading:!u,isRefetching:!0}));let g=async()=>{try{let y=null;if(s){let D=J.getList(s)!==null;if(y=(await ta(r,s)).find(l=>l.reportHubId===e)??null,!y&&D){let l=await Hc(r,s);l&&(y=l.find(p=>p.reportHubId===e)??null)}}else y=await kc(r,e);a.current===d&&o(br(e,{report:y,error:null}))}catch(y){a.current===d&&o(br(e,{error:y instanceof Error?y:new Error("Load failed")}))}finally{a.current===d&&o(br(e,{isLoading:!1,isRefetching:!1}))}};if(u===null)return g(),m;let E=setTimeout(g,fr);return()=>{clearTimeout(E),m()}},[e,t,r]),{report:i.report,error:i.error,isLoading:i.isLoading,isRefetching:i.isRefetching}},$n=()=>{let{apiBasePath:e}=U();return(0,Ct.useCallback)(t=>{let r=Zt(t);r&&!J.getList(r)&&ta(e,r).catch(n=>_i.warn("Prefetch error",r,n))},[e])};var Pi=require("@aiquants/virtualscroll"),Hi=require("react");var zn=()=>{let{locale:e,labels:t}=U(),r=yi(t),n=(0,Hi.useRef)(null),o=n.current;return o!==null&&Pi.VIRTUAL_SCROLL_LABEL_KEYS.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};var Yn=require("react"),Gi=require("react-dom");var Ui=Object.freeze({visibilityProperty:!0}),Fi=new Set(["auto","scroll"]),Bi=new Set(["","true","plaintext-only"]),Vi=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=zi(n)?n.host:null}return!1},Fc=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(Ui))return!0;return!1},Wi=e=>e.localName==="area"?Fc(e):e.checkVisibility(Ui),Bc=e=>{let t=e.getAttribute("contenteditable");if(t===null||!Bi.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(Bi.has(o))return!1;if(o==="false")return!0}return!0},Uc=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&&Wi(n)&&(r=n)}return r===e},Vc=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&&Fi.has(a.overflowX)||n&&Fi.has(a.overflowY)},Wc=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 Bc(e)}},Kc=/^[\t\n\f\r ]*[+-]?\d/,$c=e=>{let t=e.getAttribute("tabindex");return t!==null&&Kc.test(t)?e.tabIndex:null},Ki=(e,t)=>{for(let r of na(e))if(t(r)||Ki(r,t))return!0;return!1},Gn=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=zc(e,t);return t.set(e,n),n},zc=(e,t)=>{if(!oa(e))return"none";let r=$c(e),n=r===null&&Wc(e),o=r===null&&!n&&Vc(e);return!(r!==null||n||o)||e.matches(":disabled")||Vi(e)||!Wi(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?Uc(e)?"sequential":"programmatic":"sequential":Ki(e,a=>Gn(a,t)==="sequential")?"none":"sequential"},ra=(e,t)=>{for(let r of na(e))t(r),ra(r,t)},na=e=>{if(Le(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 jn=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return ra(e,d=>{Gn(d,a)==="sequential"&&n.push(d)}),{before:r,within:n,after:o};let i=!1,s=(d,m)=>{for(let u of na(d)){let f=u===t;!f&&Gn(u,a)==="sequential"&&(m?n.push(u):i?o.push(u):r.push(u)),s(u,m||f),f&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},$i=e=>{let t=[],r=new Map;return ra(e,n=>{Gn(n,r)==="sequential"&&t.push(n)}),t},Le=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,oa=e=>"focus"in e&&"blur"in e,Gc=e=>e.nodeType===e.DOCUMENT_NODE,zi=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,Ke=e=>{let t=e.getRootNode();if(zi(t)){let r=t.activeElement;return r===null?Ke(t.host):r}return Gc(t)?t.activeElement:null},Kr=e=>{let t=Ke(e);return t===null||t===t.ownerDocument.body||Vi(t)},mt=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 qn=e=>{let[t,r]=(0,Yn.useState)(null);return(0,Yn.useLayoutEffect)(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] useViewBoxHeight needs viewRef attached to the view's root");let o=null,a=d=>{if(d===o)return;let m=o===null;o=d,m?(0,Gi.flushSync)(()=>r(d)):r(d)},i=d=>{for(let m of d)a(m.borderBoxSize[0].blockSize)},s=new(mt(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var ji=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,Te=(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 Xn="data-daily-report-row",Yi=`[role="listitem"][${Xn}]`,jc='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',Yc=/^[1-9]\d*$/,qi=e=>{if(e===null||!Yc.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},Wt=(e,t)=>{if(t===null||!Le(e))return null;let r=e.closest(Yi);return r===null||r===t||!t.contains(r)?null:r},Qt=e=>qi(e.getAttribute(Xn)),yr=e=>qi(e.getAttribute("aria-posinset")),Xi=e=>{let t=e.closest(Yi),r=t===null?null:yr(t);return r===null?null:r-1},$r=(e,t)=>{if(e===null)return null;let r=Qt(e);if(r===null)return null;let n=yr(e),o=Te(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},Zi=(e,t)=>{if(!Le(e))return!1;let r=e.closest(jc);return r!==null&&r!==t&&t.contains(r)};var aa=require("react"),Lt=(0,aa.createContext)(0),zr=-1,Ji=(e,t)=>t.phase==="complete"?e:t.totalCount===null?zr:Math.max(e,t.totalCount),Dt=(0,aa.createContext)(-1);var Qi=require("clsx"),es=require("tailwind-merge");function h(...e){return(0,es.twMerge)((0,Qi.clsx)(e))}var er=require("react");var ts="(prefers-reduced-motion: reduce)",rs=e=>mt(e).matchMedia(ts).matches?"instant":"smooth",qc=Object.freeze({...Jo,startVelocityThreshold:Number.POSITIVE_INFINITY}),Rr=e=>e?qc:Jo,Xc=()=>!1,Zn=e=>{let t=(0,er.useMemo)(()=>e===null?null:mt(e).matchMedia(ts),[e]),r=(0,er.useCallback)(o=>t===null?()=>{}:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=(0,er.useCallback)(()=>t===null?!1:t.matches,[t]);return(0,er.useSyncExternalStore)(r,n,Xc)};var os=require("react");var Jn=require("react/jsx-runtime"),Qn=()=>{let e={label:"",isWheelScrollActive:!1},t=new Set,r=n=>{e=n;for(let o of[...t])o()};return{getState:()=>e,setLabel:n=>{n!==e.label&&r({...e,label:n})},setWheelScrollActive:n=>{n!==e.isWheelScrollActive&&r({...e,isWheelScrollActive:n})},subscribe:n=>(t.add(n),()=>{t.delete(n)})}},ns=16,Zc=(e,t)=>e==="vertical"?{top:0,left:-ns,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-ns,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},eo=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=(0,os.useSyncExternalStore)(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?(0,Jn.jsx)("div",{className:"pointer-events-none absolute flex items-center",style:Zc(e,t),children:(0,Jn.jsx)("div",{className:h(Qa,"border-slate-200 bg-white text-slate-700 text-xs shadow-md shadow-slate-400/30 dark:border-slate-700 dark:bg-slate-900/90 dark:text-slate-100"),children:(0,Jn.jsx)("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};var Re=require("react");var ee=require("react");var qr=require("@aiquants/sse"),Ss=require("@aiquants/sse/client"),vs=require("@aiquants/sse/react"),pt=require("react");var L=require("zod"),as=["auth-required","forbidden","resync-required"],ia=15e3,is="lastEventId",Jc=/^\d{1,15}-\d{1,15}$/,to=e=>Jc.test(e),Qc=L.z.object({name:L.z.string().nullish(),affiliation:L.z.string().nullish()}),eu=L.z.object({name:L.z.string().nullish(),text:L.z.string().nullish(),color:L.z.string().nullish()}),tu=L.z.object({id:L.z.number(),name:L.z.string().nullish(),color:L.z.string().nullish()}),ss=L.z.object({id:L.z.number(),userId:L.z.string().nullish(),userName:L.z.string().nullish(),content:L.z.string().nullish(),createdAt:L.z.string().nullish(),isMine:L.z.boolean()}),ru=L.z.object({id:L.z.string(),fileName:L.z.string(),fileType:L.z.string().nullable(),fileSize:L.z.number().nullable(),createdAt:L.z.string().nullable(),state:L.z.enum(["present","absent","unknown"]),hasThumbnail:L.z.boolean().default(!1)}),sa=L.z.object({reportHubId:L.z.number(),date:L.z.string().nullish(),createdAt:L.z.string().nullish(),author:L.z.string().nullish(),userId:L.z.string().nullish(),sourceType:L.z.string().nullish(),employeeName:L.z.string().nullish(),updatedBy:L.z.string().nullish(),updatedAt:L.z.string().nullish(),category:L.z.string().nullish(),creationCategory:L.z.string().nullish(),visitTimeFrom:L.z.string().nullish(),visitTimeTo:L.z.string().nullish(),customerName:L.z.string().nullish(),interviewers:L.z.array(Qc),subject:L.z.string().nullish(),content:L.z.string().nullish(),externalComments:L.z.array(eu),isRead:L.z.boolean(),isStarred:L.z.boolean(),labels:L.z.array(tu),postedComments:L.z.array(ss),attachments:L.z.array(ru).default([])}),nu=L.z.object({type:L.z.literal("connected")}),ou=L.z.object({type:L.z.literal("status-update"),reportHubId:L.z.number(),statusType:L.z.enum(["star","read"]),value:L.z.boolean(),clientTempId:L.z.string(),recipientRawUserId:L.z.number().optional()}),la=L.z.string().optional(),au=L.z.object({type:L.z.literal("comment-add"),reportHubId:L.z.number(),comment:ss,clientTempId:L.z.string(),recipientRawUserId:L.z.number().optional(),sourceType:la}),iu=L.z.object({type:L.z.literal("comment-delete"),reportHubId:L.z.number(),commentId:L.z.number(),clientTempId:L.z.string(),recipientRawUserId:L.z.number().optional(),sourceType:la}),su=L.z.object({type:L.z.literal("report-create"),reportHubId:L.z.number(),report:sa,clientTempId:L.z.string(),recipientRawUserId:L.z.number().optional()}),lu=L.z.object({type:L.z.literal("report-update"),reportHubId:L.z.number(),report:sa,clientTempId:L.z.string(),recipientRawUserId:L.z.number().optional()}),du=L.z.object({type:L.z.literal("report-publish"),reportHubId:L.z.number(),report:sa,clientTempId:L.z.string(),recipientRawUserId:L.z.number().optional()}),cu=L.z.object({type:L.z.literal("report-delete"),reportHubId:L.z.number(),clientTempId:L.z.string(),sourceType:la}),ls=L.z.discriminatedUnion("type",[nu,ou,au,iu,su,lu,du,cu]);var bs=require("react");var ds="ids-stream",cs=e=>{if(typeof e!="object"||e===null)return"unknown";let t=e;return typeof t.kind=="string"?t.kind==="chunk"?"chunk":t.kind==="error"?"error":"unknown":Array.isArray(t.items)?"chunk":typeof t.error=="string"?"error":"unknown"};var tr=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,da=e=>{for(let t=1;t<e.length;t++)if(tr(e[t-1],e[t])>0)return!1;return!0};var Gr=()=>{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()]})}},us=(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 ms=()=>{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 Uc=50,Vc=1e3,Wc=3e4,Kc=6,$c=3e4,qn=Symbol("read-stall"),zc="/daily_report/api",Gc=/^\d{4}-\d{2}-\d{2}$/,fr=class{constructor(t={}){this.itemMap=new Map;this.listeners=new Set;this.state={items:[],loadedCount:0,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=0;this.apiBasePath=t.apiBasePath??zc,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??$c,this.publishCoalesceMs=t.publishCoalesceMs??Uc,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};(!r||r.businessDate!==n.businessDate||r.sourceType!==n.sourceType)&&(this.itemMap.set(t.reportHubId,n),this.publishItems())}applyExternalRemoval(t){this.disposed||(this.activeSeenIds?.delete(t),this.externalRemovalTombstones.add(t),this.itemMap.delete(t)&&this.publishItems())}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(),this.lastItemsPublishAt=Date.now(),this.publish({phase:"complete",isRevalidating:!1,hasCompletedOnce:!0,completedAt:Date.now(),error:null,items:Array.from(this.itemMap.values()),loadedCount:this.itemMap.size}),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>=Kc){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(Vc*2**(this.consecutiveFailures-1),Wc))}}pruneUnseenItems(){let t=this.activeSeenIds;if(this.activeSeenIds=null,!!t)for(let r of Array.from(this.itemMap.keys()))t.has(r)||this.itemMap.delete(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(qn),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===qn)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=Qi(),l=!1,u=!1;for(;;){let c=await this.readWithStallGuard(i);if(c===qn)return r.abort(),i.cancel().catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let y=c.done?s.end():s.push(c.value),g=!1;for(let E of y){if(E.trim()==="")continue;let I;try{I=JSON.parse(E)}catch{this.warn("[DailyReportIdsStream] skipped malformed line");continue}let T=ji(I);if(T==="unknown"){this.warn("[DailyReportIdsStream] skipped line of unknown kind");continue}if(T==="error"){l=!0;continue}let L=I;g=this.absorbChunkLine(L)||g,typeof L.total=="number"&&Number.isFinite(L.total)&&L.total!==this.state.totalCount&&this.publish({totalCount:L.total}),L.nextCursor&&(L.nextCursor.businessDate===null||Gc.test(L.nextCursor.businessDate))&&(this.lastCursor=L.nextCursor),L.isLast&&(u=!0)}if(g&&(this.consecutiveFailures=0,this.schedulePublishItems()),c.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(qn),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){if(!o||typeof o.reportHubId!="number"||this.externalRemovalTombstones.has(o.reportHubId))continue;r||this.activeSeenIds?.add(o.reportHubId);let a=this.itemMap.get(o.reportHubId);(!a||a.businessDate!==o.businessDate||a.sourceType!==o.sourceType)&&(this.itemMap.set(o.reportHubId,o),n=!0)}return n}absorbStreamAnchor(t){if(t!==null&&!(typeof t=="string"&&Yn(t))){this.warn(`[DailyReportIdsStream] ids stream carried a malformed streamAnchor: ${String(t)}`);return}this.streamAnchorRevision+=1,this.publish({streamAnchor:{lastEventId:t,revision:this.streamAnchorRevision}})}publishItems(){this.lastItemsPublishAt=Date.now(),this.publish({items:Array.from(this.itemMap.values()),loadedCount:this.itemMap.size})}schedulePublishItems(){if(this.publishCoalesceMs<=0){this.publishItems();return}let t=Date.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}/${Gi}${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 ta={},jc=6e4,fe=null,es=!1,ra=new Set,rs={items:[],loadedCount:0,totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},na=()=>{for(let e of ra)e()},oa=()=>{fe&&(fe.unsubscribe(),fe.client.dispose(),fe=null,na())},br=e=>{if(typeof window>"u")return;let t=e.apiBasePath??dr.apiBasePath;if(fe&&(fe.userKey!==e.userKey||fe.apiBasePath!==t)&&(fe.userKey!==e.userKey&&Pr(),oa()),!fe){let r=new fr({apiBasePath:t});fe={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(na)},Yc(),r.start(),na();return}Xn(fe)},Xn=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>jc&&e.client.refresh()},Yc=()=>{if(es||typeof document>"u"||typeof window>"u")return;es=!0;let e=()=>{fe&&Xn(fe)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},Zn=e=>{if(!(typeof window>"u")){if(!fe){br(e);return}if(fe.userKey!==e.userKey){Pr(),oa(),br(e);return}Xn(fe)}},Jn=()=>{typeof window>"u"||!fe||Xn(fe)},Vr=e=>{fe?.client.applyExternalUpsert(e)},Qn=e=>{fe?.client.applyExternalRemoval(e)},eo=()=>{fe?.client.retry()},Wr=()=>{fe?.client.resync()},aa=(e={})=>{fe?.client.refresh(e)},ns=()=>fe?.userKey,qc=e=>(ra.add(e),()=>ra.delete(e)),Xc=()=>fe?.client.getState()??rs,Zc=()=>rs,bt=()=>(0,ts.useSyncExternalStore)(qc,Xc,Zc);typeof ta<"u"&&ta.hot&&ta.hot.dispose(()=>{oa()});var Jt=ir(1,"daily-report-sse-connection"),Jc=Object.freeze({kind:"resyncing"}),os={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},Qc=1,ss=Jo*3,eu=ss+Jo,to=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=B(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=bt(),[l,u]=(0,ct.useState)({generation:0,minAnchorRevision:1,anchored:!1}),c=l.generation>0&&!l.anchored,y=c&&a==="complete"&&!i?s:null,g=(0,ct.useRef)(0),E=(0,ct.useRef)(null),I=(0,ct.useRef)(n);I.current=n;let T=(0,ct.useRef)(0);T.current=o===null?0:o.revision,(0,ct.useEffect)(()=>{l.anchored||o===null||o.revision<l.minAnchorRevision||(E.current=o.lastEventId,g.current=0,u({...l,anchored:!0}))},[l,o]),(0,ct.useEffect)(()=>{if(!e||y===null)return;let{initialDelayMs:d,maxDelayMs:b,multiplier:C}=os,D=Kr.systemSseRuntime.random()*Math.min(b,d*C**g.current);Jt.warn(`SSE resync: the ids rescan gave up (${y.message}); rescanning in ${Math.round(D)} ms`);let F=Kr.systemSseRuntime.setTimer(()=>{g.current+=1,Wr()},D);return()=>Kr.systemSseRuntime.clearTimer(F)},[e,y]);let{status:L}=(0,is.useReopeningEventSource)(e&&l.anchored?`${r}#${l.generation}`:null,{resolveUrl:({lastEventId:d})=>d===null?r:`${r}?${Xi}=${encodeURIComponent(d)}`,initialLastEventId:E.current,withCredentials:!1,createEventSource:as.createBrowserEventSource,runtime:Kr.systemSseRuntime,backoff:os,healthyOpenMs:eu,nativeRetryLimit:Qc,giveUpAfterFailures:"never",terminalEvents:qi,heartbeat:{staleAfterMs:ss,onHeartbeat:null},events:{message:d=>{d.lastEventId!==""&&(Yn(d.lastEventId)?E.current=d.lastEventId:Jt.warn("SSE event carried a malformed id; keeping the previous cursor:",d.lastEventId));try{let b=JSON.parse(d.data),C=Ji.safeParse(b);if(!C.success){Jt.error("SSE Validation Error:",C.error.flatten(),"raw message:",b);return}if(C.data.type==="connected"){Jt.info("SSE Subscribe Ready");return}t(C.data)}catch(b){Jt.error("SSE Parse Error",b)}}}});return(0,ct.useEffect)(()=>{if(L.kind==="faulted"){Jt.error("SSE connection faulted:",L.error);return}if(L.kind==="terminated")switch(L.terminalEvent){case"auth-required":I.current();return;case"forbidden":Jt.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let d=T.current+1;u(b=>({generation:b.generation+1,minAnchorRevision:d,anchored:!1})),Wr();return}}},[L]),e&&c?Jc:L};var ke=require("react");var yr=require("react/jsx-runtime"),tu=8e3,ru="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",nu=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",ka),ls=(0,ke.createContext)({notifyError:()=>{}}),ds=()=>(0,ke.useContext)(ls),ro=({children:e})=>{let{onError:t,labels:r}=B(),[n,o]=(0,ke.useState)(null),a=(0,ke.useRef)(t);a.current=t;let i=(0,ke.useRef)(null),s=(0,ke.useCallback)(c=>{let y=a.current;if(y){y(c);return}o(c)},[]),l=(0,ke.useCallback)(()=>{i.current!==null&&(clearTimeout(i.current),i.current=null),o(null)},[]);(0,ke.useEffect)(()=>{if(n)return i.current=setTimeout(()=>o(null),tu),()=>{i.current!==null&&(clearTimeout(i.current),i.current=null)}},[n]);let u=(0,ke.useMemo)(()=>({notifyError:s}),[s]);return(0,yr.jsxs)(ls.Provider,{value:u,children:[e,n&&(0,yr.jsxs)("div",{role:"alert","data-testid":"daily-report-error-banner",className:ru,children:[(0,yr.jsx)("span",{className:"font-medium",children:n.message}),(0,yr.jsx)("button",{type:"button","aria-label":r.close,onClick:l,className:nu,children:"\u2715"})]})]})};var cs=require("react/jsx-runtime"),yt=ir(1,"daily-report-action-context"),ou=Object.freeze([]),ia=globalThis.__DailyReportActionContext??(0,Z.createContext)(null);globalThis.__DailyReportActionContext=ia;var Pe=()=>{let e=(0,Z.useContext)(ia);if(!e)throw new Error("[daily-report] useDailyReportActionContext must be used within a DailyReportActionProvider");return e},Qt=(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},no=({children:e,user:t,initialItems:r=ou,userId:n})=>{let{apiBasePath:o,draftLabelName:a,labels:i}=B(),{notifyError:s}=ds(),l=(0,Z.useRef)(s);l.current=s;let u=(0,Z.useRef)(new Map),c=(0,Z.useRef)(new Map),y=(0,Z.useRef)(new Map),g=(0,Z.useRef)(new Map),E=(0,Z.useRef)(new Map),[I,T]=(0,Z.useState)(0),[L,d]=(0,Z.useState)(r),[b,C]=(0,Z.useState)(!1),D=(0,Z.useRef)(!1),F=(0,Z.useRef)(new Map),M=(0,Z.useRef)(new Set),V=(0,Z.useRef)(new Set),N=(0,Z.useRef)(new Set),j=bt(),te=(0,Z.useRef)(!1);te.current=j.phase==="complete"&&!j.isRevalidating;let q=(0,Z.useCallback)(()=>ns()===(n??null),[n]),le=(0,Z.useCallback)(async()=>{yt.info("[DailyReportActionProvider] Refetching data without page reload..."),aa(),T(p=>p+1),X.listeners.forEach(p=>{p(-1)})},[]),K=(0,Z.useCallback)(async()=>{yt.info("[DailyReportActionProvider] Clearing client & server/DB cache and refetching data without page reload..."),Pr(),V.current.clear();try{sessionStorage.clear()}catch{}try{let p=new FormData;p.append("intent","clearCache");let m=await fetch(`${o}/action`,{method:"POST",body:p});if(!m.ok){let S=await m.json().catch(()=>null);yt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",m.status,S)}}catch(p){yt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",p)}q()&&(aa({forceRefresh:!0}),T(p=>p+1),X.listeners.forEach(p=>{p(-1)}))},[o,q]),ne=(0,Z.useRef)(new Map),Y=(0,Z.useRef)(()=>{}),$=(0,Z.useCallback)((p,m)=>{let S=ne.current,v=S.get(p);if(v){v.messages.push(m);return}let A={messages:[m],unsubscribe:()=>{},timer:setTimeout(()=>{let f=S.get(p);f&&(f.unsubscribe(),S.delete(p),yt.warn(`[SSE Queue] Expired: reportHubId=${p}, dropped=${f.messages.length} messages`))},3e4)};A.unsubscribe=vi(p,()=>{let f=S.get(p);if(f&&Qe(p,{ignoreExpiry:!0})){f.unsubscribe(),clearTimeout(f.timer),S.delete(p),yt.info(`[SSE Queue] Replaying ${f.messages.length} messages for reportHubId=${p}`);for(let h of f.messages)Y.current(h)}}),S.set(p,A)},[]),pe=p=>{N.current.add(p),setTimeout(()=>{N.current.delete(p)},3e4)},Ee=(0,Z.useCallback)(p=>!!p&&N.current.has(p),[]),oe=(0,Z.useCallback)((p,m)=>{m!==void 0&&Vr({reportHubId:p,businessDate:m??null}),d(S=>{let v=S.find(f=>f.reportHubId===p),A=m??v?.businessDate??null;return Zo(S,{reportHubId:p,businessDate:A,sourceType:v?.sourceType})})},[]),G=()=>{n&&(D.current=!0,C(p=>!p))};(0,Z.useEffect)(()=>{if(!n)return;let p=setTimeout(()=>{D.current||C(!0)},ui);return()=>clearTimeout(p)},[n]);let be=(0,Z.useCallback)(p=>{q()&&(V.current.add(p),Qn(p),d(m=>m.filter(S=>S.reportHubId!==p)))},[q]),[xe,Oe]=(0,Z.useState)(r);if(r!==xe){Oe(r);let p=new Map;for(let v of r)V.current.has(v.reportHubId)||p.set(v.reportHubId,v);let m=te.current;for(let v of L)p.has(v.reportHubId)||V.current.has(v.reportHubId)||m&&v.reportHubId>0||p.set(v.reportHubId,v);let S=Array.from(p.values());Yi(S)||S.sort(jn),d(S)}(0,Z.useEffect)(()=>{if(te.current){let p=new Set(r.map(m=>m.reportHubId));for(let m of V.current)p.has(m)||V.current.delete(m)}},[r]);let _e=(0,Z.useCallback)(p=>{if(q()&&!Ee(p.clientTempId))switch(p.type){case"comment-add":{let{comment:m,reportHubId:S}=p,v=Qe(S,{ignoreExpiry:!0});if(v){if(v.postedComments.some(k=>k.id===m.id))return;let A=!1,f=u.current.get(S);if(f){for(let[k,W]of f.entries())if(W===m.content){f.delete(k),E.current.set(k,m.id),A=!0;break}}let h={...m,userName:m.userName||(A?Qt(t,i.unknownUser):i.unknownUser),createdAt:m.createdAt||new Date().toISOString(),isMine:A},w={...v,postedComments:[...v.postedComments,h].sort((k,W)=>new Date(k.createdAt||0).getTime()-new Date(W.createdAt||0).getTime())};qt(S,w),Hr(S),Fr(S),T(k=>k+1)}else $(S,p);break}case"comment-delete":{let{commentId:m,reportHubId:S}=p,v=Qe(S,{ignoreExpiry:!0});if(v){let A={...v,postedComments:v.postedComments.filter(f=>f.id!==m)};qt(S,A),Hr(S),Fr(S),T(f=>f+1)}else $(S,p);break}case"status-update":{let{statusType:m,value:S,reportHubId:v}=p,A=Qe(v,{ignoreExpiry:!0});if(m==="star")if(y.current.get(v)===S&&y.current.delete(v),A){let f={...A,isStarred:S};qt(v,f),T(h=>h+1)}else $(v,p);else if(m==="read")if(g.current.get(v)===S&&g.current.delete(v),A){let f={...A,isRead:S};qt(v,f),T(h=>h+1)}else $(v,p);break}case"report-delete":{let{reportHubId:m}=p;M.current.delete(m),V.current.add(m),Qn(m);let S=ne.current.get(m);S&&(S.unsubscribe(),clearTimeout(S.timer),ne.current.delete(m));let v=Qe(m,{ignoreExpiry:!0});v?.date&&(kn(m,v.date),T(A=>A+1)),d(A=>A.filter(f=>f.reportHubId!==m));break}case"report-create":case"report-update":case"report-publish":{let{report:m}=p;Ti(m),(p.type==="report-create"||p.type==="report-publish")&&(M.current.add(m.reportHubId),oe(m.reportHubId,m.date)),T(S=>S+1);break}}},[Ee,q,oe,t,$,i.unknownUser]);Y.current=_e,(0,Z.useEffect)(()=>()=>{for(let p of ne.current.values())p.unsubscribe(),clearTimeout(p.timer);ne.current.clear()},[]);let De=to({isSseEnabled:b,onMessage:_e}),Ie=async(p,m,S,v,A,f)=>{f?.skipLock||Hr(p),A.onOptimistic?.();let h=v.clientTempId||crypto.randomUUID();pe(h);let w=new FormData;w.append("intent",m),w.append("reportHubId",String(p)),typeof S=="string"&&w.append("businessDate",S),w.append("operationTimestamp",String(Date.now())),w.append("clientTempId",h);for(let[k,W]of Object.entries(v))k!=="clientTempId"&&w.append(k,W);try{let k=await fetch(`${o}/action`,{method:"POST",body:w,headers:{Accept:"application/json"}});if(!k.ok){let me=new Error(`Failed to ${m}`);throw Object.assign(me,{status:k.status}),me}let W=await k.json();if(W.status!=="OK"||m!=="create"&&String(W.reportHubId)!==String(p))throw new Error(`Invalid response for ${m}`);if(typeof W.clientTempId!="string"||W.clientTempId!==h)throw new Error(`Invalid clientTempId for ${m}`);if(!q())throw yt.warn(`[executeAction] ${m} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${m}`);return await A.onSuccess?.(W)}catch(k){throw yt.error(`${m} failed:`,k),q()&&(A.onFailure?.(),l.current({operation:m,message:i.operationFailed(m),cause:k})),k}finally{f?.keepLock||f?.skipLock||Fr(p)}},at=async(p,m,S)=>{let v=Number(p),A=-1*Date.now(),f=Ie(v,"addComment",S,{content:m,clientTempId:String(A)},{onOptimistic:()=>{u.current.has(v)||u.current.set(v,new Map),u.current.get(v)?.set(A,m),T(h=>h+1)},onSuccess:h=>{if(!h.newComment)throw new Error("No new comment returned");let w=h.newComment.id;E.current.set(A,w),u.current.get(v)?.delete(A);let k=Qe(v,{ignoreExpiry:!0});return k&&!k.postedComments.some(W=>W.id===w)&&et(v,{postedComments:[...k.postedComments,{...h.newComment,id:w,isMine:!0,userName:Qt(t,i.unknownUser)}],updatedAt:h.updatedAt}),w},onFailure:()=>{u.current.get(v)?.delete(A)}},{skipLock:!0}).finally(()=>F.current.delete(A));F.current.set(A,f),await f},St=async(p,m,S)=>{let v=Number(p);c.current.has(v)||c.current.set(v,new Set),c.current.get(v)?.add(m),T(f=>f+1);let A=m;if(m<0){let f=E.current.get(m);if(f!==void 0)A=f;else{let h=F.current.get(m);if(!h)return;try{A=await h}catch{return}}}await Ie(v,"deleteComment",S,{commentId:String(A)},{onSuccess:f=>{let h=typeof f.deletedCommentId=="string"?Number(f.deletedCommentId):A,w=Qe(v,{ignoreExpiry:!0});w&&(et(v,{postedComments:w.postedComments.filter(k=>k.id!==h),updatedAt:f.updatedAt}),Ei(h)),c.current.get(v)?.delete(m)},onFailure:()=>{c.current.get(v)?.delete(m)}},{skipLock:!0})},it=async(p,m,S)=>{let v=Number(p);await Ie(v,"toggleStar",S,{isStarred:String(m)},{onOptimistic:()=>{et(v,{isStarred:m}),y.current.set(v,m),T(A=>A+1)},onSuccess:A=>{A.updatedStatus&&typeof A.updatedStatus.isStarred=="boolean"&&Qe(v,{ignoreExpiry:!0})&&(et(v,{isStarred:A.updatedStatus.isStarred,updatedAt:A.updatedAt}),T(h=>h+1)),y.current.delete(v)},onFailure:()=>{et(v,{isStarred:!m}),y.current.delete(v)}},{skipLock:!0})},Ge=async(p,m,S)=>{let v=Number(p);await Ie(v,"toggleRead",S,{isRead:String(m)},{onOptimistic:()=>{et(v,{isRead:m}),g.current.set(v,m),T(A=>A+1)},onSuccess:A=>{A.updatedStatus&&typeof A.updatedStatus.isRead=="boolean"&&Qe(v,{ignoreExpiry:!0})&&(et(v,{isRead:A.updatedStatus.isRead,updatedAt:A.updatedAt}),T(h=>h+1)),g.current.delete(v)},onFailure:()=>{et(v,{isRead:!m}),g.current.delete(v)}},{skipLock:!0})},pt=(0,Z.useRef)(Ge);pt.current=Ge;let Et=(0,Z.useCallback)((p,m,S)=>pt.current(p,m,S),[]),Be=async p=>{let m=-1*Date.now(),S=new Date().toISOString(),v={reportHubId:m,date:p,createdAt:S,author:Qt(t,i.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:Qt(t,i.unknownUser),updatedBy:Qt(t,i.unknownUser),updatedAt:S,category:null,creationCategory:null,visitTimeFrom:null,visitTimeTo:null,customerName:null,interviewers:[],subject:"",content:"",externalComments:[],isRead:!0,isStarred:!1,labels:[{id:0,name:a,color:"#9ca3af"}],postedComments:[],attachments:[]};Si(v,Date.now()+3e5,!1),d(A=>[{reportHubId:m,businessDate:p},...A]);try{let A=await Ie(0,"create",p,{clientTempId:String(m)},{onSuccess:h=>h});if(A.clientTempId&&A.clientTempId!==String(m))throw yt.warn(`[createReport] ID mismatch. req=${m}, res=${A.clientTempId}`),new Error("Optimistic ID mismatch");let f=Number(A.reportHubId);return Vr({reportHubId:f,businessDate:p}),Hr(f),A.report&&(qt(f,A.report),T(h=>h+1)),d(h=>h.some(w=>w.reportHubId===f)?h.filter(w=>w.reportHubId!==m):h.map(w=>w.reportHubId===m?{...w,reportHubId:f}:w)),setTimeout(()=>Fr(f),1e3),f}catch(A){throw yt.error("[createReport] Failed or mismatched",A),d(f=>f.filter(h=>h.reportHubId!==m)),A}},vt=async(p,m,S)=>{let v=Number(p);await Ie(v,"update",S,{...m.title&&{title:m.title},...m.content&&{content:m.content}},{onSuccess:()=>{let A=Qe(v,{ignoreExpiry:!0});A&&(et(v,{subject:m.title??A.subject,content:m.content??A.content}),T(f=>f+1))}})},Tt=async(p,m)=>{let S=Number(p),v=Qe(S,{ignoreExpiry:!0}),A=v?.labels||[];await Ie(S,"publish",m,{},{onOptimistic:()=>{if(v){let f=v.labels.filter(h=>h.name!==a);et(S,{labels:f}),T(h=>h+1)}},onSuccess:f=>{f.report&&(qt(S,f.report),T(h=>h+1)),m!==void 0&&Vr({reportHubId:S,businessDate:m})},onFailure:()=>{et(S,{labels:A}),T(f=>f+1)}},{skipLock:!0})},x=async(p,m)=>{let S=Number(p),v=L.find(A=>A.reportHubId===S);V.current.add(S),Qn(S),d(A=>A.filter(f=>f.reportHubId!==S));try{await Ie(S,"delete",m,{},{onSuccess:A=>{kn(S,m)}})}catch(A){if(A.status===404){kn(S,m);return}if(!q())return;V.current.delete(S);let h=v===void 0?m:v.businessDate;h!==void 0&&Vr({reportHubId:S,businessDate:h}),v&&d(w=>w.some(k=>k.reportHubId===S)?w:Zo(w,v))}};return(0,cs.jsx)(ia.Provider,{value:{user:t,pendingAddCommentIds:u,pendingDeleteCommentIds:c,pendingStarUpdates:y,pendingReadUpdates:g,resolvedIdMap:E,version:I,items:L,isSseEnabled:b,toggleSse:G,sseStatus:De,addComment:at,deleteComment:St,toggleStar:it,toggleRead:Et,createReport:Be,updateReport:vt,publishReport:Tt,deleteReport:x,removeStaleItem:be,refetchData:le,clearCacheAndRefetch:K},children:e})};var At=require("react");var us=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Me("mergeComments: unknownAuthorName","a non-blank string",n);let o=e.map((i,s)=>({id:`legacy-${s}`,authorName:i.name||n,content:i.text||"",isMine:!1,color:i.color||void 0,isLegacy:!0})),a=t.map(i=>({id:i.id,authorName:i.userName||n,content:i.content??"",createdAt:i.createdAt??"",isMine:r?i.userId===r:i.isMine,isLegacy:!1}));return[...o,...a]},ms=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 gr=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,version:i,addComment:s,deleteComment:l}=Pe(),{labels:u}=B(),c=u.unknownUser,[y,g]=(0,At.useState)(null),E=(0,At.useCallback)(d=>e&&l(e.reportHubId,d,e.date),[e,l]),I=(0,At.useCallback)(d=>e&&t?s(e.reportHubId,d,e.date):Promise.resolve(),[e,t,s]),T=(0,At.useRef)([]);return{uiComments:(0,At.useMemo)(()=>{if(!e)return[];let d=us(e.externalComments,e.postedComments,r,c),b=o.current.get(e.reportHubId);b?.size&&(d=d.filter(D=>!b.has(D.id)));let C=n.current.get(e.reportHubId);if(C?.size&&t){let D=new Set(d.map(M=>M.id)),F=Qt(t,c);for(let[M,V]of C){if(b?.has(M)||D.has(M))continue;let N=a.current.get(M);N&&D.has(N)||d.some(j=>j.isMine&&j.content===V&&typeof j.id=="number"&&j.id>0)||d.push({id:M,authorName:F,content:V,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1})}}return JSON.stringify(d)===JSON.stringify(T.current)?T.current:(T.current=d,d)},[e,t,r,c,o,n,a,i]),handleAddComment:I,handleDeleteComment:E,pendingDeleteId:y,setPendingDeleteId:g,resolvedIdMap:a.current}};var ps=require("react/jsx-runtime"),au={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},Ut=Object.freeze({2:3,3:4,4:5,5:6}),Ye=({level:e,...t})=>{let r=au[e];return(0,ps.jsx)(r,{...t})};var Dt=require("react");var fs=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var la="tile",zr=fs[la],iu=2,$r=16,bs=5,ys=zr.maxWidth/iu,su=bs*(ys+$r)-$r,gs=e=>{let t=Math.min(bs,1+Math.floor((e+$r)/(ys+$r)));return Math.floor((Math.min(e,su)-(t-1)*$r)/t)},sa=`round(nearest, 100cqi * ${zr.maxHeight} / ${zr.maxWidth}, 1px)`,Rs=Object.freeze({aspectRatio:`${zr.maxWidth} / ${zr.maxHeight}`,height:sa,contain:"strict"}),hs=Object.freeze({marginBlockEnd:`calc(round(up, ${sa}, ${4}px) - ${sa})`});var lu="download",du="thumbnail",cu="1",Rr=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[lu]:cu})}`;case"thumbnail":return`${n}?${new URLSearchParams({[du]:r.variant})}`}};var oo=require("react");var Gr=(0,oo.createContext)(null),hr=()=>(0,oo.useContext)(Gr)===!1?-1:void 0,Ss=(e,t)=>{let{before:r,after:n}=Bn(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};var gt=require("react"),Ls=require("react-dom");var Es=require("react-dom");var da=new WeakMap,vs=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,uu=e=>{e.frame=null;let t=[...e.observations.values()].filter(vs);t.length!==0&&(0,Es.flushSync)(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},mu=(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=gs(o))}e.frame!==null||![...e.observations.values()].some(vs)||(e.frame=e.view.requestAnimationFrame(()=>uu(e)))},pu=e=>{let t=da.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=>mu(n,o)),observations:new Map,frame:null};return da.set(e,n),n},Ts=(e,t)=>{let r=e.ownerDocument,n=pu(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(),da.delete(r)))}};var _t=require("react/jsx-runtime"),jr="\u2026",fu=jr.codePointAt(0),ao="data-attachment-file-name",bu=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,yu=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,Cs=(0,gt.createContext)(null),As=e=>{let t=e.lastIndexOf(".");return t<=0||t===e.length-1?{stem:e,extension:""}:{stem:e.slice(0,t),extension:e.slice(t)}},xs=(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("")},gu=(e,t,r)=>{if(r(e)<=t)return e;let{stem:n,extension:o}=As(e.normalize("NFC")),a=t/2,i=r(o)<=a?o:`${xs(o,jr,a,r)}${jr}`;return r(n+i)<=t?n+i:`${xs(n,jr+i,t,r)}${jr}${i}`},Is=new WeakMap,_s=e=>{let t=Is.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 Is.set(e,n),n},Ru=(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},Ds=e=>{let t=new Set;for(let r of e.matchAll(bu)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},hu=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:Ds(t.fontFamily),measure:Ru(_s(e.ownerDocument),r)}},Su=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,Eu=e=>{let t=new Set([fu]);for(let r of e.querySelectorAll(`[${ao}]`)){let n=r.getAttribute(ao);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},vu=(e,t)=>{for(let r of e.split(",")){let n=yu.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},ca=new WeakMap,ws=e=>{let t=ca.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return ca.set(e,r),r},Ns=(e,t)=>{let r=hu(e.container.querySelector(`[${ao}]`));e.fitted={trackWidth:t,nameFont:r};let n=ws(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=xu(n)),e.applyFit({width:t,measure:r.measure})},Tu=(e,t)=>{let r=t.map(o=>({families:Ds(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=Eu(o.container);i.some(l=>vu(l.unicodeRange,s))&&(_s(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&(0,Ls.flushSync)(()=>{for(let[o,a]of n)Ns(o,a)})},xu=e=>{let t=e.document.fonts,r=n=>{Tu(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},Iu=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=Ts(e,a=>Ns(r,a)),o=ws(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),ca.delete(o.document))}},Os=({containerRef:e,children:t})=>{let[r,n]=(0,gt.useState)(null);return(0,gt.useLayoutEffect)(()=>{let o=e.current;return Iu(o,i=>{n(s=>Su(s,i)?s:i)})},[e]),(0,_t.jsx)(Cs,{value:r,children:t})},Yr=({fileName:e,className:t,testId:r})=>{let n=(0,gt.useContext)(Cs),o=(0,gt.useMemo)(()=>n===null?null:gu(e,n.width,n.measure),[e,n]),{stem:a,extension:i}=As(e);return(0,_t.jsxs)("span",{className:R("block min-w-0",t),title:e,"data-testid":r,[ao]:e,children:[o===null?(0,_t.jsxs)("span",{"aria-hidden":"true",className:"flex min-w-0",children:[(0,_t.jsx)("span",{className:"truncate",children:a}),i!==""&&(0,_t.jsx)("span",{className:"max-w-1/2 shrink-0 truncate",children:i})]}):(0,_t.jsx)("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:o}),(0,_t.jsx)("span",{className:"sr-only",children:e})]})};var Bs=ve(require("lucide-react/dist/esm/icons/image-off.js")),He=require("react");var io=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),Ms=io.queueWaitMs+io.readMs+io.renderMs+io.transferMarginMs;var Lu=Object.freeze({kind:"loaded"}),ks=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",l=null,u=null,c=null,y=null,g=null,E=K=>(K!==null&&n.clearTimeout(K),null),I=()=>{y?.(),y=null},T=()=>{g?.(),g=null},L=K=>K===null||K.kind==="loaded"?0:K.kind==="failing"?K.failedAttempts:i.maxAttempts,d=K=>{s="cooling",c=n.setTimeout(j,K)},b=()=>{o.abortInFlight(),T();let K=L(r.get(t))+1;if(K>=i.maxAttempts){s="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:K,retryAt:n.now()+i.retryDelayMs}),o.reset(),d(i.retryDelayMs)},C=K=>{if(s==="loading"){if(u=E(u),!K){b();return}s="done",r.set(t,Lu),T()}},D=()=>{u=null,C(!1)},F=()=>{s="loading",o.showActivity(!0),I(),u=n.setTimeout(D,i.loadTimeoutMs),o.grant()},M=()=>{l=null,s="queued",g=a.request(F)},V=()=>{l===null&&(l=n.setTimeout(M,i.settleMs))},N=K=>{if(o.showActivity(K),K){s==="watching"&&V();return}if(s==="queued"){T(),s="watching";return}l=E(l)},j=()=>{c=null,s="watching",o.showActivity(!1),y=n.observe(e,N)},te=()=>{let K=s==="loading";s="done",I(),l=E(l),u=E(u),c=E(c),o.showActivity(!1),K&&(o.abortInFlight(),g!==null&&o.reset()),T()},q=r.get(t);if(q?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:C,dispose:te};if(q?.kind==="exhausted"){if(n.now()-q.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:C,dispose:te};r.delete(t)}o.reset();let le=q?.kind==="failing"?q.retryAt-n.now():0;return le>0?d(le):j(),{settle:C,dispose:te}};var Cu=e=>{if(!Number.isInteger(e)||e<=0)throw Me("createLoadSlotLimiter: limit","an integer >= 1",e);let t=0,r=new Set,n=()=>{for(let o of r){r.delete(o),o.onGranted();return}t-=1};return{request:o=>{let a={onGranted:o},i=!1;return t<e?(t+=1,o()):r.add(a),()=>{i||(i=!0,!r.delete(a)&&n())}}}},Ps=Cu(2);var Au=e=>{if(!Number.isInteger(e)||e<=0)throw Me("createThumbnailProgressStore: maxUrls","an integer >= 1",e);let t=new Map,r=(n,o)=>{t.delete(n),t.set(n,o)};return{peek:n=>t.get(n)??null,get:n=>{let o=t.get(n);return o===void 0?null:(r(n,o),o)},set:(n,o)=>{if(r(n,o),t.size<=e)return;let[a]=t.keys();t.delete(a)},delete:n=>{t.delete(n)}}},ua=Au(1024);var ma=new WeakMap,_u=e=>{let t=ma.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 ma.set(e,a),a},Hs=(e,t)=>{let r=e.ownerDocument,n=_u(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(),ma.delete(r)))}};var Vt=require("react/jsx-runtime"),Du={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},wu="data-thumbnail-active",Nu="data-daily-report-attachment-preview",Us={[Nu]:""},Ou=Object.freeze({settleMs:250,loadTimeoutMs:Ms,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),Fs=e=>{let t=ua.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},Mu=()=>({limiter:Ps,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:Hs,tuning:Ou}),ku=(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(wu,o)}}),Vs=(0,He.memo)(({thumbnailUrl:e,unavailableLabel:t})=>{let r=(0,He.useRef)(null),n=(0,He.useRef)(null),o=(0,He.useRef)(null),[a,i]=(0,He.useState)(()=>Fs(e));a.url!==e&&i(Fs(e)),(0,He.useLayoutEffect)(()=>{if(a.status==="failed")return;let c=n.current,y=a.status==="idle"?null:a.url;c.getAttribute("src")!==y&&(y===null?c.removeAttribute("src"):c.setAttribute("src",y))},[a]),(0,He.useEffect)(()=>{let c=r.current,y=ks(c,e,ua,Mu(),ku(e,c,i,n));return o.current=y,()=>{o.current=null,y.dispose()}},[e]);let s=(0,He.useCallback)(c=>{c!==null&&(n.current=c)},[]),l=(0,He.useCallback)(()=>{i(c=>c.status==="granted"?{url:c.url,status:"loaded"}:c),o.current?.settle(!0)},[]),u=(0,He.useCallback)(()=>{o.current?.settle(!1)},[]);return(0,Vt.jsx)("span",{className:"block",children:(0,Vt.jsx)("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":Du[a.status],style:Rs,className:"relative block w-full",children:(0,Vt.jsx)("span",{"data-testid":"daily-report-attachment-thumbnail-skin",className:"absolute inset-0 flex items-center justify-center overflow-hidden rounded-lg bg-slate-100 after:pointer-events-none after:absolute after:inset-0 after:rounded-[inherit] after:ring-1 after:ring-slate-900/10 after:ring-inset dark:bg-slate-800 dark:after:ring-white/10 [[data-daily-report-attachment-preview]:active_&]:after:ring-blue-500 dark:[[data-daily-report-attachment-preview]:active_&]:after:ring-blue-400 motion-safe:[[data-thumbnail-state=pending][data-thumbnail-active]_&]:animate-pulse [[data-thumbnail-state=pending]_&]:bg-slate-200 dark:[[data-thumbnail-state=pending]_&]:bg-slate-700 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover:not(:active)_&]:after:ring-blue-300 dark:[@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover:not(:active)_&]:after:ring-blue-400/60",children:a.status==="failed"?(0,Vt.jsxs)("span",{className:`flex size-full flex-col items-center justify-center gap-1 px-2 text-center text-slate-600 text-xs dark:text-slate-400 ${hn}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[(0,Vt.jsx)(Bs.default,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):(0,Vt.jsx)("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"})})})})});var ie=require("react/jsx-runtime"),Ws=1024,pa=["B","KB","MB","GB"],Ks="text-slate-500 text-sm line-through dark:text-slate-400",Pu=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=Ws&&r<pa.length-1;)t/=Ws,r+=1;return r===0?`${t} ${pa[r]}`:`${t.toFixed(1)} ${pa[r]}`},$s=({attachment:e,labels:t,className:r})=>(0,ie.jsxs)("span",{className:r,children:[Pu(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),fa=({href:e,children:t,...r})=>{let n=hr();return(0,ie.jsx)("a",{href:e,...r,tabIndex:n,children:t})},zs=({downloadUrl:e,label:t,fileName:r})=>(0,ie.jsxs)(fa,{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",ae),"data-testid":"daily-report-attachment-download",children:[t," ",(0,ie.jsx)("span",{className:"sr-only",children:r})]}),Hu=(0,Dt.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=(0,ie.jsx)(Vs,{thumbnailUrl:Rr(t,e.id,{kind:"thumbnail",variant:la}),unavailableLabel:r.attachmentThumbnailUnavailable}),o=e.state==="absent";return(0,ie.jsxs)("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[o?(0,ie.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[n,(0,ie.jsx)(Yr,{fileName:e.fileName,className:Ks,testId:"daily-report-attachment-name"})]}):(0,ie.jsxs)(fa,{href:Rr(t,e.id,{kind:"inline"}),className:R("flex min-w-0 flex-col gap-2 rounded-lg",ae),"data-testid":"daily-report-attachment-link",...Us,children:[n,(0,ie.jsx)(Yr,{fileName:e.fileName,className:"text-blue-600 text-sm dark:text-blue-400 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover_&]:underline"})]}),(0,ie.jsxs)("div",{className:"flex h-4 min-w-0 items-center gap-2 text-slate-500 text-xs tabular-nums dark:text-slate-400",style:hs,children:[(0,ie.jsx)($s,{attachment:e,labels:r,className:"truncate"}),!o&&(0,ie.jsx)(zs,{downloadUrl:Rr(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})]})}),Fu=(0,Dt.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=e.state==="absent";return(0,ie.jsxs)("li",{className:"flex items-center gap-2 rounded-lg bg-slate-50 p-2 dark:bg-slate-800/40","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[(0,ie.jsxs)("div",{className:"flex min-w-0 flex-col",children:[n?(0,ie.jsx)(Yr,{fileName:e.fileName,className:Ks,testId:"daily-report-attachment-name"}):(0,ie.jsx)(fa,{href:Rr(t,e.id,{kind:"inline"}),className:R("flex min-w-0 rounded-sm",ae),"data-testid":"daily-report-attachment-link",children:(0,ie.jsx)(Yr,{fileName:e.fileName,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),(0,ie.jsx)($s,{attachment:e,labels:r,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!n&&(0,ie.jsx)(zs,{downloadUrl:Rr(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})}),Bu=({attachments:e,headingId:t,apiBasePath:r,labels:n})=>{let o=(0,Dt.useRef)(null);return(0,ie.jsx)(Os,{containerRef:o,children:(0,ie.jsx)("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:(0,ie.jsx)("ul",{"aria-labelledby":t,className:"grid @min-[1008px]:w-[calc(round(down,100%-64px,5px)+64px)] @min-[240px]:w-[calc(round(down,100%-16px,2px)+16px)] @min-[496px]:w-[calc(round(down,100%-32px,3px)+32px)] @min-[752px]:w-[calc(round(down,100%-48px,4px)+48px)] w-[round(down,100%,1px)] max-w-[1264px] @min-[1008px]:grid-cols-5 @min-[240px]:grid-cols-2 @min-[496px]:grid-cols-3 @min-[752px]:grid-cols-4 grid-cols-1 gap-[16px]","data-testid":"daily-report-attachment-grid",children:e.map(a=>(0,ie.jsx)(Hu,{attachment:a,apiBasePath:r,labels:n},a.id))})})})},so=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=B(),o=(0,Dt.useId)(),{tileAttachments:a,rowAttachments:i}=(0,Dt.useMemo)(()=>({tileAttachments:e.filter(s=>s.hasThumbnail),rowAttachments:e.filter(s=>!s.hasThumbnail)}),[e]);return e.length===0?null:(0,ie.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[(0,ie.jsx)(Ye,{level:Ut[n],id:o,className:R("m-0",jt),children:r.attachments}),(0,ie.jsxs)("div",{className:"flex flex-col gap-4",children:[a.length>0&&(0,ie.jsx)(Bu,{attachments:a,headingId:o,apiBasePath:t,labels:r}),i.length>0&&(0,ie.jsx)("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:i.map(s=>(0,ie.jsx)(Fu,{attachment:s,apiBasePath:t,labels:r},s.id))})]})]})};var qs=require("@aiquants/swipe-overlay"),We=require("react");var qr=e=>e.isComposing||e.keyCode===229,lo=e=>({key:e.key,keyCode:e.keyCode,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,defaultPrevented:e.defaultPrevented,isComposing:e.nativeEvent.isComposing,target:e.target});var Uu={kind:"hold"},Vu=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),Wu=(e,t)=>{let r=e.getAttribute("role");return r!==null&&Vu.has(r)&&e!==t&&e.contains(t)},Xr=e=>e.key==="Escape"&&!e.defaultPrevented&&!qr(e),Gs=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||qr(e))return null;let r=e.target;if(!(Te(r)&&t.contains(r)))return null;let n=Ni(t);if(n.length===0)return Uu;let{before:o,within:a,after:i}=Bn(t,r);return e.shiftKey?o.some(s=>!Wu(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};var co=require("react/jsx-runtime"),we=({render:e})=>{let t=hr();return(0,co.jsx)(co.Fragment,{children:e(t)})};var js=ve(require("@heroicons/react/24/outline/TrashIcon.js")),Wt=require("react");var ze=require("react/jsx-runtime"),ba="data-comment-id",uo="data-comment-delete-button",mo="data-comment-delete-slot",Ku=R(Ke,Fa),$u="relative flex h-5 items-center",zu=R(Ue,"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",ae),Gu=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,ya=(0,Wt.memo)(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:l})=>{let[u,c]=(0,Wt.useState)(!1),{labels:y}=B(),g=(0,Wt.useId)(),E=(0,Wt.useRef)(null),I=Gu(e.id,o,l),T=()=>{let d=E.current;d!==null&&s(d),a(null),c(!0),typeof e.id=="number"&&n?.(e.id)},L=d=>{if(!I)return;let b=d.relatedTarget;Te(b)&&d.currentTarget.contains(b)||a(null)};return(0,ze.jsxs)("li",{[ba]:e.id,"data-deleted":u?"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",u&&"hidden",I?"z-50":"z-0 hover:z-10"),children:[(0,ze.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,ze.jsx)("div",{className:R("font-semibold text-xs",ms(e.color)),children:ge(e.authorName)}),(0,ze.jsxs)("div",{className:"flex items-center gap-2",children:[e.createdAt&&(0,ze.jsx)("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:ye(e.createdAt)}),e.isMine&&!e.isLegacy&&(0,ze.jsxs)("div",{[mo]:e.id,className:$u,onBlur:L,children:[(0,ze.jsx)(we,{render:d=>(0,ze.jsx)("button",{ref:E,type:"button",tabIndex:d,className:Ku,title:y.commentDelete,"aria-label":y.commentDelete,"aria-expanded":I,"aria-controls":I?g:void 0,[uo]:e.id,onClick:()=>i(e.id,I),children:(0,ze.jsx)(js.default,{"aria-hidden":"true",className:I?Le.deletePending:Le.delete})})}),I&&(0,ze.jsx)(we,{render:d=>(0,ze.jsx)("button",{id:g,type:"button",tabIndex:d,"data-delete-confirmation":!0,className:zu,onClick:T,children:y.commentDeleteConfirm})})]})]})]}),(0,ze.jsx)("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:e.content})]})});ya.displayName="DailyReportPostedComment";var Ve=require("react/jsx-runtime"),ju="data-daily-report-comment-section",Yu="data-daily-report-comment-heading",qu=R(xt,ae),Xs=(e,t)=>e>0||t,Xu=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",ae),Zu=R("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",ae),Ys=e=>e.querySelector(`[${uo}][aria-expanded="true"]`),Ju=(e,t,r)=>{let n=[...e.querySelectorAll(`[${uo}]`)].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(`[${ba}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return Xs(i,r)?{kind:"heading"}:{kind:"report"}},Qu=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:l,onSectionRemoved:u})=>{let c=(0,We.useRef)(null),y=(0,qs.useOverlayEscapeStack)(),g=(0,We.useId)(),E=o!==null,I=(0,We.useCallback)(()=>{let d=c.current,b=d===null?null:Ys(d),C=b===null?null:b.closest(`[${mo}]`),D=d===null?null:$e(d);a(null),b!==null&&C!==null&&D!==null&&C.contains(D)&&b.focus({preventScroll:!0})},[a]);(0,We.useEffect)(()=>{if(E)return y({id:g,onEscape:d=>Xr(d)?(I(),!0):!1})},[E,y,g,I]),(0,We.useEffect)(()=>{let d=c.current;if(!E||d===null)return;let b=d.ownerDocument,C=D=>{let F=Ys(d)?.closest(`[${mo}]`);F!=null&&Te(D.target)&&F.contains(D.target)||a(null)};return b.addEventListener("pointerdown",C,!0),()=>b.removeEventListener("pointerdown",C,!0)},[E,a]);let T=(0,We.useCallback)((d,b)=>{b?I():a(d)},[I,a]),L=(0,We.useCallback)(d=>{let b=c.current;if(b===null)return;let C=Ju(b,d,s);if(C.kind==="report"){u();return}let D=C.kind==="trash"?C.button:l.current;if(D===null)throw new Error("[daily-report] the comment section's heading is not attached");D.focus({preventScroll:!0})},[s,l,u]);return e.length===0?null:(0,Ve.jsx)("ul",{ref:c,className:"space-y-2",children:e.map(d=>(0,Ve.jsx)(ya,{comment:d,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:T,onBeforeHide:L,resolvedIdMap:i},d.id))})},po=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=B(),a=(0,We.useRef)(null);return Xs(r.comments.length,r.canComment)?(0,Ve.jsxs)("div",{[ju]:"",className:R("flex flex-col gap-2",e),children:[(0,Ve.jsx)(Ye,{ref:a,level:Ut[o],tabIndex:-1,[Yu]:"",className:qu,children:n.comments}),(0,Ve.jsx)(Qu,{...r,headingRef:a}),t]}):null},fo=({reportHubId:e,businessDate:t,onAddComment:r})=>{let[n,o]=(0,We.useState)(!1),a=(0,We.useRef)(null),{labels:i}=B();return(0,Ve.jsxs)("form",{className:"flex gap-2",ref:a,onSubmit:async l=>{l.preventDefault();let c=new FormData(l.currentTarget).get("content")?.trim();if(c&&r){o(!0),a.current?.reset();try{await r(c)}catch{if(a.current){let y=a.current.elements.namedItem("content");y&&(y.value=c)}}finally{o(!1)}}},children:[(0,Ve.jsx)("input",{type:"hidden",name:"intent",value:"addComment"}),(0,Ve.jsx)("input",{type:"hidden",name:"reportHubId",value:e}),typeof t=="string"&&(0,Ve.jsx)("input",{type:"hidden",name:"businessDate",value:t}),(0,Ve.jsx)(we,{render:l=>(0,Ve.jsx)("input",{type:"text",name:"content",tabIndex:l,placeholder:i.commentPlaceholder,className:Xu,autoComplete:"off"})}),(0,Ve.jsx)(we,{render:l=>(0,Ve.jsx)("button",{type:"submit",tabIndex:l,className:Zu,disabled:n,children:i.commentSend})})]})};var Kt=require("react");var Zs=require("@radix-ui/react-slot"),Js=require("class-variance-authority"),Qs=ve(require("react"));var el=require("react/jsx-runtime"),em=(0,Js.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 ${ae}`,{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-solid border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-2",lg:"h-11 rounded-md px-4",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),wt=Qs.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>(0,el.jsx)(n?Zs.Slot:"button",{className:R(em({variant:t,size:r,className:e})),ref:a,...o}));wt.displayName="Button";var rl=require("react/jsx-runtime");function tl({className:e,type:t,...r}){return(0,rl.jsx)("input",{type:t,"data-slot":"input",className:R(`flex h-9 w-full min-w-0 rounded-md border border-input border-solid bg-transparent px-[7px] py-[3px] text-base shadow-xs selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive md:text-sm dark:bg-input/30 ${ae}`,e),...r})}var nl=ve(require("@radix-ui/react-label"));var ol=require("react/jsx-runtime");function Zr({className:e,...t}){return(0,ol.jsx)(nl.Root,{"data-slot":"label",className:R("flex select-none items-center gap-2 font-medium text-sm leading-none [:where(.group)[data-disabled=true]_&]:pointer-events-none [:where(.group)[data-disabled=true]_&]:opacity-50 [:where(.peer):disabled~&]:cursor-not-allowed [:where(.peer):disabled~&]:opacity-50",e),...t})}var il=require("react/jsx-runtime");function al({className:e,...t}){return(0,il.jsx)("textarea",{"data-slot":"textarea",className:R(`flex min-h-15 w-full rounded-md border border-input border-solid bg-transparent p-[7px] text-base shadow-xs placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive md:text-sm dark:bg-input/30 ${ae}`,e),...t})}var Ae=require("react/jsx-runtime"),tm=e=>{e.preventDefault()},bo=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=Pe(),{labels:i}=B(),[s,l]=(0,Kt.useState)(e.subject??""),[u,c]=(0,Kt.useState)(e.content??""),[y,g]=(0,Kt.useState)(!1),E=(0,Kt.useRef)(e.reportHubId);(0,Kt.useEffect)(()=>{e.reportHubId!==E.current&&(l(e.subject??""),c(e.content??""),E.current=e.reportHubId)},[e.reportHubId,e.subject,e.content]);let I=async()=>{g(!0);try{await o(e.reportHubId,{title:s,content:u},e.date)}catch{}finally{g(!1)}},T=async()=>{g(!0);try{await o(e.reportHubId,{title:s,content:u},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{g(!1)}},L=`report-title-${e.reportHubId}`,d=`report-content-${e.reportHubId}`;return(0,Ae.jsxs)("form",{className:"space-y-4 p-1",onSubmit:tm,children:[(0,Ae.jsxs)("div",{className:"space-y-2",children:[(0,Ae.jsx)(Zr,{htmlFor:L,children:i.formTitle}),(0,Ae.jsx)(we,{render:b=>(0,Ae.jsx)(tl,{ref:n,id:L,value:s,onChange:C=>l(C.target.value),placeholder:i.formTitlePlaceholder,disabled:y,tabIndex:b})})]}),(0,Ae.jsxs)("div",{className:"space-y-2",children:[(0,Ae.jsx)(Zr,{htmlFor:d,children:i.formContent}),(0,Ae.jsx)(we,{render:b=>(0,Ae.jsx)(al,{id:d,value:u,onChange:C=>c(C.target.value),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:y,tabIndex:b})})]}),(0,Ae.jsxs)("div",{className:"flex justify-end gap-2",children:[t&&(0,Ae.jsx)(we,{render:b=>(0,Ae.jsx)(wt,{type:"button",variant:"outline",onClick:t,disabled:y,tabIndex:b,children:i.formCancel})}),(0,Ae.jsx)(we,{render:b=>(0,Ae.jsx)(wt,{type:"button",variant:"secondary",onClick:I,disabled:y,tabIndex:b,children:i.formSave})}),(0,Ae.jsx)(we,{render:b=>(0,Ae.jsx)(wt,{type:"button",onClick:T,disabled:y,tabIndex:b,children:i.formPublish})})]})]})};var ul=ve(require("lucide-react/dist/esm/icons/check.js")),ml=ve(require("lucide-react/dist/esm/icons/pencil.js")),pl=ve(require("lucide-react/dist/esm/icons/trash-2.js"));var ga=require("react/jsx-runtime"),go=24,sl=2,rm=20,yo=5,nm=3,om=()=>{let e=Math.cos(2*Math.PI/yo)/Math.cos(Math.PI/yo),t=Array.from({length:2*yo},(g,E)=>{let I=-Math.PI/2+E*Math.PI/yo,T=E%2===0?1:e;return{x:T*Math.cos(I),y:T*Math.sin(I)}}),r=t.map(g=>g.x),n=t.map(g=>g.y),[o,a,i,s]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],l=(rm-sl)/(a-o),u=go/2-l*(o+a)/2,c=go/2-l*(i+s)/2,y=g=>String(Number(g.toFixed(nm)));return t.map(g=>`${y(u+l*g.x)},${y(c+l*g.y)}`).join(" ")},am=om(),Sr=({filled:e})=>(0,ga.jsx)("svg",{viewBox:`0 0 ${go} ${go}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:sl,strokeLinejoin:"round",className:e?Le.starOn:Le.starOff,children:(0,ga.jsx)("polygon",{points:am})});var Nt=require("react/jsx-runtime"),Er=({config:e,id:t,className:r})=>(0,Nt.jsx)("span",{id:t,className:R(Va,e.badgeClassName,r),children:e.name===void 0?e.label:(0,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsx)("span",{"aria-hidden":"true",children:(0,Nt.jsx)("abbr",{title:e.name,children:e.label})}),(0,Nt.jsx)("span",{className:"sr-only",children:e.name})]})});var Ra=require("react/jsx-runtime"),Ro=24,im=6,vr=({className:e})=>(0,Ra.jsx)("svg",{viewBox:`0 0 ${Ro} ${Ro}`,"aria-hidden":"true",className:R(Le.read,e),children:(0,Ra.jsx)("circle",{cx:Ro/2,cy:Ro/2,r:im,fill:"currentColor"})});var ll=require("react/jsx-runtime"),sm=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/,er=({text:e})=>sm.test(e)?(0,ll.jsx)("time",{dateTime:e,children:e}):e;var Ne=require("react/jsx-runtime"),Re=({label:e,classNames:t,valueId:r,children:n})=>(0,Ne.jsxs)("div",{className:t.field,children:[(0,Ne.jsx)("dt",{className:t.label,children:e}),(0,Ne.jsx)("dd",{id:r,className:R("m-0",t.value),children:n})]}),$t={field:"flex flex-col gap-1",label:"font-semibold text-slate-600 text-xs uppercase tracking-wide dark:text-slate-400",value:"text-slate-700 text-sm dark:text-slate-200"},dl=({report:e,visitTimeDisplay:t,labels:r})=>{let n=e.category?.trim(),o=e.creationCategory?.trim();return(0,Ne.jsxs)("dl",{className:"m-0 flex flex-col gap-2 rounded-xl bg-slate-100 p-3 text-slate-600 text-xs dark:bg-slate-800/60 dark:text-slate-300",children:[(0,Ne.jsx)(Re,{label:r.author,classNames:$t,children:ge(e.author)}),(0,Ne.jsx)(Re,{label:r.createdAt,classNames:$t,children:(0,Ne.jsx)(er,{text:ye(e.createdAt)})}),(0,Ne.jsx)(Re,{label:r.updatedBy,classNames:$t,children:ge(e.updatedBy)}),(0,Ne.jsx)(Re,{label:r.updatedAt,classNames:$t,children:(0,Ne.jsx)(er,{text:ye(e.updatedAt)})}),(0,Ne.jsx)(Re,{label:r.businessDate,classNames:$t,children:(0,Ne.jsx)(er,{text:ye(e.date)})}),t!==null&&(0,Ne.jsx)(Re,{label:r.visitTime,classNames:$t,children:t}),n&&(0,Ne.jsx)(Re,{label:r.category,classNames:$t,children:n}),o&&(0,Ne.jsx)(Re,{label:r.creationCategory,classNames:$t,children:o})]})};var ce=require("react/jsx-runtime"),ho={field:R(Ue,"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:""},lm={field:R(Ue,"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:""},cl={field:R(Ue,"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:""},fl=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:l,sourceConfig:u,visitTimeDisplay:c,markerIds:y,labels:g})=>{let E=r?g.starRemove:g.starAdd,I=t?g.markUnread:g.markRead,T=e.category?.trim(),L=e.creationCategory?.trim();return(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[(0,ce.jsx)(ar,{id:y.attachments,count:e.attachments.length,label:g.attachments}),u?(0,ce.jsx)(Er,{id:y.source,config:u}):null,(0,ce.jsx)(we,{render:d=>(0,ce.jsx)("button",{type:"button",onClick:a,tabIndex:d,className:Ke,title:E,"aria-label":E,"data-detail-star-button":e.reportHubId,children:(0,ce.jsx)(Sr,{filled:r})})}),(0,ce.jsx)(we,{render:d=>(0,ce.jsx)("button",{type:"button",onClick:o,tabIndex:d,className:Ke,title:I,"aria-label":I,"data-detail-read-button":e.reportHubId,children:t?(0,ce.jsx)(ul.default,{className:Le.read}):(0,ce.jsx)(vr,{})})}),i&&(0,ce.jsx)(we,{render:d=>(0,ce.jsx)("button",{ref:s,type:"button",onClick:i,tabIndex:d,"data-detail-edit-button":e.reportHubId,className:Ke,title:g.edit,"aria-label":g.edit,children:(0,ce.jsx)(ml.default,{className:Le.edit})})}),n&&(0,ce.jsx)(we,{render:d=>(0,ce.jsx)("button",{type:"button",onClick:l,tabIndex:d,"data-detail-delete-button":e.reportHubId,className:Ke,title:g.deleteReport,"aria-label":g.deleteReport,children:(0,ce.jsx)(pl.default,{className:Le.delete})})}),(0,ce.jsxs)("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[(0,ce.jsx)(Re,{label:g.id,classNames:lm,children:e.reportHubId}),(0,ce.jsx)(Re,{label:g.businessDate,classNames:ho,children:(0,ce.jsx)(er,{text:ye(e.date)})}),(0,ce.jsx)(Re,{label:g.author,classNames:ho,children:ge(e.employeeName)}),(0,ce.jsx)(Re,{label:g.visitTime,classNames:ho,children:ge(c)}),(0,ce.jsx)(Re,{label:g.updatedAt,classNames:ho,children:(0,ce.jsx)(er,{text:ye(e.updatedAt)})}),T&&(0,ce.jsx)(Re,{label:g.category,classNames:cl,children:T}),L&&(0,ce.jsx)(Re,{label:g.creationCategory,classNames:cl,children:L})]})]})};var tt=require("react");var H=require("react"),xa=require("react-dom");var Tr=e=>({owner:e,focusIndex:null}),ha=Object.freeze({owner:null,focusIndex:null}),bl=(e,t)=>{if(e.length===0)return ha;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:e[r].reportHubId,index:r},focusIndex:r}},yl=(e,t)=>{switch(t.kind){case"focusIn":return Tr(t.row);case"focusOut":return t.to==="outside"?ha:Tr(e);case"pointerPress":return t.at==="outside"?ha:Tr(e);case"listChanged":{if(e===null)return Tr(e);let r=Se(t.items,e.reportHubId,e.index);return r===-1?bl(t.items,e.index):Tr(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Tr(e):bl(t.items,t.selection.index)}};var dm=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),So={capture:!0},Eo=new WeakMap,cm=e=>{let t=o=>{dm.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,So),e.removeEventListener("pointerdown",r,So)}};return e.addEventListener("keydown",t,So),e.addEventListener("pointerdown",r,So),n},gl=e=>{let t=Eo.get(e),r=t===void 0?cm(e):t;t===void 0&&Eo.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),Eo.delete(e)))}},Rl=e=>{let t=Eo.get(e);return t===void 0?null:t.last};var vo=e=>e.matches(":focus-visible")&&Rl(e.ownerDocument)!=="pointer";var um="data-daily-report-keyboard-focus",zt={capture:!0},hl=e=>{let t=gl(e.ownerDocument),r=s=>{e.toggleAttribute(um,Te(s)&&vo(s))},n=s=>r(s.target),o=s=>{Te(s.relatedTarget)&&e.contains(s.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,zt),e.addEventListener("keydown",n,zt),e.addEventListener("focusout",o,zt),e.addEventListener("pointerdown",a,zt);let i=$e(e);return r(i!==null&&e.contains(i)?i:null),()=>{e.removeEventListener("focusin",n,zt),e.removeEventListener("keydown",n,zt),e.removeEventListener("focusout",o,zt),e.removeEventListener("pointerdown",a,zt),r(null),t()}};var mm='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',pm=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],fm=pm.map(e=>`[role="${e}"]`).join(", "),bm=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),ym=new Set(["Enter"," "]),gm=new Map([["Home","exitBefore"],["End","exitAfter"]]),Sa=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return gm.get(e.key)??null;let r=bm.get(e.key);return r!==void 0?r:ym.has(e.key)&&t.rowActivation?"activate":null},Sl=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},El=(e,t,r)=>{let n=Sa(e,r);if(n===null||e.defaultPrevented||qr(e)||t===null||!Te(e.target)||!t.contains(e.target))return null;let o=Bt(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:Sl(e.target,mm,t)||Sl(e.target,fm,t)?null:n};var To={kind:"stay"},xo=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},vl=e=>Math.floor(.875*e),Gt=(e,t)=>({kind:"move",index:e,align:t}),Jr=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",Rm=({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},hm=({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},Sm=(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 To;if(r==="top")return Gt(n-1,"top");let u=s(n-1);return Gt(n-1,Jr(i-u,u,a,-1))}case"next":return n===o-1?To:r==="top"?Gt(n+1,"top"):Gt(n+1,Jr(l,s(n+1),a,1));case"first":return Gt(0,"top");case"last":return Gt(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(l>a)return{kind:"reveal",delta:Math.min(l-a,vl(a))};if(n===o-1)return To;let u=Rm(t);return Gt(u.index,Jr(u.top,s(u.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,vl(a))};if(n===0)return To;let u=hm(t);return Gt(u.index,Jr(u.top,s(u.index),a,-1))}}},Em=({index:e,focusedRowTop:t,heightOf:r},n)=>Cl(n,{index:e,offsetPx:-t},r),Il=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let l=Sm(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:Em(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}},Ll=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>Jr(r,n(e),t,1),Cl=(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},Qr=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=xo(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:Cl(t,s,i),heightOf:i}},Tl=1,Al=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=en(o,n,t,r);return{start:Math.max(0,o.index-Tl),end:Math.min(t-1,a+Tl)}},en=(e,t,r,n)=>{let o=xo(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},_l=(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,xl=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),Dl=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(xl(t,n,o))return t.reportHubId;if(xl(r,n,o))return r.reportHubId;let a=e[n.visibleStartIndex];return a===void 0?null:a.reportHubId};var va=1,tn=2,Ea=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?va:0)|(n===t||n===r?tn:0),vm=e=>{if(Br(e))return!0;let t=$e(e);return t!==null&&e.contains(t)},Tm=(e,t)=>{let r=e.closest(`[${Wn}]`);return r!==null&&r!==e&&Xt(r)===t&&$e(e)===r},wl={capture:!0},Nl=({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,c=new Map,y=d=>Ea(r,d),g=d=>{let b=l.get(d);if(b===void 0)return;let C=(y(d)&tn)!==0?"0":"-1";b.getAttribute("tabindex")!==C&&b.setAttribute("tabindex",C)},E=()=>{if(n===null)return;let d=n;n=null,g(d)},I=(d,b)=>{E();let C={...r};d(r);let D=r,F=new Set([C.selectedId,C.tabStopId,C.arrivingId,D.selectedId,D.tabStopId,D.arrivingId]);for(let M of F){if(M===null)continue;let V=Ea(C,M),N=Ea(D,M);if(V===N)continue;((V^N)&tn)!==0&&(M===b?n=M:g(M));let j=s.get(M);if(j!==void 0)for(let te of[...j])te()}},T=d=>{let b=d.ownerDocument,C=n!==null&&!Br(d);C?b.addEventListener("focusout",E,wl):E(),a=!0;try{d.focus({preventScroll:!0})}finally{a=!1,C&&b.removeEventListener("focusout",E,wl),E()}},L=d=>{let b=e();b!==null&&(o=null,vm(b)&&T(d))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:y,setTabStopId:d=>{I(b=>{b.tabStopId=d},null)},settleSelection:(d,b)=>{I(C=>{C.selectedId=d,C.tabStopId=b,C.arrivingId=null},null)},arrive:d=>{I(b=>{b.arrivingId=d},d)},subscribe:(d,b)=>{let C=s.get(d)??new Set;return C.add(b),s.set(d,C),()=>{C.delete(b),C.size===0&&s.get(d)===C&&s.delete(d)}},registerFocusTarget:(d,b)=>{if(l.set(d,b),g(d),o===d){L(b);return}i===null||i.reportHubId!==d||(Br(b)||Tm(b,d))&&T(b)},unregisterFocusTarget:(d,b)=>{l.get(d)===b&&l.delete(d)},requestFocus:d=>{o=d;let b=l.get(d);b!==void 0&&L(b)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>i,setFocusOwner:d=>{i=d},restoreFocus:d=>{if(i===null||i.reportHubId!==d)return;let b=l.get(d);b===void 0||!Br(b)||T(b)},holdBodiesOutside:d=>{u=d},isBodyHeldAt:d=>u!==null&&(d<u.start||d>u.end),registerHeldBody:(d,b,C)=>{let D={indexHint:b,release:C};return c.set(d,D),()=>{c.get(d)===D&&c.delete(d)}},releaseHeldBodiesWithin:(d,b)=>{if(d!==null)for(let[C,{indexHint:D,release:F}]of[...c]){let M=b(C,D);M>=d.start&&M<=d.end&&F()}}}};var ut={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}},Ta=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),xm=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),Ol=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),Im=new Map(Object.values(ut).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),Ml=e=>{let t=Im.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},Lm=(e,t,r)=>e==="row"||e==="page"?t+r:r,kl=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:Ml(e)}),Pl=(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",Ml(r)):(e.pending=Lm(e.axis,e.pending,r.amount),Ta)}case"frame":{if(e.fence==="open")return Ta;if(e.fence==="immediate")return e.fence="flush",xm;if(e.pending===0)return e.fence="open",Ta;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?Ol:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return Ol}};var Cm=Object.freeze({kind:"frame"}),Am=Object.freeze({kind:"keyup"}),_m=Object.freeze({kind:"cancel"}),Dm=Object.freeze({previous:Object.freeze({kind:"repeat",step:ut.previous}),next:Object.freeze({kind:"repeat",step:ut.next}),pageBackward:Object.freeze({kind:"repeat",step:ut.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:ut.pageForward}),first:Object.freeze({kind:"repeat",step:ut.first}),last:Object.freeze({kind:"repeat",step:ut.last}),activate:Object.freeze({kind:"repeat",step:ut.activate})}),wm=(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}},Nm=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),Om=e=>{let t=Xt(e),r=mr(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},Io=(e,t)=>{let r=(0,H.useCallback)(a=>e.subscribe(t,a),[e,t]),n=(0,H.useCallback)(()=>e.rowStateOf(t),[e,t]),o=(0,H.useSyncExternalStore)(r,n,n);return{isCurrent:(o&va)!==0,isTabStop:(o&tn)!==0}},Lo=(e,t,r)=>{let[n,o]=(0,H.useState)(()=>!e.isBodyHeldAt(r));return(0,H.useLayoutEffect)(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return(0,H.startTransition)(a),i},[e,t,r,n]),n},Hl=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:l,rowActivation:u})=>{let[c]=(0,H.useState)(()=>Nl({getContainer:()=>n.current,initialSelectedId:t})),y=(0,H.useRef)({items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:u}),g=(0,H.useRef)(null),E=(0,H.useRef)(null),[I,T]=(0,H.useState)(null),L=(0,H.useRef)(null),d=(0,H.useRef)(null),[b,C]=(0,H.useState)(null),D=(0,H.useRef)(!1),F=(0,H.useRef)(null),[M,V]=(0,H.useState)(0),N=(0,H.useMemo)(()=>({id:t,indexHint:t===null?null:ki(I,t)}),[t,I]),j=(0,H.useRef)(N);(0,H.useLayoutEffect)(()=>{y.current={items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:u},j.current=N},[e,r,s,l,u,N]);let te=(0,H.useCallback)((x,p)=>{let m=E.current;if(m!==null&&m.items===x&&m.reportHubId===p)return m.index;let S=Se(x,p,m!==null&&m.reportHubId===p?m.index:null);return S!==-1&&(E.current={items:x,reportHubId:p,index:S}),S},[]),q=(0,H.useCallback)((x,p)=>{E.current={items:y.current.items,reportHubId:x,index:p},T(m=>m!==null&&m.reportHubId===x&&m.index===p?m:{reportHubId:x,index:p})},[]),le=(0,H.useCallback)(x=>{let p=c.getFocusOwner();if(p===null)return null;let m=Se(x,p.reportHubId,p.index);return m===-1?null:{reportHubId:p.reportHubId,index:m}},[c]),K=(0,H.useCallback)(x=>{let p=y.current.items,m=x===null?null:{reportHubId:x,index:te(p,x)};return Dl(p,le(p),m,g.current,F.current)},[te,le]),ne=(0,H.useCallback)(()=>{c.setTabStopId(K(c.getSelectedId()))},[c,K]),Y=(0,H.useCallback)(x=>{let p=c.getFocusOwner();p===x||p!==null&&x!==null&&p.reportHubId===x.reportHubId&&p.index===x.index||(c.setFocusOwner(x),D.current||ne())},[c,ne]),$=(0,H.useCallback)(x=>{let p=yl(c.getFocusOwner(),x);Y(p.owner),p.focusIndex!==null&&(L.current=p.focusIndex,c.requestFocus(p.owner.reportHubId))},[c,Y]);(0,H.useLayoutEffect)(()=>{c.settleSelection(t,K(t))},[c,t,e,M,K]),(0,H.useLayoutEffect)(()=>{let x=o.current;if(x!==null)return hl(x)},[o]),(0,H.useLayoutEffect)(()=>{let x=n.current;if(x===null)return;let p=x.ownerDocument,m=S=>{let v=n.current,A=S.target;$({kind:"pointerPress",at:v!==null&&Te(A)&&v.contains(A)?"inside":"outside"})};return p.addEventListener("pointerdown",m,{capture:!0}),()=>p.removeEventListener("pointerdown",m,{capture:!0})},[n,$]),(0,H.useLayoutEffect)(()=>{let x=c.pendingFocusId();x!==null&&Se(e,x,L.current)===-1&&c.cancelFocusRequest(),$({kind:"listChanged",items:e})},[c,e,$]);let pe=(0,H.useCallback)(x=>{$({kind:"removed",reportHubId:x,selection:E.current,items:y.current.items})},[$]),Ee=(0,H.useCallback)((x,p,m)=>{let{items:S,onSelect:v,rowSizing:A,arrowAlign:f}=y.current,h=a.current;if(v===null||h===null)return null;let w=Se(S,m.reportHubId,m.index);if(w===-1)return null;let k=Qr(h,w,S.length,A);if(k===null)return null;let W=Il(x,p,k,f),me=S[W.index],st=W.index!==w;if(st){c.arrive(me.reportHubId),F.current=me.reportHubId,L.current=W.index,D.current=!0;try{c.requestFocus(me.reportHubId)}finally{D.current=!1}}try{(0,xa.flushSync)(()=>{st&&(c.pendingFocusId()===null&&c.settleSelection(me.reportHubId,me.reportHubId),v(me.reportHubId,W.index)),W.alignment!==null&&i.toIndex(W.alignment.index,{align:W.alignment.align}),W.scrollDelta!==0&&i.by(W.scrollDelta),st&&(q(me.reportHubId,W.index),V(Ho=>Ho+1));let _r=Al(h,S.length,A);c.holdBodiesOutside(_r),c.releaseHeldBodiesWithin(_r,(Ho,kd)=>Se(S,Ho,kd))})}finally{c.holdBodiesOutside(null)}return st?{reportHubId:me.reportHubId,index:W.index}:{reportHubId:m.reportHubId,index:w}},[c,a,i,q]),oe=(0,H.useCallback)(x=>{let{items:p,onSelect:m}=y.current;if(m===null)return;let S=Se(p,x.reportHubId,x.index);S!==-1&&(m(x.reportHubId,S),q(x.reportHubId,S))},[q]),G=(0,H.useCallback)(x=>{let p=n.current,m=p===null?null:$e(p),S=p!==null&&m!==null&&p.contains(m)?Ur(Bt(m,p),y.current.items):null;return S===null?x.origin:S},[n]),be=(0,H.useCallback)((x,p)=>{let m=G(x);if(p.axis==="activate"){oe(m);return}let S=wm(p.axis,p.amount),v=Ee(S.command,S.count,m);v!==null&&(x.origin=v)},[G,oe,Ee]),xe=(0,H.useCallback)(x=>{d.current=null,x.frame!==0&&x.view.cancelAnimationFrame(x.frame),C(null)},[]),Oe=(0,H.useCallback)((x,p,m)=>{let{apply:S}=p;S!==null&&(p.flush?(0,xa.flushSync)(()=>be(x,S)):be(x,S)),d.current===x&&(p.ended?xe(x):p.requestFrame&&(x.frame=x.view.requestAnimationFrame(m)))},[be,xe]),_e=(0,H.useCallback)((x,p,m)=>{Oe(x,Pl(x.state,p),m)},[Oe]),De=(0,H.useCallback)(()=>{let x=d.current;x!==null&&(x.frame=0,_e(x,Cm,De))},[_e]),Ie=(0,H.useCallback)(()=>{let x=d.current;x!==null&&_e(x,Am,De)},[_e,De]),at=(0,H.useCallback)(()=>{let x=d.current;x!==null&&_e(x,_m,De)},[_e,De]),St=(0,H.useCallback)((x,p,m)=>{C(j.current);let{state:S,effects:v}=kl(ut[x]),A={state:S,origin:p,view:m,frame:0};d.current=A,Oe(A,v,De)},[Oe,De]);(0,H.useLayoutEffect)(()=>()=>{let x=d.current;d.current=null,x!==null&&x.frame!==0&&x.view.cancelAnimationFrame(x.frame)},[]);let it=(0,H.useCallback)(x=>{let p=d.current,m=p!==null&&x.repeat?Sa(x,y.current):null;if(p!==null&&m!==null&&m!=="exitBefore"&&m!=="exitAfter"&&ut[m].axis===p.state.axis){x.preventDefault(),_e(p,Dm[m],De);return}let{items:S,onSelect:v,rowSizing:A,rowActivation:f}=y.current,h=n.current,w=v===null?null:El(lo(x),h,{rowActivation:f});if(c.cancelFocusRequest(),Ie(),w===null||h===null)return;if(w==="exitBefore"||w==="exitAfter"){let me=Ss(h,w==="exitBefore"?"before":"after");if(me===null)return;x.preventDefault(),me.focus();return}let k=$e(h),W=Ur(Bt(k!==null&&h.contains(k)?k:x.target,h),S);if(W!==null){if(w!=="activate"){let me=a.current;if(me===null||Qr(me,W.index,S.length,A)===null)return}if(x.preventDefault(),x.repeat){St(w,W,dt(h));return}w==="activate"?oe(W):Ee(w,1,W)}},[c,n,a,De,_e,Ie,St,oe,Ee]),Ge=(0,H.useCallback)(()=>{Ie()},[Ie]),pt=(0,H.useCallback)(x=>{let p=n.current,m=x.target,S=Bt(m,p);if($({kind:"focusIn",row:S===null?null:Om(S)}),c.isMovingFocus())return;let v=a.current;if(p===null||v===null||!Te(m)||!vo(m))return;let A=S===null?null:S.closest('[role="list"]');if(S===null||A===null)return;let f=A.getBoundingClientRect(),h=S.getBoundingClientRect(),w=h.height<=f.height?h:Nm(m.getBoundingClientRect(),kt),k=_l(w,f),W=v.getViewportSize();k===0||!(W>0&&f.height>0)||i.by(k*W/f.height)},[c,n,a,i,$]),Et=(0,H.useCallback)(x=>{let p=n.current,m=x.relatedTarget,S=Te(m)?p?.contains(m)?"view":"outside":"nowhere";S!=="view"&&at(),$({kind:"focusOut",to:S})},[n,at,$]),Be=(0,H.useCallback)(()=>{c.cancelFocusRequest(),at()},[c,at]),vt=(0,H.useCallback)(x=>{g.current={visibleStartIndex:x.visibleStartIndex,visibleEndIndex:x.visibleEndIndex},F.current=null,ne()},[ne]),Tt=(0,H.useMemo)(()=>({onKeyDown:it,onKeyUp:Ge,onPointerDownCapture:Be,onWheelCapture:Be,onTouchStartCapture:Be,onFocus:pt,onBlur:Et}),[it,Ge,Be,pt,Et]);return{cursor:c,containerProps:Tt,handleRangeChange:vt,selection:N,settledSelection:b===null?N:b,resolveSelectedIndex:te,rememberSelection:q,focusAfterRemoval:pe}};var Co=require("react/jsx-runtime"),Mm=R(Pt,mn,pn,un,"h-full"),km="h-full w-full",Fl=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:l}=Io(a,e),u=(0,tt.useContext)(Ct),c=(0,tt.useContext)(Lt),y=Lo(a,e,u),g=(0,tt.useRef)(null),E=(0,tt.useRef)(null),I=(0,tt.useCallback)(T=>(g.current=T,a.registerFocusTarget(e,T),()=>{g.current=null,a.unregisterFocusTarget(e,T)}),[a,e]);return(0,tt.useLayoutEffect)(()=>{let T=g.current,L=T===null||!y?null:T.firstElementChild,d=L instanceof HTMLElement?L:null,b=E.current;b!==null&&b.body===d||(b!==null&&b.stop(),E.current=d===null?null:{body:d,stop:o(d)})}),(0,tt.useLayoutEffect)(()=>()=>{E.current?.stop(),E.current=null},[]),(0,tt.useLayoutEffect)(()=>{a.restoreFocus(e)},[a,e,n]),(0,Co.jsx)(Gr.Provider,{value:l,children:(0,Co.jsx)("div",{ref:I,className:Mm,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":u+1,"aria-setsize":c,"aria-labelledby":y&&t.kind==="card"?t.ids.heading:void 0,"aria-describedby":y&&t.kind==="card"?t.describedBy:void 0,"aria-label":t.kind==="label"?t.label:void 0,"aria-busy":r||!y?!0:void 0,"aria-current":s?"true":void 0,children:y?i:(0,Co.jsx)("div",{...je,className:km})})})};var P=require("react/jsx-runtime"),Pm=R("flex w-full flex-col",ft,yn,Dr),Hm=R(ft,Dr),Fm=R("rounded-2xl",Dr),Bm=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",Dr),Fe="bg-slate-200 dark:bg-slate-700",Um=(e,t)=>{let r=ge(e.name);return e.affiliation?.trim()?t.interviewerWithAffiliation(r,e.affiliation):r},Vm=()=>(0,P.jsxs)("div",{...je,className:Hm,children:[(0,P.jsxs)("div",{className:"mb-4 flex flex-wrap gap-2",children:[(0,P.jsx)("div",{className:R("h-6 w-20 rounded-full",Fe)}),(0,P.jsx)("div",{className:R("h-6 w-24 rounded-full",Fe)}),(0,P.jsx)("div",{className:R("h-6 w-24 rounded-full",Fe)}),(0,P.jsx)("div",{className:R("h-6 w-28 rounded-full",Fe)})]}),(0,P.jsxs)("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)("div",{className:R("h-5 w-40 rounded",Fe)}),(0,P.jsx)("div",{className:R("h-5 w-56 rounded",Fe)}),(0,P.jsx)("div",{className:R("h-24 rounded-xl",Fe)})]}),(0,P.jsxs)("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[(0,P.jsx)("div",{className:R("mb-2 h-4 w-24 rounded",Fe)}),(0,P.jsx)("div",{className:R("mb-2 h-4 w-28 rounded",Fe)}),(0,P.jsx)("div",{className:R("h-4 w-32 rounded",Fe)})]})]}),(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)("div",{className:R("h-4 w-24 rounded",Fe)}),(0,P.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,P.jsx)("div",{className:R("h-6 w-16 rounded-full",Fe)}),(0,P.jsx)("div",{className:R("h-6 w-16 rounded-full",Fe)}),(0,P.jsx)("div",{className:R("h-6 w-16 rounded-full",Fe)})]}),(0,P.jsxs)("div",{className:"space-y-2",children:[(0,P.jsx)("div",{className:R("h-16 rounded-xl",Fe)}),(0,P.jsx)("div",{className:R("h-16 rounded-xl",Fe)})]})]})]}),Wm=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:l}=Ft(e.reportHubId,e.businessDate),{removeStaleItem:u}=Pe(),{draftLabelName:c,sourceTypeConfigs:y}=B(),[g,E]=(0,se.useState)(!1),[I,T]=(0,se.useState)(!1),L=(0,se.useRef)(!1),d=(0,se.useRef)(!1),b=(0,se.useRef)(!1),C=(0,se.useRef)(!1);(0,se.useEffect)(()=>{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 D=a?.labels.some(G=>G.name===c),F=n&&a?.userId===n,M=(0,se.useCallback)(()=>{d.current=!0,L.current=!1,E(!0)},[]),V=(0,se.useCallback)(()=>{b.current=!0,E(!1),T(!0)},[]),N=(0,se.useCallback)(()=>{b.current=!0,E(!1)},[]),j=(0,se.useCallback)(G=>{G===null||!d.current||(d.current=!1,G.focus())},[]),te=(0,se.useCallback)(G=>{G===null||!b.current||(b.current=!1,G.focus())},[]);(0,se.useLayoutEffect)(()=>{g||(b.current=!1)},[g]),(0,se.useEffect)(()=>{a&&F&&D&&!g&&!I?(E(!0),L.current=!0):a&&!D&&g&&L.current&&(E(!1),L.current=!1)},[a,F,D,g,I]);let q=(0,se.useCallback)(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),le=(0,se.useId)(),K=(0,se.useMemo)(()=>({heading:`${le}-heading`,state:`${le}-state`,attachments:`${le}-attachments`,source:`${le}-source`}),[le]),ne=a!==null&&a.attachments.length>0,Y=a===null?void 0:Ht(a.sourceType,y),$=[K.state,...ne?[K.attachments]:[],...Y!==void 0?[K.source]:[]].join(" "),pe=!i&&a!==null&&!g?{kind:"card",ids:K,describedBy:$}:{kind:"label",label:ye(e.businessDate)},Ee=!i&&a===null&&s,oe=i?"error":a===null?s?"loading":"missing":g?"editing":"resolved";return(0,P.jsx)(Fl,{itemId:e.reportHubId,name:pe,isBusy:Ee,bodyKind:oe,observeRowHeight:t,cursor:o,children:i?(0,P.jsx)(Km,{itemId:e.reportHubId}):a?g?(0,P.jsx)("div",{...je,className:Fm,children:(0,P.jsx)(bo,{report:a,onCancel:V,onPublishSuccess:N,titleInputRef:j})}):(0,P.jsx)(Ul,{item:e,report:a,sourceConfig:Y,textIds:K,onCommentAdded:r,userId:n,onEdit:F?M:void 0,editButtonRef:te,onCommentSectionRemoved:q}):(0,P.jsx)(Vm,{})})},Bl=(0,se.memo)(Wm),Ul=(0,se.memo)(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:l})=>{let u=(0,se.useRef)(null),{toggleStar:c,toggleRead:y,pendingStarUpdates:g,pendingReadUpdates:E,deleteReport:I,user:T}=Pe(),{uiComments:L,handleAddComment:d,handleDeleteComment:b,pendingDeleteId:C,setPendingDeleteId:D,resolvedIdMap:F}=gr(t,T,a),{labels:M,headingLevel:V}=B(),N=Ut[V],j=Ln(t.sourceType,r),te=async be=>{await d(be),o?.(e.reportHubId)},q=g.current.get(t.reportHubId),le=q===void 0?t.isStarred:q,K=E.current.get(t.reportHubId),ne=K===void 0?t.isRead:K,Y=!!(a&&t.userId===a),$=async()=>{try{await y(t.reportHubId,!ne,t.date)}catch{}},pe=async()=>{try{await c(t.reportHubId,!le,t.date)}catch{}},Ee=async()=>{confirm(M.confirmDelete)&&await I(t.reportHubId,t.date)},oe=(0,se.useMemo)(()=>t.content?t.content.replace(/<br\s*\/??\s*>/gi,`
4
- `).trim():"",[t.content]),G=(0,se.useMemo)(()=>{let be=t.visitTimeFrom?.trim(),xe=t.visitTimeTo?.trim();return be&&xe?`${be} - ${xe}`:be||xe||null},[t.visitTimeFrom,t.visitTimeTo]);return(0,P.jsxs)("div",{...je,onDoubleClick:i,className:Pm,children:[(0,P.jsx)(Ye,{level:V,id:n.heading,className:"sr-only",children:`${ye(t.date)} ${ge(t.employeeName)} ${ge(t.subject)}`}),(0,P.jsx)("span",{id:n.state,className:"sr-only",children:M.rowState({isRead:ne,isStarred:le})}),(0,P.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,P.jsx)(fl,{report:t,sourceConfig:r,isRead:ne,isStarred:le,isMine:Y,onToggleRead:$,onToggleStar:pe,onEdit:i,editButtonRef:s,onDelete:Ee,visitTimeDisplay:G,markerIds:n,labels:M}),(0,P.jsxs)("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,P.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,P.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,P.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,P.jsx)(Ye,{level:N,className:xt,children:M.customer}),(0,P.jsx)("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:ge(t.customerName)})]}),(0,P.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,P.jsx)(Ye,{level:N,className:xt,children:M.subject}),(0,P.jsx)("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:ge(t.subject)})]})]}),oe&&(0,P.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,P.jsx)(Ye,{level:N,className:xt,children:M.content}),(0,P.jsx)("div",{className:R("whitespace-pre-wrap",bn),children:oe})]}),t.interviewers.length>0&&(0,P.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,P.jsx)(Ye,{level:N,className:xt,children:M.interviewers}),(0,P.jsx)("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map(be=>(0,P.jsx)("li",{className:R(Ue,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:Um(be,M)},JSON.stringify([be.name,be.affiliation])))})]}),(0,P.jsx)(so,{attachments:t.attachments}),(0,P.jsx)(po,{comments:L,canComment:j,reportHubId:t.reportHubId,businessDate:t.date,onDeleteComment:b,pendingDeleteId:C,onPendingDeleteIdChange:D,resolvedIdMap:F,onSectionRemoved:l}),j&&(0,P.jsx)("div",{className:"mt-auto",ref:u,children:(0,P.jsx)(fo,{reportHubId:t.reportHubId,businessDate:t.date,onAddComment:te})})]}),(0,P.jsx)(dl,{report:t,visitTimeDisplay:G,labels:M})]})]})]})});Ul.displayName="DailyReportResolvedItem";var Km=({itemId:e})=>{let{labels:t}=B();return(0,P.jsx)("div",{...je,className:Bm,children:(0,P.jsx)("p",{children:t.reportLoadFailed(e)})})};var Rt=require("react");var rt=require("react");var $m=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e[o]?.reportHubId!==t[o]?.reportHubId)return!0;return!1},zm=(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}},Gm=(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}},jm=(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"?zm(e.index,a,n.rowHeight,r.length):Gm(e.index,a,xo(n),r.length);return{reportHubId:r[i].reportHubId,index:i,offsetPx:s,lastVisibleIndex:en({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},Ym=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=Se(t,e[n].reportHubId,n-1);if(o!==-1)return o}return-1},Vl=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=(0,rt.useRef)(null),a=(0,rt.useRef)(e),i=(0,rt.useRef)(r),s=(0,rt.useCallback)(()=>{let u=t.current,c=u===null?-1:u.getScrollPosition(),y=u===null||!(c>0)?null:u.getScrollAnchor(),g=a.current,E=y===null?void 0:g[y.index],I=u===null?0:u.getViewportSize();o.current=y===null||E===void 0||!(I>0)?null:{reportHubId:E.reportHubId,index:y.index,offsetPx:y.offsetPx,lastVisibleIndex:en(y,I,g.length,i.current),recordedAt:c}},[t]),l=(0,rt.useMemo)(()=>({toIndex:(u,c)=>{let y=t.current;y!==null&&(y.scrollToIndex(u,c),s())},by:u=>{let c=t.current;c!==null&&(c.scrollBy(u),s())},resizeRow:(u,c)=>{let y=t.current;y!==null&&(y.updateItemSize(u,c),s())}}),[t,s]);return(0,rt.useLayoutEffect)(()=>{let u=a.current;a.current=e;let c=o.current,y=t.current;if(u===e||c===null||y===null||n())return;let g=jm(c,y.getScrollPosition(),u,i.current,y.getViewportSize());if(g===null){o.current=null;return}let E=Se(e,g.reportHubId,g.index),I=E===-1?Ym(u,e,g):E;if(I===-1){o.current=null;return}if(I===g.index&&!$m(u,e,g.index,g.lastVisibleIndex)){o.current=g;return}y.scrollToIndex(I,{align:"top",offset:-g.offsetPx}),o.current={reportHubId:e[I].reportHubId,index:I,offsetPx:g.offsetPx,lastVisibleIndex:en({index:I,offsetPx:g.offsetPx},y.getViewportSize(),e.length,r),recordedAt:y.getScrollPosition()}},[e,t,r,n]),(0,rt.useLayoutEffect)(()=>{i.current=r},[r]),(0,rt.useMemo)(()=>({handleRangeChange:s,handleScrollAdjust:s,scroller:l}),[s,l])};var Wl=require("react"),qm=20,Kl=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>(0,Wl.useCallback)(a=>{t.current=a;let i=a.querySelector(`[data-testid="${e}"]`);return i!==null&&Object.defineProperty(i,"__virtualScroll",{configurable:!0,get:()=>{let s=r.current;if(s!==null)return{getViewportSize:()=>s.getViewportSize(),getScrollPosition:()=>s.getScrollPosition(),getScrollAnchor:()=>s.getScrollAnchor(),getRange:()=>s.getRange(),getFenwickSize:()=>s.getFenwickSize(),findReportIndex:l=>o.current.findIndex(u=>u.reportHubId===l),getReportItem:l=>o.current[l],getReportIds:(l=qm)=>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]);var $l=require("react/jsx-runtime"),Ao=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let i=(0,Rt.useRef)(null),s=(0,Rt.useCallback)(D=>(i.current=D,()=>{i.current=null}),[]),{handleRangeChange:l,handleScrollAdjust:u,scroller:c}=Vl({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:y,...g}=Hl({...a,containerRef:e,handleRef:i,scroller:c}),E=Kl({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:c,itemsRef:r}),{labels:I}=B(),T=(0,Rt.useId)(),L=a.onSelect!==null,d=(0,Rt.useCallback)(D=>{y(D),l(),o(D)},[y,l,o]),b=(0,Rt.useMemo)(()=>({role:"list","aria-label":I.title,"aria-describedby":L?T:void 0}),[I.title,L,T]),C=(0,Rt.useMemo)(()=>L?(0,$l.jsx)("span",{id:T,className:"sr-only",children:I.listKeyboardHelp}):null,[L,T,I.listKeyboardHelp]);return{...g,handleRangeChange:d,handleScrollAdjust:u,attachVirtualScroll:s,handleRef:i,scroller:c,attachScrollContainer:E,contentProps:b,keyboardHelp:C}};var qe=require("react/jsx-runtime"),jl={pointerDragInputs:On,wheelSpeedMultiplier:Cn,inertiaOptions:pr(!1),enableKeyboardNavigation:!1},Xm={...jl,inertiaOptions:pr(!0)},zl="daily-report-detail-list",Zm=R("relative w-full",Sn,Rn),Jm=R(Je,"relative"),Qm=300,_o=e=>{let t=(0,U.useRef)(null),[r,n]=(0,U.useState)(null),o=Vn(t),a=Kn(r),i=(0,U.useCallback)(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return(0,qe.jsx)("div",{ref:i,className:gn,children:o===null?null:(0,qe.jsx)(ep,{...e,viewportHeight:o,reducedMotion:a})})},ep=({dailyReportItems:e,userId:t,selectedItemId:r,onSelectItem:n,scrollRestoreRef:o,viewportHeight:a,reducedMotion:i})=>{let[{initialScrollAnchor:s,restored:l}]=(0,U.useState)(()=>{let f=o?.current;if(!f||f.anchorReportHubId!==(r??null))return{initialScrollAnchor:void 0,restored:!1};if(!f.topItem)return{initialScrollAnchor:void 0,restored:!0};let h=e.findIndex(w=>w.reportHubId===f.topItem?.reportHubId);return h!==-1?{initialScrollAnchor:{index:h,offsetPx:f.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:f.topItem.index,offsetPx:0},restored:!0}}),u=(0,U.useRef)(l),c=(0,U.useRef)(r??null),y=(0,U.useRef)(o?.current.measuredHeights??new Map),g=(0,U.useRef)(null),E=Hn(),I=Pn(),[T]=(0,U.useState)(zn),L=(0,U.useRef)(null),d=(0,U.useRef)(null),b=(0,U.useRef)(e),C=(0,U.useRef)(n);(0,U.useLayoutEffect)(()=>{b.current=e,C.current=n},[e,n]);let D=(0,U.useRef)(null),[F,M]=(0,U.useState)(0),V=(0,U.useRef)(null),N=e.length,j=(0,U.useCallback)(f=>f>=N?_n:e[f],[e,N]),te=(0,U.useCallback)(f=>{let h=y.current.get(j(f).reportHubId);return h===void 0?bi:h},[j]),q=(0,U.useCallback)(f=>j(f).reportHubId,[j]),le=(0,U.useMemo)(()=>({kind:"measured",heightOf:te}),[te]),K=(0,U.useCallback)((f,h)=>{D.current={reportHubId:f,index:h},M(w=>w+1),C.current?.(f)},[]),ne=(0,U.useCallback)((f,h)=>{if(N===0)return;let w=Math.max(0,f),k=Math.min(N-1,h);if(w>k)return;let W=new Set;for(let me=w;me<=k;me++){let st=j(me);if(st.businessDate&&W.add(st.businessDate),W.size>=mi)break}W.forEach(me=>{I(me)})},[j,N,I]),Y=(0,U.useCallback)(f=>{if(N===0)return;let{renderingStartIndex:h,renderingEndIndex:w,visibleStartIndex:k}=f,W=j(k);W.businessDate&&T.setLabel(ye(W.businessDate)),ne(h,w),ne(w+1,w+An),ne(h-An,h-1)},[j,N,ne,T]),$=(0,U.useCallback)(()=>V.current!==null,[]),{cursor:pe,containerProps:Ee,handleRangeChange:oe,handleScrollAdjust:G,attachVirtualScroll:be,handleRef:xe,scroller:Oe,attachScrollContainer:_e,contentProps:De,keyboardHelp:Ie,resolveSelectedIndex:at,rememberSelection:St}=Ao({items:e,selectedId:r??null,onSelect:n===void 0?null:K,containerRef:g,rootRef:g,testId:zl,itemsRef:b,rowSizing:le,arrowAlign:"top",rowActivation:!0,isViewRevealPending:$,onRangeChange:Y}),it=(0,U.useCallback)((f,h)=>{if(xe.current===null)return!1;let w=b.current,k=h!==null&&h.reportHubId===f?Se(w,f,h.index):at(w,f);return k===-1?!1:(u.current&&(u.current=!1,f===c.current)||h!==null&&h.reportHubId===f&&h.index===k||Oe.toIndex(k,{align:"top"}),!0)},[xe,at,Oe]);(0,U.useEffect)(()=>{let f=D.current;D.current=null,V.current=null,r!=null&&(it(r,f)||(V.current=r))},[r,it]),(0,U.useEffect)(()=>{let f=V.current;f!==null&&it(f,null)&&(V.current=null)},[e,it]),(0,U.useEffect)(()=>{let f=o?.current;f&&(f.anchorReportHubId=r??null)},[r,o]),(0,U.useEffect)(()=>{D.current=null},[F]);let Ge=(0,U.useRef)(null),pt=(0,U.useCallback)(()=>{xe.current&&(Ge.current=xe.current);let f=o?.current,h=Ge.current;if(f&&h){let k=h.getScrollAnchor(),W=k?b.current[k.index]:void 0;k&&W&&(f.topItem={reportHubId:W.reportHubId,index:k.index,offsetPx:k.offsetPx})}let w=g.current;w&&(w.toggleAttribute(nr,!0),d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{w.toggleAttribute(nr,!1),d.current=null},150))},[xe,o]),Et=(0,U.useCallback)(f=>(0,qe.jsx)(Gn,{...f,store:T}),[T]);(0,U.useEffect)(()=>{let f=g.current;if(!f)return;let h=()=>{T.setWheelScrollActive(!0),L.current&&clearTimeout(L.current),L.current=window.setTimeout(()=>{T.setWheelScrollActive(!1),L.current=null},Dn)};return f.addEventListener("wheel",h,{passive:!0}),()=>{f.removeEventListener("wheel",h),L.current&&clearTimeout(L.current)}},[T]);let Be=(0,U.useRef)(null),vt=(0,U.useCallback)(f=>{for(let h of f){let w=h.target.parentElement,k=w===null?null:Xt(w),W=w===null?null:mr(w),me=h.borderBoxSize[0];if(k===null||W===null||me===void 0)continue;let st=me.blockSize+2*kt;if(y.current.get(k)===st)continue;let _r=Se(b.current,k,W-1);_r!==-1&&(y.current.set(k,st),Oe.resizeRow(_r,st))}},[Oe]),Tt=(0,U.useCallback)(f=>{Be.current===null&&(Be.current=new ResizeObserver(vt));let h=Be.current;return h.observe(f),()=>h.unobserve(f)},[vt]);(0,U.useEffect)(()=>()=>{Be.current?.disconnect(),Be.current=null},[]),(0,U.useEffect)(()=>{N!==0&&ne(0,Math.min(N-1,An))},[N,ne]);let x=(0,U.useRef)(null),p=(0,U.useCallback)(f=>{let h=Se(b.current,f,null);h!==-1&&(x.current!==null&&clearTimeout(x.current),x.current=setTimeout(()=>{x.current=null;let w=Se(b.current,f,h);w!==-1&&Oe.toIndex(w,{align:"bottom"})},Qm))},[Oe]);(0,U.useEffect)(()=>()=>{x.current!==null&&clearTimeout(x.current)},[]);let m=(0,U.useCallback)(f=>{if(!C.current)return;let h=Bt(f.target,g.current);if(h===null||Bi(f.target,h))return;let w=Ur(h,b.current);w!==null&&(St(w.reportHubId,w.index),K(w.reportHubId,w.index))},[K,St]),S=(0,U.useCallback)((f,h)=>(0,qe.jsx)(Ct.Provider,{value:h,children:(0,qe.jsx)(Bl,{item:f,observeRowHeight:Tt,onCommentAdded:p,userId:t,cursor:pe})},f.reportHubId),[Tt,p,t,pe]),v=(0,U.useMemo)(()=>({...Nn,renderThumbOverlay:Et}),[Et]),A=(0,U.useMemo)(()=>(0,qe.jsx)(Lt.Provider,{value:N,children:(0,qe.jsx)(Gl.VirtualScroll,{ref:be,itemCount:N,getItem:j,getItemKey:q,getItemHeight:te,viewportSize:a,initialScrollAnchor:s,overscanCount:wn,scrollBarOptions:v,behaviorOptions:i?Xm:jl,onRangeChange:oe,onScrollAdjust:G,onScroll:pt,testId:zl,className:Zm,locale:E.locale,labels:E.labels,contentProps:De,children:S})}),[be,N,j,q,te,a,i,s,v,oe,G,pt,E.locale,E.labels,De,S]);return(0,qe.jsx)(qe.Fragment,{children:(0,qe.jsxs)("div",{ref:_e,className:Jm,...Ee,onClick:m,children:[Ie,A]})})};var Ia=ve(require("lucide-react/dist/esm/icons/refresh-cw.js"));var tr=require("react"),rn=(e,t=250)=>{let[r,n]=(0,tr.useState)(e),o=(0,tr.useRef)(e),a=(0,tr.useRef)(!0);return(0,tr.useEffect)(()=>{if(a.current){a.current=!1,o.current=e,n(e);return}let i=o.current;if(i===e)return;let s=null,l=null,u=c=>{l===null&&(l=c);let y=Math.min(1,Math.max(0,(c-l)/t)),g=1-(1-y)**3,E=Math.round(i+(e-i)*g);o.current=E,n(E),y<1&&(s=requestAnimationFrame(u))};return s=requestAnimationFrame(u),()=>{s!==null&&cancelAnimationFrame(s)}},[e,t]),r};var ht=require("react/jsx-runtime"),xr=()=>{let e=bt(),{labels:t}=B(),r=rn(e.loadedCount),n=rn(e.totalCount??0);if(e.phase==="streaming"){let o=e.totalCount&&e.totalCount>0?Math.min(100,Math.round(e.loadedCount/e.totalCount*100)):null;return(0,ht.jsxs)("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:R(Ue,"gap-1 bg-blue-100 font-medium text-blue-800 text-xs tabular-nums dark:bg-blue-900/40 dark:text-blue-300"),children:[(0,ht.jsx)("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 motion-safe:animate-pulse dark:bg-blue-400"}),o!==null?t.streamProgressRatio(r,n,o):t.streamProgressCount(r)]})}return e.phase==="retrying"?(0,ht.jsxs)("span",{role:"status","data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:R(Ue,"gap-1 bg-amber-100 font-medium text-amber-800 text-xs tabular-nums dark:bg-amber-900/40 dark:text-amber-300"),children:[(0,ht.jsx)(Ia.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?(0,ht.jsxs)("span",{role:"status","data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:R(Ue,"gap-1 bg-rose-100 font-medium text-rose-800 text-xs dark:bg-rose-900/40 dark:text-rose-300"),children:[t.streamFailed,(0,ht.jsx)("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:()=>eo(),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",ae),children:t.streamRetry})]}):e.isRevalidating?(0,ht.jsxs)("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"revalidating",className:"inline-flex items-center gap-1 text-slate-500 text-xs dark:text-slate-400",children:[(0,ht.jsx)(Ia.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null};var rr=require("@aiquants/resize-panels"),Sd=require("@aiquants/virtualscroll"),ee=require("react");var Yl=require("react"),ql="(max-width: 639px)",tp=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};let t=window.matchMedia(ql);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},rp=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(ql).matches:!1,np=()=>!1,Xl=()=>(0,Yl.useSyncExternalStore)(tp,rp,np);var nt=require("@aiquants/swipe-overlay"),re=require("react");var Do=require("react");var Zl=Object.freeze({id:null,indexHint:null}),wo=(0,Do.createContext)(Object.freeze({selected:Zl,settled:Zl})),nn=(e,t)=>{let{id:r,indexHint:n}=t;return(0,Do.useMemo)(()=>{if(r===null)return null;let o=Se(e,r,n);return o===-1?null:e[o]},[e,r,n])};var od=ve(require("lucide-react/dist/esm/icons/check.js")),ad=ve(require("lucide-react/dist/esm/icons/pencil.js")),id=ve(require("lucide-react/dist/esm/icons/trash-2.js")),J=require("react");var Ot=ve(require("@radix-ui/react-tabs")),Xe=ve(require("react"));var Ir=require("react/jsx-runtime"),Jl=Xe.createContext(null),Ql=e=>{let t=Xe.useContext(Jl);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},ed=(e,t)=>`${e}-trigger-${t}`,td=(e,t)=>`${e}-panel-${t}`,on=Xe.forwardRef(({value:e,children:t,...r},n)=>{let o=Xe.useId(),a=Xe.useMemo(()=>({baseId:o,value:e}),[o,e]);return(0,Ir.jsx)(Ot.Root,{ref:n,value:e,...r,children:(0,Ir.jsx)(Jl,{value:a,children:t})})});on.displayName=Ot.Root.displayName;var an=Xe.forwardRef(({className:e,...t},r)=>(0,Ir.jsx)(Ot.List,{ref:r,className:R("inline-flex",e),...t}));an.displayName=Ot.List.displayName;var sn=Xe.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=Ql("TabsTrigger");return(0,Ir.jsx)(Ot.Trigger,{ref:n,value:t,...r,id:ed(o,t),"aria-controls":td(o,t),className:R(`${Ya} ${ae}`,e)})});sn.displayName=Ot.Trigger.displayName;var Lr=Xe.forwardRef(({className:e,value:t,children:r,...n},o)=>{let{baseId:a,value:i}=Ql("TabsContent"),s=t===i;return(0,Ir.jsx)("div",{ref:o,role:"tabpanel",id:td(a,t),"aria-labelledby":ed(a,t),"data-state":s?"active":"inactive",hidden:!s,tabIndex:0,...n,className:R(`mt-2 data-[state=inactive]:hidden ${ae}`,e),children:s?r:null})});Lr.displayName="TabsContent";var O=require("react/jsx-runtime"),sd=R(jt,"w-24 shrink-0"),rd={field:"flex items-baseline",label:sd,value:"flex-1"},op={field:"flex min-w-0 flex-1 items-baseline",label:sd,value:"wrap-break-word min-w-0 flex-1"},ap={field:"flex flex-col gap-1",label:jt,value:""},ip={field:"flex items-center gap-1",label:jt,value:""},nd=R("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",Fo,Ma,Oa),sp=R("flex flex-col gap-1",Bo),lp=R("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",ae),dp=500,La=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)})}},cp=(e,t,r,n,o,a)=>{let i=(0,J.useRef)(null),s=e?.reportHubId;(0,J.useLayoutEffect)(()=>{i.current=null},[s]),(0,J.useEffect)(()=>{n||(i.current=null)},[n]);let l=(0,J.useCallback)(async(u,c)=>{c||(i.current=u.reportHubId);try{await a(u.reportHubId,!u.isRead,u.date)}catch{}},[a]);return(0,J.useEffect)(()=>{if(!(r&&e&&!e.isRead&&!t)||i.current===e.reportHubId)return;let u=null,c=()=>{u!==null&&clearTimeout(u),u=o.isDwelling()?setTimeout(()=>l(e,!0),dp):null};c();let y=o.subscribe(c);return()=>{y(),u!==null&&clearTimeout(u)}},[e,t,r,l,o]),{handleToggleRead:l}},Ca="article",up=["article","relations"],mp=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},pp=R("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",ft),fp=9,bp=.875,yp=16,ld=4*Math.ceil((2*kt+2*fn+2*Ha+fp*bp*yp)/4),dd=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=B(),a=(0,J.useId)(),i=(0,J.useId)(),[s,l]=(0,J.useState)(Ca),{selected:u,settled:c}=(0,J.useContext)(wo),y=nn(e,u),g=nn(e,(0,J.useDeferredValue)(c)),E=y===null?null:y.reportHubId,T=(g===null?null:g.reportHubId)===E,[L]=(0,J.useState)(()=>La(T));return(0,J.useLayoutEffect)(()=>{L.set(T)},[L,T]),(0,O.jsx)("aside",{"data-testid":"daily-report-side-pane","data-report-id":y?.reportHubId,"data-displayed-report-id":g?.reportHubId,"aria-busy":T?void 0:!0,className:pp,children:g===null?(0,O.jsx)("div",{className:R("flex h-full flex-1 items-center justify-center text-center",or),children:(0,O.jsx)("p",{className:hn,children:o.selectPrompt})}):(0,O.jsx)(No,{item:g,headingId:a,authorId:i,activeTab:s,onActiveTabChange:l,autoMarkRead:t,isActive:!0,dwell:L,userId:r,onReportDeleted:n},g.reportHubId)})},No=(0,J.memo)(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:l,onReportDeleted:u})=>{let[c,y]=(0,J.useState)(!1),{draftLabelName:g,labels:E,sourceTypeConfigs:I,headingLevel:T}=B(),{report:L,error:d,isLoading:b}=Ft(e.reportHubId,e.businessDate),C=(0,J.useRef)(null),D=(0,J.useRef)(null),F=(0,J.useRef)(null),M=(0,J.useRef)(!1),V=(0,J.useRef)(!1),N=(0,J.useRef)(!1);(0,J.useEffect)(()=>{if(!L)return;let G=L.labels.some(be=>be.name===g);L.reportHubId!==F.current?(F.current=L.reportHubId,G?(y(!0),M.current=!0):(y(!1),M.current=!1)):!G&&c&&M.current&&(y(!1),M.current=!1)},[L,c,g]);let j=!!(l&&L?.userId===l),te=(0,J.useCallback)(()=>{V.current=!0,M.current=!1,y(!0)},[]),q=(0,J.useCallback)(()=>{N.current=!0,y(!1)},[]),le=(0,J.useCallback)(G=>{G===null||!V.current||(V.current=!1,G.focus())},[]),K=(0,J.useCallback)(G=>{G===null||!N.current||(N.current=!1,G.focus())},[]),ne=(0,J.useCallback)(()=>{D.current?.focus({preventScroll:!0})},[]);(0,J.useLayoutEffect)(()=>{c||!N.current||(N.current=!1,D.current?.focus())},[c]);let Y=(0,J.useCallback)(()=>{setTimeout(()=>{let G=C.current;G!==null&&G.scrollTo({top:G.scrollHeight,behavior:Ki(G)})},100)},[]),$=ye(e.businessDate),pe=L===null?null:ge(L.employeeName),Ee=b||!L,oe=L===null?void 0:Ht(L.sourceType,I);return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)("div",{className:sp,children:[(0,O.jsx)("dl",{className:"m-0",children:(0,O.jsx)(Re,{label:E.businessDate,classNames:ap,children:(0,O.jsx)(Ye,{ref:D,level:T,id:t,tabIndex:-1,className:lp,children:$})})}),(0,O.jsxs)("div",{className:"flex min-h-4 items-center gap-1 text-slate-500 text-xs dark:text-slate-300",children:[(0,O.jsx)("dl",{className:"m-0",children:(0,O.jsx)(Re,{label:E.author,classNames:ip,valueId:r,children:Ee?(0,O.jsx)("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):pe})}),oe?(0,O.jsx)(Er,{config:oe,className:"ml-2"}):null]})]}),(0,O.jsxs)(on,{value:n,onValueChange:G=>o(mp(G)),className:"flex min-h-0 flex-1 flex-col",children:[(0,O.jsx)("div",{className:Bo,children:(0,O.jsx)(an,{"aria-label":E.reportTabList,className:R(Ga,"grid grid-cols-2 gap-1"),children:up.map(G=>(0,O.jsx)(sn,{value:G,children:G==="article"?E.tabArticle:E.tabRelations},G))})}),(0,O.jsx)(Lr,{ref:C,value:"article",className:nd,children:c?L?(0,O.jsx)(bo,{report:L,onCancel:q,onPublishSuccess:q,titleInputRef:le}):(0,O.jsx)("p",{className:or,children:E.loading}):(0,O.jsx)(gp,{report:L,sourceConfig:oe,isLoading:b,error:d,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:Y,userId:l,onEdit:j?te:void 0,editButtonRef:K,onReportDeleted:u,onCommentSectionRemoved:ne})}),(0,O.jsx)(Lr,{value:"relations",className:nd,children:(0,O.jsx)("p",{className:or,children:E.relationsEmpty})})]})]})});No.displayName="DailyReportSidePaneContent";var Cr=({className:e="w-32"})=>(0,O.jsx)("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),gp=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:i=!0,dwell:s,onCommentAdded:l,userId:u,onEdit:c,editButtonRef:y,onReportDeleted:g,onCommentSectionRemoved:E})=>{let{toggleStar:I,toggleRead:T,deleteReport:L,user:d}=Pe(),{labels:b,headingLevel:C}=B(),D=Ut[C],{uiComments:F,handleAddComment:M,handleDeleteComment:V,pendingDeleteId:N,setPendingDeleteId:j,resolvedIdMap:te}=gr(e,d,u),{handleToggleRead:q}=cp(e,r,a,i,s,T),le=e!==null&&Ln(e.sourceType,t),K=async oe=>{await M(oe),l?.()},ne=(0,J.useMemo)(()=>e?.content?e.content.replace(/<br\s*\/?\s*>/gi,`
3
+ `,a)){let s=n.slice(a,i);o.push(t.length===0?s:[...t,s].join("")),t=[],a=i+1}return a<n.length&&t.push(n.slice(a)),o};return{push:n=>r(e.decode(n,{stream:!0})),end:()=>{let n=r(e.decode()),o=t.join("");return t=[],o===""?n:[...n,o]}}};var uu=50,mu=32,ps=0,pu=()=>(ps+=1,ps),fu=1e3,bu=3e4,yu=6,Ru=3e4,ro=Symbol("read-stall"),gu="/daily_report/api",hu=/^\d{4}-\d{2}-\d{2}$/,gr=class{constructor(t={}){this.itemMap=new Map;this.listeners=new Set;this.state={items:[],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=Gr();this.apiBasePath=t.apiBasePath??gu,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??Ru,this.publishCoalesceMs=t.publishCoalesceMs??uu,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)}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>=yu){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(fu*2**(this.consecutiveFailures-1),bu))}}pruneUnseenItems(){let t=this.activeSeenIds;if(this.activeSeenIds=null,!!t)for(let r of Array.from(this.itemMap.keys()))t.has(r)||this.deleteItem(r)}async streamOnce(t){let r=new AbortController;this.activeAbortController=r;try{let n=this.fetchFn(this.buildStreamUrl(t),{signal:r.signal,headers:{Accept:"application/x-ndjson"},cache:"no-store"}),o=null,a=this.readStallTimeoutMs<=0?await n:await Promise.race([n,new Promise(u=>{o=this.setTimeoutFn(()=>u(ro),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===ro)return r.abort(),n.catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no response headers within timeout")};if(a.status===401||a.status===403)return{kind:"auth-required"};if(!(a.ok&&a.body))return{kind:"retryable",error:new Error(`ids stream HTTP ${a.status}`)};let i=a.body.getReader(),s=ms(),d=!1,m=!1;for(;;){let u=await this.readWithStallGuard(i);if(u===ro)return r.abort(),i.cancel().catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let f=u.done?s.end():s.push(u.value),g=!1;for(let E of f){if(E.trim()==="")continue;let y;try{y=JSON.parse(E)}catch{this.warn("[DailyReportIdsStream] skipped malformed line");continue}let D=cs(y);if(D==="unknown"){this.warn("[DailyReportIdsStream] skipped line of unknown kind");continue}if(D==="error"){d=!0;continue}let v=y;g=this.absorbChunkLine(v)||g,typeof v.total=="number"&&Number.isFinite(v.total)&&v.total!==this.state.totalCount&&this.publish({totalCount:v.total}),v.nextCursor&&(v.nextCursor.businessDate===null||hu.test(v.nextCursor.businessDate))&&(this.lastCursor=v.nextCursor),v.isLast&&(m=!0)}if(g&&(this.consecutiveFailures=0,this.schedulePublishItems()),u.done)break}return d?{kind:"retryable",error:new Error("Stream interrupted by server error")}:m?{kind:"complete"}:{kind:"retryable",error:new Error("Stream ended before completion")}}catch(n){return n instanceof Error&&n.name==="AbortError"?{kind:"aborted"}:{kind:"retryable",error:n instanceof Error?n:new Error(String(n))}}finally{this.activeAbortController===r&&(this.activeAbortController=null)}}async readWithStallGuard(t){if(this.readStallTimeoutMs<=0)return t.read();let r=null,n=new Promise(o=>{r=this.setTimeoutFn(()=>o(ro),this.readStallTimeoutMs)});try{return await Promise.race([t.read(),n])}finally{r!==null&&this.clearTimeoutFn(r)}}absorbChunkLine(t){t.restarted===!0&&(this.lastCursor=null,this.lastSnapshot=null,this.activeSeenIds=new Set,this.externalRemovalTombstones.clear()),typeof t.snapshot=="string"&&(this.lastSnapshot=t.snapshot),t.streamAnchor!==void 0&&this.absorbStreamAnchor(t.streamAnchor);let r=t.provisional===!0,n=!1;for(let o of t.items)!o||typeof o.reportHubId!="number"||this.externalRemovalTombstones.has(o.reportHubId)||(r||this.activeSeenIds?.add(o.reportHubId),n=this.putItem(this.itemMap.get(o.reportHubId),o)||n);return n}putItem(t,r){return t===void 0?(this.itemMap.set(r.reportHubId,r),this.pendingItemsChange.add(r),!0):t.businessDate===r.businessDate&&t.sourceType===r.sourceType?!1:(this.itemMap.set(r.reportHubId,r),this.pendingItemsChange.change(t,r),!0)}deleteItem(t){let r=this.itemMap.get(t);return r===void 0?!1:(this.itemMap.delete(t),this.pendingItemsChange.remove(r),!0)}absorbStreamAnchor(t){if(t!==null&&!(typeof t=="string"&&to(t))){this.warn(`[DailyReportIdsStream] ids stream carried a malformed streamAnchor: ${String(t)}`);return}this.streamAnchorRevision+=1,this.publish({streamAnchor:{lastEventId:t,revision:this.streamAnchorRevision}})}takePendingItems(){if(this.pendingItemsChange.isEmpty())return{};this.lastItemsPublishAt=this.now();let t=pu(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange=Gr(),{items:Array.from(this.itemMap.values()),loadedCount:this.itemMap.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-mu),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}/${ds}${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 ca={},Su=6e4,le=null,fs=!1,ua=new Set,ys={items:[],loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},ma=()=>{for(let e of ua)e()},pa=()=>{le&&(le.unsubscribe(),le.client.dispose(),le=null,ma())},hr=e=>{if(typeof window>"u")return;let t=e.apiBasePath??pr.apiBasePath;if(le&&(le.userKey!==e.userKey||le.apiBasePath!==t)&&(le.userKey!==e.userKey&&Ur(),pa()),!le){let r=new gr({apiBasePath:t});le={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(ma)},vu(),r.start(),ma();return}no(le)},no=e=>{let t=e.client.getState();if(t.phase==="failed"){e.client.retry();return}t.phase==="complete"&&!t.isRevalidating&&t.completedAt!==null&&Date.now()-t.completedAt>Su&&e.client.refresh()},vu=()=>{if(fs||typeof document>"u"||typeof window>"u")return;fs=!0;let e=()=>{le&&no(le)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},oo=e=>{if(!(typeof window>"u")){if(!le){hr(e);return}if(le.userKey!==e.userKey){Ur(),pa(),hr(e);return}no(le)}},ao=()=>{typeof window>"u"||!le||no(le)},jr=e=>{le?.client.applyExternalUpsert(e)},io=e=>{le?.client.applyExternalRemoval(e)},Rs=e=>le===null?!1:le.client.has(e),fa=()=>le===null?0:le.client.getState().itemsRevision,so=()=>{le?.client.retry()},Yr=()=>{le?.client.resync()},ba=(e={})=>{le?.client.refresh(e)},gs=()=>le?.userKey,Eu=e=>(ua.add(e),()=>ua.delete(e)),Tu=()=>le?.client.getState()??ys,xu=()=>ys,nt=()=>(0,bs.useSyncExternalStore)(Eu,Tu,xu);typeof ca<"u"&&ca.hot&&ca.hot.dispose(()=>{pa()});var rr=cr(1,"daily-report-sse-connection"),Iu=Object.freeze({kind:"resyncing"}),hs={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},Cu=1,Es=ia*3,Lu=Es+ia,lo=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=U(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=nt(),[d,m]=(0,pt.useState)({generation:0,minAnchorRevision:1,anchored:!1}),u=d.generation>0&&!d.anchored,f=u&&a==="complete"&&!i?s:null,g=(0,pt.useRef)(0),E=(0,pt.useRef)(null),y=(0,pt.useRef)(n);y.current=n;let D=(0,pt.useRef)(0);D.current=o===null?0:o.revision,(0,pt.useEffect)(()=>{d.anchored||o===null||o.revision<d.minAnchorRevision||(E.current=o.lastEventId,g.current=0,m({...d,anchored:!0}))},[d,o]),(0,pt.useEffect)(()=>{if(!e||f===null)return;let{initialDelayMs:l,maxDelayMs:p,multiplier:I}=hs,C=qr.systemSseRuntime.random()*Math.min(p,l*I**g.current);rr.warn(`SSE resync: the ids rescan gave up (${f.message}); rescanning in ${Math.round(C)} ms`);let H=qr.systemSseRuntime.setTimer(()=>{g.current+=1,Yr()},C);return()=>qr.systemSseRuntime.clearTimer(H)},[e,f]);let{status:v}=(0,vs.useReopeningEventSource)(e&&d.anchored?`${r}#${d.generation}`:null,{resolveUrl:({lastEventId:l})=>l===null?r:`${r}?${is}=${encodeURIComponent(l)}`,initialLastEventId:E.current,withCredentials:!1,createEventSource:Ss.createBrowserEventSource,runtime:qr.systemSseRuntime,backoff:hs,healthyOpenMs:Lu,nativeRetryLimit:Cu,giveUpAfterFailures:"never",terminalEvents:as,heartbeat:{staleAfterMs:Es,onHeartbeat:null},events:{message:l=>{l.lastEventId!==""&&(to(l.lastEventId)?E.current=l.lastEventId:rr.warn("SSE event carried a malformed id; keeping the previous cursor:",l.lastEventId));try{let p=JSON.parse(l.data),I=ls.safeParse(p);if(!I.success){rr.error("SSE Validation Error:",I.error.flatten(),"raw message:",p);return}if(I.data.type==="connected"){rr.info("SSE Subscribe Ready");return}t(I.data)}catch(p){rr.error("SSE Parse Error",p)}}}});return(0,pt.useEffect)(()=>{if(v.kind==="faulted"){rr.error("SSE connection faulted:",v.error);return}if(v.kind==="terminated")switch(v.terminalEvent){case"auth-required":y.current();return;case"forbidden":rr.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let l=D.current+1;m(p=>({generation:p.generation+1,minAnchorRevision:l,anchored:!1})),Yr();return}}},[v]),e&&u?Iu:v};var At=require("react"),Ts=()=>{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)}}},ya=(0,At.createContext)(null),Kt=()=>{let e=(0,At.useContext)(ya);if(e===null)throw new Error("[daily-report] the draft store is read outside a DailyReportActionProvider");return e},xs=(e,t)=>(0,At.useCallback)(r=>e.subscribe(t,r),[e,t]),co=e=>{let t=Kt(),r=()=>t.modeOf(e);return(0,At.useSyncExternalStore)(xs(t,e),r,r)},Is=e=>{let t=Kt(),r=()=>t.inputOf(e),n=(0,At.useSyncExternalStore)(xs(t,e),r,r);if(n===null)throw new Error(`[daily-report] the edit form is rendered for report ${e}, whose editor is not open`);return n};var ke=require("react");var Sr=require("react/jsx-runtime"),Du=8e3,Au="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",_u=h("flex size-6 shrink-0 items-center justify-center rounded font-bold text-white/90 hover:bg-red-700 hover:text-white dark:hover:bg-red-800",Ya),Cs=(0,ke.createContext)({notifyError:()=>{}}),Ls=()=>(0,ke.useContext)(Cs),uo=({children:e})=>{let{onError:t,labels:r}=U(),[n,o]=(0,ke.useState)(null),a=(0,ke.useRef)(t);a.current=t;let i=(0,ke.useRef)(null),s=(0,ke.useCallback)(u=>{let f=a.current;if(f){f(u);return}o(u)},[]),d=(0,ke.useCallback)(()=>{i.current!==null&&(clearTimeout(i.current),i.current=null),o(null)},[]);(0,ke.useEffect)(()=>{if(n)return i.current=setTimeout(()=>o(null),Du),()=>{i.current!==null&&(clearTimeout(i.current),i.current=null)}},[n]);let m=(0,ke.useMemo)(()=>({notifyError:s}),[s]);return(0,Sr.jsxs)(Cs.Provider,{value:m,children:[e,n&&(0,Sr.jsxs)("div",{role:"alert","data-testid":"daily-report-error-banner",className:Au,children:[(0,Sr.jsx)("span",{className:"font-medium",children:n.message}),(0,Sr.jsx)("button",{type:"button","aria-label":r.close,onClick:d,className:_u,children:"\u2715"})]})]})};var As={items:[],held:new Map,revision:null,settled:!1},Ds=(e,t)=>{let r=0,n=e.length;for(;r<n;){let o=r+n>>1;tr(e[o],t)<0?r=o+1:n=o}return r<e.length&&e[r].reportHubId===t.reportHubId?r:-1},_s=(e,t,r)=>{let n=r,o=e.length;for(;n<o;){let a=n+o>>1;tr(e[a],t)<=0?n=a+1:o=a}return n},wu=(e,t)=>e.businessDate===t.businessDate,Nu=(e,t)=>{if(da(t)||t.sort(tr),e.length===0||tr(e[e.length-1],t[0])<0)return e.concat(t);let r=[],n=0;for(let o of t){let a=_s(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()},ws=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}},Ra=(e,t,r,n)=>{let o=new Set,a=[];for(let s of t.items)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 da(a)||a.sort(tr),ws({items:a,held:i,revision:t.itemsRevision,settled:r})},Ns=(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?[]:us(t.itemsChanges,o);if(o===null||a===null)return Ra(e,t,r,n);let i=Gr();for(let l of a)i.fold(l);let{appended:s,replaced:d,removed:m}=i.build(o,t.itemsRevision),u=null,f=()=>(u===null&&(u=new Map(e.held)),u),g=[],E=new Set,y=[];for(let l of m)e.held.has(l.reportHubId)||Ds(e.items,l)===-1||(r||n.has(l.reportHubId)?E.add(l.reportHubId):f().set(l.reportHubId,{item:l,since:Number.NEGATIVE_INFINITY}));let D=(l,p)=>{let I=l.reportHubId;if(n.has(I))return;let C=e.held.get(I);C!==void 0&&f().delete(I);let H=C===void 0?p:C.item,N=H===void 0?-1:Ds(e.items,H);if(N!==-1&&wu(e.items[N],l)){e.items[N].sourceType!==l.sourceType&&g.push({index:N,item:l});return}N!==-1&&E.add(I),y.push(l)};for(let{previous:l,next:p}of d)D(p,l);for(let l of s)D(l,void 0);let v=e.items;if(g.length>0){v=v.slice();for(let{index:l,item:p}of g)v[l]=p}return E.size>0&&(v=v.filter(l=>!E.has(l.reportHubId))),y.length>0&&(v=Nu(v,y)),ws({items:v,held:u===null?e.held:u,revision:t.itemsRevision,settled:r})},mo=(e,t,r)=>{if(e.items.some(a=>a.reportHubId===t.reportHubId))return e;let n=e.items.slice();n.splice(_s(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}},Xr=(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}},Os=(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}},Ms=e=>({...e,revision:null});var ga=require("react/jsx-runtime"),St=cr(1,"daily-report-action-context"),ha=globalThis.__DailyReportActionContext??(0,ee.createContext)(null);globalThis.__DailyReportActionContext=ha;var Pe=()=>{let e=(0,ee.useContext)(ha);if(!e)throw new Error("[daily-report] useDailyReportActionContext must be used within a DailyReportActionProvider");return e},nr=(e,t)=>{if(!e)return t;if(e.displayName?.trim())return e.displayName;if(e.name){let n=[e.name.familyName,e.name.givenName].filter(o=>typeof o=="string"&&o!=="").join(" ");if(n.trim())return n.trim()}let r=e.emails?.[0]?.value;return r||t},po=({children:e,user:t,userId:r})=>{let{apiBasePath:n,draftLabelName:o,labels:a}=U(),{notifyError:i}=Ls(),s=(0,ee.useRef)(i);s.current=i;let d=(0,ee.useRef)(new Map),m=(0,ee.useRef)(new Map),u=(0,ee.useRef)(new Map),f=(0,ee.useRef)(new Map),g=(0,ee.useRef)(new Map),[E,y]=(0,ee.useState)(0),[D]=(0,ee.useState)(Ts),[v,l]=(0,ee.useState)(!1),p=(0,ee.useRef)(!1),I=(0,ee.useRef)(new Map),C=(0,ee.useRef)(new Set),H=(0,ee.useRef)(new Set),N=nt(),K=N.phase==="complete"&&!N.isRevalidating,[M,B]=(0,ee.useState)(()=>Ra(As,N,K,C.current));(M.revision!==N.itemsRevision||M.settled!==K)&&B(x=>Ns(x,N,K,C.current));let ne=M.items,W=(0,ee.useCallback)(()=>gs()===(r??null),[r]),se=(0,ee.useCallback)(async()=>{St.info("[DailyReportActionProvider] Refetching data without page reload..."),ba(),y(x=>x+1),J.listeners.forEach(x=>{x(-1)})},[]),j=(0,ee.useCallback)(async()=>{St.info("[DailyReportActionProvider] Clearing client & server/DB cache and refetching data without page reload..."),Ur(),C.current.clear(),B(Ms);try{sessionStorage.clear()}catch{}try{let x=new FormData;x.append("intent","clearCache");let c=await fetch(`${n}/action`,{method:"POST",body:x});if(!c.ok){let R=await c.json().catch(()=>null);St.warn("[DailyReportActionProvider] Failed to clear server-side cache:",c.status,R)}}catch(x){St.warn("[DailyReportActionProvider] Failed to clear server-side cache:",x)}W()&&(ba({forceRefresh:!0}),y(x=>x+1),J.listeners.forEach(x=>{x(-1)}))},[n,W]),ce=(0,ee.useRef)(new Map),X=(0,ee.useRef)(()=>{}),$=(0,ee.useCallback)((x,c)=>{let R=ce.current,b=R.get(x);if(b){b.messages.push(c);return}let S={messages:[c],unsubscribe:()=>{},timer:setTimeout(()=>{let A=R.get(x);A&&(A.unsubscribe(),R.delete(x),St.warn(`[SSE Queue] Expired: reportHubId=${x}, dropped=${A.messages.length} messages`))},3e4)};S.unsubscribe=Mi(x,()=>{let A=R.get(x);if(A&&tt(x,{ignoreExpiry:!0})){A.unsubscribe(),clearTimeout(A.timer),R.delete(x),St.info(`[SSE Queue] Replaying ${A.messages.length} messages for reportHubId=${x}`);for(let k of A.messages)X.current(k)}}),R.set(x,S)},[]),be=x=>{H.current.add(x),setTimeout(()=>{H.current.delete(x)},3e4)},ue=(0,ee.useCallback)(x=>!!x&&H.current.has(x),[]),me=(0,ee.useCallback)((x,c)=>{c!==void 0&&jr({reportHubId:x,businessDate:c})},[]),De=()=>{r&&(p.current=!0,l(x=>!x))};(0,ee.useEffect)(()=>{if(!r)return;let x=setTimeout(()=>{p.current||l(!0)},Ti);return()=>clearTimeout(x)},[r]);let Y=(0,ee.useCallback)(x=>{W()&&(C.current.add(x),io(x),B(c=>Xr(c,x)),D.discard(x))},[W,D]);(0,ee.useEffect)(()=>{if(K)for(let x of C.current)Rs(x)||C.current.delete(x)},[K,N.itemsRevision]);let we=(0,ee.useCallback)(x=>{if(W()&&!ue(x.clientTempId))switch(x.type){case"comment-add":{let{comment:c,reportHubId:R}=x,b=tt(R,{ignoreExpiry:!0});if(b){if(b.postedComments.some(z=>z.id===c.id))return;let S=!1,A=d.current.get(R);if(A){for(let[z,T]of A.entries())if(T===c.content){A.delete(z),g.current.set(z,c.id),S=!0;break}}let k={...c,userName:c.userName||(S?nr(t,a.unknownUser):a.unknownUser),createdAt:c.createdAt||new Date().toISOString(),isMine:S},q={...b,postedComments:[...b.postedComments,k].sort((z,T)=>new Date(z.createdAt||0).getTime()-new Date(T.createdAt||0).getTime())};Jt(R,q),Vr(R),Wr(R),y(z=>z+1)}else $(R,x);break}case"comment-delete":{let{commentId:c,reportHubId:R}=x,b=tt(R,{ignoreExpiry:!0});if(b){let S={...b,postedComments:b.postedComments.filter(A=>A.id!==c)};Jt(R,S),Vr(R),Wr(R),y(A=>A+1)}else $(R,x);break}case"status-update":{let{statusType:c,value:R,reportHubId:b}=x,S=tt(b,{ignoreExpiry:!0});if(c==="star")if(u.current.get(b)===R&&u.current.delete(b),S){let A={...S,isStarred:R};Jt(b,A),y(k=>k+1)}else $(b,x);else if(c==="read")if(f.current.get(b)===R&&f.current.delete(b),S){let A={...S,isRead:R};Jt(b,A),y(k=>k+1)}else $(b,x);break}case"report-delete":{let{reportHubId:c}=x;C.current.add(c),io(c),B(S=>Xr(S,c)),D.discard(c);let R=ce.current.get(c);R&&(R.unsubscribe(),clearTimeout(R.timer),ce.current.delete(c));let b=tt(c,{ignoreExpiry:!0});b?.date&&(Kn(c,b.date),y(S=>S+1));break}case"report-create":case"report-update":case"report-publish":{let{report:c}=x;ki(c),(x.type==="report-create"||x.type==="report-publish")&&me(c.reportHubId,c.date),y(R=>R+1);break}}},[ue,W,me,t,$,a.unknownUser,D]);X.current=we,(0,ee.useEffect)(()=>()=>{for(let x of ce.current.values())x.unsubscribe(),clearTimeout(x.timer);ce.current.clear()},[]);let Xe=lo({isSseEnabled:v,onMessage:we}),ye=async(x,c,R,b,S,A)=>{A?.skipLock||Vr(x),S.onOptimistic?.();let k=b.clientTempId||crypto.randomUUID();be(k);let q=new FormData;q.append("intent",c),q.append("reportHubId",String(x)),typeof R=="string"&&q.append("businessDate",R),q.append("operationTimestamp",String(Date.now())),q.append("clientTempId",k);for(let[z,T]of Object.entries(b))z!=="clientTempId"&&q.append(z,T);try{let z=await fetch(`${n}/action`,{method:"POST",body:q,headers:{Accept:"application/json"}});if(!z.ok){let _=new Error(`Failed to ${c}`);throw Object.assign(_,{status:z.status}),_}let T=await z.json();if(T.status!=="OK"||c!=="create"&&String(T.reportHubId)!==String(x))throw new Error(`Invalid response for ${c}`);if(typeof T.clientTempId!="string"||T.clientTempId!==k)throw new Error(`Invalid clientTempId for ${c}`);if(!W())throw St.warn(`[executeAction] ${c} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${c}`);return await S.onSuccess?.(T)}catch(z){throw St.error(`${c} failed:`,z),W()&&(S.onFailure?.(),s.current({operation:c,message:a.operationFailed(c),cause:z})),z}finally{A?.keepLock||A?.skipLock||Wr(x)}},Ee=async(x,c,R)=>{let b=Number(x),S=-1*Date.now(),A=ye(b,"addComment",R,{content:c,clientTempId:String(S)},{onOptimistic:()=>{d.current.has(b)||d.current.set(b,new Map),d.current.get(b)?.set(S,c),y(k=>k+1)},onSuccess:k=>{if(!k.newComment)throw new Error("No new comment returned");let q=k.newComment.id;g.current.set(S,q),d.current.get(b)?.delete(S);let z=tt(b,{ignoreExpiry:!0});return z&&!z.postedComments.some(T=>T.id===q)&&rt(b,{postedComments:[...z.postedComments,{...k.newComment,id:q,isMine:!0,userName:nr(t,a.unknownUser)}],updatedAt:k.updatedAt}),q},onFailure:()=>{d.current.get(b)?.delete(S)}},{skipLock:!0}).finally(()=>I.current.delete(S));I.current.set(S,A),await A},Ze=async(x,c,R)=>{let b=Number(x);m.current.has(b)||m.current.set(b,new Set),m.current.get(b)?.add(c),y(A=>A+1);let S=c;if(c<0){let A=g.current.get(c);if(A!==void 0)S=A;else{let k=I.current.get(c);if(!k)return;try{S=await k}catch{return}}}await ye(b,"deleteComment",R,{commentId:String(S)},{onSuccess:A=>{let k=typeof A.deletedCommentId=="string"?Number(A.deletedCommentId):S,q=tt(b,{ignoreExpiry:!0});q&&(rt(b,{postedComments:q.postedComments.filter(z=>z.id!==k),updatedAt:A.updatedAt}),Oi(k)),m.current.get(b)?.delete(c)},onFailure:()=>{m.current.get(b)?.delete(c)}},{skipLock:!0})},Je=async(x,c,R)=>{let b=Number(x);await ye(b,"toggleStar",R,{isStarred:String(c)},{onOptimistic:()=>{rt(b,{isStarred:c}),u.current.set(b,c),y(S=>S+1)},onSuccess:S=>{S.updatedStatus&&typeof S.updatedStatus.isStarred=="boolean"&&tt(b,{ignoreExpiry:!0})&&(rt(b,{isStarred:S.updatedStatus.isStarred,updatedAt:S.updatedAt}),y(k=>k+1)),u.current.delete(b)},onFailure:()=>{rt(b,{isStarred:!c}),u.current.delete(b)}},{skipLock:!0})},yt=async(x,c,R)=>{let b=Number(x);await ye(b,"toggleRead",R,{isRead:String(c)},{onOptimistic:()=>{rt(b,{isRead:c}),f.current.set(b,c),y(S=>S+1)},onSuccess:S=>{S.updatedStatus&&typeof S.updatedStatus.isRead=="boolean"&&tt(b,{ignoreExpiry:!0})&&(rt(b,{isRead:S.updatedStatus.isRead,updatedAt:S.updatedAt}),y(k=>k+1)),f.current.delete(b)},onFailure:()=>{rt(b,{isRead:!c}),f.current.delete(b)}},{skipLock:!0})},Rt=(0,ee.useRef)(yt);Rt.current=yt;let xt=(0,ee.useCallback)((x,c,R)=>Rt.current(x,c,R),[]),lt=async x=>{let c=-1*Date.now(),R=new Date().toISOString(),b={reportHubId:c,date:x,createdAt:R,author:nr(t,a.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:nr(t,a.unknownUser),updatedBy:nr(t,a.unknownUser),updatedAt: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:[]};Ni(b,Date.now()+3e5,!1),B(S=>mo(S,{reportHubId:c,businessDate:x},Number.NEGATIVE_INFINITY));try{let S=await ye(0,"create",x,{clientTempId:String(c)},{onSuccess:q=>q});if(S.clientTempId&&S.clientTempId!==String(c))throw St.warn(`[createReport] ID mismatch. req=${c}, res=${S.clientTempId}`),new Error("Optimistic ID mismatch");let A=Number(S.reportHubId),k=fa();return jr({reportHubId:A,businessDate:x}),Vr(A),S.report&&(Jt(A,S.report),y(q=>q+1)),B(q=>mo(Xr(q,c),{reportHubId:A,businessDate:x},k)),setTimeout(()=>Wr(A),1e3),A}catch(S){throw St.error("[createReport] Failed or mismatched",S),B(A=>Xr(A,c)),S}},Qe=async(x,c,R)=>{let b=Number(x);await ye(b,"update",R,{...c.title&&{title:c.title},...c.content&&{content:c.content}},{onSuccess:()=>{let S=tt(b,{ignoreExpiry:!0});S&&(rt(b,{subject:c.title??S.subject,content:c.content??S.content}),y(A=>A+1))}})},dt=async(x,c)=>{let R=Number(x),b=tt(R,{ignoreExpiry:!0}),S=b?.labels||[];await ye(R,"publish",c,{},{onOptimistic:()=>{if(b){let A=b.labels.filter(k=>k.name!==o);rt(R,{labels:A}),y(k=>k+1)}},onSuccess:A=>{A.report&&(Jt(R,A.report),y(k=>k+1)),c!==void 0&&jr({reportHubId:R,businessDate:c})},onFailure:()=>{rt(R,{labels:S}),y(A=>A+1)}},{skipLock:!0})},Pt=async(x,c)=>{let R=Number(x),b=ne.find(S=>S.reportHubId===R);C.current.add(R),io(R),B(S=>Os(S,R));try{await ye(R,"delete",c,{},{onSuccess:S=>{Kn(R,c),D.discard(R)}})}catch(S){if(S.status===404){Kn(R,c),D.discard(R);return}if(!W())return;C.current.delete(R);let k=b===void 0?c:b.businessDate,q=fa();k!==void 0&&jr({reportHubId:R,businessDate:k}),b&&B(z=>mo(z,b,q))}};return(0,ga.jsx)(ya.Provider,{value:D,children:(0,ga.jsx)(ha.Provider,{value:{user:t,pendingAddCommentIds:d,pendingDeleteCommentIds:m,pendingStarUpdates:u,pendingReadUpdates:f,resolvedIdMap:g,version:E,items:ne,isSseEnabled:v,toggleSse:De,sseStatus:Xe,addComment:Ee,deleteComment:Ze,toggleStar:Je,toggleRead:xt,createReport:lt,updateReport:Qe,publishReport:dt,deleteReport:Pt,removeStaleItem:Y,refetchData:se,clearCacheAndRefetch:j},children:e})})};var _t=require("react");var ks=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Me("mergeComments: unknownAuthorName","a non-blank string",n);let o=e.map((i,s)=>({id:`legacy-${s}`,authorName:i.name||n,content:i.text||"",isMine:!1,color:i.color||void 0,isLegacy:!0})),a=t.map(i=>({id:i.id,authorName:i.userName||n,content:i.content??"",createdAt:i.createdAt??"",isMine:r?i.userId===r:i.isMine,isLegacy:!1}));return[...o,...a]},Ps=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 vr=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,version:i,addComment:s,deleteComment:d}=Pe(),{labels:m}=U(),u=m.unknownUser,[f,g]=(0,_t.useState)(null),E=(0,_t.useCallback)(l=>e&&d(e.reportHubId,l,e.date),[e,d]),y=(0,_t.useCallback)(l=>e&&t?s(e.reportHubId,l,e.date):Promise.resolve(),[e,t,s]),D=(0,_t.useRef)([]);return{uiComments:(0,_t.useMemo)(()=>{if(!e)return[];let l=ks(e.externalComments,e.postedComments,r,u),p=o.current.get(e.reportHubId);p?.size&&(l=l.filter(C=>!p.has(C.id)));let I=n.current.get(e.reportHubId);if(I?.size&&t){let C=new Set(l.map(N=>N.id)),H=nr(t,u);for(let[N,K]of I){if(p?.has(N)||C.has(N))continue;let M=a.current.get(N);M&&C.has(M)||l.some(B=>B.isMine&&B.content===K&&typeof B.id=="number"&&B.id>0)||l.push({id:N,authorName:H,content:K,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1})}}return JSON.stringify(l)===JSON.stringify(D.current)?D.current:(D.current=l,l)},[e,t,r,u,o,n,a,i]),handleAddComment:y,handleDeleteComment:E,pendingDeleteId:f,setPendingDeleteId:g,resolvedIdMap:a.current}};var Hs=require("react/jsx-runtime"),Ou={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},$t=Object.freeze({2:3,3:4,4:5,5:6}),Ge=({level:e,...t})=>{let r=Ou[e];return(0,Hs.jsx)(r,{...t})};var Nt=require("react");var Fs=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var va="tile",Jr=Fs[va],Mu=2,Zr=16,Bs=5,Us=Jr.maxWidth/Mu,ku=Bs*(Us+Zr)-Zr,Vs=e=>{let t=Math.min(Bs,1+Math.floor((e+Zr)/(Us+Zr)));return Math.floor((Math.min(e,ku)-(t-1)*Zr)/t)},Sa=`round(nearest, 100cqi * ${Jr.maxHeight} / ${Jr.maxWidth}, 1px)`,Ws=Object.freeze({aspectRatio:`${Jr.maxWidth} / ${Jr.maxHeight}`,height:Sa,contain:"strict"}),Ks=Object.freeze({marginBlockEnd:`calc(round(up, ${Sa}, ${4}px) - ${Sa})`});var Pu="download",Hu="thumbnail",Fu="1",Er=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[Pu]:Fu})}`;case"thumbnail":return`${n}?${new URLSearchParams({[Hu]:r.variant})}`}};var fo=require("react");var Qr=(0,fo.createContext)(null),Tr=()=>(0,fo.useContext)(Qr)===!1?-1:void 0,$s=(e,t)=>{let{before:r,after:n}=jn(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};var vt=require("react"),Xs=require("react-dom");var zs=require("react-dom");var Ea=new WeakMap,Gs=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,Bu=e=>{e.frame=null;let t=[...e.observations.values()].filter(Gs);t.length!==0&&(0,zs.flushSync)(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},Uu=(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=Vs(o))}e.frame!==null||![...e.observations.values()].some(Gs)||(e.frame=e.view.requestAnimationFrame(()=>Bu(e)))},Vu=e=>{let t=Ea.get(e);if(t!==void 0)return t;let r=e.defaultView;if(r===null)throw new Error("[daily-report] An attachment tile grid must belong to a document with a window to be measured");let n={view:r,observer:new r.ResizeObserver(o=>Uu(n,o)),observations:new Map,frame:null};return Ea.set(e,n),n},js=(e,t)=>{let r=e.ownerDocument,n=Vu(r);if(n.observations.has(e))throw new Error("[daily-report] An attachment tile grid is already observed");let o={onTrackWidth:t,observedTrackWidth:null,handedTrackWidth:null};return n.observations.set(e,o),n.observer.observe(e),()=>{n.observations.get(e)===o&&(n.observations.delete(e),n.observer.unobserve(e),!(n.observations.size>0)&&(n.frame!==null&&n.view.cancelAnimationFrame(n.frame),n.observer.disconnect(),Ea.delete(r)))}};var wt=require("react/jsx-runtime"),en="\u2026",Wu=en.codePointAt(0),bo="data-attachment-file-name",Ku=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,$u=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,Zs=(0,vt.createContext)(null),Js=e=>{let t=e.lastIndexOf(".");return t<=0||t===e.length-1?{stem:e,extension:""}:{stem:e.slice(0,t),extension:e.slice(t)}},Ys=(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("")},zu=(e,t,r)=>{if(r(e)<=t)return e;let{stem:n,extension:o}=Js(e.normalize("NFC")),a=t/2,i=r(o)<=a?o:`${Ys(o,en,a,r)}${en}`;return r(n+i)<=t?n+i:`${Ys(n,en+i,t,r)}${en}${i}`},qs=new WeakMap,Qs=e=>{let t=qs.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 qs.set(e,n),n},Gu=(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},el=e=>{let t=new Set;for(let r of e.matchAll(Ku)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},ju=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:el(t.fontFamily),measure:Gu(Qs(e.ownerDocument),r)}},Yu=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,qu=e=>{let t=new Set([Wu]);for(let r of e.querySelectorAll(`[${bo}]`)){let n=r.getAttribute(bo);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},Xu=(e,t)=>{for(let r of e.split(",")){let n=$u.exec(r.trim());if(n===null)return!0;let[,o,a]=n,i=Number.parseInt(o.replaceAll("?","0"),16),s=a===void 0?Number.parseInt(o.replaceAll("?","F"),16):Number.parseInt(a,16);for(let d of t)if(d>=i&&d<=s)return!0}return!1},Ta=new WeakMap,tl=e=>{let t=Ta.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return Ta.set(e,r),r},rl=(e,t)=>{let r=ju(e.container.querySelector(`[${bo}]`));e.fitted={trackWidth:t,nameFont:r};let n=tl(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=Ju(n)),e.applyFit({width:t,measure:r.measure})},Zu=(e,t)=>{let r=t.map(o=>({families:el(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=qu(o.container);i.some(d=>Xu(d.unicodeRange,s))&&(Qs(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&(0,Xs.flushSync)(()=>{for(let[o,a]of n)rl(o,a)})},Ju=e=>{let t=e.document.fonts,r=n=>{Zu(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},Qu=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=js(e,a=>rl(r,a)),o=tl(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),Ta.delete(o.document))}},nl=({containerRef:e,children:t})=>{let[r,n]=(0,vt.useState)(null);return(0,vt.useLayoutEffect)(()=>{let o=e.current;return Qu(o,i=>{n(s=>Yu(s,i)?s:i)})},[e]),(0,wt.jsx)(Zs,{value:r,children:t})},tn=({fileName:e,className:t,testId:r})=>{let n=(0,vt.useContext)(Zs),o=(0,vt.useMemo)(()=>n===null?null:zu(e,n.width,n.measure),[e,n]),{stem:a,extension:i}=Js(e);return(0,wt.jsxs)("span",{className:h("block min-w-0",t),title:e,"data-testid":r,[bo]:e,children:[o===null?(0,wt.jsxs)("span",{"aria-hidden":"true",className:"flex min-w-0",children:[(0,wt.jsx)("span",{className:"truncate",children:a}),i!==""&&(0,wt.jsx)("span",{className:"max-w-1/2 shrink-0 truncate",children:i})]}):(0,wt.jsx)("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:o}),(0,wt.jsx)("span",{className:"sr-only",children:e})]})};var dl=Ie(require("lucide-react/dist/esm/icons/image-off.js")),He=require("react");var yo=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),ol=yo.queueWaitMs+yo.readMs+yo.renderMs+yo.transferMarginMs;var em=Object.freeze({kind:"loaded"}),al=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",d=null,m=null,u=null,f=null,g=null,E=j=>(j!==null&&n.clearTimeout(j),null),y=()=>{f?.(),f=null},D=()=>{g?.(),g=null},v=j=>j===null||j.kind==="loaded"?0:j.kind==="failing"?j.failedAttempts:i.maxAttempts,l=j=>{s="cooling",u=n.setTimeout(B,j)},p=()=>{o.abortInFlight(),D();let j=v(r.get(t))+1;if(j>=i.maxAttempts){s="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:j,retryAt:n.now()+i.retryDelayMs}),o.reset(),l(i.retryDelayMs)},I=j=>{if(s==="loading"){if(m=E(m),!j){p();return}s="done",r.set(t,em),D()}},C=()=>{m=null,I(!1)},H=()=>{s="loading",o.showActivity(!0),y(),m=n.setTimeout(C,i.loadTimeoutMs),o.grant()},N=()=>{d=null,s="queued",g=a.request(H)},K=()=>{d===null&&(d=n.setTimeout(N,i.settleMs))},M=j=>{if(o.showActivity(j),j){s==="watching"&&K();return}if(s==="queued"){D(),s="watching";return}d=E(d)},B=()=>{u=null,s="watching",o.showActivity(!1),f=n.observe(e,M)},ne=()=>{let j=s==="loading";s="done",y(),d=E(d),m=E(m),u=E(u),o.showActivity(!1),j&&(o.abortInFlight(),g!==null&&o.reset()),D()},W=r.get(t);if(W?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:I,dispose:ne};if(W?.kind==="exhausted"){if(n.now()-W.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:I,dispose:ne};r.delete(t)}o.reset();let se=W?.kind==="failing"?W.retryAt-n.now():0;return se>0?l(se):B(),{settle:I,dispose:ne}};var tm=e=>{if(!Number.isInteger(e)||e<=0)throw Me("createLoadSlotLimiter: limit","an integer >= 1",e);let t=0,r=new Set,n=()=>{for(let o of r){r.delete(o),o.onGranted();return}t-=1};return{request:o=>{let a={onGranted:o},i=!1;return t<e?(t+=1,o()):r.add(a),()=>{i||(i=!0,!r.delete(a)&&n())}}}},il=tm(2);var rm=e=>{if(!Number.isInteger(e)||e<=0)throw Me("createThumbnailProgressStore: maxUrls","an integer >= 1",e);let t=new Map,r=(n,o)=>{t.delete(n),t.set(n,o)};return{peek:n=>t.get(n)??null,get:n=>{let o=t.get(n);return o===void 0?null:(r(n,o),o)},set:(n,o)=>{if(r(n,o),t.size<=e)return;let[a]=t.keys();t.delete(a)},delete:n=>{t.delete(n)}}},xa=rm(1024);var Ia=new WeakMap,nm=e=>{let t=Ia.get(e);if(t!==void 0)return t;let r=e.defaultView;if(r===null)throw new Error("[daily-report] A thumbnail frame must belong to a document with a window to be observed");let n=new WeakMap,a={observer:new r.IntersectionObserver(i=>{for(let s of i)n.get(s.target)?.onChange(s.isIntersecting)}),observations:n,observed:0};return Ia.set(e,a),a},sl=(e,t)=>{let r=e.ownerDocument,n=nm(r);if(n.observations.has(e))throw new Error("[daily-report] A thumbnail frame is already observed");let o={onChange:t};return n.observations.set(e,o),n.observed+=1,n.observer.observe(e),()=>{n.observations.get(e)===o&&(n.observations.delete(e),n.observer.unobserve(e),n.observed-=1,!(n.observed>0)&&(n.observer.disconnect(),Ia.delete(r)))}};var zt=require("react/jsx-runtime"),om={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},am="data-thumbnail-active",im="data-daily-report-attachment-preview",cl={[im]:""},sm=Object.freeze({settleMs:250,loadTimeoutMs:ol,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),ll=e=>{let t=xa.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},lm=()=>({limiter:il,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:sl,tuning:sm}),dm=(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(am,o)}}),ul=(0,He.memo)(({thumbnailUrl:e,unavailableLabel:t})=>{let r=(0,He.useRef)(null),n=(0,He.useRef)(null),o=(0,He.useRef)(null),[a,i]=(0,He.useState)(()=>ll(e));a.url!==e&&i(ll(e)),(0,He.useLayoutEffect)(()=>{if(a.status==="failed")return;let u=n.current,f=a.status==="idle"?null:a.url;u.getAttribute("src")!==f&&(f===null?u.removeAttribute("src"):u.setAttribute("src",f))},[a]),(0,He.useEffect)(()=>{let u=r.current,f=al(u,e,xa,lm(),dm(e,u,i,n));return o.current=f,()=>{o.current=null,f.dispose()}},[e]);let s=(0,He.useCallback)(u=>{u!==null&&(n.current=u)},[]),d=(0,He.useCallback)(()=>{i(u=>u.status==="granted"?{url:u.url,status:"loaded"}:u),o.current?.settle(!0)},[]),m=(0,He.useCallback)(()=>{o.current?.settle(!1)},[]);return(0,zt.jsx)("span",{className:"block",children:(0,zt.jsx)("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":om[a.status],style:Ws,className:"relative block w-full",children:(0,zt.jsx)("span",{"data-testid":"daily-report-attachment-thumbnail-skin",className:"absolute inset-0 flex items-center justify-center overflow-hidden rounded-lg bg-slate-100 after:pointer-events-none after:absolute after:inset-0 after:rounded-[inherit] after:ring-1 after:ring-slate-900/10 after:ring-inset dark:bg-slate-800 dark:after:ring-white/10 [[data-daily-report-attachment-preview]:active_&]:after:ring-blue-500 dark:[[data-daily-report-attachment-preview]:active_&]:after:ring-blue-400 motion-safe:[[data-thumbnail-state=pending][data-thumbnail-active]_&]:animate-pulse [[data-thumbnail-state=pending]_&]:bg-slate-200 dark:[[data-thumbnail-state=pending]_&]:bg-slate-700 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover:not(:active)_&]:after:ring-blue-300 dark:[@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover:not(:active)_&]:after:ring-blue-400/60",children:a.status==="failed"?(0,zt.jsxs)("span",{className:`flex size-full flex-col items-center justify-center gap-1 px-2 text-center text-slate-600 text-xs dark:text-slate-400 ${Ln}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[(0,zt.jsx)(dl.default,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):(0,zt.jsx)("img",{ref:s,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:d,onError:m,className:"max-h-full max-w-full opacity-0 motion-safe:transition-opacity motion-safe:duration-200 motion-safe:ease-out [[data-thumbnail-state=loaded]_&]:opacity-100","data-testid":"daily-report-attachment-thumbnail"})})})})});var ie=require("react/jsx-runtime"),ml=1024,Ca=["B","KB","MB","GB"],pl="text-slate-500 text-sm line-through dark:text-slate-400",cm=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=ml&&r<Ca.length-1;)t/=ml,r+=1;return r===0?`${t} ${Ca[r]}`:`${t.toFixed(1)} ${Ca[r]}`},fl=({attachment:e,labels:t,className:r})=>(0,ie.jsxs)("span",{className:r,children:[cm(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),La=({href:e,children:t,...r})=>{let n=Tr();return(0,ie.jsx)("a",{href:e,...r,tabIndex:n,children:t})},bl=({downloadUrl:e,label:t,fileName:r})=>(0,ie.jsxs)(La,{href:e,className:h("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",ae),"data-testid":"daily-report-attachment-download",children:[t," ",(0,ie.jsx)("span",{className:"sr-only",children:r})]}),um=(0,Nt.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=(0,ie.jsx)(ul,{thumbnailUrl:Er(t,e.id,{kind:"thumbnail",variant:va}),unavailableLabel:r.attachmentThumbnailUnavailable}),o=e.state==="absent";return(0,ie.jsxs)("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[o?(0,ie.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[n,(0,ie.jsx)(tn,{fileName:e.fileName,className:pl,testId:"daily-report-attachment-name"})]}):(0,ie.jsxs)(La,{href:Er(t,e.id,{kind:"inline"}),className:h("flex min-w-0 flex-col gap-2 rounded-lg",ae),"data-testid":"daily-report-attachment-link",...cl,children:[n,(0,ie.jsx)(tn,{fileName:e.fileName,className:"text-blue-600 text-sm dark:text-blue-400 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover_&]:underline"})]}),(0,ie.jsxs)("div",{className:"flex h-4 min-w-0 items-center gap-2 text-slate-500 text-xs tabular-nums dark:text-slate-400",style:Ks,children:[(0,ie.jsx)(fl,{attachment:e,labels:r,className:"truncate"}),!o&&(0,ie.jsx)(bl,{downloadUrl:Er(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})]})}),mm=(0,Nt.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=e.state==="absent";return(0,ie.jsxs)("li",{className:"flex items-center gap-2 rounded-lg bg-slate-50 p-2 dark:bg-slate-800/40","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[(0,ie.jsxs)("div",{className:"flex min-w-0 flex-col",children:[n?(0,ie.jsx)(tn,{fileName:e.fileName,className:pl,testId:"daily-report-attachment-name"}):(0,ie.jsx)(La,{href:Er(t,e.id,{kind:"inline"}),className:h("flex min-w-0 rounded-sm",ae),"data-testid":"daily-report-attachment-link",children:(0,ie.jsx)(tn,{fileName:e.fileName,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),(0,ie.jsx)(fl,{attachment:e,labels:r,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!n&&(0,ie.jsx)(bl,{downloadUrl:Er(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})}),pm=({attachments:e,headingId:t,apiBasePath:r,labels:n})=>{let o=(0,Nt.useRef)(null);return(0,ie.jsx)(nl,{containerRef:o,children:(0,ie.jsx)("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:(0,ie.jsx)("ul",{"aria-labelledby":t,className:"grid @min-[1008px]:w-[calc(round(down,100%-64px,5px)+64px)] @min-[240px]:w-[calc(round(down,100%-16px,2px)+16px)] @min-[496px]:w-[calc(round(down,100%-32px,3px)+32px)] @min-[752px]:w-[calc(round(down,100%-48px,4px)+48px)] w-[round(down,100%,1px)] max-w-[1264px] @min-[1008px]:grid-cols-5 @min-[240px]:grid-cols-2 @min-[496px]:grid-cols-3 @min-[752px]:grid-cols-4 grid-cols-1 gap-[16px]","data-testid":"daily-report-attachment-grid",children:e.map(a=>(0,ie.jsx)(um,{attachment:a,apiBasePath:r,labels:n},a.id))})})})},Ro=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=U(),o=(0,Nt.useId)(),{tileAttachments:a,rowAttachments:i}=(0,Nt.useMemo)(()=>({tileAttachments:e.filter(s=>s.hasThumbnail),rowAttachments:e.filter(s=>!s.hasThumbnail)}),[e]);return e.length===0?null:(0,ie.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[(0,ie.jsx)(Ge,{level:$t[n],id:o,className:h("m-0",Xt),children:r.attachments}),(0,ie.jsxs)("div",{className:"flex flex-col gap-4",children:[a.length>0&&(0,ie.jsx)(pm,{attachments:a,headingId:o,apiBasePath:t,labels:r}),i.length>0&&(0,ie.jsx)("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:i.map(s=>(0,ie.jsx)(mm,{attachment:s,apiBasePath:t,labels:r},s.id))})]})]})};var hl=require("@aiquants/swipe-overlay"),Ve=require("react");var rn=e=>e.isComposing||e.keyCode===229,go=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 fm={kind:"hold"},bm=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),ym=(e,t)=>{let r=e.getAttribute("role");return r!==null&&bm.has(r)&&e!==t&&e.contains(t)},nn=e=>e.key==="Escape"&&!e.defaultPrevented&&!rn(e),yl=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||rn(e))return null;let r=e.target;if(!(Le(r)&&t.contains(r)))return null;let n=$i(t);if(n.length===0)return fm;let{before:o,within:a,after:i}=jn(t,r);return e.shiftKey?o.some(s=>!ym(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};var ho=require("react/jsx-runtime"),Ne=({render:e})=>{let t=Tr();return(0,ho.jsx)(ho.Fragment,{children:e(t)})};var Rl=Ie(require("@heroicons/react/24/outline/TrashIcon.js")),Gt=require("react");var $e=require("react/jsx-runtime"),Da="data-comment-id",So="data-comment-delete-button",vo="data-comment-delete-slot",Rm=h(We,Za),gm="relative flex h-5 items-center",hm=h(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",ae),Sm=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,Aa=(0,Gt.memo)(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:d})=>{let[m,u]=(0,Gt.useState)(!1),{labels:f}=U(),g=(0,Gt.useId)(),E=(0,Gt.useRef)(null),y=Sm(e.id,o,d),D=()=>{let l=E.current;l!==null&&s(l),a(null),u(!0),typeof e.id=="number"&&n?.(e.id)},v=l=>{if(!y)return;let p=l.relatedTarget;Le(p)&&l.currentTarget.contains(p)||a(null)};return(0,$e.jsxs)("li",{[Da]:e.id,"data-deleted":m?"true":void 0,className:h("relative rounded-xl border border-slate-200 border-solid bg-white p-[11px] dark:border-slate-700 dark:bg-slate-900/70",e.isMine&&"border-blue-200 bg-blue-50 dark:border-blue-800/70 dark:bg-blue-950/40",m&&"hidden",y?"z-50":"z-0 hover:z-10"),children:[(0,$e.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,$e.jsx)("div",{className:h("font-semibold text-xs",Ps(e.color)),children:he(e.authorName)}),(0,$e.jsxs)("div",{className:"flex items-center gap-2",children:[e.createdAt&&(0,$e.jsx)("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:ge(e.createdAt)}),e.isMine&&!e.isLegacy&&(0,$e.jsxs)("div",{[vo]:e.id,className:gm,onBlur:v,children:[(0,$e.jsx)(Ne,{render:l=>(0,$e.jsx)("button",{ref:E,type:"button",tabIndex:l,className:Rm,title:f.commentDelete,"aria-label":f.commentDelete,"aria-expanded":y,"aria-controls":y?g:void 0,[So]:e.id,onClick:()=>i(e.id,y),children:(0,$e.jsx)(Rl.default,{"aria-hidden":"true",className:y?Ae.deletePending:Ae.delete})})}),y&&(0,$e.jsx)(Ne,{render:l=>(0,$e.jsx)("button",{id:g,type:"button",tabIndex:l,"data-delete-confirmation":!0,className:hm,onClick:D,children:f.commentDeleteConfirm})})]})]})]}),(0,$e.jsx)("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:e.content})]})});Aa.displayName="DailyReportPostedComment";var Ue=require("react/jsx-runtime"),vm="data-daily-report-comment-section",Em="data-daily-report-comment-heading",Tm=h(It,ae),Sl=(e,t)=>e>0||t,xm=h("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",ae),Im=h("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",ae),gl=e=>e.querySelector(`[${So}][aria-expanded="true"]`),Cm=(e,t,r)=>{let n=[...e.querySelectorAll(`[${So}]`)].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(`[${Da}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return Sl(i,r)?{kind:"heading"}:{kind:"report"}},Lm=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:d,onSectionRemoved:m})=>{let u=(0,Ve.useRef)(null),f=(0,hl.useOverlayEscapeStack)(),g=(0,Ve.useId)(),E=o!==null,y=(0,Ve.useCallback)(()=>{let l=u.current,p=l===null?null:gl(l),I=p===null?null:p.closest(`[${vo}]`),C=l===null?null:Ke(l);a(null),p!==null&&I!==null&&C!==null&&I.contains(C)&&p.focus({preventScroll:!0})},[a]);(0,Ve.useEffect)(()=>{if(E)return f({id:g,onEscape:l=>nn(l)?(y(),!0):!1})},[E,f,g,y]),(0,Ve.useEffect)(()=>{let l=u.current;if(!E||l===null)return;let p=l.ownerDocument,I=C=>{let H=gl(l)?.closest(`[${vo}]`);H!=null&&Le(C.target)&&H.contains(C.target)||a(null)};return p.addEventListener("pointerdown",I,!0),()=>p.removeEventListener("pointerdown",I,!0)},[E,a]);let D=(0,Ve.useCallback)((l,p)=>{p?y():a(l)},[y,a]),v=(0,Ve.useCallback)(l=>{let p=u.current;if(p===null)return;let I=Cm(p,l,s);if(I.kind==="report"){m();return}let C=I.kind==="trash"?I.button:d.current;if(C===null)throw new Error("[daily-report] the comment section's heading is not attached");C.focus({preventScroll:!0})},[s,d,m]);return e.length===0?null:(0,Ue.jsx)("ul",{ref:u,className:"space-y-2",children:e.map(l=>(0,Ue.jsx)(Aa,{comment:l,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:D,onBeforeHide:v,resolvedIdMap:i},l.id))})},Eo=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=U(),a=(0,Ve.useRef)(null);return Sl(r.comments.length,r.canComment)?(0,Ue.jsxs)("div",{[vm]:"",className:h("flex flex-col gap-2",e),children:[(0,Ue.jsx)(Ge,{ref:a,level:$t[o],tabIndex:-1,[Em]:"",className:Tm,children:n.comments}),(0,Ue.jsx)(Lm,{...r,headingRef:a}),t]}):null},To=({reportHubId:e,businessDate:t,onAddComment:r})=>{let[n,o]=(0,Ve.useState)(!1),a=(0,Ve.useRef)(null),{labels:i}=U();return(0,Ue.jsxs)("form",{className:"flex gap-2",ref:a,onSubmit:async d=>{d.preventDefault();let u=new FormData(d.currentTarget).get("content")?.trim();if(u&&r){o(!0),a.current?.reset();try{await r(u)}catch{if(a.current){let f=a.current.elements.namedItem("content");f&&(f.value=u)}}finally{o(!1)}}},children:[(0,Ue.jsx)("input",{type:"hidden",name:"intent",value:"addComment"}),(0,Ue.jsx)("input",{type:"hidden",name:"reportHubId",value:e}),typeof t=="string"&&(0,Ue.jsx)("input",{type:"hidden",name:"businessDate",value:t}),(0,Ue.jsx)(Ne,{render:d=>(0,Ue.jsx)("input",{type:"text",name:"content",tabIndex:d,placeholder:i.commentPlaceholder,className:xm,autoComplete:"off"})}),(0,Ue.jsx)(Ne,{render:d=>(0,Ue.jsx)("button",{type:"submit",tabIndex:d,className:Im,disabled:n,children:i.commentSend})})]})};var wl=require("react");var vl=require("@radix-ui/react-slot"),El=require("class-variance-authority"),Tl=Ie(require("react"));var xl=require("react/jsx-runtime"),Dm=(0,El.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 ${ae}`,{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"}}),Ot=Tl.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>(0,xl.jsx)(n?vl.Slot:"button",{className:h(Dm({variant:t,size:r,className:e})),ref:a,...o}));Ot.displayName="Button";var Cl=require("react/jsx-runtime");function Il({className:e,type:t,...r}){return(0,Cl.jsx)("input",{type:t,"data-slot":"input",className:h(`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 ${ae}`,e),...r})}var Ll=Ie(require("@radix-ui/react-label"));var Dl=require("react/jsx-runtime");function on({className:e,...t}){return(0,Dl.jsx)(Ll.Root,{"data-slot":"label",className:h("flex select-none items-center gap-2 font-medium text-sm leading-none [:where(.group)[data-disabled=true]_&]:pointer-events-none [:where(.group)[data-disabled=true]_&]:opacity-50 [:where(.peer):disabled~&]:cursor-not-allowed [:where(.peer):disabled~&]:opacity-50",e),...t})}var _l=require("react/jsx-runtime");function Al({className:e,...t}){return(0,_l.jsx)("textarea",{"data-slot":"textarea",className:h(`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 ${ae}`,e),...t})}var _e=require("react/jsx-runtime"),xr=e=>({title:e.subject??"",content:e.content??""}),Am=e=>{e.preventDefault()},xo=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=Pe(),{labels:i}=U(),s=Kt(),{title:d,content:m}=Is(e.reportHubId),[u,f]=(0,wl.useState)(!1),g=async()=>{f(!0);try{await o(e.reportHubId,{title:d,content:m},e.date)}catch{}finally{f(!1)}},E=async()=>{f(!0);try{await o(e.reportHubId,{title:d,content:m},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{f(!1)}},y=`report-title-${e.reportHubId}`,D=`report-content-${e.reportHubId}`;return(0,_e.jsxs)("form",{className:"space-y-4 p-1",onSubmit:Am,children:[(0,_e.jsxs)("div",{className:"space-y-2",children:[(0,_e.jsx)(on,{htmlFor:y,children:i.formTitle}),(0,_e.jsx)(Ne,{render:v=>(0,_e.jsx)(Il,{ref:n,id:y,value:d,onChange:l=>s.setInput(e.reportHubId,{title:l.target.value}),placeholder:i.formTitlePlaceholder,disabled:u,tabIndex:v})})]}),(0,_e.jsxs)("div",{className:"space-y-2",children:[(0,_e.jsx)(on,{htmlFor:D,children:i.formContent}),(0,_e.jsx)(Ne,{render:v=>(0,_e.jsx)(Al,{id:D,value:m,onChange:l=>s.setInput(e.reportHubId,{content:l.target.value}),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:u,tabIndex:v})})]}),(0,_e.jsxs)("div",{className:"flex justify-end gap-2",children:[t&&(0,_e.jsx)(Ne,{render:v=>(0,_e.jsx)(Ot,{type:"button",variant:"outline",onClick:t,disabled:u,tabIndex:v,children:i.formCancel})}),(0,_e.jsx)(Ne,{render:v=>(0,_e.jsx)(Ot,{type:"button",variant:"secondary",onClick:g,disabled:u,tabIndex:v,children:i.formSave})}),(0,_e.jsx)(Ne,{render:v=>(0,_e.jsx)(Ot,{type:"button",onClick:E,disabled:u,tabIndex:v,children:i.formPublish})})]})]})};var Pl=Ie(require("lucide-react/dist/esm/icons/check.js")),Hl=Ie(require("lucide-react/dist/esm/icons/pencil.js")),Fl=Ie(require("lucide-react/dist/esm/icons/trash-2.js"));var _a=require("react/jsx-runtime"),Co=24,Nl=2,_m=20,Io=5,wm=3,Nm=()=>{let e=Math.cos(2*Math.PI/Io)/Math.cos(Math.PI/Io),t=Array.from({length:2*Io},(g,E)=>{let y=-Math.PI/2+E*Math.PI/Io,D=E%2===0?1:e;return{x:D*Math.cos(y),y:D*Math.sin(y)}}),r=t.map(g=>g.x),n=t.map(g=>g.y),[o,a,i,s]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],d=(_m-Nl)/(a-o),m=Co/2-d*(o+a)/2,u=Co/2-d*(i+s)/2,f=g=>String(Number(g.toFixed(wm)));return t.map(g=>`${f(m+d*g.x)},${f(u+d*g.y)}`).join(" ")},Om=Nm(),Ir=({filled:e})=>(0,_a.jsx)("svg",{viewBox:`0 0 ${Co} ${Co}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:Nl,strokeLinejoin:"round",className:e?Ae.starOn:Ae.starOff,children:(0,_a.jsx)("polygon",{points:Om})});var Mt=require("react/jsx-runtime"),Cr=({config:e,id:t,className:r})=>(0,Mt.jsx)("span",{id:t,className:h(ei,e.badgeClassName,r),children:e.name===void 0?e.label:(0,Mt.jsxs)(Mt.Fragment,{children:[(0,Mt.jsx)("span",{"aria-hidden":"true",children:(0,Mt.jsx)("abbr",{title:e.name,children:e.label})}),(0,Mt.jsx)("span",{className:"sr-only",children:e.name})]})});var wa=require("react/jsx-runtime"),Lo=24,Mm=6,Lr=({className:e})=>(0,wa.jsx)("svg",{viewBox:`0 0 ${Lo} ${Lo}`,"aria-hidden":"true",className:h(Ae.read,e),children:(0,wa.jsx)("circle",{cx:Lo/2,cy:Lo/2,r:Mm,fill:"currentColor"})});var Ol=require("react/jsx-runtime"),km=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/,or=({text:e})=>km.test(e)?(0,Ol.jsx)("time",{dateTime:e,children:e}):e;var Oe=require("react/jsx-runtime"),Se=({label:e,classNames:t,valueId:r,children:n})=>(0,Oe.jsxs)("div",{className:t.field,children:[(0,Oe.jsx)("dt",{className:t.label,children:e}),(0,Oe.jsx)("dd",{id:r,className:h("m-0",t.value),children:n})]}),jt={field:"flex flex-col gap-1",label:"font-semibold text-slate-600 text-xs uppercase tracking-wide dark:text-slate-400",value:"text-slate-700 text-sm dark:text-slate-200"},Ml=({report:e,visitTimeDisplay:t,labels:r})=>{let n=e.category?.trim(),o=e.creationCategory?.trim();return(0,Oe.jsxs)("dl",{className:"m-0 flex flex-col gap-2 rounded-xl bg-slate-100 p-3 text-slate-600 text-xs dark:bg-slate-800/60 dark:text-slate-300",children:[(0,Oe.jsx)(Se,{label:r.author,classNames:jt,children:he(e.author)}),(0,Oe.jsx)(Se,{label:r.createdAt,classNames:jt,children:(0,Oe.jsx)(or,{text:ge(e.createdAt)})}),(0,Oe.jsx)(Se,{label:r.updatedBy,classNames:jt,children:he(e.updatedBy)}),(0,Oe.jsx)(Se,{label:r.updatedAt,classNames:jt,children:(0,Oe.jsx)(or,{text:ge(e.updatedAt)})}),(0,Oe.jsx)(Se,{label:r.businessDate,classNames:jt,children:(0,Oe.jsx)(or,{text:ge(e.date)})}),t!==null&&(0,Oe.jsx)(Se,{label:r.visitTime,classNames:jt,children:t}),n&&(0,Oe.jsx)(Se,{label:r.category,classNames:jt,children:n}),o&&(0,Oe.jsx)(Se,{label:r.creationCategory,classNames:jt,children:o})]})};var pe=require("react/jsx-runtime"),Do={field:h(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:""},Pm={field:h(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:""},kl={field:h(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:""},Bl=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:d,sourceConfig:m,visitTimeDisplay:u,markerIds:f,labels:g})=>{let E=r?g.starRemove:g.starAdd,y=t?g.markUnread:g.markRead,D=e.category?.trim(),v=e.creationCategory?.trim();return(0,pe.jsxs)("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[(0,pe.jsx)(dr,{id:f.attachments,count:e.attachments.length,label:g.attachments}),m?(0,pe.jsx)(Cr,{id:f.source,config:m}):null,(0,pe.jsx)(Ne,{render:l=>(0,pe.jsx)("button",{type:"button",onClick:a,tabIndex:l,className:We,title:E,"aria-label":E,"data-detail-star-button":e.reportHubId,children:(0,pe.jsx)(Ir,{filled:r})})}),(0,pe.jsx)(Ne,{render:l=>(0,pe.jsx)("button",{type:"button",onClick:o,tabIndex:l,className:We,title:y,"aria-label":y,"data-detail-read-button":e.reportHubId,children:t?(0,pe.jsx)(Pl.default,{className:Ae.read}):(0,pe.jsx)(Lr,{})})}),i&&(0,pe.jsx)(Ne,{render:l=>(0,pe.jsx)("button",{ref:s,type:"button",onClick:i,tabIndex:l,"data-detail-edit-button":e.reportHubId,className:We,title:g.edit,"aria-label":g.edit,children:(0,pe.jsx)(Hl.default,{className:Ae.edit})})}),n&&(0,pe.jsx)(Ne,{render:l=>(0,pe.jsx)("button",{type:"button",onClick:d,tabIndex:l,"data-detail-delete-button":e.reportHubId,className:We,title:g.deleteReport,"aria-label":g.deleteReport,children:(0,pe.jsx)(Fl.default,{className:Ae.delete})})}),(0,pe.jsxs)("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[(0,pe.jsx)(Se,{label:g.id,classNames:Pm,children:e.reportHubId}),(0,pe.jsx)(Se,{label:g.businessDate,classNames:Do,children:(0,pe.jsx)(or,{text:ge(e.date)})}),(0,pe.jsx)(Se,{label:g.author,classNames:Do,children:he(e.employeeName)}),(0,pe.jsx)(Se,{label:g.visitTime,classNames:Do,children:he(u)}),(0,pe.jsx)(Se,{label:g.updatedAt,classNames:Do,children:(0,pe.jsx)(or,{text:ge(e.updatedAt)})}),D&&(0,pe.jsx)(Se,{label:g.category,classNames:kl,children:D}),v&&(0,pe.jsx)(Se,{label:g.creationCategory,classNames:kl,children:v})]})]})};var ot=require("react");var F=require("react"),Ha=require("react-dom");var Dr=e=>({owner:e,focusIndex:null}),Na=Object.freeze({owner:null,focusIndex:null}),Ul=(e,t)=>{if(e.length===0)return Na;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:e[r].reportHubId,index:r},focusIndex:r}},Vl=(e,t)=>{switch(t.kind){case"focusIn":return Dr(t.row);case"focusOut":return t.to==="outside"?Na:Dr(e);case"pointerPress":return t.at==="outside"?Na:Dr(e);case"listChanged":{if(e===null)return Dr(e);let r=Te(t.items,e.reportHubId,e.index);return r===-1?Ul(t.items,e.index):Dr(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Dr(e):Ul(t.items,t.selection.index)}};var Hm=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),Ao={capture:!0},_o=new WeakMap,Fm=e=>{let t=o=>{Hm.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,Ao),e.removeEventListener("pointerdown",r,Ao)}};return e.addEventListener("keydown",t,Ao),e.addEventListener("pointerdown",r,Ao),n},Wl=e=>{let t=_o.get(e),r=t===void 0?Fm(e):t;t===void 0&&_o.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),_o.delete(e)))}},Kl=e=>{let t=_o.get(e);return t===void 0?null:t.last};var wo=e=>e.matches(":focus-visible")&&Kl(e.ownerDocument)!=="pointer";var Bm="data-daily-report-keyboard-focus",Yt={capture:!0},$l=e=>{let t=Wl(e.ownerDocument),r=s=>{e.toggleAttribute(Bm,Le(s)&&wo(s))},n=s=>r(s.target),o=s=>{Le(s.relatedTarget)&&e.contains(s.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,Yt),e.addEventListener("keydown",n,Yt),e.addEventListener("focusout",o,Yt),e.addEventListener("pointerdown",a,Yt);let i=Ke(e);return r(i!==null&&e.contains(i)?i:null),()=>{e.removeEventListener("focusin",n,Yt),e.removeEventListener("keydown",n,Yt),e.removeEventListener("focusout",o,Yt),e.removeEventListener("pointerdown",a,Yt),r(null),t()}};var Um='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',Vm=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],Wm=Vm.map(e=>`[role="${e}"]`).join(", "),Km=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),$m=new Set(["Enter"," "]),zm=new Map([["Home","exitBefore"],["End","exitAfter"]]),Oa=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return zm.get(e.key)??null;let r=Km.get(e.key);return r!==void 0?r:$m.has(e.key)&&t.rowActivation?"activate":null},zl=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},Gl=(e,t,r)=>{let n=Oa(e,r);if(n===null||e.defaultPrevented||rn(e)||t===null||!Le(e.target)||!t.contains(e.target))return null;let o=Wt(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:zl(e.target,Um,t)||zl(e.target,Wm,t)?null:n};var No={kind:"stay"},Oo=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},jl=e=>Math.floor(.875*e),qt=(e,t)=>({kind:"move",index:e,align:t}),an=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",Gm=({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},jm=({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},Ym=(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 No;if(r==="top")return qt(n-1,"top");let m=s(n-1);return qt(n-1,an(i-m,m,a,-1))}case"next":return n===o-1?No:r==="top"?qt(n+1,"top"):qt(n+1,an(d,s(n+1),a,1));case"first":return qt(0,"top");case"last":return qt(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(d>a)return{kind:"reveal",delta:Math.min(d-a,jl(a))};if(n===o-1)return No;let m=Gm(t);return qt(m.index,an(m.top,s(m.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,jl(a))};if(n===0)return No;let m=jm(t);return qt(m.index,an(m.top,s(m.index),a,-1))}}},qm=({index:e,focusedRowTop:t,heightOf:r},n)=>Jl(n,{index:e,offsetPx:-t},r),Xl=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let d=Ym(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:qm(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}},Zl=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>an(r,n(e),t,1),Jl=(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},sn=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=Oo(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:Jl(t,s,i),heightOf:i}},Yl=1,Ql=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=ln(o,n,t,r);return{start:Math.max(0,o.index-Yl),end:Math.min(t-1,a+Yl)}},ln=(e,t,r,n)=>{let o=Oo(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},ed=(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,ql=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),td=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(ql(t,n,o))return t.reportHubId;if(ql(r,n,o))return r.reportHubId;let a=e[n.visibleStartIndex];return a===void 0?null:a.reportHubId};var ka=1,dn=2,Ma=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?ka:0)|(n===t||n===r?dn:0),Xm=e=>{if(Kr(e))return!0;let t=Ke(e);return t!==null&&e.contains(t)},Zm=(e,t)=>{let r=e.closest(`[${Xn}]`);return r!==null&&r!==e&&Qt(r)===t&&Ke(e)===r},rd={capture:!0},nd=({getContainer:e,initialSelectedId:t})=>{let r={selectedId:t,tabStopId:t,arrivingId:null},n=null,o=null,a=!1,i=null,s=new Map,d=new Map,m=null,u=new Map,f=l=>Ma(r,l),g=l=>{let p=d.get(l);if(p===void 0)return;let I=(f(l)&dn)!==0?"0":"-1";p.getAttribute("tabindex")!==I&&p.setAttribute("tabindex",I)},E=()=>{if(n===null)return;let l=n;n=null,g(l)},y=(l,p)=>{E();let I={...r};l(r);let C=r,H=new Set([I.selectedId,I.tabStopId,I.arrivingId,C.selectedId,C.tabStopId,C.arrivingId]);for(let N of H){if(N===null)continue;let K=Ma(I,N),M=Ma(C,N);if(K===M)continue;((K^M)&dn)!==0&&(N===p?n=N:g(N));let B=s.get(N);if(B!==void 0)for(let ne of[...B])ne()}},D=l=>{let p=l.ownerDocument,I=n!==null&&!Kr(l);I?p.addEventListener("focusout",E,rd):E(),a=!0;try{l.focus({preventScroll:!0})}finally{a=!1,I&&p.removeEventListener("focusout",E,rd),E()}},v=l=>{let p=e();p!==null&&(o=null,Xm(p)&&D(l))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:f,setTabStopId:l=>{y(p=>{p.tabStopId=l},null)},settleSelection:(l,p)=>{y(I=>{I.selectedId=l,I.tabStopId=p,I.arrivingId=null},null)},arrive:l=>{y(p=>{p.arrivingId=l},l)},subscribe:(l,p)=>{let I=s.get(l)??new Set;return I.add(p),s.set(l,I),()=>{I.delete(p),I.size===0&&s.get(l)===I&&s.delete(l)}},registerFocusTarget:(l,p)=>{if(d.set(l,p),g(l),o===l){v(p);return}i===null||i.reportHubId!==l||(Kr(p)||Zm(p,l))&&D(p)},unregisterFocusTarget:(l,p)=>{d.get(l)===p&&d.delete(l)},requestFocus:l=>{o=l;let p=d.get(l);p!==void 0&&v(p)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>i,setFocusOwner:l=>{i=l},restoreFocus:l=>{if(i===null||i.reportHubId!==l)return;let p=d.get(l);p===void 0||!Kr(p)||D(p)},holdBodiesOutside:l=>{m=l},isBodyHeldAt:l=>m!==null&&(l<m.start||l>m.end),registerHeldBody:(l,p,I)=>{let C={indexHint:p,release:I};return u.set(l,C),()=>{u.get(l)===C&&u.delete(l)}},releaseHeldBodiesWithin:(l,p)=>{if(l!==null)for(let[I,{indexHint:C,release:H}]of[...u]){let N=p(I,C);N>=l.start&&N<=l.end&&H()}}}};var ft={previous:{axis:"row",amount:-1},next:{axis:"row",amount:1},pageBackward:{axis:"page",amount:-1},pageForward:{axis:"page",amount:1},first:{axis:"first",amount:1},last:{axis:"last",amount:1},activate:{axis:"activate",amount:1}},Pa=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),Jm=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),od=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),Qm=new Map(Object.values(ft).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),ad=e=>{let t=Qm.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},ep=(e,t,r)=>e==="row"||e==="page"?t+r:r,id=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:ad(e)}),sd=(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",ad(r)):(e.pending=ep(e.axis,e.pending,r.amount),Pa)}case"frame":{if(e.fence==="open")return Pa;if(e.fence==="immediate")return e.fence="flush",Jm;if(e.pending===0)return e.fence="open",Pa;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?od:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return od}};var tp=Object.freeze({kind:"frame"}),rp=Object.freeze({kind:"keyup"}),np=Object.freeze({kind:"cancel"}),op=Object.freeze({previous:Object.freeze({kind:"repeat",step:ft.previous}),next:Object.freeze({kind:"repeat",step:ft.next}),pageBackward:Object.freeze({kind:"repeat",step:ft.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:ft.pageForward}),first:Object.freeze({kind:"repeat",step:ft.first}),last:Object.freeze({kind:"repeat",step:ft.last}),activate:Object.freeze({kind:"repeat",step:ft.activate})}),ap=(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}},ip=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),sp=e=>{let t=Qt(e),r=yr(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},Mo=(e,t)=>{let r=(0,F.useCallback)(a=>e.subscribe(t,a),[e,t]),n=(0,F.useCallback)(()=>e.rowStateOf(t),[e,t]),o=(0,F.useSyncExternalStore)(r,n,n);return{isCurrent:(o&ka)!==0,isTabStop:(o&dn)!==0}},ko=(e,t,r)=>{let[n,o]=(0,F.useState)(()=>!e.isBodyHeldAt(r));return(0,F.useLayoutEffect)(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return(0,F.startTransition)(a),i},[e,t,r,n]),n},ld=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:d,rowActivation:m})=>{let[u]=(0,F.useState)(()=>nd({getContainer:()=>n.current,initialSelectedId:t})),f=(0,F.useRef)({items:e,onSelect:r,rowSizing:s,arrowAlign:d,rowActivation:m}),g=(0,F.useRef)(null),E=(0,F.useRef)(null),[y,D]=(0,F.useState)(null),v=(0,F.useRef)(null),l=(0,F.useRef)(null),[p,I]=(0,F.useState)(null),C=(0,F.useRef)(!1),H=(0,F.useRef)(null),[N,K]=(0,F.useState)(0),M=(0,F.useMemo)(()=>({id:t,indexHint:t===null?null:ji(y,t)}),[t,y]),B=(0,F.useRef)(M);(0,F.useLayoutEffect)(()=>{f.current={items:e,onSelect:r,rowSizing:s,arrowAlign:d,rowActivation:m},B.current=M},[e,r,s,d,m,M]);let ne=(0,F.useCallback)((c,R)=>{let b=E.current;if(b!==null&&b.items===c&&b.reportHubId===R)return b.index;let S=Te(c,R,b!==null&&b.reportHubId===R?b.index:null);return S!==-1&&(E.current={items:c,reportHubId:R,index:S}),S},[]),W=(0,F.useCallback)((c,R)=>{E.current={items:f.current.items,reportHubId:c,index:R},D(b=>b!==null&&b.reportHubId===c&&b.index===R?b:{reportHubId:c,index:R})},[]),se=(0,F.useCallback)(c=>{let R=u.getFocusOwner();if(R===null)return null;let b=Te(c,R.reportHubId,R.index);return b===-1?null:{reportHubId:R.reportHubId,index:b}},[u]),j=(0,F.useCallback)(c=>{let R=f.current.items,b=c===null?null:{reportHubId:c,index:ne(R,c)};return td(R,se(R),b,g.current,H.current)},[ne,se]),ce=(0,F.useCallback)(()=>{u.setTabStopId(j(u.getSelectedId()))},[u,j]),X=(0,F.useCallback)(c=>{let R=u.getFocusOwner();R===c||R!==null&&c!==null&&R.reportHubId===c.reportHubId&&R.index===c.index||(u.setFocusOwner(c),C.current||ce())},[u,ce]),$=(0,F.useCallback)(c=>{let R=Vl(u.getFocusOwner(),c);X(R.owner),R.focusIndex!==null&&(v.current=R.focusIndex,u.requestFocus(R.owner.reportHubId))},[u,X]);(0,F.useLayoutEffect)(()=>{u.settleSelection(t,j(t))},[u,t,e,N,j]),(0,F.useLayoutEffect)(()=>{let c=o.current;if(c!==null)return $l(c)},[o]),(0,F.useLayoutEffect)(()=>{let c=n.current;if(c===null)return;let R=c.ownerDocument,b=S=>{let A=n.current,k=S.target;$({kind:"pointerPress",at:A!==null&&Le(k)&&A.contains(k)?"inside":"outside"})};return R.addEventListener("pointerdown",b,{capture:!0}),()=>R.removeEventListener("pointerdown",b,{capture:!0})},[n,$]),(0,F.useLayoutEffect)(()=>{let c=u.pendingFocusId();c!==null&&Te(e,c,v.current)===-1&&u.cancelFocusRequest(),$({kind:"listChanged",items:e})},[u,e,$]);let be=(0,F.useCallback)(c=>{$({kind:"removed",reportHubId:c,selection:E.current,items:f.current.items})},[$]),ue=(0,F.useCallback)((c,R,b)=>{let{items:S,onSelect:A,rowSizing:k,arrowAlign:q}=f.current,z=a.current;if(A===null||z===null)return null;let T=Te(S,b.reportHubId,b.index);if(T===-1)return null;let _=sn(z,T,S.length,k);if(_===null)return null;let P=Xl(c,R,_,q),Q=S[P.index],xe=P.index!==T;if(xe){u.arrive(Q.reportHubId),H.current=Q.reportHubId,v.current=P.index,C.current=!0;try{u.requestFocus(Q.reportHubId)}finally{C.current=!1}}try{(0,Ha.flushSync)(()=>{xe&&(u.pendingFocusId()===null&&u.settleSelection(Q.reportHubId,Q.reportHubId),A(Q.reportHubId,P.index)),P.alignment!==null&&i.toIndex(P.alignment.index,{align:P.alignment.align}),P.scrollDelta!==0&&i.by(P.scrollDelta),xe&&(W(Q.reportHubId,P.index),K(gt=>gt+1));let ct=Ql(z,S.length,k);u.holdBodiesOutside(ct),u.releaseHeldBodiesWithin(ct,(gt,Rn)=>Te(S,gt,Rn))})}finally{u.holdBodiesOutside(null)}return xe?{reportHubId:Q.reportHubId,index:P.index}:{reportHubId:b.reportHubId,index:T}},[u,a,i,W]),me=(0,F.useCallback)(c=>{let{items:R,onSelect:b}=f.current;if(b===null)return;let S=Te(R,c.reportHubId,c.index);S!==-1&&(b(c.reportHubId,S),W(c.reportHubId,S))},[W]),De=(0,F.useCallback)(c=>{let R=n.current,b=R===null?null:Ke(R),S=R!==null&&b!==null&&R.contains(b)?$r(Wt(b,R),f.current.items):null;return S===null?c.origin:S},[n]),Y=(0,F.useCallback)((c,R)=>{let b=De(c);if(R.axis==="activate"){me(b);return}let S=ap(R.axis,R.amount),A=ue(S.command,S.count,b);A!==null&&(c.origin=A)},[De,me,ue]),we=(0,F.useCallback)(c=>{l.current=null,c.frame!==0&&c.view.cancelAnimationFrame(c.frame),I(null)},[]),Xe=(0,F.useCallback)((c,R,b)=>{let{apply:S}=R;S!==null&&(R.flush?(0,Ha.flushSync)(()=>Y(c,S)):Y(c,S)),l.current===c&&(R.ended?we(c):R.requestFrame&&(c.frame=c.view.requestAnimationFrame(b)))},[Y,we]),ye=(0,F.useCallback)((c,R,b)=>{Xe(c,sd(c.state,R),b)},[Xe]),Ee=(0,F.useCallback)(()=>{let c=l.current;c!==null&&(c.frame=0,ye(c,tp,Ee))},[ye]),Ze=(0,F.useCallback)(()=>{let c=l.current;c!==null&&ye(c,rp,Ee)},[ye,Ee]),Je=(0,F.useCallback)(()=>{let c=l.current;c!==null&&ye(c,np,Ee)},[ye,Ee]),yt=(0,F.useCallback)((c,R,b)=>{I(B.current);let{state:S,effects:A}=id(ft[c]),k={state:S,origin:R,view:b,frame:0};l.current=k,Xe(k,A,Ee)},[Xe,Ee]);(0,F.useLayoutEffect)(()=>()=>{let c=l.current;l.current=null,c!==null&&c.frame!==0&&c.view.cancelAnimationFrame(c.frame)},[]);let Rt=(0,F.useCallback)(c=>{let R=l.current,b=R!==null&&c.repeat?Oa(c,f.current):null;if(R!==null&&b!==null&&b!=="exitBefore"&&b!=="exitAfter"&&ft[b].axis===R.state.axis){c.preventDefault(),ye(R,op[b],Ee);return}let{items:S,onSelect:A,rowSizing:k,rowActivation:q}=f.current,z=n.current,T=A===null?null:Gl(go(c),z,{rowActivation:q});if(u.cancelFocusRequest(),Ze(),T===null||z===null)return;if(T==="exitBefore"||T==="exitAfter"){let Q=$s(z,T==="exitBefore"?"before":"after");if(Q===null)return;c.preventDefault(),Q.focus();return}let _=Ke(z),P=$r(Wt(_!==null&&z.contains(_)?_:c.target,z),S);if(P!==null){if(T!=="activate"){let Q=a.current;if(Q===null||sn(Q,P.index,S.length,k)===null)return}if(c.preventDefault(),c.repeat){yt(T,P,mt(z));return}T==="activate"?me(P):ue(T,1,P)}},[u,n,a,Ee,ye,Ze,yt,me,ue]),xt=(0,F.useCallback)(()=>{Ze()},[Ze]),lt=(0,F.useCallback)(c=>{let R=n.current,b=c.target,S=Wt(b,R);if($({kind:"focusIn",row:S===null?null:sp(S)}),u.isMovingFocus())return;let A=a.current;if(R===null||A===null||!Le(b)||!wo(b))return;let k=S===null?null:S.closest('[role="list"]');if(S===null||k===null)return;let q=k.getBoundingClientRect(),z=S.getBoundingClientRect(),T=z.height<=q.height?z:ip(b.getBoundingClientRect(),Ft),_=ed(T,q),P=A.getViewportSize();_===0||!(P>0&&q.height>0)||i.by(_*P/q.height)},[u,n,a,i,$]),Qe=(0,F.useCallback)(c=>{let R=n.current,b=c.relatedTarget,S=Le(b)?R?.contains(b)?"view":"outside":"nowhere";S!=="view"&&Je(),$({kind:"focusOut",to:S})},[n,Je,$]),dt=(0,F.useCallback)(()=>{u.cancelFocusRequest(),Je()},[u,Je]),Pt=(0,F.useCallback)(c=>{g.current={visibleStartIndex:c.visibleStartIndex,visibleEndIndex:c.visibleEndIndex},H.current=null,ce()},[ce]),x=(0,F.useMemo)(()=>({onKeyDown:Rt,onKeyUp:xt,onPointerDownCapture:dt,onWheelCapture:dt,onTouchStartCapture:dt,onFocus:lt,onBlur:Qe}),[Rt,xt,dt,lt,Qe]);return{cursor:u,containerProps:x,handleRangeChange:Pt,selection:M,settledSelection:p===null?M:p,resolveSelectedIndex:ne,rememberSelection:W,focusAfterRemoval:be}};var Po=require("react/jsx-runtime"),lp=h(Bt,Sn,vn,hn,"h-full"),dp="h-full w-full",dd=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:d}=Mo(a,e),m=(0,ot.useContext)(Dt),u=(0,ot.useContext)(Lt),f=ko(a,e,m),g=(0,ot.useRef)(null),E=(0,ot.useRef)(null),y=(0,ot.useCallback)(D=>(g.current=D,a.registerFocusTarget(e,D),()=>{g.current=null,a.unregisterFocusTarget(e,D)}),[a,e]);return(0,ot.useLayoutEffect)(()=>{let D=g.current,v=D===null||!f?null:D.firstElementChild,l=v instanceof HTMLElement?v:null,p=E.current;p!==null&&p.body===l||(p!==null&&p.stop(),E.current=l===null?null:{body:l,stop:o(l)})}),(0,ot.useLayoutEffect)(()=>()=>{E.current?.stop(),E.current=null},[]),(0,ot.useLayoutEffect)(()=>{a.restoreFocus(e)},[a,e,n]),(0,Po.jsx)(Qr.Provider,{value:d,children:(0,Po.jsx)("div",{ref:y,className:lp,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":m+1,"aria-setsize":u,"aria-labelledby":f&&t.kind==="card"?t.ids.heading:void 0,"aria-describedby":f&&t.kind==="card"?t.describedBy:void 0,"aria-label":t.kind==="label"?t.label:void 0,"aria-busy":r||!f?!0:void 0,"aria-current":s?"true":void 0,children:f?i:(0,Po.jsx)("div",{...ze,className:dp})})})};var O=require("react/jsx-runtime"),cp=h("flex w-full flex-col",ht,xn,Mr),up=h(ht,Mr),mp=h("rounded-2xl",Mr),pp=h("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",Mr),Fe="bg-slate-200 dark:bg-slate-700",fp=(e,t)=>{let r=he(e.name);return e.affiliation?.trim()?t.interviewerWithAffiliation(r,e.affiliation):r},bp=()=>(0,O.jsxs)("div",{...ze,className:up,children:[(0,O.jsxs)("div",{className:"mb-4 flex flex-wrap gap-2",children:[(0,O.jsx)("div",{className:h("h-6 w-20 rounded-full",Fe)}),(0,O.jsx)("div",{className:h("h-6 w-24 rounded-full",Fe)}),(0,O.jsx)("div",{className:h("h-6 w-24 rounded-full",Fe)}),(0,O.jsx)("div",{className:h("h-6 w-28 rounded-full",Fe)})]}),(0,O.jsxs)("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,O.jsxs)("div",{className:"space-y-4",children:[(0,O.jsx)("div",{className:h("h-5 w-40 rounded",Fe)}),(0,O.jsx)("div",{className:h("h-5 w-56 rounded",Fe)}),(0,O.jsx)("div",{className:h("h-24 rounded-xl",Fe)})]}),(0,O.jsxs)("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[(0,O.jsx)("div",{className:h("mb-2 h-4 w-24 rounded",Fe)}),(0,O.jsx)("div",{className:h("mb-2 h-4 w-28 rounded",Fe)}),(0,O.jsx)("div",{className:h("h-4 w-32 rounded",Fe)})]})]}),(0,O.jsxs)("div",{className:"space-y-4",children:[(0,O.jsx)("div",{className:h("h-4 w-24 rounded",Fe)}),(0,O.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,O.jsx)("div",{className:h("h-6 w-16 rounded-full",Fe)}),(0,O.jsx)("div",{className:h("h-6 w-16 rounded-full",Fe)}),(0,O.jsx)("div",{className:h("h-6 w-16 rounded-full",Fe)})]}),(0,O.jsxs)("div",{className:"space-y-2",children:[(0,O.jsx)("div",{className:h("h-16 rounded-xl",Fe)}),(0,O.jsx)("div",{className:h("h-16 rounded-xl",Fe)})]})]})]}),yp=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:d}=Vt(e.reportHubId,e.businessDate),{removeStaleItem:m}=Pe(),{draftLabelName:u,sourceTypeConfigs:f}=U(),g=Kt(),E=co(e.reportHubId),y=E==="editing"||E==="automatic",D=(0,Re.useRef)(!1),v=(0,Re.useRef)(!1),l=(0,Re.useRef)(!1);(0,Re.useEffect)(()=>{if(d){l.current=!0;return}!(a||s||i)&&l.current&&e.reportHubId>0&&m(e.reportHubId)},[a,s,d,i,e.reportHubId,m]);let p=a?.labels.some(ue=>ue.name===u),I=n&&a?.userId===n,C=(0,Re.useMemo)(()=>a===null?void 0:()=>{D.current=!0,g.open(e.reportHubId,xr(a),!1)},[g,e.reportHubId,a]),H=(0,Re.useCallback)(()=>{v.current=!0,g.dismiss(e.reportHubId)},[g,e.reportHubId]),N=(0,Re.useCallback)(()=>{v.current=!0,g.discard(e.reportHubId)},[g,e.reportHubId]),K=(0,Re.useCallback)(ue=>{ue===null||!D.current||(D.current=!1,ue.focus())},[]),M=(0,Re.useCallback)(ue=>{ue===null||!v.current||(v.current=!1,ue.focus())},[]);(0,Re.useLayoutEffect)(()=>{y||(v.current=!1)},[y]),(0,Re.useEffect)(()=>{a!==null&&(I&&p&&E==="display"?g.open(e.reportHubId,xr(a),!0):!p&&E==="automatic"&&g.discard(e.reportHubId))},[a,I,p,E,g,e.reportHubId]);let B=(0,Re.useCallback)(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),ne=(0,Re.useId)(),W=(0,Re.useMemo)(()=>({heading:`${ne}-heading`,state:`${ne}-state`,attachments:`${ne}-attachments`,source:`${ne}-source`}),[ne]),se=a!==null&&a.attachments.length>0,j=a===null?void 0:Ut(a.sourceType,f),ce=[W.state,...se?[W.attachments]:[],...j!==void 0?[W.source]:[]].join(" "),X=!i&&a!==null&&!y?{kind:"card",ids:W,describedBy:ce}:{kind:"label",label:ge(e.businessDate)},$=!i&&a===null&&s,be=i?"error":a===null?s?"loading":"missing":y?"editing":"resolved";return(0,O.jsx)(dd,{itemId:e.reportHubId,name:X,isBusy:$,bodyKind:be,observeRowHeight:t,cursor:o,children:i?(0,O.jsx)(Rp,{itemId:e.reportHubId}):a?y?(0,O.jsx)("div",{...ze,className:mp,children:(0,O.jsx)(xo,{report:a,onCancel:H,onPublishSuccess:N,titleInputRef:K})}):(0,O.jsx)(ud,{item:e,report:a,sourceConfig:j,textIds:W,onCommentAdded:r,userId:n,onEdit:I?C:void 0,editButtonRef:M,onCommentSectionRemoved:B}):(0,O.jsx)(bp,{})})},cd=(0,Re.memo)(yp),ud=(0,Re.memo)(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:d})=>{let m=(0,Re.useRef)(null),{toggleStar:u,toggleRead:f,pendingStarUpdates:g,pendingReadUpdates:E,deleteReport:y,user:D}=Pe(),{uiComments:v,handleAddComment:l,handleDeleteComment:p,pendingDeleteId:I,setPendingDeleteId:C,resolvedIdMap:H}=vr(t,D,a),{labels:N,headingLevel:K}=U(),M=$t[K],B=Mn(t.sourceType,r),ne=async Y=>{await l(Y),o?.(e.reportHubId)},W=g.current.get(t.reportHubId),se=W===void 0?t.isStarred:W,j=E.current.get(t.reportHubId),ce=j===void 0?t.isRead:j,X=!!(a&&t.userId===a),$=async()=>{try{await f(t.reportHubId,!ce,t.date)}catch{}},be=async()=>{try{await u(t.reportHubId,!se,t.date)}catch{}},ue=async()=>{confirm(N.confirmDelete)&&await y(t.reportHubId,t.date)},me=(0,Re.useMemo)(()=>t.content?t.content.replace(/<br\s*\/??\s*>/gi,`
4
+ `).trim():"",[t.content]),De=(0,Re.useMemo)(()=>{let Y=t.visitTimeFrom?.trim(),we=t.visitTimeTo?.trim();return Y&&we?`${Y} - ${we}`:Y||we||null},[t.visitTimeFrom,t.visitTimeTo]);return(0,O.jsxs)("div",{...ze,onDoubleClick:i,className:cp,children:[(0,O.jsx)(Ge,{level:K,id:n.heading,className:"sr-only",children:`${ge(t.date)} ${he(t.employeeName)} ${he(t.subject)}`}),(0,O.jsx)("span",{id:n.state,className:"sr-only",children:N.rowState({isRead:ce,isStarred:se})}),(0,O.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,O.jsx)(Bl,{report:t,sourceConfig:r,isRead:ce,isStarred:se,isMine:X,onToggleRead:$,onToggleStar:be,onEdit:i,editButtonRef:s,onDelete:ue,visitTimeDisplay:De,markerIds:n,labels:N}),(0,O.jsxs)("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,O.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,O.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,O.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,O.jsx)(Ge,{level:M,className:It,children:N.customer}),(0,O.jsx)("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:he(t.customerName)})]}),(0,O.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,O.jsx)(Ge,{level:M,className:It,children:N.subject}),(0,O.jsx)("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:he(t.subject)})]})]}),me&&(0,O.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,O.jsx)(Ge,{level:M,className:It,children:N.content}),(0,O.jsx)("div",{className:h("whitespace-pre-wrap",Tn),children:me})]}),t.interviewers.length>0&&(0,O.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,O.jsx)(Ge,{level:M,className:It,children:N.interviewers}),(0,O.jsx)("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map(Y=>(0,O.jsx)("li",{className:h(Be,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:fp(Y,N)},JSON.stringify([Y.name,Y.affiliation])))})]}),(0,O.jsx)(Ro,{attachments:t.attachments}),(0,O.jsx)(Eo,{comments:v,canComment:B,reportHubId:t.reportHubId,businessDate:t.date,onDeleteComment:p,pendingDeleteId:I,onPendingDeleteIdChange:C,resolvedIdMap:H,onSectionRemoved:d}),B&&(0,O.jsx)("div",{className:"mt-auto",ref:m,children:(0,O.jsx)(To,{reportHubId:t.reportHubId,businessDate:t.date,onAddComment:ne})})]}),(0,O.jsx)(Ml,{report:t,visitTimeDisplay:De,labels:N})]})]})]})});ud.displayName="DailyReportResolvedItem";var Rp=({itemId:e})=>{let{labels:t}=U();return(0,O.jsx)("div",{...ze,className:pp,children:(0,O.jsx)("p",{children:t.reportLoadFailed(e)})})};var Et=require("react");var at=require("react");var gp=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e[o]?.reportHubId!==t[o]?.reportHubId)return!0;return!1},hp=(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}},Sp=(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}},vp=(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"?hp(e.index,a,n.rowHeight,r.length):Sp(e.index,a,Oo(n),r.length);return{reportHubId:r[i].reportHubId,index:i,offsetPx:s,lastVisibleIndex:ln({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},Ep=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=Te(t,e[n].reportHubId,n-1);if(o!==-1)return o}return-1},md=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=(0,at.useRef)(null),a=(0,at.useRef)(e),i=(0,at.useRef)(r),s=(0,at.useCallback)(()=>{let m=t.current,u=m===null?-1:m.getScrollPosition(),f=m===null||!(u>0)?null:m.getScrollAnchor(),g=a.current,E=f===null?void 0:g[f.index],y=m===null?0:m.getViewportSize();o.current=f===null||E===void 0||!(y>0)?null:{reportHubId:E.reportHubId,index:f.index,offsetPx:f.offsetPx,lastVisibleIndex:ln(f,y,g.length,i.current),recordedAt:u}},[t]),d=(0,at.useMemo)(()=>({toIndex:(m,u)=>{let f=t.current;f!==null&&(f.scrollToIndex(m,u),s())},by:m=>{let u=t.current;u!==null&&(u.scrollBy(m),s())},resizeRow:(m,u)=>{let f=t.current;f!==null&&(f.updateItemSize(m,u),s())}}),[t,s]);return(0,at.useLayoutEffect)(()=>{let m=a.current;a.current=e;let u=o.current,f=t.current;if(m===e||u===null||f===null||n())return;let g=vp(u,f.getScrollPosition(),m,i.current,f.getViewportSize());if(g===null){o.current=null;return}let E=Te(e,g.reportHubId,g.index),y=E===-1?Ep(m,e,g):E;if(y===-1){o.current=null;return}if(y===g.index&&!gp(m,e,g.index,g.lastVisibleIndex)){o.current=g;return}f.scrollToIndex(y,{align:"top",offset:-g.offsetPx}),o.current={reportHubId:e[y].reportHubId,index:y,offsetPx:g.offsetPx,lastVisibleIndex:ln({index:y,offsetPx:g.offsetPx},f.getViewportSize(),e.length,r),recordedAt:f.getScrollPosition()}},[e,t,r,n]),(0,at.useLayoutEffect)(()=>{i.current=r},[r]),(0,at.useMemo)(()=>({handleRangeChange:s,handleScrollAdjust:s,scroller:d}),[s,d])};var pd=require("react"),Tp=20,fd=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>(0,pd.useCallback)(a=>{t.current=a;let i=a.querySelector(`[data-testid="${e}"]`);return i!==null&&Object.defineProperty(i,"__virtualScroll",{configurable:!0,get:()=>{let s=r.current;if(s!==null)return{getViewportSize:()=>s.getViewportSize(),getScrollPosition:()=>s.getScrollPosition(),getScrollAnchor:()=>s.getScrollAnchor(),getRange:()=>s.getRange(),getFenwickSize:()=>s.getFenwickSize(),findReportIndex:d=>o.current.findIndex(m=>m.reportHubId===d),getReportItem:d=>o.current[d],getReportIds:(d=Tp)=>o.current.slice(0,d).map(m=>m.reportHubId),revealIndex:(d,m)=>n.toIndex(d,m)}}}),()=>{i!==null&&delete i.__virtualScroll,t.current=null}},[e,t,r,n,o]);var bd=require("react/jsx-runtime"),Ho=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let i=(0,Et.useRef)(null),s=(0,Et.useCallback)(C=>(i.current=C,()=>{i.current=null}),[]),{handleRangeChange:d,handleScrollAdjust:m,scroller:u}=md({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:f,...g}=ld({...a,containerRef:e,handleRef:i,scroller:u}),E=fd({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:u,itemsRef:r}),{labels:y}=U(),D=(0,Et.useId)(),v=a.onSelect!==null,l=(0,Et.useCallback)(C=>{f(C),d(),o(C)},[f,d,o]),p=(0,Et.useMemo)(()=>({role:"list","aria-label":y.title,"aria-describedby":v?D:void 0}),[y.title,v,D]),I=(0,Et.useMemo)(()=>v?(0,bd.jsx)("span",{id:D,className:"sr-only",children:y.listKeyboardHelp}):null,[v,D,y.listKeyboardHelp]);return{...g,handleRangeChange:l,handleScrollAdjust:m,attachVirtualScroll:s,handleRef:i,scroller:u,attachScrollContainer:E,contentProps:p,keyboardHelp:I}};var je=require("react/jsx-runtime"),gd={pointerDragInputs:Vn,wheelSpeedMultiplier:kn,inertiaOptions:Rr(!1),enableKeyboardNavigation:!1},xp={...gd,inertiaOptions:Rr(!0)},yd="daily-report-detail-list",Ip=h("relative w-full",Dn,Cn),Cp=h(et,"relative"),Lp=300,Fo=e=>{let t=(0,V.useRef)(null),[r,n]=(0,V.useState)(null),o=qn(t),a=Zn(r),i=(0,V.useCallback)(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return(0,je.jsx)("div",{ref:i,className:In,children:o===null?null:(0,je.jsx)(Dp,{...e,viewportHeight:o,reducedMotion:a})})},Dp=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:i,reducedMotion:s})=>{let[{initialScrollAnchor:d,restored:m}]=(0,V.useState)(()=>{let T=a?.current;if(!T||T.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!T.topItem)return{initialScrollAnchor:void 0,restored:!0};let _=e.findIndex(P=>P.reportHubId===T.topItem?.reportHubId);return _!==-1?{initialScrollAnchor:{index:_,offsetPx:T.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:T.topItem.index,offsetPx:0},restored:!0}}),u=(0,V.useRef)(m),f=(0,V.useRef)(n??null),g=(0,V.useRef)(a?.current.measuredHeights??new Map),E=(0,V.useRef)(null),y=zn(),D=$n(),[v]=(0,V.useState)(Qn),l=(0,V.useRef)(null),p=(0,V.useRef)(null),I=(0,V.useRef)(e),C=(0,V.useRef)(o);(0,V.useLayoutEffect)(()=>{I.current=e,C.current=o},[e,o]);let H=(0,V.useRef)(null),[N,K]=(0,V.useState)(0),M=(0,V.useRef)(null),B=e.length,ne=t===void 0?B:t,W=(0,V.useCallback)(T=>T>=B?Hn:e[T],[e,B]),se=(0,V.useCallback)(T=>{let _=g.current.get(W(T).reportHubId);return _===void 0?Li:_},[W]),j=(0,V.useCallback)(T=>W(T).reportHubId,[W]),ce=(0,V.useMemo)(()=>({kind:"measured",heightOf:se}),[se]),X=(0,V.useCallback)((T,_)=>{H.current={reportHubId:T,index:_},K(P=>P+1),C.current?.(T)},[]),$=(0,V.useCallback)((T,_)=>{if(B===0)return;let P=Math.max(0,T),Q=Math.min(B-1,_);if(P>Q)return;let xe=new Set;for(let ct=P;ct<=Q;ct++){let gt=W(ct);if(gt.businessDate&&xe.add(gt.businessDate),xe.size>=xi)break}xe.forEach(ct=>{D(ct)})},[W,B,D]),be=(0,V.useCallback)(T=>{if(B===0)return;let{renderingStartIndex:_,renderingEndIndex:P,visibleStartIndex:Q}=T,xe=W(Q);xe.businessDate&&v.setLabel(ge(xe.businessDate)),$(_,P),$(P+1,P+Pn),$(_-Pn,_-1)},[W,B,$,v]),ue=(0,V.useCallback)(()=>M.current!==null,[]),{cursor:me,containerProps:De,handleRangeChange:Y,handleScrollAdjust:we,attachVirtualScroll:Xe,handleRef:ye,scroller:Ee,attachScrollContainer:Ze,contentProps:Je,keyboardHelp:yt,resolveSelectedIndex:Rt,rememberSelection:xt}=Ho({items:e,selectedId:n??null,onSelect:o===void 0?null:X,containerRef:E,rootRef:E,testId:yd,itemsRef:I,rowSizing:ce,arrowAlign:"top",rowActivation:!0,isViewRevealPending:ue,onRangeChange:be}),lt=(0,V.useCallback)((T,_)=>{if(ye.current===null)return!1;let P=I.current,Q=_!==null&&_.reportHubId===T?Te(P,T,_.index):Rt(P,T);return Q===-1?!1:(u.current&&(u.current=!1,T===f.current)||_!==null&&_.reportHubId===T&&_.index===Q||Ee.toIndex(Q,{align:"top"}),!0)},[ye,Rt,Ee]);(0,V.useEffect)(()=>{let T=H.current;H.current=null,M.current=null,n!=null&&(lt(n,T)||(M.current=n))},[n,lt]),(0,V.useEffect)(()=>{let T=M.current;T!==null&&lt(T,null)&&(M.current=null)},[e,lt]),(0,V.useEffect)(()=>{let T=a?.current;T&&(T.anchorReportHubId=n??null)},[n,a]),(0,V.useEffect)(()=>{H.current=null},[N]);let Qe=(0,V.useRef)(null),dt=(0,V.useCallback)(()=>{ye.current&&(Qe.current=ye.current);let T=a?.current,_=Qe.current;if(T&&_){let Q=_.getScrollAnchor(),xe=Q?I.current[Q.index]:void 0;Q&&xe&&(T.topItem={reportHubId:xe.reportHubId,index:Q.index,offsetPx:Q.offsetPx})}let P=E.current;P&&(P.toggleAttribute(sr,!0),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{P.toggleAttribute(sr,!1),p.current=null},150))},[ye,a]),Pt=(0,V.useCallback)(T=>(0,je.jsx)(eo,{...T,store:v}),[v]);(0,V.useEffect)(()=>{let T=E.current;if(!T)return;let _=()=>{v.setWheelScrollActive(!0),l.current&&clearTimeout(l.current),l.current=window.setTimeout(()=>{v.setWheelScrollActive(!1),l.current=null},Fn)};return T.addEventListener("wheel",_,{passive:!0}),()=>{T.removeEventListener("wheel",_),l.current&&clearTimeout(l.current)}},[v]);let x=(0,V.useRef)(null),c=(0,V.useCallback)(T=>{for(let _ of T){let P=_.target.parentElement,Q=P===null?null:Qt(P),xe=P===null?null:yr(P),ct=_.borderBoxSize[0];if(Q===null||xe===null||ct===void 0)continue;let gt=ct.blockSize+2*Ft;if(g.current.get(Q)===gt)continue;let Rn=Te(I.current,Q,xe-1);Rn!==-1&&(g.current.set(Q,gt),Ee.resizeRow(Rn,gt))}},[Ee]),R=(0,V.useCallback)(T=>{x.current===null&&(x.current=new ResizeObserver(c));let _=x.current;return _.observe(T),()=>_.unobserve(T)},[c]);(0,V.useEffect)(()=>()=>{x.current?.disconnect(),x.current=null},[]),(0,V.useEffect)(()=>{B!==0&&$(0,Math.min(B-1,Pn))},[B,$]);let b=(0,V.useRef)(null),S=(0,V.useCallback)(T=>{let _=Te(I.current,T,null);_!==-1&&(b.current!==null&&clearTimeout(b.current),b.current=setTimeout(()=>{b.current=null;let P=Te(I.current,T,_);P!==-1&&Ee.toIndex(P,{align:"bottom"})},Lp))},[Ee]);(0,V.useEffect)(()=>()=>{b.current!==null&&clearTimeout(b.current)},[]);let A=(0,V.useCallback)(T=>{if(!C.current)return;let _=Wt(T.target,E.current);if(_===null||Zi(T.target,_))return;let P=$r(_,I.current);P!==null&&(xt(P.reportHubId,P.index),X(P.reportHubId,P.index))},[X,xt]),k=(0,V.useCallback)((T,_)=>(0,je.jsx)(Dt.Provider,{value:_,children:(0,je.jsx)(cd,{item:T,observeRowHeight:R,onCommentAdded:S,userId:r,cursor:me})},T.reportHubId),[R,S,r,me]),q=(0,V.useMemo)(()=>({...Un,renderThumbOverlay:Pt}),[Pt]),z=(0,V.useMemo)(()=>(0,je.jsx)(Lt.Provider,{value:ne,children:(0,je.jsx)(Rd.VirtualScroll,{ref:Xe,itemCount:B,getItem:W,getItemKey:j,getItemHeight:se,viewportSize:i,initialScrollAnchor:d,overscanCount:Bn,scrollBarOptions:q,behaviorOptions:s?xp:gd,onRangeChange:Y,onScrollAdjust:we,onScroll:dt,testId:yd,className:Ip,locale:y.locale,labels:y.labels,contentProps:Je,children:k})}),[Xe,ne,B,W,j,se,i,s,d,q,Y,we,dt,y.locale,y.labels,Je,k]);return(0,je.jsx)(je.Fragment,{children:(0,je.jsxs)("div",{ref:Ze,className:Cp,...De,onClick:A,children:[yt,z]})})};var Fa=Ie(require("lucide-react/dist/esm/icons/refresh-cw.js"));var ar=require("react"),cn=(e,t=250)=>{let[r,n]=(0,ar.useState)(e),o=(0,ar.useRef)(e),a=(0,ar.useRef)(!0);return(0,ar.useEffect)(()=>{if(a.current){a.current=!1,o.current=e,n(e);return}let i=o.current;if(i===e)return;let s=null,d=null,m=u=>{d===null&&(d=u);let f=Math.min(1,Math.max(0,(u-d)/t)),g=1-(1-f)**3,E=Math.round(i+(e-i)*g);o.current=E,n(E),f<1&&(s=requestAnimationFrame(m))};return s=requestAnimationFrame(m),()=>{s!==null&&cancelAnimationFrame(s)}},[e,t]),r};var Tt=require("react/jsx-runtime"),Ar=()=>{let e=nt(),{labels:t}=U(),r=cn(e.loadedCount),n=cn(e.totalCount??0);if(e.phase==="streaming"){let o=e.totalCount&&e.totalCount>0?Math.min(100,Math.round(e.loadedCount/e.totalCount*100)):null;return(0,Tt.jsxs)("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:h(Be,"gap-1 bg-blue-100 font-medium text-blue-800 text-xs tabular-nums dark:bg-blue-900/40 dark:text-blue-300"),children:[(0,Tt.jsx)("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 motion-safe:animate-pulse dark:bg-blue-400"}),o!==null?t.streamProgressRatio(r,n,o):t.streamProgressCount(r)]})}return e.phase==="retrying"?(0,Tt.jsxs)("span",{role:"status","data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:h(Be,"gap-1 bg-amber-100 font-medium text-amber-800 text-xs tabular-nums dark:bg-amber-900/40 dark:text-amber-300"),children:[(0,Tt.jsx)(Fa.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?(0,Tt.jsxs)("span",{role:"status","data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:h(Be,"gap-1 bg-rose-100 font-medium text-rose-800 text-xs dark:bg-rose-900/40 dark:text-rose-300"),children:[t.streamFailed,(0,Tt.jsx)("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:()=>so(),className:h("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",ae),children:t.streamRetry})]}):e.isRevalidating?(0,Tt.jsxs)("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"revalidating",className:"inline-flex items-center gap-1 text-slate-500 text-xs dark:text-slate-400",children:[(0,Tt.jsx)(Fa.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null};var ir=require("@aiquants/resize-panels"),zd=require("@aiquants/virtualscroll"),re=require("react");var hd=require("react"),Sd="(max-width: 639px)",Ap=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};let t=window.matchMedia(Sd);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},_p=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(Sd).matches:!1,wp=()=>!1,vd=()=>(0,hd.useSyncExternalStore)(Ap,_p,wp);var it=require("@aiquants/swipe-overlay"),oe=require("react");var Bo=require("react");var Ed=Object.freeze({id:null,indexHint:null}),Uo=(0,Bo.createContext)(Object.freeze({selected:Ed,settled:Ed})),un=(e,t)=>{let{id:r,indexHint:n}=t;return(0,Bo.useMemo)(()=>{if(r===null)return null;let o=Te(e,r,n);return o===-1?null:e[o]},[e,r,n])};var Ad=Ie(require("lucide-react/dist/esm/icons/check.js")),_d=Ie(require("lucide-react/dist/esm/icons/pencil.js")),wd=Ie(require("lucide-react/dist/esm/icons/trash-2.js")),te=require("react");var kt=Ie(require("@radix-ui/react-tabs")),Ye=Ie(require("react"));var _r=require("react/jsx-runtime"),Td=Ye.createContext(null),xd=e=>{let t=Ye.useContext(Td);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},Id=(e,t)=>`${e}-trigger-${t}`,Cd=(e,t)=>`${e}-panel-${t}`,mn=Ye.forwardRef(({value:e,children:t,...r},n)=>{let o=Ye.useId(),a=Ye.useMemo(()=>({baseId:o,value:e}),[o,e]);return(0,_r.jsx)(kt.Root,{ref:n,value:e,...r,children:(0,_r.jsx)(Td,{value:a,children:t})})});mn.displayName=kt.Root.displayName;var pn=Ye.forwardRef(({className:e,...t},r)=>(0,_r.jsx)(kt.List,{ref:r,className:h("inline-flex",e),...t}));pn.displayName=kt.List.displayName;var fn=Ye.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=xd("TabsTrigger");return(0,_r.jsx)(kt.Trigger,{ref:n,value:t,...r,id:Id(o,t),"aria-controls":Cd(o,t),className:h(`${si} ${ae}`,e)})});fn.displayName=kt.Trigger.displayName;var wr=Ye.forwardRef(({className:e,value:t,children:r,...n},o)=>{let{baseId:a,value:i}=xd("TabsContent"),s=t===i;return(0,_r.jsx)("div",{ref:o,role:"tabpanel",id:Cd(a,t),"aria-labelledby":Id(a,t),"data-state":s?"active":"inactive",hidden:!s,tabIndex:0,...n,className:h(`mt-2 data-[state=inactive]:hidden ${ae}`,e),children:s?r:null})});wr.displayName="TabsContent";var w=require("react/jsx-runtime"),Nd=h(Xt,"w-24 shrink-0"),Ld={field:"flex items-baseline",label:Nd,value:"flex-1"},Np={field:"flex min-w-0 flex-1 items-baseline",label:Nd,value:"wrap-break-word min-w-0 flex-1"},Op={field:"flex flex-col gap-1",label:Xt,value:""},Mp={field:"flex items-center gap-1",label:Xt,value:""},Dd=h("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",Go,ja,Ga),kp=h("flex flex-col gap-1",jo),Pp=h("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",ae),Hp=500,Ba=e=>{let t=e,r=new Set;return{isDwelling:()=>t,set:n=>{if(n!==t){t=n;for(let o of[...r])o()}},subscribe:n=>(r.add(n),()=>{r.delete(n)})}},Fp=(e,t,r,n,o,a)=>{let i=(0,te.useRef)(null),s=e?.reportHubId;(0,te.useLayoutEffect)(()=>{i.current=null},[s]),(0,te.useEffect)(()=>{n||(i.current=null)},[n]);let d=(0,te.useCallback)(async(m,u)=>{u||(i.current=m.reportHubId);try{await a(m.reportHubId,!m.isRead,m.date)}catch{}},[a]);return(0,te.useEffect)(()=>{if(!(r&&e&&!e.isRead&&!t)||i.current===e.reportHubId)return;let m=null,u=()=>{m!==null&&clearTimeout(m),m=o.isDwelling()?setTimeout(()=>d(e,!0),Hp):null};u();let f=o.subscribe(u);return()=>{f(),m!==null&&clearTimeout(m)}},[e,t,r,d,o]),{handleToggleRead:d}},Ua="article",Bp=["article","relations"],Up=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},Vp=h("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",ht),Wp=9,Kp=.875,$p=16,Od=4*Math.ceil((2*Ft+2*En+2*Xa+Wp*Kp*$p)/4),Md=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=U(),a=(0,te.useId)(),i=(0,te.useId)(),[s,d]=(0,te.useState)(Ua),{selected:m,settled:u}=(0,te.useContext)(Uo),f=un(e,m),g=un(e,(0,te.useDeferredValue)(u)),E=f===null?null:f.reportHubId,D=(g===null?null:g.reportHubId)===E,[v]=(0,te.useState)(()=>Ba(D));return(0,te.useLayoutEffect)(()=>{v.set(D)},[v,D]),(0,w.jsx)("aside",{"data-testid":"daily-report-side-pane","data-report-id":f?.reportHubId,"data-displayed-report-id":g?.reportHubId,"aria-busy":D?void 0:!0,className:Vp,children:g===null?(0,w.jsx)("div",{className:h("flex h-full flex-1 items-center justify-center text-center",lr),children:(0,w.jsx)("p",{className:Ln,children:o.selectPrompt})}):(0,w.jsx)(Vo,{item:g,headingId:a,authorId:i,activeTab:s,onActiveTabChange:d,autoMarkRead:t,isActive:!0,dwell:v,userId:r,onReportDeleted:n},g.reportHubId)})},Vo=(0,te.memo)(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:d,onReportDeleted:m})=>{let{draftLabelName:u,labels:f,sourceTypeConfigs:g,headingLevel:E}=U(),{report:y,error:D,isLoading:v}=Vt(e.reportHubId,e.businessDate),l=Kt(),p=co(e.reportHubId),I=p==="editing"||p==="automatic",C=(0,te.useRef)(null),H=(0,te.useRef)(null),N=(0,te.useRef)(!1),K=(0,te.useRef)(!1),M=!!(d&&y?.userId===d),B=y?.labels.some(Y=>Y.name===u);(0,te.useEffect)(()=>{y!==null&&(M&&B&&p==="display"?l.open(e.reportHubId,xr(y),!0):!B&&p==="automatic"&&l.discard(e.reportHubId))},[y,M,B,p,l,e.reportHubId]);let ne=(0,te.useMemo)(()=>y===null?void 0:()=>{N.current=!0,l.open(e.reportHubId,xr(y),!1)},[l,e.reportHubId,y]),W=(0,te.useCallback)(()=>{K.current=!0,l.dismiss(e.reportHubId)},[l,e.reportHubId]),se=(0,te.useCallback)(()=>{K.current=!0,l.discard(e.reportHubId)},[l,e.reportHubId]),j=(0,te.useCallback)(Y=>{Y===null||!N.current||(N.current=!1,Y.focus())},[]),ce=(0,te.useCallback)(Y=>{Y===null||!K.current||(K.current=!1,Y.focus())},[]),X=(0,te.useCallback)(()=>{H.current?.focus({preventScroll:!0})},[]);(0,te.useLayoutEffect)(()=>{I||!K.current||(K.current=!1,H.current?.focus())},[I]);let $=(0,te.useCallback)(()=>{setTimeout(()=>{let Y=C.current;Y!==null&&Y.scrollTo({top:Y.scrollHeight,behavior:rs(Y)})},100)},[]),be=ge(e.businessDate),ue=y===null?null:he(y.employeeName),me=v||!y,De=y===null?void 0:Ut(y.sourceType,g);return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)("div",{className:kp,children:[(0,w.jsx)("dl",{className:"m-0",children:(0,w.jsx)(Se,{label:f.businessDate,classNames:Op,children:(0,w.jsx)(Ge,{ref:H,level:E,id:t,tabIndex:-1,className:Pp,children:be})})}),(0,w.jsxs)("div",{className:"flex min-h-4 items-center gap-1 text-slate-500 text-xs dark:text-slate-300",children:[(0,w.jsx)("dl",{className:"m-0",children:(0,w.jsx)(Se,{label:f.author,classNames:Mp,valueId:r,children:me?(0,w.jsx)("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):ue})}),De?(0,w.jsx)(Cr,{config:De,className:"ml-2"}):null]})]}),(0,w.jsxs)(mn,{value:n,onValueChange:Y=>o(Up(Y)),className:"flex min-h-0 flex-1 flex-col",children:[(0,w.jsx)("div",{className:jo,children:(0,w.jsx)(pn,{"aria-label":f.reportTabList,className:h(ai,"grid grid-cols-2 gap-1"),children:Bp.map(Y=>(0,w.jsx)(fn,{value:Y,children:Y==="article"?f.tabArticle:f.tabRelations},Y))})}),(0,w.jsx)(wr,{ref:C,value:"article",className:Dd,children:I?y?(0,w.jsx)(xo,{report:y,onCancel:W,onPublishSuccess:se,titleInputRef:j}):(0,w.jsx)("p",{className:lr,children:f.loading}):(0,w.jsx)(zp,{report:y,sourceConfig:De,isLoading:v,error:D,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:$,userId:d,onEdit:M?ne:void 0,editButtonRef:ce,onReportDeleted:m,onCommentSectionRemoved:X})}),(0,w.jsx)(wr,{value:"relations",className:Dd,children:(0,w.jsx)("p",{className:lr,children:f.relationsEmpty})})]})]})});Vo.displayName="DailyReportSidePaneContent";var Nr=({className:e="w-32"})=>(0,w.jsx)("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),zp=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:i=!0,dwell:s,onCommentAdded:d,userId:m,onEdit:u,editButtonRef:f,onReportDeleted:g,onCommentSectionRemoved:E})=>{let{toggleStar:y,toggleRead:D,deleteReport:v,user:l}=Pe(),{labels:p,headingLevel:I}=U(),C=$t[I],{uiComments:H,handleAddComment:N,handleDeleteComment:K,pendingDeleteId:M,setPendingDeleteId:B,resolvedIdMap:ne}=vr(e,l,m),{handleToggleRead:W}=Fp(e,r,a,i,s,D),se=e!==null&&Mn(e.sourceType,t),j=async me=>{await N(me),d?.()},ce=(0,te.useMemo)(()=>e?.content?e.content.replace(/<br\s*\/?\s*>/gi,`
5
5
  `).replace(/<\/p>/gi,`
6
- `).replace(/<[^>]+>/g,""):null,[e]),Y=async oe=>{try{await I(oe.reportHubId,!oe.isStarred,oe.date)}catch{}},$=async oe=>{if(confirm(b.confirmDelete)){try{await L(oe.reportHubId,oe.date)}catch{alert(b.deleteFailed);return}g(oe.reportHubId)}};if(n)return(0,O.jsx)("p",{className:Or,children:b.reportLoadFailed(o.reportHubId)});let pe=!e,Ee=!!(u&&e?.userId===u);return(0,O.jsxs)("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:c,children:[(0,O.jsxs)("div",{className:"flex items-start gap-2",children:[(0,O.jsx)("dl",{className:"m-0 flex min-w-0 flex-1",children:(0,O.jsx)(Re,{label:b.subject,classNames:op,children:pe?(0,O.jsx)(Cr,{className:"w-3/4"}):(0,O.jsx)("span",{className:"text-sm",children:ge(e?.subject)})})}),!pe&&e&&(0,O.jsxs)("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[(0,O.jsx)("button",{type:"button",onClick:()=>Y(e),className:Ke,title:e.isStarred?b.starRemove:b.starAdd,"aria-label":e.isStarred?b.starRemove:b.starAdd,"data-detail-star-button":e.reportHubId,children:(0,O.jsx)(Sr,{filled:e.isStarred})}),(0,O.jsx)("button",{type:"button",onClick:()=>q(e,!1),className:Ke,title:e.isRead?b.markUnread:b.markRead,"aria-label":e.isRead?b.markUnread:b.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?(0,O.jsx)(od.default,{className:Le.read}):(0,O.jsx)(vr,{})}),c&&(0,O.jsx)("button",{ref:y,type:"button",onClick:c,"data-detail-edit-button":e.reportHubId,className:Ke,title:b.edit,"aria-label":b.edit,children:(0,O.jsx)(ad.default,{className:Le.edit})}),Ee&&(0,O.jsx)("button",{type:"button",onClick:()=>$(e),"data-detail-delete-button":e.reportHubId,className:Ke,title:b.deleteReport,"aria-label":b.deleteReport,children:(0,O.jsx)(id.default,{className:Le.delete})})]})]}),(0,O.jsx)("dl",{className:"m-0",children:(0,O.jsx)(Re,{label:b.customer,classNames:rd,children:pe?(0,O.jsx)(Cr,{className:"w-1/2"}):(0,O.jsx)("span",{className:"text-sm",children:ge(e?.customerName)})})}),(0,O.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,O.jsx)(Ye,{level:D,className:xt,children:b.content}),(0,O.jsx)("div",{className:R("min-h-22",bn),children:pe?(0,O.jsxs)("div",{className:"space-y-2",children:[(0,O.jsx)(Cr,{className:"w-full"}),(0,O.jsx)(Cr,{className:"w-11/12"}),(0,O.jsx)(Cr,{className:"w-4/5"})]}):ne?(0,O.jsx)("div",{className:"whitespace-pre-wrap",children:ne}):(0,O.jsx)("p",{className:"text-slate-500 dark:text-slate-400",children:b.contentEmpty})})]}),(0,O.jsx)("dl",{className:"m-0",children:(0,O.jsx)(Re,{label:b.visitTime,classNames:rd,children:pe?(0,O.jsx)(Cr,{className:"w-1/3"}):(0,O.jsxs)("span",{className:"text-sm",children:[ge(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",ge(e?.visitTimeTo)]})})}),e&&(0,O.jsx)(so,{attachments:e.attachments}),e&&(0,O.jsx)(po,{comments:F,canComment:le,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:V,pendingDeleteId:N,onPendingDeleteIdChange:j,resolvedIdMap:te,onSectionRemoved:E,className:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800",children:le&&(0,O.jsx)(fo,{reportHubId:e.reportHubId,businessDate:e.date,onAddComment:K})})]})};var mt=require("react/jsx-runtime"),Rp="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]",hp={right:"var(--aqdr-overlay-right, 0px)"},Sp="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",Ep=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",qa),vp=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",ae),Tp=50,cd=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=(0,re.useState)(!1),[l,u]=(0,re.useState)(!1),c=(0,re.useRef)(null),y=(0,re.useRef)(null),g=(0,re.useRef)(null),E=(0,re.useRef)(e),I=(0,re.useRef)(!0),T=nn(r,t),L=(0,re.useCallback)(()=>{let D=o.current;if(D===null)return;let F=D.ownerDocument.body;g.current={body:F,overflow:F.style.overflow},F.style.overflow="hidden"},[o]),d=(0,re.useCallback)(()=>{let D=g.current;D!==null&&(D.body.style.overflow=D.overflow,g.current=null)},[]);(0,re.useEffect)(()=>{if(I.current){I.current=!1,E.current=e;return}let D=!E.current;E.current=e,D&&e&&a!==null?s(!0):!e&&i&&(y.current=a,s(!1),d())},[e,a,i,d]);let b=e&&i&&T!==null;(0,re.useEffect)(()=>{if(b)u(!0);else{let D=setTimeout(()=>u(!1),300);return()=>clearTimeout(D)}},[b]),(0,re.useEffect)(()=>{if(e&&i&&a!==null&&!c.current){let D=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:D},"",window.location.href),c.current=D}else!(e&&i)&&c.current&&(c.current=null);return e&&i?L():d(),d},[e,i,a,L,d]),(0,re.useEffect)(()=>{let D=()=>{c.current&&(y.current=a,c.current=null,s(!1),n(null))};return window.addEventListener("popstate",D),()=>window.removeEventListener("popstate",D)},[a,n]);let C=(0,re.useCallback)(()=>{e&&(y.current=a,s(!1),n(null),c.current&&(c.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:i,setIsMobileDetailOpen:s,isOverlayMounted:l,shouldShowOverlay:b,handleOverlayClose:C,lastClosedItemIdRef:y,selectedItem:T}},ud=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=B(),s=(0,re.useRef)(null),l=(0,re.useId)(),u=(0,re.useId)(),[c,y]=(0,re.useState)(Ca),g=(0,nt.useOverlayEscapeStack)(),E=(0,re.useId)(),I=(0,re.useRef)(!1),T=(0,re.useRef)(e),L=(0,re.useRef)(null),[d]=(0,re.useState)(()=>La(e)),{isBlocked:b,requestBlock:C,reset:D}=(0,nt.useSwipeGuardState)(),F=(0,nt.useTransitionDisplay)(e,t),{overlayRef:M,overlayStyle:V,attemptClose:N,isSwiping:j}=(0,nt.useSwipeToDismissOverlay)({isOpen:e,onClose:r,isCloseBlocked:(0,re.useCallback)(()=>b,[b]),skipWhenTextSelected:!0}),te=(0,re.useRef)(N);(0,re.useLayoutEffect)(()=>{te.current=N,T.current=e,d.set(e)},[N,e,d]),(0,re.useEffect)(()=>{if(e)return g({id:E,onEscape:Y=>Xr(Y)&&te.current()})},[e,g,E]),(0,re.useLayoutEffect)(()=>{let Y=s.current;if(Y===null)return;if(e){if(I.current)return;Y.showModal(),I.current=!0,Y.ownerDocument.getElementById(l)?.focus();return}if(!I.current)return;I.current=!1;let $=$e(Y);$!==null&&Y.contains($)&&qo($)&&$.blur(),Y.close()},[e,l]),(0,re.useEffect)(()=>{e||D()},[e,D]);let q=(0,nt.useTapClick)(()=>N()),le=Y=>{let $=lo(Y);if(Xr($)){N()&&Y.preventDefault();return}if($.key==="Escape"){L.current=Y.timeStamp;return}let pe=Gs($,Y.currentTarget);pe!==null&&(Y.preventDefault(),pe.kind==="wrap"&&pe.element.focus())},K=Y=>{Y.preventDefault();let $=L.current;L.current=null,!($!==null&&Y.timeStamp-$<=Tp)&&te.current()},ne=Y=>{let $=Y.currentTarget;$.open||!T.current||(I.current=!1,!te.current()&&($.showModal(),I.current=!0))};return F?(0,mt.jsxs)("dialog",{ref:s,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${l} ${u}`,tabIndex:-1,className:R(Rp,e&&!j?"pointer-events-auto":"pointer-events-none"),style:hp,inert:!e,onKeyDown:le,onCancel:K,onClose:ne,children:[(0,mt.jsx)("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:R(Sp,e?"opacity-100":"opacity-0"),...q}),(0,mt.jsx)("div",{ref:M,"data-daily-report-overlay-panel":"",className:R(Ep,e?"pointer-events-auto":"pointer-events-none"),style:V,children:(0,mt.jsxs)("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[(0,mt.jsx)(nt.SwipeCloseGuardContext.Provider,{value:{isBlocked:b,requestBlock:C},children:(0,mt.jsx)("div",{"data-testid":"daily-report-side-pane","data-report-id":F.reportHubId,"data-displayed-report-id":F.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:(0,mt.jsx)(No,{item:F,headingId:l,authorId:u,activeTab:c,onActiveTabChange:y,autoMarkRead:n,isActive:e,dwell:d,userId:o,onReportDeleted:a},F.reportHubId)})}),(0,mt.jsx)("div",{className:"flex justify-start",children:(0,mt.jsx)("button",{type:"button","data-overlay-interactive":"true",className:vp,onClick:()=>N(),children:i.close})})]})})]}):null};var yd=ve(require("lucide-react/dist/esm/icons/check.js")),ue=require("react");var ot=require("react");var xp=6.75,Ip=4,Lp=1e-6,Cp=e=>4*Math.ceil((2*kt+2*fn+Ip+xp*e-Lp)/4),Oo=(0,ot.createContext)(null),Ap="data-daily-report-root-font-size-probe",_p={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},Dp=e=>{let t=dt(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])},md=()=>{let e=(0,ot.useRef)(null),[t,r]=(0,ot.useState)(null);(0,ot.useLayoutEffect)(()=>{let o=e.current;if(o===null)throw new Error("[daily-report] useListRowSlotHeight needs the List to render remProbe");let a=null,i=()=>{let l=Cp(Dp(o));l!==a&&(a=l,r(l))};i();let s=new ResizeObserver(i);return s.observe(o),()=>s.disconnect()},[]);let n=(0,ot.useMemo)(()=>(0,ot.createElement)("div",{ref:e,"aria-hidden":!0,[Ap]:"",style:_p}),[]);return{rowSlotHeight:t,remProbe:n}};var z=require("react/jsx-runtime"),wp=R(Pt,mn,pn,un),Np=R("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",ft,yn,Pa),Op="min-w-24",Mp="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",kp={touchAction:"manipulation"},Pp=R("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",Op),Hp=R("relative z-10",Ke),Fp=R("flex h-full",ft),Bp="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",Ar="h-4 rounded bg-slate-200 dark:bg-slate-700",Up=()=>(0,z.jsx)("div",{"data-skeleton":!0,...je,className:Fp,children:(0,z.jsxs)("div",{className:Bp,children:[(0,z.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,z.jsx)("div",{className:R(Ar,"w-24")}),(0,z.jsx)("div",{className:R(Ar,"w-24")}),(0,z.jsx)("div",{className:R(Ar,"w-24")})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("div",{className:R(Ar,"w-full")}),(0,z.jsx)("div",{className:R(Ar,"w-11/12")}),(0,z.jsx)("div",{className:R(Ar,"w-5/6")})]})]})}),Vp=e=>{e.target===e.currentTarget&&e.preventDefault()},Wp="h-full w-full",gd=(0,ue.createContext)(!1),pd=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=(0,ue.useContext)(Ct),a=(0,ue.useContext)(Lt),i=(0,ue.useContext)(Oo);if(i===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let s=(0,ue.useMemo)(()=>({height:i}),[i]),{isCurrent:l,isTabStop:u}=Io(t,e),c=Lo(t,e,o);return(0,z.jsx)(Gr.Provider,{value:u,children:(0,z.jsx)(gd.Provider,{value:l,children:(0,z.jsx)("div",{ref:r?.focusTargetRef,role:"listitem","data-daily-report-row":e,"aria-posinset":o+1,"aria-setsize":a,"aria-label":r?.label,"aria-busy":r?.isBusy||!c?!0:void 0,"aria-current":r!==null&&l?"true":void 0,tabIndex:r===null?-1:void 0,className:wp,style:s,onMouseDown:Vp,children:c?n:(0,z.jsx)("div",{...je,className:Wp})})})})},Kp=/(<br\s*\/?\s*>|<\/p>|\r?\n)|<[^>]+>/gi,$p=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(Kp))if(r+=e.slice(n,a.index),n=a.index+a[0].length,a[1]!==void 0&&(o(),t.length===fi))return t;return r+=e.slice(n),o(),t},zp=({id:e})=>{let{labels:t}=B(),r=(0,ue.useContext)(Ct),n=(0,ue.useContext)(Lt);return(0,z.jsx)("span",{id:e,hidden:!0,children:t.listRowPosition(r+1,n)})},Gp=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=(0,ue.useContext)(gd);return(0,z.jsx)("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:Pp,children:o})},fd=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=hr();return(0,z.jsx)("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:Hp,children:n})},Rd=(0,ue.memo)(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=B(),{toggleStar:i,toggleRead:s}=Pe(),l=(0,ue.useId)(),u=(0,ue.useId)(),c=(0,ue.useId)(),y=(0,ue.useId)(),g=(0,ue.useId)(),E=(0,ue.useMemo)(()=>$p(t.content??null),[t.content]),I=ge(t.employeeName),T=ye(e.businessDate),L=V=>{V.currentTarget.focus({preventScroll:!0});let N=Fi(V.currentTarget);N!==null&&r(e.reportHubId,N)},d=async()=>{let V=!t.isStarred;try{await i(t.reportHubId,V,t.date)}catch{}},b=async()=>{let V=!t.isRead;try{await s(t.reportHubId,V,t.date)}catch{}},C=t.isStarred?o.starRemove:o.starAdd,D=t.isRead?o.markUnread:o.markRead,F=Ht(t.sourceType,a),M=[l,c,...t.attachments.length>0?[y]:[],...F===void 0?[]:[g],u].join(" ");return(0,z.jsxs)("div",{"data-daily-report-card":!0,...je,style:kp,className:Np,children:[(0,z.jsx)(zp,{id:l}),(0,z.jsx)("span",{id:c,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),(0,z.jsxs)(Gp,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:M,onClick:L,children:[(0,z.jsx)("span",{className:R(Ue,"shrink-0 bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:(0,z.jsx)("span",{className:"whitespace-nowrap font-medium text-slate-900 dark:text-slate-100",children:T})})," ",(0,z.jsx)("span",{className:R(Ue,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:(0,z.jsx)("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:I})})]}),(0,z.jsxs)("div",{className:R(Ba,"ml-auto"),children:[(0,z.jsx)(ar,{id:y,count:t.attachments.length,label:o.attachments}),F?(0,z.jsx)(Er,{id:g,config:F}):null,(0,z.jsx)(fd,{label:C,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:d,children:(0,z.jsx)(Sr,{filled:t.isStarred})}),(0,z.jsx)(fd,{label:D,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:b,children:t.isRead?(0,z.jsx)(yd.default,{className:Le.read}):(0,z.jsx)(vr,{})})]}),(0,z.jsx)("div",{id:u,className:Mp,children:E.length>0?E.map((V,N)=>(0,z.jsx)("p",{className:"wrap-break-word line-clamp-1",children:V},N)):(0,z.jsx)("p",{children:o.contentEmptyPreview})})]})});Rd.displayName="ListReportCard";var bd=(e,t)=>(0,ue.useCallback)(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),Aa=(0,ue.memo)(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=B(),{removeStaleItem:o}=Pe(),{report:a,error:i,isLoading:s,isRefetching:l}=Ft(e.reportHubId,e.businessDate),u=(0,ue.useRef)(!1);(0,ue.useEffect)(()=>{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 c=bd(r,e.reportHubId),y=bd(r,e.reportHubId),g=(E,I)=>(0,z.jsx)(pd,{reportHubId:e.reportHubId,cursor:r,cardless:{label:ye(e.businessDate),isBusy:I,focusTargetRef:c},children:E});return i?g((0,z.jsx)("div",{...je,className:"flex h-full items-center justify-center rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-700 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",children:(0,z.jsx)("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?g((0,z.jsx)(Up,{}),!0):a?(0,z.jsx)(pd,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:(0,z.jsx)(Rd,{item:e,report:a,onSelect:t,focusTargetRef:y})}):g((0,z.jsx)("div",{...je,className:"flex h-full items-center justify-center rounded-2xl border border-slate-200 border-solid bg-slate-50 p-[15px] text-slate-500 text-sm dark:border-slate-700 dark:bg-slate-900/40 dark:text-slate-400",children:(0,z.jsx)("p",{children:n.reportNotFound})}),!1)});Aa.displayName="ListReportItem";var he=require("react/jsx-runtime"),Ed={pointerDragInputs:On,inertiaOptions:pr(!1),wheelSpeedMultiplier:Cn,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},jp={...Ed,inertiaOptions:pr(!0)},Yp=Object.freeze({value:360,unit:"pixels"}),qp=Object.freeze({value:160,unit:"pixels"}),Xp=Object.freeze({value:ld,unit:"pixels"}),Zp=Object.freeze({value:520,unit:"pixels"}),Jp=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),Qp=R("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",ae),ef=R("relative w-full",Sn,Rn),tf=R(Je,"relative isolate overflow-hidden"),hd="daily-report-list",rf=()=>!1,nf=e=>{let[t,r]=(0,ee.useState)(!1);return(0,ee.useLayoutEffect)(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] the List root is not attached");let o=i=>{for(let s of i)r(s.contentRect.width>0&&s.contentRect.width<pi)},a=new(dt(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},Mo=e=>{let t=(0,ee.useRef)(null),[r,n]=(0,ee.useState)(null),o=Vn(t),a=nf(t),{rowSlotHeight:i,remProbe:s}=md(),l=Kn(r),u=(0,ee.useCallback)(c=>(t.current=c,n(c),()=>{t.current=null,n(null)}),[]);return(0,he.jsxs)("div",{ref:u,className:gn,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:(0,he.jsx)(of,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:l})]})},of=({dailyReportItems:e,autoMarkRead:t=!1,selectedReportHubId:r,onSelectItem:n,userId:o,scrollOffsetRef:a,rootRef:i,viewportHeight:s,rowSlotHeight:l,isContainerNarrow:u,reducedMotion:c})=>{let[y]=(0,ee.useState)(()=>a?.current??0),g=(0,ee.useRef)(null),{labels:E}=B(),I=Hn(),[T]=(0,ee.useState)(zn),d=Xl()||u,b=(0,ee.useRef)(null),C=e.length,D=(0,ee.useRef)(null),F=(0,ee.useCallback)(f=>n(f),[n]),M=(0,ee.useCallback)(f=>f<C?e[f]:_n,[e,C]),V=(0,ee.useCallback)(f=>{let h=M(f.visibleStartIndex);h.reportHubId>0&&T.setLabel(ye(h.businessDate))},[M,T]),N=(0,ee.useMemo)(()=>({kind:"uniform",rowHeight:l}),[l]),j=(0,ee.useRef)(e);(0,ee.useLayoutEffect)(()=>{j.current=e},[e]);let{cursor:te,containerProps:q,handleRangeChange:le,handleScrollAdjust:K,attachVirtualScroll:ne,handleRef:Y,scroller:$,attachScrollContainer:pe,contentProps:Ee,keyboardHelp:oe,selection:G,settledSelection:be,resolveSelectedIndex:xe,rememberSelection:Oe,focusAfterRemoval:_e}=Ao({items:e,selectedId:r,onSelect:F,containerRef:g,rootRef:i,testId:hd,itemsRef:j,rowSizing:N,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:rf,onRangeChange:V}),{isMobileDetailOpen:De,setIsMobileDetailOpen:Ie,isOverlayMounted:at,shouldShowOverlay:St,handleOverlayClose:it,lastClosedItemIdRef:Ge,selectedItem:pt}=cd({isMobileLayout:d,selection:G,dailyReportItems:e,onSelectItem:n,rootRef:i}),Et=(0,ee.useMemo)(()=>({selected:G,settled:be}),[G,be]);(0,ee.useEffect)(()=>{let f=g.current,h=()=>{T.setWheelScrollActive(!0),b.current&&clearTimeout(b.current),b.current=window.setTimeout(()=>{T.setWheelScrollActive(!1),b.current=null},Dn)};return f?.addEventListener("wheel",h,{passive:!0}),()=>{f?.removeEventListener("wheel",h),b.current&&clearTimeout(b.current)}},[T]),(0,ee.useEffect)(()=>{!C&&r!==null&&n(null)},[C,r,n]),(0,ee.useEffect)(()=>{if(De||Ge.current===null)return;let f=Ge.current;Ge.current=null;let h=xe(e,f);if(h===-1)return;let w=Y.current;if(w!==null){let k=Qr(w,h,e.length,N),W=k===null?"none":Ll(k);W!=="none"&&$.toIndex(h,{align:W})}te.requestFocus(f)},[De,e,Ge,te,xe,Y,N,$]),(0,ee.useEffect)(()=>{C>0&&T.setLabel(ye(e[0].businessDate))},[e,C,T]);let Be=(0,ee.useCallback)((f,h)=>{f<=0||(Oe(f,h),n(f),d&&Ie(!0))},[d,n,Ie,Oe]),vt=(0,ee.useCallback)(()=>l,[l]),Tt=(0,ee.useRef)(l);(0,ee.useLayoutEffect)(()=>{let f=Tt.current;Tt.current=l;let h=Y.current;if(f===l||h===null)return;let w=h.getScrollPosition();w>0&&$.by(w*l/f-w)},[Y,l,$]);let x=(0,ee.useCallback)(f=>M(f).reportHubId,[M]),p=(0,ee.useCallback)((f,h)=>(0,he.jsx)(Ct.Provider,{value:h,children:(0,he.jsx)(Aa,{item:f,onSelect:Be,cursor:te})},f.reportHubId),[Be,te]),m=(0,ee.useCallback)(f=>{a&&(a.current=f);let h=g.current;h&&(h.toggleAttribute(nr,!0),D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{h.toggleAttribute(nr,!1),D.current=null},150))},[a]),S=(0,ee.useCallback)(f=>(0,he.jsx)(Gn,{...f,store:T}),[T]),v=(0,ee.useMemo)(()=>(0,he.jsxs)("div",{ref:pe,className:tf,...q,children:[oe,(0,he.jsx)(Lt.Provider,{value:C,children:(0,he.jsx)(Oo.Provider,{value:l,children:(0,he.jsx)(Sd.VirtualScroll,{ref:ne,itemCount:C,getItem:M,getItemKey:x,getItemHeight:vt,viewportSize:s,initialScrollOffset:y,overscanCount:wn,scrollBarOptions:{...Nn,renderThumbOverlay:S},behaviorOptions:c?jp:Ed,onRangeChange:le,onScrollAdjust:K,onScroll:m,testId:hd,className:ef,locale:I.locale,labels:I.labels,contentProps:Ee,children:p})})})]}),[pe,ne,q,C,M,x,vt,s,l,c,y,S,le,K,m,oe,Ee,I.locale,I.labels,p]),A=(0,ee.useMemo)(()=>(0,he.jsxs)(rr.PanelGroup,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[(0,he.jsx)(rr.Panel,{id:"daily-report-list-panel",defaultSize:Yp,minSize:qp,maxSize:Zp,contentOverflow:"hidden",className:af,children:v}),(0,he.jsx)(rr.PanelResizeHandle,{id:"daily-report-list-handle",thickness:10,indicator:Jp,className:Qp,"aria-label":E.resizeHandle}),(0,he.jsx)(rr.Panel,{id:"daily-report-detail-panel",minSize:Xp,contentOverflow:"hidden",className:sf,children:(0,he.jsx)(dd,{dailyReportItems:e,autoMarkRead:t,userId:o,onReportDeleted:_e})})]}),[v,E.resizeHandle,e,t,o,_e]);return(0,he.jsxs)(he.Fragment,{children:[d?(0,he.jsx)("div",{className:Je,children:v}):(0,he.jsx)(wo.Provider,{value:Et,children:A}),at&&(0,he.jsx)(ud,{isOpen:St,selectedItem:pt,onClose:it,autoMarkRead:d&&t,userId:o,onReportDeleted:_e})]})},af=R("flex min-h-0",Na),sf=R("flex min-h-0 flex-1",Pt);var dn=require("react");var Ld=ve(require("lucide-react/dist/esm/icons/plus.js")),Cd=ve(require("lucide-react/dist/esm/icons/refresh-cw.js")),Ad=ve(require("lucide-react/dist/esm/icons/rotate-cw.js")),Ze=require("react"),_d=require("react-router");var ln=ve(require("@radix-ui/react-switch")),vd=ve(require("react"));var _a=require("react/jsx-runtime"),ko=vd.forwardRef(({className:e,...t},r)=>(0,_a.jsx)(ln.Root,{className:R(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${Wa} ${$a} ${ae}`,e),...t,ref:r,children:(0,_a.jsx)(ln.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${Ka} ${za}`})}));ko.displayName=ln.Root.displayName;var Td=require("react"),xd=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)})}},Da=e=>(0,Td.useSyncExternalStore)(e.subscribe,e.get,e.get);var Q=require("react/jsx-runtime"),lf="list",df=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},cf=R(ja,Xa,"ml-[8px] flex flex-wrap items-center gap-2"),Id="relative h-4 w-4 p-0 after:absolute after:-inset-1",uf="flex items-center gap-2",mf=({count:e})=>{let{labels:t}=B(),r=rn(e);return(0,Q.jsx)("span",{className:"tabular-nums",children:t.totalCount(r)})},pf=({selectionStore:e,dailyReportItems:t,autoMarkRead:r,userId:n,scrollOffsetRef:o})=>{let a=Da(e);return(0,Q.jsx)(Mo,{dailyReportItems:t,autoMarkRead:r,selectedReportHubId:a,onSelectItem:e.set,userId:n,scrollOffsetRef:o})},ff=({selectionStore:e,dailyReportItems:t,userId:r,scrollRestoreRef:n})=>{let o=Da(e);return(0,Q.jsx)(_o,{dailyReportItems:t,userId:r,selectedItemId:o,onSelectItem:e.set,scrollRestoreRef:n})},bf=({tabItems:e,actions:t})=>{let[r,n]=(0,Ze.useState)(lf),{labels:o}=B();return(0,Q.jsxs)(on,{value:r,onValueChange:a=>n(df(a)),className:R("@container/views",Je),children:[(0,Q.jsxs)("div",{className:R(cf,Za[r]),children:[(0,Q.jsx)(an,{"aria-label":o.viewTabList,className:"flex flex-wrap gap-1",children:e.map(({value:a,label:i})=>(0,Q.jsx)(sn,{value:a,children:i},a))}),t]}),e.map(({value:a,content:i})=>(0,Q.jsx)(Lr,{value:a,className:R("mt-0",Je),children:i},a))]})},Po=({userId:e})=>{let[t,r]=(0,Ze.useState)(!1),{labels:n,renderHeader:o,showDevControls:a}=B(),{isSseEnabled:i,toggleSse:s,createReport:l,items:u,refetchData:c,clearCacheAndRefetch:y}=Pe(),[g]=(0,_d.useSearchParams)(),E=(0,Ze.useRef)(0),I=(0,Ze.useRef)({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[T]=(0,Ze.useState)(()=>xd(u.length===0?null:u[0].reportHubId)),L=(0,Ze.useRef)(!1);(0,Ze.useEffect)(()=>{!L.current&&u.length>0&&(L.current=!0,T.get()===null&&T.set(u[0].reportHubId))},[u,T]);let d=async()=>{await c()},b=async()=>{await y()},C=async()=>{let V=g.get("businessDate")||Uo(),N=await l(V);T.set(N)};(0,Ze.useEffect)(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let D=M=>{r(M),localStorage.setItem("daily-report-auto-read",String(M))},F=(0,Ze.useMemo)(()=>[{value:"list",label:n.tabList,content:(0,Q.jsx)(pf,{selectionStore:T,dailyReportItems:u,autoMarkRead:t,userId:e,scrollOffsetRef:E})},{value:"tree",label:n.tabTree,content:(0,Q.jsx)("div",{className:R("flex flex-1 items-center justify-center",or),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:(0,Q.jsx)(ff,{selectionStore:T,dailyReportItems:u,userId:e,scrollRestoreRef:I})}],[u,t,e,n,T]);return(0,Q.jsxs)(Q.Fragment,{children:[o({title:n.title,annotation:(0,Q.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[(0,Q.jsx)(xr,{}),(0,Q.jsx)(mf,{count:u.length}),(0,Q.jsx)("span",{children:n.debounce(cr)})]})}),(0,Q.jsx)("div",{className:wr,children:(0,Q.jsx)("div",{className:Nr,children:(0,Q.jsx)(bf,{tabItems:F,actions:(0,Q.jsxs)("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[(0,Q.jsxs)(wt,{size:"sm",onClick:C,className:"flex h-6 items-center gap-1 rounded-lg bg-amber-700 px-2 font-medium text-white text-xs shadow-xs hover:bg-amber-800 dark:bg-amber-700 dark:hover:bg-amber-800",title:n.createReportTitle,children:[(0,Q.jsx)(Ld.default,{className:"h-3 w-3"}),(0,Q.jsx)("span",{children:n.createReport})]}),a&&(0,Q.jsxs)("div",{className:"hidden h-6 items-center gap-1 rounded-lg border border-amber-300/70 border-solid bg-amber-50/60 px-[3px] text-slate-600 sm:flex dark:border-amber-700/50 dark:bg-amber-950/40 dark:text-slate-300",title:n.devControls,"data-testid":"dev-controls-toolbox",children:[(0,Q.jsx)("span",{className:"select-none font-bold font-mono text-amber-800 text-xs uppercase dark:text-amber-200",children:"dev"}),(0,Q.jsx)(ko,{id:"sse-mode","aria-label":n.devSseToggle,title:n.devSseToggle,checked:i,onCheckedChange:s}),(0,Q.jsxs)("div",{className:uf,"data-testid":"dev-icon-buttons",children:[(0,Q.jsx)(wt,{variant:"ghost",size:"icon",onClick:d,className:R(Id,"text-slate-600 hover:bg-amber-200/60 hover:text-slate-900 dark:text-slate-300 dark:hover:bg-amber-800/60 dark:hover:text-slate-100"),title:n.devReload,"data-testid":"dev-reload-btn",children:(0,Q.jsx)(Ad.default,{className:"size-3"})}),(0,Q.jsx)(wt,{variant:"ghost",size:"icon",onClick:b,className:R(Id,"text-amber-800 hover:bg-amber-200/60 hover:text-amber-950 dark:text-amber-300 dark:hover:bg-amber-800/60 dark:hover:text-amber-100"),title:n.devClearCache,"data-testid":"dev-clear-cache-btn",children:(0,Q.jsx)(Cd.default,{className:"size-3"})})]})]}),(0,Q.jsxs)("div",{className:"flex items-center gap-1 pl-1",title:n.autoReadTitle,children:[(0,Q.jsx)(ko,{id:"auto-read-mode",checked:t,onCheckedChange:D}),(0,Q.jsx)(Zr,{htmlFor:"auto-read-mode",className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:n.autoRead})]})]})})})})]})};var de=require("react/jsx-runtime"),Dd=R(Je,Pt),wd=R("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",ft),yf=()=>{let{labels:e,renderHeader:t}=B();return(0,de.jsxs)(de.Fragment,{children:[t({title:e.title,annotation:(0,de.jsx)("span",{className:R("font-bold",Or),children:e.loadErrorBadge})}),(0,de.jsx)("div",{className:wr,children:(0,de.jsx)("div",{className:Nr,children:(0,de.jsx)("div",{className:Dd,children:(0,de.jsxs)("div",{className:R(wd,"border-red-200 dark:border-red-900"),children:[(0,de.jsx)("p",{className:R("font-medium",Or),children:e.loadError}),(0,de.jsx)("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:()=>eo(),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",ae),children:e.reload})]})})})})]})},gf=()=>{let{labels:e,renderHeader:t}=B();return(0,de.jsxs)(de.Fragment,{children:[t({title:e.title,annotation:(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[(0,de.jsx)(xr,{}),(0,de.jsx)("span",{children:e.totalCountLoading}),(0,de.jsx)("span",{children:e.debounce(cr)})]})}),(0,de.jsx)("div",{className:wr,children:(0,de.jsx)("div",{className:Nr,children:(0,de.jsx)("div",{className:Dd,children:(0,de.jsx)("div",{className:wd,children:e.loadingIds})})})})]})},Rf=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=B(),o=bt(),a=(0,dn.useRef)(n);a.current=n,(0,dn.useEffect)(()=>{br({apiBasePath:r,userKey:t??null})},[r,t]),(0,dn.useEffect)(()=>{o.phase==="auth-required"&&a.current()},[o.phase]);let i=o.items.length>0||o.phase==="complete";return(0,de.jsx)(ro,{children:(0,de.jsx)(no,{user:e,initialItems:o.items,userId:t,children:i?(0,de.jsx)(Po,{userId:t}):o.phase==="failed"?(0,de.jsx)(yf,{}):(0,de.jsx)(gf,{})},t??"anonymous")})},Nd=({config:e,...t})=>(0,de.jsx)(In,{config:e,children:(0,de.jsx)(Rf,{...t})});var Od=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:i,formMethod:s,json:l,nextUrl:u,text:c})=>{if(!n)return!1;if(!(r.pathname===u.pathname&&r.search===u.search&&r.hash===u.hash))return n;if(a){let E=a.get("intent");if(E==="toggleRead"||E==="toggleStar"||E==="addComment"||E==="deleteComment"||E==="create"||E==="update"||E==="publish"||E==="delete")return!1}return e!==void 0||t!==void 0||o!==void 0||a!==void 0||i!==void 0||s!==void 0||l!==void 0||c!==void 0?n:!1},Md=e=>{let t=async r=>{Jn();let n=await r.serverLoader(),o=n.userId;return Zn({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};0&&(module.exports={DAILY_REPORT_LABEL_CATALOGS,DAILY_REPORT_LABEL_KEYS,DAILY_REPORT_LAYOUT_LATTICE_PX,DailyReportActionProvider,DailyReportAttachmentIndicator,DailyReportConfigProvider,DailyReportDetailList,DailyReportErrorProvider,DailyReportIdsStreamClient,DailyReportIdsStreamStatus,DailyReportList,DailyReportPage,DailyReportResolvedContent,bootstrapDailyReportIdsStreamSession,createDailyReportClientLoader,dailyReportShouldRevalidate,defaultDailyReportClientConfig,ensureDailyReportIdsStreamSession,primeDailyReportIdsStreamSession,resolveDailyReportLabels,resolveSourceTypeConfig,resyncDailyReportIdsStream,useDailyReportActionContext,useDailyReportComments,useDailyReportConfig,useDailyReportDetail,useDailyReportIdsStream,useDailyReportPrefetch,useDailyReportSseConnection});
6
+ `).replace(/<[^>]+>/g,""):null,[e]),X=async me=>{try{await y(me.reportHubId,!me.isStarred,me.date)}catch{}},$=async me=>{if(confirm(p.confirmDelete)){try{await v(me.reportHubId,me.date)}catch{alert(p.deleteFailed);return}g(me.reportHubId)}};if(n)return(0,w.jsx)("p",{className:Hr,children:p.reportLoadFailed(o.reportHubId)});let be=!e,ue=!!(m&&e?.userId===m);return(0,w.jsxs)("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:u,children:[(0,w.jsxs)("div",{className:"flex items-start gap-2",children:[(0,w.jsx)("dl",{className:"m-0 flex min-w-0 flex-1",children:(0,w.jsx)(Se,{label:p.subject,classNames:Np,children:be?(0,w.jsx)(Nr,{className:"w-3/4"}):(0,w.jsx)("span",{className:"text-sm",children:he(e?.subject)})})}),!be&&e&&(0,w.jsxs)("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[(0,w.jsx)("button",{type:"button",onClick:()=>X(e),className:We,title:e.isStarred?p.starRemove:p.starAdd,"aria-label":e.isStarred?p.starRemove:p.starAdd,"data-detail-star-button":e.reportHubId,children:(0,w.jsx)(Ir,{filled:e.isStarred})}),(0,w.jsx)("button",{type:"button",onClick:()=>W(e,!1),className:We,title:e.isRead?p.markUnread:p.markRead,"aria-label":e.isRead?p.markUnread:p.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?(0,w.jsx)(Ad.default,{className:Ae.read}):(0,w.jsx)(Lr,{})}),u&&(0,w.jsx)("button",{ref:f,type:"button",onClick:u,"data-detail-edit-button":e.reportHubId,className:We,title:p.edit,"aria-label":p.edit,children:(0,w.jsx)(_d.default,{className:Ae.edit})}),ue&&(0,w.jsx)("button",{type:"button",onClick:()=>$(e),"data-detail-delete-button":e.reportHubId,className:We,title:p.deleteReport,"aria-label":p.deleteReport,children:(0,w.jsx)(wd.default,{className:Ae.delete})})]})]}),(0,w.jsx)("dl",{className:"m-0",children:(0,w.jsx)(Se,{label:p.customer,classNames:Ld,children:be?(0,w.jsx)(Nr,{className:"w-1/2"}):(0,w.jsx)("span",{className:"text-sm",children:he(e?.customerName)})})}),(0,w.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,w.jsx)(Ge,{level:C,className:It,children:p.content}),(0,w.jsx)("div",{className:h("min-h-22",Tn),children:be?(0,w.jsxs)("div",{className:"space-y-2",children:[(0,w.jsx)(Nr,{className:"w-full"}),(0,w.jsx)(Nr,{className:"w-11/12"}),(0,w.jsx)(Nr,{className:"w-4/5"})]}):ce?(0,w.jsx)("div",{className:"whitespace-pre-wrap",children:ce}):(0,w.jsx)("p",{className:"text-slate-500 dark:text-slate-400",children:p.contentEmpty})})]}),(0,w.jsx)("dl",{className:"m-0",children:(0,w.jsx)(Se,{label:p.visitTime,classNames:Ld,children:be?(0,w.jsx)(Nr,{className:"w-1/3"}):(0,w.jsxs)("span",{className:"text-sm",children:[he(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",he(e?.visitTimeTo)]})})}),e&&(0,w.jsx)(Ro,{attachments:e.attachments}),e&&(0,w.jsx)(Eo,{comments:H,canComment:se,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:K,pendingDeleteId:M,onPendingDeleteIdChange:B,resolvedIdMap:ne,onSectionRemoved:E,className:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800",children:se&&(0,w.jsx)(To,{reportHubId:e.reportHubId,businessDate:e.date,onAddComment:j})})]})};var bt=require("react/jsx-runtime"),Gp="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]",jp={right:"var(--aqdr-overlay-right, 0px)"},Yp="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",qp=h("relative ml-auto flex h-full w-full max-w-full touch-none shadow-xl motion-safe:transition-[transform] motion-safe:duration-200 motion-safe:ease-out",li),Xp=h("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",ae),Zp=50,kd=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=(0,oe.useState)(!1),[d,m]=(0,oe.useState)(!1),u=(0,oe.useRef)(null),f=(0,oe.useRef)(null),g=(0,oe.useRef)(null),E=(0,oe.useRef)(e),y=(0,oe.useRef)(!0),D=un(r,t),v=(0,oe.useCallback)(()=>{let C=o.current;if(C===null)return;let H=C.ownerDocument.body;g.current={body:H,overflow:H.style.overflow},H.style.overflow="hidden"},[o]),l=(0,oe.useCallback)(()=>{let C=g.current;C!==null&&(C.body.style.overflow=C.overflow,g.current=null)},[]);(0,oe.useEffect)(()=>{if(y.current){y.current=!1,E.current=e;return}let C=!E.current;E.current=e,C&&e&&a!==null?s(!0):!e&&i&&(f.current=a,s(!1),l())},[e,a,i,l]);let p=e&&i&&D!==null;(0,oe.useEffect)(()=>{if(p)m(!0);else{let C=setTimeout(()=>m(!1),300);return()=>clearTimeout(C)}},[p]),(0,oe.useEffect)(()=>{if(e&&i&&a!==null&&!u.current){let C=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:C},"",window.location.href),u.current=C}else!(e&&i)&&u.current&&(u.current=null);return e&&i?v():l(),l},[e,i,a,v,l]),(0,oe.useEffect)(()=>{let C=()=>{u.current&&(f.current=a,u.current=null,s(!1),n(null))};return window.addEventListener("popstate",C),()=>window.removeEventListener("popstate",C)},[a,n]);let I=(0,oe.useCallback)(()=>{e&&(f.current=a,s(!1),n(null),u.current&&(u.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:i,setIsMobileDetailOpen:s,isOverlayMounted:d,shouldShowOverlay:p,handleOverlayClose:I,lastClosedItemIdRef:f,selectedItem:D}},Pd=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=U(),s=(0,oe.useRef)(null),d=(0,oe.useId)(),m=(0,oe.useId)(),[u,f]=(0,oe.useState)(Ua),g=(0,it.useOverlayEscapeStack)(),E=(0,oe.useId)(),y=(0,oe.useRef)(!1),D=(0,oe.useRef)(e),v=(0,oe.useRef)(null),[l]=(0,oe.useState)(()=>Ba(e)),{isBlocked:p,requestBlock:I,reset:C}=(0,it.useSwipeGuardState)(),H=(0,it.useTransitionDisplay)(e,t),{overlayRef:N,overlayStyle:K,attemptClose:M,isSwiping:B}=(0,it.useSwipeToDismissOverlay)({isOpen:e,onClose:r,isCloseBlocked:(0,oe.useCallback)(()=>p,[p]),skipWhenTextSelected:!0}),ne=(0,oe.useRef)(M);(0,oe.useLayoutEffect)(()=>{ne.current=M,D.current=e,l.set(e)},[M,e,l]),(0,oe.useEffect)(()=>{if(e)return g({id:E,onEscape:X=>nn(X)&&ne.current()})},[e,g,E]),(0,oe.useLayoutEffect)(()=>{let X=s.current;if(X===null)return;if(e){if(y.current)return;X.showModal(),y.current=!0,X.ownerDocument.getElementById(d)?.focus();return}if(!y.current)return;y.current=!1;let $=Ke(X);$!==null&&X.contains($)&&oa($)&&$.blur(),X.close()},[e,d]),(0,oe.useEffect)(()=>{e||C()},[e,C]);let W=(0,it.useTapClick)(()=>M()),se=X=>{let $=go(X);if(nn($)){M()&&X.preventDefault();return}if($.key==="Escape"){v.current=X.timeStamp;return}let be=yl($,X.currentTarget);be!==null&&(X.preventDefault(),be.kind==="wrap"&&be.element.focus())},j=X=>{X.preventDefault();let $=v.current;v.current=null,!($!==null&&X.timeStamp-$<=Zp)&&ne.current()},ce=X=>{let $=X.currentTarget;$.open||!D.current||(y.current=!1,!ne.current()&&($.showModal(),y.current=!0))};return H?(0,bt.jsxs)("dialog",{ref:s,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${d} ${m}`,tabIndex:-1,className:h(Gp,e&&!B?"pointer-events-auto":"pointer-events-none"),style:jp,inert:!e,onKeyDown:se,onCancel:j,onClose:ce,children:[(0,bt.jsx)("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:h(Yp,e?"opacity-100":"opacity-0"),...W}),(0,bt.jsx)("div",{ref:N,"data-daily-report-overlay-panel":"",className:h(qp,e?"pointer-events-auto":"pointer-events-none"),style:K,children:(0,bt.jsxs)("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[(0,bt.jsx)(it.SwipeCloseGuardContext.Provider,{value:{isBlocked:p,requestBlock:I},children:(0,bt.jsx)("div",{"data-testid":"daily-report-side-pane","data-report-id":H.reportHubId,"data-displayed-report-id":H.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:(0,bt.jsx)(Vo,{item:H,headingId:d,authorId:m,activeTab:u,onActiveTabChange:f,autoMarkRead:n,isActive:e,dwell:l,userId:o,onReportDeleted:a},H.reportHubId)})}),(0,bt.jsx)("div",{className:"flex justify-start",children:(0,bt.jsx)("button",{type:"button","data-overlay-interactive":"true",className:Xp,onClick:()=>M(),children:i.close})})]})})]}):null};var Vd=Ie(require("lucide-react/dist/esm/icons/check.js")),fe=require("react");var st=require("react");var Jp=6.75,Qp=4,ef=1e-6,tf=e=>4*Math.ceil((2*Ft+2*En+Qp+Jp*e-ef)/4),Wo=(0,st.createContext)(null),rf="data-daily-report-root-font-size-probe",nf={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},of=e=>{let t=mt(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])},Hd=()=>{let e=(0,st.useRef)(null),[t,r]=(0,st.useState)(null);(0,st.useLayoutEffect)(()=>{let o=e.current;if(o===null)throw new Error("[daily-report] useListRowSlotHeight needs the List to render remProbe");let a=null,i=()=>{let d=tf(of(o));d!==a&&(a=d,r(d))};i();let s=new ResizeObserver(i);return s.observe(o),()=>s.disconnect()},[]);let n=(0,st.useMemo)(()=>(0,st.createElement)("div",{ref:e,"aria-hidden":!0,[rf]:"",style:nf}),[]);return{rowSlotHeight:t,remProbe:n}};var G=require("react/jsx-runtime"),af=h(Bt,Sn,vn,hn),sf=h("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",ht,xn,qa),lf="min-w-24",df="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",cf={touchAction:"manipulation"},uf=h("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",lf),mf=h("relative z-10",We),pf=h("flex h-full",ht),ff="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",Or="h-4 rounded bg-slate-200 dark:bg-slate-700",bf=()=>(0,G.jsx)("div",{"data-skeleton":!0,...ze,className:pf,children:(0,G.jsxs)("div",{className:ff,children:[(0,G.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,G.jsx)("div",{className:h(Or,"w-24")}),(0,G.jsx)("div",{className:h(Or,"w-24")}),(0,G.jsx)("div",{className:h(Or,"w-24")})]}),(0,G.jsxs)("div",{className:"space-y-2",children:[(0,G.jsx)("div",{className:h(Or,"w-full")}),(0,G.jsx)("div",{className:h(Or,"w-11/12")}),(0,G.jsx)("div",{className:h(Or,"w-5/6")})]})]})}),yf=e=>{e.target===e.currentTarget&&e.preventDefault()},Rf="h-full w-full",Wd=(0,fe.createContext)(!1),Fd=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=(0,fe.useContext)(Dt),a=(0,fe.useContext)(Lt),i=(0,fe.useContext)(Wo);if(i===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let s=(0,fe.useMemo)(()=>({height:i}),[i]),{isCurrent:d,isTabStop:m}=Mo(t,e),u=ko(t,e,o);return(0,G.jsx)(Qr.Provider,{value:m,children:(0,G.jsx)(Wd.Provider,{value:d,children:(0,G.jsx)("div",{ref:r?.focusTargetRef,role:"listitem","data-daily-report-row":e,"aria-posinset":o+1,"aria-setsize":a,"aria-label":r?.label,"aria-busy":r?.isBusy||!u?!0:void 0,"aria-current":r!==null&&d?"true":void 0,tabIndex:r===null?-1:void 0,className:af,style:s,onMouseDown:yf,children:u?n:(0,G.jsx)("div",{...ze,className:Rf})})})})},gf=/(<br\s*\/?\s*>|<\/p>|\r?\n)|<[^>]+>/gi,hf=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(gf))if(r+=e.slice(n,a.index),n=a.index+a[0].length,a[1]!==void 0&&(o(),t.length===Ci))return t;return r+=e.slice(n),o(),t},Sf=({id:e})=>{let{labels:t}=U(),r=(0,fe.useContext)(Dt),n=(0,fe.useContext)(Lt);return(0,G.jsx)("span",{id:e,hidden:!0,children:n===zr?t.listRowPositionInUnknownTotal(r+1):t.listRowPosition(r+1,n)})},vf=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=(0,fe.useContext)(Wd);return(0,G.jsx)("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:uf,children:o})},Bd=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=Tr();return(0,G.jsx)("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:mf,children:n})},Kd=(0,fe.memo)(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=U(),{toggleStar:i,toggleRead:s}=Pe(),d=(0,fe.useId)(),m=(0,fe.useId)(),u=(0,fe.useId)(),f=(0,fe.useId)(),g=(0,fe.useId)(),E=(0,fe.useMemo)(()=>hf(t.content??null),[t.content]),y=he(t.employeeName),D=ge(e.businessDate),v=K=>{K.currentTarget.focus({preventScroll:!0});let M=Xi(K.currentTarget);M!==null&&r(e.reportHubId,M)},l=async()=>{let K=!t.isStarred;try{await i(t.reportHubId,K,t.date)}catch{}},p=async()=>{let K=!t.isRead;try{await s(t.reportHubId,K,t.date)}catch{}},I=t.isStarred?o.starRemove:o.starAdd,C=t.isRead?o.markUnread:o.markRead,H=Ut(t.sourceType,a),N=[d,u,...t.attachments.length>0?[f]:[],...H===void 0?[]:[g],m].join(" ");return(0,G.jsxs)("div",{"data-daily-report-card":!0,...ze,style:cf,className:sf,children:[(0,G.jsx)(Sf,{id:d}),(0,G.jsx)("span",{id:u,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),(0,G.jsxs)(vf,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:N,onClick:v,children:[(0,G.jsx)("span",{className:h(Be,"shrink-0 bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:(0,G.jsx)("span",{className:"whitespace-nowrap font-medium text-slate-900 dark:text-slate-100",children:D})})," ",(0,G.jsx)("span",{className:h(Be,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:(0,G.jsx)("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:y})})]}),(0,G.jsxs)("div",{className:h(Ja,"ml-auto"),children:[(0,G.jsx)(dr,{id:f,count:t.attachments.length,label:o.attachments}),H?(0,G.jsx)(Cr,{id:g,config:H}):null,(0,G.jsx)(Bd,{label:I,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:l,children:(0,G.jsx)(Ir,{filled:t.isStarred})}),(0,G.jsx)(Bd,{label:C,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:p,children:t.isRead?(0,G.jsx)(Vd.default,{className:Ae.read}):(0,G.jsx)(Lr,{})})]}),(0,G.jsx)("div",{id:m,className:df,children:E.length>0?E.map((K,M)=>(0,G.jsx)("p",{className:"wrap-break-word line-clamp-1",children:K},M)):(0,G.jsx)("p",{children:o.contentEmptyPreview})})]})});Kd.displayName="ListReportCard";var Ud=(e,t)=>(0,fe.useCallback)(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),Va=(0,fe.memo)(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=U(),{removeStaleItem:o}=Pe(),{report:a,error:i,isLoading:s,isRefetching:d}=Vt(e.reportHubId,e.businessDate),m=(0,fe.useRef)(!1);(0,fe.useEffect)(()=>{if(d){m.current=!0;return}!(a||s||i)&&m.current&&e.reportHubId>0&&o(e.reportHubId)},[a,s,d,i,e.reportHubId,o]);let u=Ud(r,e.reportHubId),f=Ud(r,e.reportHubId),g=(E,y)=>(0,G.jsx)(Fd,{reportHubId:e.reportHubId,cursor:r,cardless:{label:ge(e.businessDate),isBusy:y,focusTargetRef:u},children:E});return i?g((0,G.jsx)("div",{...ze,className:"flex h-full items-center justify-center rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-700 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",children:(0,G.jsx)("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?g((0,G.jsx)(bf,{}),!0):a?(0,G.jsx)(Fd,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:(0,G.jsx)(Kd,{item:e,report:a,onSelect:t,focusTargetRef:f})}):g((0,G.jsx)("div",{...ze,className:"flex h-full items-center justify-center rounded-2xl border border-slate-200 border-solid bg-slate-50 p-[15px] text-slate-500 text-sm dark:border-slate-700 dark:bg-slate-900/40 dark:text-slate-400",children:(0,G.jsx)("p",{children:n.reportNotFound})}),!1)});Va.displayName="ListReportItem";var ve=require("react/jsx-runtime"),Gd={pointerDragInputs:Vn,inertiaOptions:Rr(!1),wheelSpeedMultiplier:kn,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},Ef={...Gd,inertiaOptions:Rr(!0)},Tf=Object.freeze({value:360,unit:"pixels"}),xf=Object.freeze({value:160,unit:"pixels"}),If=Object.freeze({value:Od,unit:"pixels"}),Cf=Object.freeze({value:520,unit:"pixels"}),Lf=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),Df=h("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",ae),Af=h("relative w-full",Dn,Cn),_f=h(et,"relative isolate overflow-hidden"),$d="daily-report-list",wf=()=>!1,Nf=e=>{let[t,r]=(0,re.useState)(!1);return(0,re.useLayoutEffect)(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] the List root is not attached");let o=i=>{for(let s of i)r(s.contentRect.width>0&&s.contentRect.width<Ii)},a=new(mt(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},Ko=e=>{let t=(0,re.useRef)(null),[r,n]=(0,re.useState)(null),o=qn(t),a=Nf(t),{rowSlotHeight:i,remProbe:s}=Hd(),d=Zn(r),m=(0,re.useCallback)(u=>(t.current=u,n(u),()=>{t.current=null,n(null)}),[]);return(0,ve.jsxs)("div",{ref:m,className:In,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:(0,ve.jsx)(Of,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:d})]})},Of=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:i,rootRef:s,viewportHeight:d,rowSlotHeight:m,isContainerNarrow:u,reducedMotion:f})=>{let[g]=(0,re.useState)(()=>i?.current??0),E=(0,re.useRef)(null),{labels:y}=U(),D=zn(),[v]=(0,re.useState)(Qn),p=vd()||u,I=(0,re.useRef)(null),C=e.length,H=t===void 0?C:t,N=(0,re.useRef)(null),K=(0,re.useCallback)(T=>o(T),[o]),M=(0,re.useCallback)(T=>T<C?e[T]:Hn,[e,C]),B=(0,re.useCallback)(T=>{let _=M(T.visibleStartIndex);_.reportHubId>0&&v.setLabel(ge(_.businessDate))},[M,v]),ne=(0,re.useMemo)(()=>({kind:"uniform",rowHeight:m}),[m]),W=(0,re.useRef)(e);(0,re.useLayoutEffect)(()=>{W.current=e},[e]);let{cursor:se,containerProps:j,handleRangeChange:ce,handleScrollAdjust:X,attachVirtualScroll:$,handleRef:be,scroller:ue,attachScrollContainer:me,contentProps:De,keyboardHelp:Y,selection:we,settledSelection:Xe,resolveSelectedIndex:ye,rememberSelection:Ee,focusAfterRemoval:Ze}=Ho({items:e,selectedId:n,onSelect:K,containerRef:E,rootRef:s,testId:$d,itemsRef:W,rowSizing:ne,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:wf,onRangeChange:B}),{isMobileDetailOpen:Je,setIsMobileDetailOpen:yt,isOverlayMounted:Rt,shouldShowOverlay:xt,handleOverlayClose:lt,lastClosedItemIdRef:Qe,selectedItem:dt}=kd({isMobileLayout:p,selection:we,dailyReportItems:e,onSelectItem:o,rootRef:s}),Pt=(0,re.useMemo)(()=>({selected:we,settled:Xe}),[we,Xe]);(0,re.useEffect)(()=>{let T=E.current,_=()=>{v.setWheelScrollActive(!0),I.current&&clearTimeout(I.current),I.current=window.setTimeout(()=>{v.setWheelScrollActive(!1),I.current=null},Fn)};return T?.addEventListener("wheel",_,{passive:!0}),()=>{T?.removeEventListener("wheel",_),I.current&&clearTimeout(I.current)}},[v]),(0,re.useEffect)(()=>{!C&&n!==null&&o(null)},[C,n,o]),(0,re.useEffect)(()=>{if(Je||Qe.current===null)return;let T=Qe.current;Qe.current=null;let _=ye(e,T);if(_===-1)return;let P=be.current;if(P!==null){let Q=sn(P,_,e.length,ne),xe=Q===null?"none":Zl(Q);xe!=="none"&&ue.toIndex(_,{align:xe})}se.requestFocus(T)},[Je,e,Qe,se,ye,be,ne,ue]),(0,re.useEffect)(()=>{C>0&&v.setLabel(ge(e[0].businessDate))},[e,C,v]);let x=(0,re.useCallback)((T,_)=>{T<=0||(Ee(T,_),o(T),p&&yt(!0))},[p,o,yt,Ee]),c=(0,re.useCallback)(()=>m,[m]),R=(0,re.useRef)(m);(0,re.useLayoutEffect)(()=>{let T=R.current;R.current=m;let _=be.current;if(T===m||_===null)return;let P=_.getScrollPosition();P>0&&ue.by(P*m/T-P)},[be,m,ue]);let b=(0,re.useCallback)(T=>M(T).reportHubId,[M]),S=(0,re.useCallback)((T,_)=>(0,ve.jsx)(Dt.Provider,{value:_,children:(0,ve.jsx)(Va,{item:T,onSelect:x,cursor:se})},T.reportHubId),[x,se]),A=(0,re.useCallback)(T=>{i&&(i.current=T);let _=E.current;_&&(_.toggleAttribute(sr,!0),N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{_.toggleAttribute(sr,!1),N.current=null},150))},[i]),k=(0,re.useCallback)(T=>(0,ve.jsx)(eo,{...T,store:v}),[v]),q=(0,re.useMemo)(()=>(0,ve.jsxs)("div",{ref:me,className:_f,...j,children:[Y,(0,ve.jsx)(Lt.Provider,{value:H,children:(0,ve.jsx)(Wo.Provider,{value:m,children:(0,ve.jsx)(zd.VirtualScroll,{ref:$,itemCount:C,getItem:M,getItemKey:b,getItemHeight:c,viewportSize:d,initialScrollOffset:g,overscanCount:Bn,scrollBarOptions:{...Un,renderThumbOverlay:k},behaviorOptions:f?Ef:Gd,onRangeChange:ce,onScrollAdjust:X,onScroll:A,testId:$d,className:Af,locale:D.locale,labels:D.labels,contentProps:De,children:S})})})]}),[me,$,j,H,C,M,b,c,d,m,f,g,k,ce,X,A,Y,De,D.locale,D.labels,S]),z=(0,re.useMemo)(()=>(0,ve.jsxs)(ir.PanelGroup,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[(0,ve.jsx)(ir.Panel,{id:"daily-report-list-panel",defaultSize:Tf,minSize:xf,maxSize:Cf,contentOverflow:"hidden",className:Mf,children:q}),(0,ve.jsx)(ir.PanelResizeHandle,{id:"daily-report-list-handle",thickness:10,indicator:Lf,className:Df,"aria-label":y.resizeHandle}),(0,ve.jsx)(ir.Panel,{id:"daily-report-detail-panel",minSize:If,contentOverflow:"hidden",className:kf,children:(0,ve.jsx)(Md,{dailyReportItems:e,autoMarkRead:r,userId:a,onReportDeleted:Ze})})]}),[q,y.resizeHandle,e,r,a,Ze]);return(0,ve.jsxs)(ve.Fragment,{children:[p?(0,ve.jsx)("div",{className:et,children:q}):(0,ve.jsx)(Uo.Provider,{value:Pt,children:z}),Rt&&(0,ve.jsx)(Pd,{isOpen:xt,selectedItem:dt,onClose:lt,autoMarkRead:p&&r,userId:a,onReportDeleted:Ze})]})},Mf=h("flex min-h-0",za),kf=h("flex min-h-0 flex-1",Bt);var yn=require("react");var Zd=Ie(require("lucide-react/dist/esm/icons/plus.js")),Jd=Ie(require("lucide-react/dist/esm/icons/refresh-cw.js")),Qd=Ie(require("lucide-react/dist/esm/icons/rotate-cw.js")),qe=require("react"),ec=require("react-router");var bn=Ie(require("@radix-ui/react-switch")),jd=Ie(require("react"));var Wa=require("react/jsx-runtime"),$o=jd.forwardRef(({className:e,...t},r)=>(0,Wa.jsx)(bn.Root,{className:h(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${ti} ${ni} ${ae}`,e),...t,ref:r,children:(0,Wa.jsx)(bn.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${ri} ${oi}`})}));$o.displayName=bn.Root.displayName;var Yd=require("react"),qd=e=>{let t=e,r=new Set;return{get:()=>t,set:n=>{if(n!==t){t=n;for(let o of[...r])o()}},subscribe:n=>(r.add(n),()=>{r.delete(n)})}},Ka=e=>(0,Yd.useSyncExternalStore)(e.subscribe,e.get,e.get);var Z=require("react/jsx-runtime"),Pf="list",Hf=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},Ff=h(ii,di,"ml-[8px] flex flex-wrap items-center gap-2"),Xd="relative h-4 w-4 p-0 after:absolute after:-inset-1",Bf="flex items-center gap-2",Uf=({count:e})=>{let{labels:t}=U(),r=cn(e);return(0,Z.jsx)("span",{className:"tabular-nums",children:t.totalCount(r)})},Vf=({setSize:e})=>{let{labels:t}=U();return e===zr?(0,Z.jsx)("span",{children:t.totalCountLoading}):(0,Z.jsx)(Uf,{count:e})},Wf=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let i=Ka(e);return(0,Z.jsx)(Ko,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:i,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},Kf=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=Ka(e);return(0,Z.jsx)(Fo,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},$f=({tabItems:e,actions:t})=>{let[r,n]=(0,qe.useState)(Pf),{labels:o}=U();return(0,Z.jsxs)(mn,{value:r,onValueChange:a=>n(Hf(a)),className:h("@container/views",et),children:[(0,Z.jsxs)("div",{className:h(Ff,ci[r]),children:[(0,Z.jsx)(pn,{"aria-label":o.viewTabList,className:"flex flex-wrap gap-1",children:e.map(({value:a,label:i})=>(0,Z.jsx)(fn,{value:a,children:i},a))}),t]}),e.map(({value:a,content:i})=>(0,Z.jsx)(wr,{value:a,className:h("mt-0",et),children:i},a))]})},zo=({userId:e})=>{let[t,r]=(0,qe.useState)(!1),{labels:n,renderHeader:o,showDevControls:a}=U(),{isSseEnabled:i,toggleSse:s,createReport:d,items:m,refetchData:u,clearCacheAndRefetch:f}=Pe(),[g]=(0,ec.useSearchParams)(),E=Ji(m.length,nt()),y=(0,qe.useRef)(0),D=(0,qe.useRef)({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[v]=(0,qe.useState)(()=>qd(m.length===0?null:m[0].reportHubId)),l=(0,qe.useRef)(!1);(0,qe.useEffect)(()=>{!l.current&&m.length>0&&(l.current=!0,v.get()===null&&v.set(m[0].reportHubId))},[m,v]);let p=async()=>{await u()},I=async()=>{await f()},C=async()=>{let M=g.get("businessDate")||Yo(),B=await d(M);v.set(B)};(0,qe.useEffect)(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let H=K=>{r(K),localStorage.setItem("daily-report-auto-read",String(K))},N=(0,qe.useMemo)(()=>[{value:"list",label:n.tabList,content:(0,Z.jsx)(Wf,{selectionStore:v,dailyReportItems:m,rowSetSize:E,autoMarkRead:t,userId:e,scrollOffsetRef:y})},{value:"tree",label:n.tabTree,content:(0,Z.jsx)("div",{className:h("flex flex-1 items-center justify-center",lr),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:(0,Z.jsx)(Kf,{selectionStore:v,dailyReportItems:m,rowSetSize:E,userId:e,scrollRestoreRef:D})}],[m,E,t,e,n,v]);return(0,Z.jsxs)(Z.Fragment,{children:[o({title:n.title,annotation:(0,Z.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[(0,Z.jsx)(Ar,{}),(0,Z.jsx)(Vf,{setSize:E}),(0,Z.jsx)("span",{children:n.debounce(fr)})]})}),(0,Z.jsx)("div",{className:kr,children:(0,Z.jsx)("div",{className:Pr,children:(0,Z.jsx)($f,{tabItems:N,actions:(0,Z.jsxs)("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[(0,Z.jsxs)(Ot,{size:"sm",onClick:C,className:"flex h-6 items-center gap-1 rounded-lg bg-amber-700 px-2 font-medium text-white text-xs shadow-xs hover:bg-amber-800 dark:bg-amber-700 dark:hover:bg-amber-800",title:n.createReportTitle,children:[(0,Z.jsx)(Zd.default,{className:"h-3 w-3"}),(0,Z.jsx)("span",{children:n.createReport})]}),a&&(0,Z.jsxs)("div",{className:"hidden h-6 items-center gap-1 rounded-lg border border-amber-300/70 border-solid bg-amber-50/60 px-[3px] text-slate-600 sm:flex dark:border-amber-700/50 dark:bg-amber-950/40 dark:text-slate-300",title:n.devControls,"data-testid":"dev-controls-toolbox",children:[(0,Z.jsx)("span",{className:"select-none font-bold font-mono text-amber-800 text-xs uppercase dark:text-amber-200",children:"dev"}),(0,Z.jsx)($o,{id:"sse-mode","aria-label":n.devSseToggle,title:n.devSseToggle,checked:i,onCheckedChange:s}),(0,Z.jsxs)("div",{className:Bf,"data-testid":"dev-icon-buttons",children:[(0,Z.jsx)(Ot,{variant:"ghost",size:"icon",onClick:p,className:h(Xd,"text-slate-600 hover:bg-amber-200/60 hover:text-slate-900 dark:text-slate-300 dark:hover:bg-amber-800/60 dark:hover:text-slate-100"),title:n.devReload,"data-testid":"dev-reload-btn",children:(0,Z.jsx)(Qd.default,{className:"size-3"})}),(0,Z.jsx)(Ot,{variant:"ghost",size:"icon",onClick:I,className:h(Xd,"text-amber-800 hover:bg-amber-200/60 hover:text-amber-950 dark:text-amber-300 dark:hover:bg-amber-800/60 dark:hover:text-amber-100"),title:n.devClearCache,"data-testid":"dev-clear-cache-btn",children:(0,Z.jsx)(Jd.default,{className:"size-3"})})]})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-1 pl-1",title:n.autoReadTitle,children:[(0,Z.jsx)($o,{id:"auto-read-mode",checked:t,onCheckedChange:H}),(0,Z.jsx)(on,{htmlFor:"auto-read-mode",className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:n.autoRead})]})]})})})})]})};var de=require("react/jsx-runtime"),tc=h(et,Bt),rc=h("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",ht),zf=()=>{let{labels:e,renderHeader:t}=U();return(0,de.jsxs)(de.Fragment,{children:[t({title:e.title,annotation:(0,de.jsx)("span",{className:h("font-bold",Hr),children:e.loadErrorBadge})}),(0,de.jsx)("div",{className:kr,children:(0,de.jsx)("div",{className:Pr,children:(0,de.jsx)("div",{className:tc,children:(0,de.jsxs)("div",{className:h(rc,"border-red-200 dark:border-red-900"),children:[(0,de.jsx)("p",{className:h("font-medium",Hr),children:e.loadError}),(0,de.jsx)("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:()=>so(),className:h("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",ae),children:e.reload})]})})})})]})},Gf=()=>{let{labels:e,renderHeader:t}=U();return(0,de.jsxs)(de.Fragment,{children:[t({title:e.title,annotation:(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[(0,de.jsx)(Ar,{}),(0,de.jsx)("span",{children:e.totalCountLoading}),(0,de.jsx)("span",{children:e.debounce(fr)})]})}),(0,de.jsx)("div",{className:kr,children:(0,de.jsx)("div",{className:Pr,children:(0,de.jsx)("div",{className:tc,children:(0,de.jsx)("div",{className:rc,children:e.loadingIds})})})})]})},jf=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=U(),o=nt(),a=(0,yn.useRef)(n);a.current=n,(0,yn.useEffect)(()=>{hr({apiBasePath:r,userKey:t??null})},[r,t]),(0,yn.useEffect)(()=>{o.phase==="auth-required"&&a.current()},[o.phase]);let i=o.items.length>0||o.phase==="complete";return(0,de.jsx)(uo,{children:(0,de.jsx)(po,{user:e,userId:t,children:i?(0,de.jsx)(zo,{userId:t}):o.phase==="failed"?(0,de.jsx)(zf,{}):(0,de.jsx)(Gf,{})},t??"anonymous")})},nc=({config:e,...t})=>(0,de.jsx)(On,{config:e,children:(0,de.jsx)(jf,{...t})});var oc=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:i,formMethod:s,json:d,nextUrl:m,text:u})=>{if(!n)return!1;if(!(r.pathname===m.pathname&&r.search===m.search&&r.hash===m.hash))return n;if(a){let E=a.get("intent");if(E==="toggleRead"||E==="toggleStar"||E==="addComment"||E==="deleteComment"||E==="create"||E==="update"||E==="publish"||E==="delete")return!1}return e!==void 0||t!==void 0||o!==void 0||a!==void 0||i!==void 0||s!==void 0||d!==void 0||u!==void 0?n:!1},ac=e=>{let t=async r=>{ao();let n=await r.serverLoader(),o=n.userId;return oo({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};0&&(module.exports={DAILY_REPORT_LABEL_CATALOGS,DAILY_REPORT_LABEL_KEYS,DAILY_REPORT_LAYOUT_LATTICE_PX,DailyReportActionProvider,DailyReportAttachmentIndicator,DailyReportConfigProvider,DailyReportDetailList,DailyReportErrorProvider,DailyReportIdsStreamClient,DailyReportIdsStreamStatus,DailyReportList,DailyReportPage,DailyReportResolvedContent,bootstrapDailyReportIdsStreamSession,createDailyReportClientLoader,dailyReportShouldRevalidate,defaultDailyReportClientConfig,ensureDailyReportIdsStreamSession,primeDailyReportIdsStreamSession,resolveDailyReportLabels,resolveSourceTypeConfig,resyncDailyReportIdsStream,useDailyReportActionContext,useDailyReportComments,useDailyReportConfig,useDailyReportDetail,useDailyReportIdsStream,useDailyReportPrefetch,useDailyReportSseConnection});