@aiquants/daily-report 0.26.0 → 0.28.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/CHANGELOG.md +68 -2
- package/README.md +119 -57
- package/dist/client.d.mts +16 -2
- package/dist/client.d.ts +16 -2
- package/dist/client.js +5 -4
- package/dist/client.mjs +5 -4
- package/dist/server.d.mts +29 -26
- package/dist/server.d.ts +29 -26
- package/dist/server.js +4 -4
- package/dist/server.mjs +4 -4
- package/dist/styles/daily-report.standalone.css +1 -1
- package/package.json +7 -7
package/dist/client.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
"use strict";var xd=Object.create;var sn=Object.defineProperty;var Cd=Object.getOwnPropertyDescriptor;var Id=Object.getOwnPropertyNames;var Ld=Object.getPrototypeOf,Ad=Object.prototype.hasOwnProperty;var _d=(e,t)=>{for(var r in t)sn(e,r,{get:t[r],enumerable:!0})},Ia=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Id(t))!Ad.call(e,o)&&o!==r&&sn(e,o,{get:()=>t[o],enumerable:!(n=Cd(t,o))||n.enumerable});return e};var Ee=(e,t,r)=>(r=e!=null?xd(Ld(e)):{},Ia(t||!e||!e.__esModule?sn(r,"default",{value:e,enumerable:!0}):r,e)),Dd=e=>Ia(sn({},"__esModule",{value:!0}),e);var Zp={};_d(Zp,{DAILY_REPORT_LABEL_CATALOGS:()=>Ho,DAILY_REPORT_LABEL_KEYS:()=>Rn,DailyReportActionProvider:()=>Qn,DailyReportAttachmentIndicator:()=>or,DailyReportConfigProvider:()=>Sn,DailyReportDetailList:()=>To,DailyReportErrorProvider:()=>Jn,DailyReportIdsStreamClient:()=>pr,DailyReportIdsStreamStatus:()=>Tr,DailyReportList:()=>Ao,DailyReportPage:()=>Sd,DailyReportResolvedContent:()=>Do,bootstrapDailyReportIdsStreamSession:()=>jn,createDailyReportClientLoader:()=>Ed,dailyReportShouldRevalidate:()=>vd,defaultDailyReportClientConfig:()=>lr,ensureDailyReportIdsStreamSession:()=>fr,primeDailyReportIdsStreamSession:()=>Yn,resolveDailyReportLabels:()=>hn,resolveSourceTypeConfig:()=>Mt,resyncDailyReportIdsStream:()=>Br,useDailyReportActionContext:()=>Me,useDailyReportComments:()=>yr,useDailyReportConfig:()=>B,useDailyReportDetail:()=>kt,useDailyReportIdsStream:()=>bt,useDailyReportPrefetch:()=>wn,useDailyReportSseConnection:()=>Zn});module.exports=Dd(Zp);var ja=Ee(require("lucide-react/dist/esm/icons/paperclip.js"));var wd="data-daily-report-row-surface",je={[wd]:""},tr="data-daily-report-scrolling",rr=8,No=4,_r="h-[calc-size(auto,round(up,size,4px))]",Ot="p-[8px]",La="pr-[8px]",ln="contain-size contain-layout contain-style",Aa="contain-strict",ae="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",_a="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",Oo="scrollbar-thin [scrollbar-gutter:stable]",Mo=`-m-[4px] overflow-hidden p-[4px] ${Oo}`,Da="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",dn="rounded-[calc(var(--radius-2xl)+8px)]",cn="outline-none [&:focus-visible>:where([data-daily-report-row-surface])]:outline-2 [&:focus-visible>:where([data-daily-report-row-surface])]:outline-offset-4 [&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-600 dark:[&: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]",wa="has-[>[data-daily-report-button]:focus-visible]:outline-2 has-[>[data-daily-report-button]:focus-visible]:outline-offset-4 has-[>[data-daily-report-button]:focus-visible]:outline-blue-600 dark: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",Na=16,nr="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",un="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200",mn="motion-safe:transition-[translate] motion-safe:duration-200 hover:border-blue-300 hover:shadow-lg motion-safe:hover:-translate-y-[2px] [[data-daily-report-scrolling]_&]:transition-none [[data-daily-report-scrolling]_&]:hover:translate-none [[data-daily-report-scrolling]_&]:hover:shadow-sm",Ve=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${ae}`,Oa="-mx-1",Ma="flex items-center gap-1",Fe="inline-flex h-6 items-center rounded-full px-3",ka="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",Pa="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",Nt="size-4",Ie={starOff:`${Nt} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${Nt} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${Nt} text-blue-600 dark:text-blue-400`,delete:`${Nt} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${Nt} text-red-600 dark:text-red-400`,edit:`${Nt} text-slate-500 dark:text-slate-400`},Ha="h-6 w-10 border-4 border-solid",Fa="size-4 data-[state=checked]:translate-x-4",Ba="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]",Ua="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var Va="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",Wa="rounded-xl border border-solid p-[3px]",Ka="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",Nd="ml-[max(0px,round(down,calc((100%-72rem)/2),4px))]",Od="bg-slate-50 dark:bg-slate-950",Je="flex min-h-0 flex-1 flex-col",Dr=`${Je} ${Od}`,wr=`${Je} mx-auto w-full max-w-6xl px-[4px] pt-[4px] ${Nd}`,Nr="text-red-700 dark:text-red-400",$a="bg-white dark:bg-slate-900",pn="flex min-h-0 flex-1 flex-col overflow-clip contain-size",fn="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",za="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",Ga={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},Gt="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",xt=`m-0 ${Gt}`,bn="[&_.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";var Or=require("react/jsx-runtime"),Md=2,or=({id:e,count:t,label:r})=>t<=0?null:(0,Or.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,Or.jsx)(ja.default,{className:Nt,"aria-hidden":"true"}),t>=Md&&(0,Or.jsx)("span",{className:"font-semibold text-xs leading-4",children:t})]});var kl=require("@aiquants/virtualscroll"),F=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"),c=String(n.getMinutes()).padStart(2,"0"),d=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${i}T${l}:${c}:${d}`}return`${o}-${a}-${i}`};var Ct=require("react");var kd=/^\d{4}-\d{2}-\d{2}$/,Pd=/^\d{4}\/\d{2}\/\d{2}$/,yn=e=>e<10?`0${e}`:`${e}`,Ya=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=yn(e.getMonth()+1),n=yn(e.getDate());return`${t}-${r}-${n}`},ko=(e=new Date)=>Number.isNaN(e.getTime())?ko(new Date):`${e.getFullYear()}-${yn(e.getMonth()+1)}-${yn(e.getDate())}`,jt=e=>{if(e==null)return null;if(e instanceof Date)return Ya(e);let t=e.trim();if(t==="")return null;if(kd.test(t))return t;if(Pd.test(t))return t.replaceAll("/","-");let r=new Date(t);return Ya(r)};var ar=(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 ti=require("@aiquants/virtualscroll"),sr=require("react");var Hd=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,Ne=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${Hd(r)}`),qa=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),gn=(e,t,r)=>Ne(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t);var lt=require("@aiquants/virtualscroll");var Za=["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"],Ja=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","rowState"],Rn=[...lt.VIRTUAL_SCROLL_LABEL_KEYS,...Za,...Ja];var Fd=Object.freeze({en:"en-US",ja:"ja-JP"}),We=(e,t)=>t.toLocaleString(Fd[e]),Bd=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"}),Ud=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"}),Po=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: ${We("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${We("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${We("en",e)} / ${We("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${We("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${We("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${We("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${Ud[e]}. Please try again later.`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`}),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: ${We("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${We("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${We("ja",e)} / ${We("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${We("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${We("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${We("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${Bd[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":""}`})}),Ho=Object.freeze({en:Object.freeze({...lt.VIRTUAL_SCROLL_LABEL_CATALOGS.en,...Po.en}),ja:Object.freeze({...lt.VIRTUAL_SCROLL_LABEL_CATALOGS.ja,...Po.ja})}),Vd=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},Xa=(e,t,r)=>{e[t]=r},hn=(e,t)=>{let r=(0,lt.resolveVirtualScrollLocale)(e);if(t===void 0)return Ho[r];if(t===null||typeof t!="object")throw Ne("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Ne("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!Rn.includes(i))throw gn("labels key",i,Rn);let a={...(0,lt.resolveVirtualScrollLabels)(r,Vd(t)),...Po[r]};for(let i of Za){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw Ne(`labels.${i}`,"a non-blank string",s);Xa(a,i,s)}}for(let i of Ja){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw Ne(`labels.${i}`,"a function",s);Xa(a,i,s)}}return Object.freeze(a)},Qa=e=>{let t={};for(let r of lt.VIRTUAL_SCROLL_LABEL_KEYS)t[r]=e[r];return Object.freeze(t)};var ir=require("react/jsx-runtime"),Wd=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),Kd=({title:e,annotation:t})=>(0,ir.jsxs)("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[(0,ir.jsx)("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?(0,ir.jsx)("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),lr=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:Kd,showDevControls:!1,headingLevel:3}),ei=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired"];var $d=e=>{for(let t of Object.keys(e))if(!ei.includes(t))throw gn("config key",t,ei)},zd=[2,3,4,5],Gd=e=>{if(e===void 0)return lr.headingLevel;let t=zd.find(r=>r===e);if(t===void 0)throw Ne("config.headingLevel","an integer from 2 to 5 (the level of each report's heading)",e);return t},jd=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Ne(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},ri=e=>{$d(e);let t=e.onSessionExpired;if(t===void 0)throw qa("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Ne("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=(0,ti.resolveVirtualScrollLocale)(e.locale),n=hn(r,e.labels),o=lr;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?Wd(n):jd(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:Gd(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired}},Yd=()=>{throw new Error("[daily-report] onSessionExpired is not wired: render inside DailyReportConfigProvider with a config")},ni=(0,sr.createContext)(ri({onSessionExpired:Yd})),Sn=({config:e,children:t})=>{let r=(0,sr.useMemo)(()=>ri(e),[e]);return(0,ir.jsx)(ni.Provider,{value:r,children:t})},B=()=>(0,sr.useContext)(ni),Mt=(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},vn=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";var oi=require("@aiquants/virtualscroll"),dr=120,ai=1e3,En=.8,Fo={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},Tn=20,ii=6,xn={reportHubId:-1,businessDate:null},Cn=240,In=15,qd=8,si=460,li=3,di=352,Xd={enabled:!0,renderVisual:oi.tapScrollCircleSampleVisual,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},Ln={width:qd,tapScrollCircleOptions:Xd,enableArrowButtonTabStops:!1},An=["pen","touch"];var mi=ar(1,"use-daily-report"),pi=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},Uo=pi("__DAILY_REPORT_CACHE_TTL__",3e5),Zd=pi("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),q={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=>{q.listeners.forEach(t=>{t(e)})},getReport(e,t=!1){let r=this.reports.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},getList(e,t=!1){let r=e&&this.lists.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},set(e,t,r=!0){if(this.reports.set(e.reportHubId,{data:e,expiresAt:t}),r){let n=jt(e.date),o=n?this.lists.get(n):null;if(o&&n){let i=o.data.some(s=>s.reportHubId===e.reportHubId)?o.data.map(s=>s.reportHubId===e.reportHubId?e:s):[e,...o.data];this.lists.set(n,{...o,data:i})}}this.notify(e.reportHubId)},update(e,t,r=!0){let n=this.reports.get(e);if(n?.data){if(r&&t.updatedAt&&n.data.updatedAt&&new Date(t.updatedAt).getTime()<new Date(n.data.updatedAt).getTime()){mi.warn(`[DailyReportCache] Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+Zd))}},delete(e,t){this.reports.delete(e);let r=jt(t),n=r&&this.lists.get(r);n&&r&&this.lists.set(r,{...n,data:n.data.filter(o=>o.reportHubId!==e)}),this.notify(e)},merge(e,t){let r=e;if(r.postedComments.some(n=>this.recentDeletes.has(n.id))&&(r={...r,postedComments:r.postedComments.filter(n=>!this.recentDeletes.has(n.id))}),t){let n=new Set(r.postedComments.map(a=>a.id)),o=t.postedComments.filter(a=>!n.has(a.id)&&a.isMine&&Date.now()-new Date(a.createdAt||0).getTime()<1e4);o.length>0&&(r={...r,postedComments:[...r.postedComments,...o].sort((a,i)=>new Date(a.createdAt||0).getTime()-new Date(i.createdAt||0).getTime())})}return r},cacheMany(e,t,r){this.prune();let n=Date.now(),o=n+Uo;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,c=this.merge(i,l);return this.set(c,o,!1),c});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},fi=(e,t,r=!0)=>q.set(e,t,r),Qe=(e,t)=>q.getReport(e,t?.ignoreExpiry),et=(e,t)=>q.update(e,t),Dn=(e,t)=>q.delete(e,t),Mr=()=>{q.clear(),_n.clear()},kr=e=>{q.locks.add(e),q.lastMutations.set(e,Date.now())},Pr=e=>{q.locks.delete(e),q.lastMutations.set(e,Date.now())},bi=e=>q.recentDeletes.set(e,Date.now()),yi=(e,t)=>{let r=n=>{n===e&&t()};return q.listeners.add(r),()=>{q.listeners.delete(r)}},Yt=(e,t)=>{q.prune(),q.set(t,Date.now()+Uo)},gi=e=>{q.prune();let t=q.getReport(e.reportHubId,!0),r=new Map;for(let o of t?.postedComments??[])r.set(o.id,o.isMine??!1);let n=(e.postedComments??[]).map(o=>({...o,isMine:r.get(o.id)??!1}));q.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+Uo)},Jd=async(e,t)=>{let r=q.getReport(t);if(r)return r;let n=q.pendingReports.get(t);if(n)return n;let o=Date.now(),a=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 q.cacheMany([s],null,o)[0]}).finally(()=>q.pendingReports.delete(t));return q.pendingReports.set(t,a),a},_n=new Map,Qd=1e4,ec=(e,t)=>{let r=_n.get(t),n=Date.now();if(r&&n-r.at<Qd)return r.inFlight;let o=Vo(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return _n.set(t,a),o.finally(()=>{_n.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},Vo=async(e,t,r={})=>{let n=r.forceRefresh?null:q.getList(t);if(n)return n;let o=q.pendingLists.get(t);if(o)return o;let a=Date.now(),i=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 q.cacheMany(s.reports??[],t,a)}).finally(()=>q.pendingLists.delete(t));return q.pendingLists.set(t,i),i},Bo=(e,t)=>{let r=q.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!q.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=q.lists.get(t),o=n?.data.find(a=>a.reportHubId===e);return n===void 0||o===void 0?{report:null,isStale:!1}:{report:o,isStale:!q.isValid(n.expiresAt)}},ci=(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}=Bo(e,jt(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},cr=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,kt=(e,t)=>{let{apiBasePath:r}=B(),[n,o]=(0,Ct.useState)(()=>ci(e,t)),a=(0,Ct.useRef)(0),i=n;return n.id!==e&&(i=ci(e,t),o(i)),(0,Ct.useEffect)(()=>{let s=jt(t),l=c=>{c===e&&o(cr(e,{report:Bo(e,s).report}))};return q.listeners.add(l),()=>{q.listeners.delete(l)}},[e,t]),(0,Ct.useEffect)(()=>{let s=jt(t);a.current+=1;let l=a.current,c=()=>{a.current+=1};if(e<=0)return c;let{report:d,isStale:y}=Bo(e,s);if(d&&!y)return o(cr(e,{report:d,error:null,isLoading:!1,isRefetching:!1})),c;o(cr(e,{report:d,isLoading:!d,isRefetching:!0}));let g=async()=>{try{let I=null;if(s){let m=q.getList(s)!==null;if(I=(await Vo(r,s)).find(b=>b.reportHubId===e)??null,!I&&m){let b=await ec(r,s);b&&(I=b.find(v=>v.reportHubId===e)??null)}}else I=await Jd(r,e);a.current===l&&o(cr(e,{report:I,error:null}))}catch(I){a.current===l&&o(cr(e,{error:I instanceof Error?I:new Error("Load failed")}))}finally{a.current===l&&o(cr(e,{isLoading:!1,isRefetching:!1}))}};if(d===null)return g(),c;let x=setTimeout(g,dr);return()=>{clearTimeout(x),c()}},[e,t,r]),{report:i.report,error:i.error,isLoading:i.isLoading,isRefetching:i.isRefetching}},wn=()=>{let{apiBasePath:e}=B();return(0,Ct.useCallback)(t=>{let r=jt(t);r&&!q.getList(r)&&Vo(e,r).catch(n=>mi.warn("Prefetch error",r,n))},[e])};var Ri=require("@aiquants/virtualscroll"),hi=require("react");var Nn=()=>{let{locale:e,labels:t}=B(),r=Qa(t),n=(0,hi.useRef)(null),o=n.current;return o!==null&&Ri.VIRTUAL_SCROLL_LABEL_KEYS.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};var Pn=require("react"),Ai=require("react-dom");var Ei=Object.freeze({visibilityProperty:!0}),Si=new Set(["auto","scroll"]),vi=new Set(["","true","plaintext-only"]),Ti=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=Li(n)?n.host:null}return!1},tc=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(Ei))return!0;return!1},xi=e=>e.localName==="area"?tc(e):e.checkVisibility(Ei),rc=e=>{let t=e.getAttribute("contenteditable");if(t===null||!vi.has(t.toLowerCase()))return!1;for(let r=e.parentElement;r!==null;r=r.parentElement){let n=r.getAttribute("contenteditable");if(n===null)continue;let o=n.toLowerCase();if(vi.has(o))return!1;if(o==="false")return!0}return!0},nc=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&&xi(n)&&(r=n)}return r===e},oc=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&&Si.has(a.overflowX)||n&&Si.has(a.overflowY)},ac=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 rc(e)}},ic=/^[\t\n\f\r ]*[+-]?\d/,sc=e=>{let t=e.getAttribute("tabindex");return t!==null&&ic.test(t)?e.tabIndex:null},Ci=(e,t)=>{for(let r of Ko(e))if(t(r)||Ci(r,t))return!0;return!1},On=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=lc(e,t);return t.set(e,n),n},lc=(e,t)=>{if(!$o(e))return"none";let r=sc(e),n=r===null&&ac(e),o=r===null&&!n&&oc(e);return!(r!==null||n||o)||e.matches(":disabled")||Ti(e)||!xi(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?nc(e)?"sequential":"programmatic":"sequential":Ci(e,a=>On(a,t)==="sequential")?"none":"sequential"},Wo=(e,t)=>{for(let r of Ko(e))t(r),Wo(r,t)},Ko=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 Mn=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return Wo(e,l=>{On(l,a)==="sequential"&&n.push(l)}),{before:r,within:n,after:o};let i=!1,s=(l,c)=>{for(let d of Ko(l)){let y=d===t;!y&&On(d,a)==="sequential"&&(c?n.push(d):i?o.push(d):r.push(d)),s(d,c||y),y&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},Ii=e=>{let t=[],r=new Map;return Wo(e,n=>{On(n,r)==="sequential"&&t.push(n)}),t},Te=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,$o=e=>"focus"in e&&"blur"in e,dc=e=>e.nodeType===e.DOCUMENT_NODE,Li=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,Ke=e=>{let t=e.getRootNode();if(Li(t)){let r=t.activeElement;return r===null?Ke(t.host):r}return dc(t)?t.activeElement:null},kn=e=>{let t=Ke(e);return t===null||t===t.ownerDocument.body||Ti(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 Hn=e=>{let[t,r]=(0,Pn.useState)(null);return(0,Pn.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 c=o===null;o=l,c?(0,Ai.flushSync)(()=>r(l)):r(l)},i=l=>{for(let c of l)a(c.borderBoxSize[0].blockSize)},s=new(dt(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var _i=(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 Fn="data-daily-report-row",Di=`[role="listitem"][${Fn}]`,cc='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',uc=/^[1-9]\d*$/,wi=e=>{if(e===null||!uc.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},Pt=(e,t)=>{if(t===null||!Te(e))return null;let r=e.closest(Di);return r===null||r===t||!t.contains(r)?null:r},qt=e=>wi(e.getAttribute(Fn)),ur=e=>wi(e.getAttribute("aria-posinset")),Ni=e=>{let t=e.closest(Di),r=t===null?null:ur(t);return r===null?null:r-1},Hr=(e,t)=>{if(e===null)return null;let r=qt(e);if(r===null)return null;let n=ur(e),o=Se(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},Oi=(e,t)=>{if(!Te(e))return!1;let r=e.closest(cc);return r!==null&&r!==t&&t.contains(r)};var zo=require("react"),Ht=(0,zo.createContext)(0),Ft=(0,zo.createContext)(-1);var Mi=require("clsx"),ki=require("tailwind-merge");function h(...e){return(0,ki.twMerge)((0,Mi.clsx)(e))}var Xt=require("react");var Pi="(prefers-reduced-motion: reduce)",Hi=e=>dt(e).matchMedia(Pi).matches?"instant":"smooth",mc=Object.freeze({...Fo,startVelocityThreshold:Number.POSITIVE_INFINITY}),mr=e=>e?mc:Fo,pc=()=>!1,Bn=e=>{let t=(0,Xt.useMemo)(()=>e===null?null:dt(e).matchMedia(Pi),[e]),r=(0,Xt.useCallback)(o=>t===null?()=>{}:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=(0,Xt.useCallback)(()=>t===null?!1:t.matches,[t]);return(0,Xt.useSyncExternalStore)(r,n,pc)};var Bi=require("react");var Un=require("react/jsx-runtime"),Vn=()=>{let e={label:"",isWheelScrollActive:!1},t=new Set,r=n=>{e=n;for(let o of[...t])o()};return{getState:()=>e,setLabel:n=>{n!==e.label&&r({...e,label:n})},setWheelScrollActive:n=>{n!==e.isWheelScrollActive&&r({...e,isWheelScrollActive:n})},subscribe:n=>(t.add(n),()=>{t.delete(n)})}},Fi=16,fc=(e,t)=>e==="vertical"?{top:0,left:-Fi,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-Fi,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},Wn=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=(0,Bi.useSyncExternalStore)(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?(0,Un.jsx)("div",{className:"pointer-events-none absolute flex items-center",style:fc(e,t),children:(0,Un.jsx)("div",{className:h(ka,"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,Un.jsx)("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};var se=require("react");var X=require("react");var Ui=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 Kn=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,Vi=e=>{for(let t=1;t<e.length;t++)if(Kn(e[t-1],e[t])>0)return!1;return!0},Go=(e,t)=>{let r=e.filter(a=>a.reportHubId!==t.reportHubId),n=0,o=r.length;for(;n<o;){let a=n+o>>1;Kn(r[a],t)<=0?n=a+1:o=a}return r.splice(n,0,t),r};var Ur=require("@aiquants/sse"),Zi=require("@aiquants/sse/client"),Ji=require("@aiquants/sse/react"),ct=require("react");var A=require("zod"),Wi=["auth-required","forbidden","resync-required"],jo=15e3,Ki="lastEventId",bc=/^\d{1,15}-\d{1,15}$/,$n=e=>bc.test(e),yc=A.z.object({name:A.z.string().nullish(),affiliation:A.z.string().nullish()}),gc=A.z.object({name:A.z.string().nullish(),text:A.z.string().nullish(),color:A.z.string().nullish()}),Rc=A.z.object({id:A.z.number(),name:A.z.string().nullish(),color:A.z.string().nullish()}),$i=A.z.object({id:A.z.number(),userId:A.z.string().nullish(),userName:A.z.string().nullish(),content:A.z.string().nullish(),createdAt:A.z.string().nullish(),isMine:A.z.boolean()}),hc=A.z.object({id:A.z.string(),fileName:A.z.string(),fileType:A.z.string().nullable(),fileSize:A.z.number().nullable(),createdAt:A.z.string().nullable(),state:A.z.enum(["present","absent","unknown"]),hasThumbnail:A.z.boolean().default(!1)}),Yo=A.z.object({reportHubId:A.z.number(),date:A.z.string().nullish(),createdAt:A.z.string().nullish(),author:A.z.string().nullish(),userId:A.z.string().nullish(),sourceType:A.z.string().nullish(),employeeName:A.z.string().nullish(),updatedBy:A.z.string().nullish(),updatedAt:A.z.string().nullish(),category:A.z.string().nullish(),creationCategory:A.z.string().nullish(),visitTimeFrom:A.z.string().nullish(),visitTimeTo:A.z.string().nullish(),customerName:A.z.string().nullish(),interviewers:A.z.array(yc),subject:A.z.string().nullish(),content:A.z.string().nullish(),externalComments:A.z.array(gc),isRead:A.z.boolean(),isStarred:A.z.boolean(),labels:A.z.array(Rc),postedComments:A.z.array($i),attachments:A.z.array(hc).default([])}),Sc=A.z.object({type:A.z.literal("connected")}),vc=A.z.object({type:A.z.literal("status-update"),reportHubId:A.z.number(),statusType:A.z.enum(["star","read"]),value:A.z.boolean(),clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional()}),qo=A.z.string().optional(),Ec=A.z.object({type:A.z.literal("comment-add"),reportHubId:A.z.number(),comment:$i,clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional(),sourceType:qo}),Tc=A.z.object({type:A.z.literal("comment-delete"),reportHubId:A.z.number(),commentId:A.z.number(),clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional(),sourceType:qo}),xc=A.z.object({type:A.z.literal("report-create"),reportHubId:A.z.number(),report:Yo,clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional()}),Cc=A.z.object({type:A.z.literal("report-update"),reportHubId:A.z.number(),report:Yo,clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional()}),Ic=A.z.object({type:A.z.literal("report-publish"),reportHubId:A.z.number(),report:Yo,clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional()}),Lc=A.z.object({type:A.z.literal("report-delete"),reportHubId:A.z.number(),clientTempId:A.z.string(),sourceType:qo}),zi=A.z.discriminatedUnion("type",[Sc,vc,Ec,Tc,xc,Cc,Ic,Lc]);var ji=require("react");var Ac=50,_c=1e3,Dc=3e4,wc=6,Nc=3e4,zn=Symbol("read-stall"),Oc="/daily_report/api",Mc=/^\d{4}-\d{2}-\d{2}$/,pr=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??Oc,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??Nc,this.publishCoalesceMs=t.publishCoalesceMs??Ac,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>=wc){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(_c*2**(this.consecutiveFailures-1),Dc))}}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(y=>{o=this.setTimeoutFn(()=>y(zn),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===zn)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=new TextDecoder,l="",c=!1,d=!1;for(;;){let y=await this.readWithStallGuard(i);if(y===zn)return r.abort(),i.cancel().catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let{done:g,value:x}=y;if(g)break;let I=(l+s.decode(x,{stream:!0})).split(`
|
|
2
|
-
`);l=I.pop()??"";let m=!1;for(let R of I){if(R.trim()==="")continue;let b;try{b=JSON.parse(R)}catch{this.warn("[DailyReportIdsStream] skipped malformed line");continue}let v=Ui(b);if(v==="unknown"){this.warn("[DailyReportIdsStream] skipped line of unknown kind");continue}if(v==="error"){c=!0;continue}let _=b;m=this.absorbChunkLine(_)||m,typeof _.total=="number"&&Number.isFinite(_.total)&&_.total!==this.state.totalCount&&this.publish({totalCount:_.total}),_.nextCursor&&(_.nextCursor.businessDate===null||Mc.test(_.nextCursor.businessDate))&&(this.lastCursor=_.nextCursor),_.isLast&&(d=!0)}m&&(this.consecutiveFailures=0,this.schedulePublishItems())}return c?{kind:"retryable",error:new Error("Stream interrupted by server error")}:d?{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(zn),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"&&$n(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}/ids-stream${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 Xo={},kc=6e4,pe=null,Gi=!1,Zo=new Set,Yi={items:[],loadedCount:0,totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},Jo=()=>{for(let e of Zo)e()},Qo=()=>{pe&&(pe.unsubscribe(),pe.client.dispose(),pe=null,Jo())},fr=e=>{if(typeof window>"u")return;let t=e.apiBasePath??lr.apiBasePath;if(pe&&(pe.userKey!==e.userKey||pe.apiBasePath!==t)&&(pe.userKey!==e.userKey&&Mr(),Qo()),!pe){let r=new pr({apiBasePath:t});pe={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(Jo)},Pc(),r.start(),Jo();return}Gn(pe)},Gn=e=>{let t=e.client.getState();if(t.phase==="failed"){e.client.retry();return}t.phase==="complete"&&!t.isRevalidating&&t.completedAt!==null&&Date.now()-t.completedAt>kc&&e.client.refresh()},Pc=()=>{if(Gi||typeof document>"u"||typeof window>"u")return;Gi=!0;let e=()=>{pe&&Gn(pe)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},jn=e=>{if(!(typeof window>"u")){if(!pe){fr(e);return}if(pe.userKey!==e.userKey){Mr(),Qo(),fr(e);return}Gn(pe)}},Yn=()=>{typeof window>"u"||!pe||Gn(pe)},Fr=e=>{pe?.client.applyExternalUpsert(e)},qn=e=>{pe?.client.applyExternalRemoval(e)},Xn=()=>{pe?.client.retry()},Br=()=>{pe?.client.resync()},ea=(e={})=>{pe?.client.refresh(e)},qi=()=>pe?.userKey,Hc=e=>(Zo.add(e),()=>Zo.delete(e)),Fc=()=>pe?.client.getState()??Yi,Bc=()=>Yi,bt=()=>(0,ji.useSyncExternalStore)(Hc,Fc,Bc);typeof Xo<"u"&&Xo.hot&&Xo.hot.dispose(()=>{Qo()});var Zt=ar(1,"daily-report-sse-connection"),Uc=Object.freeze({kind:"resyncing"}),Xi={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},Vc=1,Qi=jo*3,Wc=Qi+jo,Zn=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=B(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=bt(),[l,c]=(0,ct.useState)({generation:0,minAnchorRevision:1,anchored:!1}),d=l.generation>0&&!l.anchored,y=d&&a==="complete"&&!i?s:null,g=(0,ct.useRef)(0),x=(0,ct.useRef)(null),I=(0,ct.useRef)(n);I.current=n;let m=(0,ct.useRef)(0);m.current=o===null?0:o.revision,(0,ct.useEffect)(()=>{l.anchored||o===null||o.revision<l.minAnchorRevision||(x.current=o.lastEventId,g.current=0,c({...l,anchored:!0}))},[l,o]),(0,ct.useEffect)(()=>{if(!e||y===null)return;let{initialDelayMs:b,maxDelayMs:v,multiplier:_}=Xi,D=Ur.systemSseRuntime.random()*Math.min(v,b*_**g.current);Zt.warn(`SSE resync: the ids rescan gave up (${y.message}); rescanning in ${Math.round(D)} ms`);let V=Ur.systemSseRuntime.setTimer(()=>{g.current+=1,Br()},D);return()=>Ur.systemSseRuntime.clearTimer(V)},[e,y]);let{status:R}=(0,Ji.useReopeningEventSource)(e&&l.anchored?`${r}#${l.generation}`:null,{resolveUrl:({lastEventId:b})=>b===null?r:`${r}?${Ki}=${encodeURIComponent(b)}`,initialLastEventId:x.current,withCredentials:!1,createEventSource:Zi.createBrowserEventSource,runtime:Ur.systemSseRuntime,backoff:Xi,healthyOpenMs:Wc,nativeRetryLimit:Vc,giveUpAfterFailures:"never",terminalEvents:Wi,heartbeat:{staleAfterMs:Qi,onHeartbeat:null},events:{message:b=>{b.lastEventId!==""&&($n(b.lastEventId)?x.current=b.lastEventId:Zt.warn("SSE event carried a malformed id; keeping the previous cursor:",b.lastEventId));try{let v=JSON.parse(b.data),_=zi.safeParse(v);if(!_.success){Zt.error("SSE Validation Error:",_.error.flatten(),"raw message:",v);return}if(_.data.type==="connected"){Zt.info("SSE Subscribe Ready");return}t(_.data)}catch(v){Zt.error("SSE Parse Error",v)}}}});return(0,ct.useEffect)(()=>{if(R.kind==="faulted"){Zt.error("SSE connection faulted:",R.error);return}if(R.kind==="terminated")switch(R.terminalEvent){case"auth-required":I.current();return;case"forbidden":Zt.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let b=m.current+1;c(v=>({generation:v.generation+1,minAnchorRevision:b,anchored:!1})),Br();return}}},[R]),e&&d?Uc:R};var Oe=require("react");var br=require("react/jsx-runtime"),Kc=8e3,$c="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",zc=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",Da),es=(0,Oe.createContext)({notifyError:()=>{}}),ts=()=>(0,Oe.useContext)(es),Jn=({children:e})=>{let{onError:t,labels:r}=B(),[n,o]=(0,Oe.useState)(null),a=(0,Oe.useRef)(t);a.current=t;let i=(0,Oe.useRef)(null),s=(0,Oe.useCallback)(d=>{let y=a.current;if(y){y(d);return}o(d)},[]),l=(0,Oe.useCallback)(()=>{i.current!==null&&(clearTimeout(i.current),i.current=null),o(null)},[]);(0,Oe.useEffect)(()=>{if(n)return i.current=setTimeout(()=>o(null),Kc),()=>{i.current!==null&&(clearTimeout(i.current),i.current=null)}},[n]);let c=(0,Oe.useMemo)(()=>({notifyError:s}),[s]);return(0,br.jsxs)(es.Provider,{value:c,children:[e,n&&(0,br.jsxs)("div",{role:"alert","data-testid":"daily-report-error-banner",className:$c,children:[(0,br.jsx)("span",{className:"font-medium",children:n.message}),(0,br.jsx)("button",{type:"button","aria-label":r.close,onClick:l,className:zc,children:"\u2715"})]})]})};var rs=require("react/jsx-runtime"),yt=ar(1,"daily-report-action-context"),Gc=Object.freeze([]),ta=globalThis.__DailyReportActionContext??(0,X.createContext)(null);globalThis.__DailyReportActionContext=ta;var Me=()=>{let e=(0,X.useContext)(ta);if(!e)throw new Error("[daily-report] useDailyReportActionContext must be used within a DailyReportActionProvider");return e},Jt=(e,t)=>{if(!e)return t;if(e.displayName?.trim())return e.displayName;if(e.name){let n=[e.name.familyName,e.name.givenName].filter(o=>typeof o=="string"&&o!=="").join(" ");if(n.trim())return n.trim()}let r=e.emails?.[0]?.value;return r||t},Qn=({children:e,user:t,initialItems:r=Gc,userId:n})=>{let{apiBasePath:o,draftLabelName:a,labels:i}=B(),{notifyError:s}=ts(),l=(0,X.useRef)(s);l.current=s;let c=(0,X.useRef)(new Map),d=(0,X.useRef)(new Map),y=(0,X.useRef)(new Map),g=(0,X.useRef)(new Map),x=(0,X.useRef)(new Map),[I,m]=(0,X.useState)(0),[R,b]=(0,X.useState)(r),[v,_]=(0,X.useState)(!1),D=(0,X.useRef)(!1),V=(0,X.useRef)(new Map),O=(0,X.useRef)(new Set),W=(0,X.useRef)(new Set),H=(0,X.useRef)(new Set),J=bt(),re=(0,X.useRef)(!1);re.current=J.phase==="complete"&&!J.isRevalidating;let Y=(0,X.useCallback)(()=>qi()===(n??null),[n]),le=(0,X.useCallback)(async()=>{yt.info("[DailyReportActionProvider] Refetching data without page reload..."),ea(),m(p=>p+1),q.listeners.forEach(p=>{p(-1)})},[]),K=(0,X.useCallback)(async()=>{yt.info("[DailyReportActionProvider] Clearing client & server/DB cache and refetching data without page reload..."),Mr(),W.current.clear();try{sessionStorage.clear()}catch{}try{let p=new FormData;p.append("intent","clearCache");let u=await fetch(`${o}/action`,{method:"POST",body:p});if(!u.ok){let E=await u.json().catch(()=>null);yt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",u.status,E)}}catch(p){yt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",p)}Y()&&(ea({forceRefresh:!0}),m(p=>p+1),q.listeners.forEach(p=>{p(-1)}))},[o,Y]),ne=(0,X.useRef)(new Map),j=(0,X.useRef)(()=>{}),$=(0,X.useCallback)((p,u)=>{let E=ne.current,T=E.get(p);if(T){T.messages.push(u);return}let L={messages:[u],unsubscribe:()=>{},timer:setTimeout(()=>{let f=E.get(p);f&&(f.unsubscribe(),E.delete(p),yt.warn(`[SSE Queue] Expired: reportHubId=${p}, dropped=${f.messages.length} messages`))},3e4)};L.unsubscribe=yi(p,()=>{let f=E.get(p);if(f&&Qe(p,{ignoreExpiry:!0})){f.unsubscribe(),clearTimeout(f.timer),E.delete(p),yt.info(`[SSE Queue] Replaying ${f.messages.length} messages for reportHubId=${p}`);for(let S of f.messages)j.current(S)}}),E.set(p,L)},[]),me=p=>{H.current.add(p),setTimeout(()=>{H.current.delete(p)},3e4)},ve=(0,X.useCallback)(p=>!!p&&H.current.has(p),[]),oe=(0,X.useCallback)((p,u)=>{u!==void 0&&Fr({reportHubId:p,businessDate:u??null}),b(E=>{let T=E.find(f=>f.reportHubId===p),L=u??T?.businessDate??null;return Go(E,{reportHubId:p,businessDate:L,sourceType:T?.sourceType})})},[]),z=()=>{n&&(D.current=!0,_(p=>!p))};(0,X.useEffect)(()=>{if(!n)return;let p=setTimeout(()=>{D.current||_(!0)},ai);return()=>clearTimeout(p)},[n]);let fe=(0,X.useCallback)(p=>{Y()&&(W.current.add(p),qn(p),b(u=>u.filter(E=>E.reportHubId!==p)))},[Y]),[xe,we]=(0,X.useState)(r);if(r!==xe){we(r);let p=new Map;for(let T of r)W.current.has(T.reportHubId)||p.set(T.reportHubId,T);let u=re.current;for(let T of R)p.has(T.reportHubId)||W.current.has(T.reportHubId)||u&&T.reportHubId>0||p.set(T.reportHubId,T);let E=Array.from(p.values());Vi(E)||E.sort(Kn),b(E)}(0,X.useEffect)(()=>{if(re.current){let p=new Set(r.map(u=>u.reportHubId));for(let u of W.current)p.has(u)||W.current.delete(u)}},[r]);let Ae=(0,X.useCallback)(p=>{if(Y()&&!ve(p.clientTempId))switch(p.type){case"comment-add":{let{comment:u,reportHubId:E}=p,T=Qe(E,{ignoreExpiry:!0});if(T){if(T.postedComments.some(M=>M.id===u.id))return;let L=!1,f=c.current.get(E);if(f){for(let[M,U]of f.entries())if(U===u.content){f.delete(M),x.current.set(M,u.id),L=!0;break}}let S={...u,userName:u.userName||(L?Jt(t,i.unknownUser):i.unknownUser),createdAt:u.createdAt||new Date().toISOString(),isMine:L},w={...T,postedComments:[...T.postedComments,S].sort((M,U)=>new Date(M.createdAt||0).getTime()-new Date(U.createdAt||0).getTime())};Yt(E,w),kr(E),Pr(E),m(M=>M+1)}else $(E,p);break}case"comment-delete":{let{commentId:u,reportHubId:E}=p,T=Qe(E,{ignoreExpiry:!0});if(T){let L={...T,postedComments:T.postedComments.filter(f=>f.id!==u)};Yt(E,L),kr(E),Pr(E),m(f=>f+1)}else $(E,p);break}case"status-update":{let{statusType:u,value:E,reportHubId:T}=p,L=Qe(T,{ignoreExpiry:!0});if(u==="star")if(y.current.get(T)===E&&y.current.delete(T),L){let f={...L,isStarred:E};Yt(T,f),m(S=>S+1)}else $(T,p);else if(u==="read")if(g.current.get(T)===E&&g.current.delete(T),L){let f={...L,isRead:E};Yt(T,f),m(S=>S+1)}else $(T,p);break}case"report-delete":{let{reportHubId:u}=p;O.current.delete(u),W.current.add(u),qn(u);let E=ne.current.get(u);E&&(E.unsubscribe(),clearTimeout(E.timer),ne.current.delete(u));let T=Qe(u,{ignoreExpiry:!0});T?.date&&(Dn(u,T.date),m(L=>L+1)),b(L=>L.filter(f=>f.reportHubId!==u));break}case"report-create":case"report-update":case"report-publish":{let{report:u}=p;gi(u),(p.type==="report-create"||p.type==="report-publish")&&(O.current.add(u.reportHubId),oe(u.reportHubId,u.date)),m(E=>E+1);break}}},[ve,Y,oe,t,$,i.unknownUser]);j.current=Ae,(0,X.useEffect)(()=>()=>{for(let p of ne.current.values())p.unsubscribe(),clearTimeout(p.timer);ne.current.clear()},[]);let _e=Zn({isSseEnabled:v,onMessage:Ae}),Ce=async(p,u,E,T,L,f)=>{f?.skipLock||kr(p),L.onOptimistic?.();let S=T.clientTempId||crypto.randomUUID();me(S);let w=new FormData;w.append("intent",u),w.append("reportHubId",String(p)),typeof E=="string"&&w.append("businessDate",E),w.append("operationTimestamp",String(Date.now())),w.append("clientTempId",S);for(let[M,U]of Object.entries(T))M!=="clientTempId"&&w.append(M,U);try{let M=await fetch(`${o}/action`,{method:"POST",body:w,headers:{Accept:"application/json"}});if(!M.ok){let ue=new Error(`Failed to ${u}`);throw Object.assign(ue,{status:M.status}),ue}let U=await M.json();if(U.status!=="OK"||u!=="create"&&String(U.reportHubId)!==String(p))throw new Error(`Invalid response for ${u}`);if(typeof U.clientTempId!="string"||U.clientTempId!==S)throw new Error(`Invalid clientTempId for ${u}`);if(!Y())throw yt.warn(`[executeAction] ${u} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${u}`);return await L.onSuccess?.(U)}catch(M){throw yt.error(`${u} failed:`,M),Y()&&(L.onFailure?.(),l.current({operation:u,message:i.operationFailed(u),cause:M})),M}finally{f?.keepLock||f?.skipLock||Pr(p)}},at=async(p,u,E)=>{let T=Number(p),L=-1*Date.now(),f=Ce(T,"addComment",E,{content:u,clientTempId:String(L)},{onOptimistic:()=>{c.current.has(T)||c.current.set(T,new Map),c.current.get(T)?.set(L,u),m(S=>S+1)},onSuccess:S=>{if(!S.newComment)throw new Error("No new comment returned");let w=S.newComment.id;x.current.set(L,w),c.current.get(T)?.delete(L);let M=Qe(T,{ignoreExpiry:!0});return M&&!M.postedComments.some(U=>U.id===w)&&et(T,{postedComments:[...M.postedComments,{...S.newComment,id:w,isMine:!0,userName:Jt(t,i.unknownUser)}],updatedAt:S.updatedAt}),w},onFailure:()=>{c.current.get(T)?.delete(L)}},{skipLock:!0}).finally(()=>V.current.delete(L));V.current.set(L,f),await f},St=async(p,u,E)=>{let T=Number(p);d.current.has(T)||d.current.set(T,new Set),d.current.get(T)?.add(u),m(f=>f+1);let L=u;if(u<0){let f=x.current.get(u);if(f!==void 0)L=f;else{let S=V.current.get(u);if(!S)return;try{L=await S}catch{return}}}await Ce(T,"deleteComment",E,{commentId:String(L)},{onSuccess:f=>{let S=typeof f.deletedCommentId=="string"?Number(f.deletedCommentId):L,w=Qe(T,{ignoreExpiry:!0});w&&(et(T,{postedComments:w.postedComments.filter(M=>M.id!==S),updatedAt:f.updatedAt}),bi(S)),d.current.get(T)?.delete(u)},onFailure:()=>{d.current.get(T)?.delete(u)}},{skipLock:!0})},it=async(p,u,E)=>{let T=Number(p);await Ce(T,"toggleStar",E,{isStarred:String(u)},{onOptimistic:()=>{et(T,{isStarred:u}),y.current.set(T,u),m(L=>L+1)},onSuccess:L=>{L.updatedStatus&&typeof L.updatedStatus.isStarred=="boolean"&&Qe(T,{ignoreExpiry:!0})&&(et(T,{isStarred:L.updatedStatus.isStarred,updatedAt:L.updatedAt}),m(S=>S+1)),y.current.delete(T)},onFailure:()=>{et(T,{isStarred:!u}),y.current.delete(T)}},{skipLock:!0})},Ge=async(p,u,E)=>{let T=Number(p);await Ce(T,"toggleRead",E,{isRead:String(u)},{onOptimistic:()=>{et(T,{isRead:u}),g.current.set(T,u),m(L=>L+1)},onSuccess:L=>{L.updatedStatus&&typeof L.updatedStatus.isRead=="boolean"&&Qe(T,{ignoreExpiry:!0})&&(et(T,{isRead:L.updatedStatus.isRead,updatedAt:L.updatedAt}),m(S=>S+1)),g.current.delete(T)},onFailure:()=>{et(T,{isRead:!u}),g.current.delete(T)}},{skipLock:!0})},pt=(0,X.useRef)(Ge);pt.current=Ge;let vt=(0,X.useCallback)((p,u,E)=>pt.current(p,u,E),[]),He=async p=>{let u=-1*Date.now(),E=new Date().toISOString(),T={reportHubId:u,date:p,createdAt:E,author:Jt(t,i.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:Jt(t,i.unknownUser),updatedBy:Jt(t,i.unknownUser),updatedAt:E,category:null,creationCategory:null,visitTimeFrom:null,visitTimeTo:null,customerName:null,interviewers:[],subject:"",content:"",externalComments:[],isRead:!0,isStarred:!1,labels:[{id:0,name:a,color:"#9ca3af"}],postedComments:[],attachments:[]};fi(T,Date.now()+3e5,!1),b(L=>[{reportHubId:u,businessDate:p},...L]);try{let L=await Ce(0,"create",p,{clientTempId:String(u)},{onSuccess:S=>S});if(L.clientTempId&&L.clientTempId!==String(u))throw yt.warn(`[createReport] ID mismatch. req=${u}, res=${L.clientTempId}`),new Error("Optimistic ID mismatch");let f=Number(L.reportHubId);return Fr({reportHubId:f,businessDate:p}),kr(f),L.report&&(Yt(f,L.report),m(S=>S+1)),b(S=>S.some(w=>w.reportHubId===f)?S.filter(w=>w.reportHubId!==u):S.map(w=>w.reportHubId===u?{...w,reportHubId:f}:w)),setTimeout(()=>Pr(f),1e3),f}catch(L){throw yt.error("[createReport] Failed or mismatched",L),b(f=>f.filter(S=>S.reportHubId!==u)),L}},Et=async(p,u,E)=>{let T=Number(p);await Ce(T,"update",E,{...u.title&&{title:u.title},...u.content&&{content:u.content}},{onSuccess:()=>{let L=Qe(T,{ignoreExpiry:!0});L&&(et(T,{subject:u.title??L.subject,content:u.content??L.content}),m(f=>f+1))}})},Tt=async(p,u)=>{let E=Number(p),T=Qe(E,{ignoreExpiry:!0}),L=T?.labels||[];await Ce(E,"publish",u,{},{onOptimistic:()=>{if(T){let f=T.labels.filter(S=>S.name!==a);et(E,{labels:f}),m(S=>S+1)}},onSuccess:f=>{f.report&&(Yt(E,f.report),m(S=>S+1)),u!==void 0&&Fr({reportHubId:E,businessDate:u})},onFailure:()=>{et(E,{labels:L}),m(f=>f+1)}},{skipLock:!0})},C=async(p,u)=>{let E=Number(p),T=R.find(L=>L.reportHubId===E);W.current.add(E),qn(E),b(L=>L.filter(f=>f.reportHubId!==E));try{await Ce(E,"delete",u,{},{onSuccess:L=>{Dn(E,u)}})}catch(L){if(L.status===404){Dn(E,u);return}if(!Y())return;W.current.delete(E);let S=T===void 0?u:T.businessDate;S!==void 0&&Fr({reportHubId:E,businessDate:S}),T&&b(w=>w.some(M=>M.reportHubId===E)?w:Go(w,T))}};return(0,rs.jsx)(ta.Provider,{value:{user:t,pendingAddCommentIds:c,pendingDeleteCommentIds:d,pendingStarUpdates:y,pendingReadUpdates:g,resolvedIdMap:x,version:I,items:R,isSseEnabled:v,toggleSse:z,sseStatus:_e,addComment:at,deleteComment:St,toggleStar:it,toggleRead:vt,createReport:He,updateReport:Et,publishReport:Tt,deleteReport:C,removeStaleItem:fe,refetchData:le,clearCacheAndRefetch:K},children:e})};var It=require("react");var ns=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Ne("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]},os=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 yr=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,version:i,addComment:s,deleteComment:l}=Me(),{labels:c}=B(),d=c.unknownUser,[y,g]=(0,It.useState)(null),x=(0,It.useCallback)(b=>e&&l(e.reportHubId,b,e.date),[e,l]),I=(0,It.useCallback)(b=>e&&t?s(e.reportHubId,b,e.date):Promise.resolve(),[e,t,s]),m=(0,It.useRef)([]);return{uiComments:(0,It.useMemo)(()=>{if(!e)return[];let b=ns(e.externalComments,e.postedComments,r,d),v=o.current.get(e.reportHubId);v?.size&&(b=b.filter(D=>!v.has(D.id)));let _=n.current.get(e.reportHubId);if(_?.size&&t){let D=new Set(b.map(O=>O.id)),V=Jt(t,d);for(let[O,W]of _){if(v?.has(O)||D.has(O))continue;let H=a.current.get(O);H&&D.has(H)||b.some(J=>J.isMine&&J.content===W&&typeof J.id=="number"&&J.id>0)||b.push({id:O,authorName:V,content:W,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1})}}return JSON.stringify(b)===JSON.stringify(m.current)?m.current:(m.current=b,b)},[e,t,r,d,o,n,a,i]),handleAddComment:I,handleDeleteComment:x,pendingDeleteId:y,setPendingDeleteId:g,resolvedIdMap:a.current}};var as=require("react/jsx-runtime"),jc={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},Bt=Object.freeze({2:3,3:4,4:5,5:6}),Ye=({level:e,...t})=>{let r=jc[e];return(0,as.jsx)(r,{...t})};var At=require("react");var is=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var na="tile",Wr=is[na],Yc=2,Vr=16,ss=5,ls=Wr.maxWidth/Yc,Rb=ss*(ls+Vr)-Vr,ds=e=>{let t=Math.min(ss,1+Math.floor((e+Vr)/(ls+Vr)));return(e-(t-1)*Vr)/t},ra=`round(nearest, 100cqi * ${Wr.maxHeight} / ${Wr.maxWidth}, 1px)`,qc=4,cs=Object.freeze({aspectRatio:`${Wr.maxWidth} / ${Wr.maxHeight}`,height:ra,contain:"strict"}),us=Object.freeze({marginBlockEnd:`calc(round(up, ${ra}, ${qc}px) - ${ra})`});var Xc="download",Zc="thumbnail",Jc="1",gr=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[Xc]:Jc})}`;case"thumbnail":return`${n}?${new URLSearchParams({[Zc]:r.variant})}`}};var eo=require("react");var Kr=(0,eo.createContext)(null),Rr=()=>(0,eo.useContext)(Kr)===!1?-1:void 0,ms=(e,t)=>{let{before:r,after:n}=Mn(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};var gt=require("react"),Rs=require("react-dom");var ps=require("react-dom");var oa=new WeakMap,fs=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,Qc=e=>{e.frame=null;let t=[...e.observations.values()].filter(fs);t.length!==0&&(0,ps.flushSync)(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},eu=(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=ds(o))}e.frame!==null||![...e.observations.values()].some(fs)||(e.frame=e.view.requestAnimationFrame(()=>Qc(e)))},tu=e=>{let t=oa.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=>eu(n,o)),observations:new Map,frame:null};return oa.set(e,n),n},bs=(e,t)=>{let r=e.ownerDocument,n=tu(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(),oa.delete(r)))}};var Lt=require("react/jsx-runtime"),$r="\u2026",ru=$r.codePointAt(0),to="data-attachment-file-name",nu=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,ou=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,hs=(0,gt.createContext)(null),Ss=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("")},au=(e,t,r)=>{if(r(e)<=t)return e;let{stem:n,extension:o}=Ss(e.normalize("NFC")),a=t/2,i=r(o)<=a?o:`${ys(o,$r,a,r)}${$r}`;return r(n+i)<=t?n+i:`${ys(n,$r+i,t,r)}${$r}${i}`},gs=new WeakMap,vs=e=>{let t=gs.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 gs.set(e,n),n},iu=(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},Es=e=>{let t=new Set;for(let r of e.matchAll(nu)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},su=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:Es(t.fontFamily),measure:iu(vs(e.ownerDocument),r)}},lu=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,du=e=>{let t=new Set([ru]);for(let r of e.querySelectorAll(`[${to}]`)){let n=r.getAttribute(to);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},cu=(e,t)=>{for(let r of e.split(",")){let n=ou.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},aa=new WeakMap,Ts=e=>{let t=aa.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return aa.set(e,r),r},xs=(e,t)=>{let r=su(e.grid.querySelector(`[${to}]`));e.fitted={trackWidth:t,nameFont:r};let n=Ts(e.grid.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=mu(n)),e.applyFit({width:t,measure:r.measure})},uu=(e,t)=>{let r=t.map(o=>({families:Es(o.family),unicodeRange:o.unicodeRange})),n=[];for(let o of e.registrations){let{fitted:a}=o;if(a===null)continue;let i=r.filter(l=>Array.from(l.families).some(c=>a.nameFont.families.has(c)));if(i.length===0)continue;let s=du(o.grid);i.some(l=>cu(l.unicodeRange,s))&&(vs(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&(0,Rs.flushSync)(()=>{for(let[o,a]of n)xs(o,a)})},mu=e=>{let t=e.document.fonts,r=n=>{uu(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},pu=(e,t)=>{let r={grid:e,applyFit:t,fitted:null},n=bs(e,a=>xs(r,a)),o=Ts(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),aa.delete(o.document))}},Cs=({gridRef:e,children:t})=>{let[r,n]=(0,gt.useState)(null);return(0,gt.useLayoutEffect)(()=>{let o=e.current;return pu(o,i=>{n(s=>lu(s,i)?s:i)})},[e]),(0,Lt.jsx)(hs,{value:r,children:t})},zr=({fileName:e,className:t,testId:r})=>{let n=(0,gt.useContext)(hs),o=(0,gt.useMemo)(()=>n===null?null:au(e,n.width,n.measure),[e,n]),{stem:a,extension:i}=Ss(e);return(0,Lt.jsxs)("span",{className:h("block min-w-0",t),title:e,"data-testid":r,[to]:e,children:[o===null?(0,Lt.jsxs)("span",{"aria-hidden":"true",className:"flex min-w-0",children:[(0,Lt.jsx)("span",{className:"truncate",children:a}),i!==""&&(0,Lt.jsx)("span",{className:"max-w-1/2 shrink-0 truncate",children:i})]}):(0,Lt.jsx)("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:o}),(0,Lt.jsx)("span",{className:"sr-only",children:e})]})};var ws=Ee(require("lucide-react/dist/esm/icons/image-off.js")),ke=require("react");var ro=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),Is=ro.queueWaitMs+ro.readMs+ro.renderMs+ro.transferMarginMs;var fu=Object.freeze({kind:"loaded"}),Ls=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",l=null,c=null,d=null,y=null,g=null,x=K=>(K!==null&&n.clearTimeout(K),null),I=()=>{y?.(),y=null},m=()=>{g?.(),g=null},R=K=>K===null||K.kind==="loaded"?0:K.kind==="failing"?K.failedAttempts:i.maxAttempts,b=K=>{s="cooling",d=n.setTimeout(J,K)},v=()=>{o.abortInFlight(),m();let K=R(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(),b(i.retryDelayMs)},_=K=>{if(s==="loading"){if(c=x(c),!K){v();return}s="done",r.set(t,fu),m()}},D=()=>{c=null,_(!1)},V=()=>{s="loading",o.showActivity(!0),I(),c=n.setTimeout(D,i.loadTimeoutMs),o.grant()},O=()=>{l=null,s="queued",g=a.request(V)},W=()=>{l===null&&(l=n.setTimeout(O,i.settleMs))},H=K=>{if(o.showActivity(K),K){s==="watching"&&W();return}if(s==="queued"){m(),s="watching";return}l=x(l)},J=()=>{d=null,s="watching",o.showActivity(!1),y=n.observe(e,H)},re=()=>{let K=s==="loading";s="done",I(),l=x(l),c=x(c),d=x(d),o.showActivity(!1),K&&(o.abortInFlight(),g!==null&&o.reset()),m()},Y=r.get(t);if(Y?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:_,dispose:re};if(Y?.kind==="exhausted"){if(n.now()-Y.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:_,dispose:re};r.delete(t)}o.reset();let le=Y?.kind==="failing"?Y.retryAt-n.now():0;return le>0?b(le):J(),{settle:_,dispose:re}};var bu=e=>{if(!Number.isInteger(e)||e<=0)throw Ne("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())}}}},As=bu(2);var yu=e=>{if(!Number.isInteger(e)||e<=0)throw Ne("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)}}},ia=yu(1024);var sa=new WeakMap,gu=e=>{let t=sa.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 sa.set(e,a),a},_s=(e,t)=>{let r=e.ownerDocument,n=gu(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(),sa.delete(r)))}};var Ut=require("react/jsx-runtime"),Ru={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},hu="data-thumbnail-active",Su="data-daily-report-attachment-preview",Ns={[Su]:""},vu=Object.freeze({settleMs:250,loadTimeoutMs:Is,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),Ds=e=>{let t=ia.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},Eu=()=>({limiter:As,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:_s,tuning:vu}),Tu=(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(hu,o)}}),Os=(0,ke.memo)(({thumbnailUrl:e,unavailableLabel:t})=>{let r=(0,ke.useRef)(null),n=(0,ke.useRef)(null),o=(0,ke.useRef)(null),[a,i]=(0,ke.useState)(()=>Ds(e));a.url!==e&&i(Ds(e)),(0,ke.useLayoutEffect)(()=>{if(a.status==="failed")return;let d=n.current,y=a.status==="idle"?null:a.url;d.getAttribute("src")!==y&&(y===null?d.removeAttribute("src"):d.setAttribute("src",y))},[a]),(0,ke.useEffect)(()=>{let d=r.current,y=Ls(d,e,ia,Eu(),Tu(e,d,i,n));return o.current=y,()=>{o.current=null,y.dispose()}},[e]);let s=(0,ke.useCallback)(d=>{d!==null&&(n.current=d)},[]),l=(0,ke.useCallback)(()=>{i(d=>d.status==="granted"?{url:d.url,status:"loaded"}:d),o.current?.settle(!0)},[]),c=(0,ke.useCallback)(()=>{o.current?.settle(!1)},[]);return(0,Ut.jsx)("span",{className:"block",children:(0,Ut.jsx)("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":Ru[a.status],style:cs,className:"relative block w-full",children:(0,Ut.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,Ut.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","data-testid":"daily-report-attachment-thumbnail-unavailable",children:[(0,Ut.jsx)(ws.default,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):(0,Ut.jsx)("img",{ref:s,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:l,onError:c,className:"max-h-full max-w-full opacity-0 motion-safe:transition-opacity motion-safe:duration-200 motion-safe:ease-out [[data-thumbnail-state=loaded]_&]:opacity-100","data-testid":"daily-report-attachment-thumbnail"})})})})});var ie=require("react/jsx-runtime"),Ms=1024,la=["B","KB","MB","GB"],ks="text-slate-500 text-sm line-through dark:text-slate-400",xu=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=Ms&&r<la.length-1;)t/=Ms,r+=1;return r===0?`${t} ${la[r]}`:`${t.toFixed(1)} ${la[r]}`},Ps=({attachment:e,labels:t,className:r})=>(0,ie.jsxs)("span",{className:r,children:[xu(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),da=({href:e,children:t,...r})=>{let n=Rr();return(0,ie.jsx)("a",{href:e,...r,tabIndex:n,children:t})},Hs=({downloadUrl:e,label:t,fileName:r})=>(0,ie.jsxs)(da,{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})]}),Cu=(0,At.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=(0,ie.jsx)(Os,{thumbnailUrl:gr(t,e.id,{kind:"thumbnail",variant:na}),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)(zr,{fileName:e.fileName,className:ks,testId:"daily-report-attachment-name"})]}):(0,ie.jsxs)(da,{href:gr(t,e.id,{kind:"inline"}),className:h("flex min-w-0 flex-col gap-2 rounded-lg",ae),"data-testid":"daily-report-attachment-link",...Ns,children:[n,(0,ie.jsx)(zr,{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:us,children:[(0,ie.jsx)(Ps,{attachment:e,labels:r,className:"truncate"}),!o&&(0,ie.jsx)(Hs,{downloadUrl:gr(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})]})}),Iu=(0,At.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)(zr,{fileName:e.fileName,className:ks,testId:"daily-report-attachment-name"}):(0,ie.jsx)(da,{href:gr(t,e.id,{kind:"inline"}),className:h("flex min-w-0 rounded-sm",ae),"data-testid":"daily-report-attachment-link",children:(0,ie.jsx)(zr,{fileName:e.fileName,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),(0,ie.jsx)(Ps,{attachment:e,labels:r,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!n&&(0,ie.jsx)(Hs,{downloadUrl:gr(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})}),Lu=({attachments:e,headingId:t,apiBasePath:r,labels:n})=>{let o=(0,At.useRef)(null);return(0,ie.jsx)(Cs,{gridRef:o,children:(0,ie.jsx)("ul",{ref:o,"aria-labelledby":t,className:"grid 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)(Cu,{attachment:a,apiBasePath:r,labels:n},a.id))})})},no=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=B(),o=(0,At.useId)(),{tileAttachments:a,rowAttachments:i}=(0,At.useMemo)(()=>({tileAttachments:e.filter(s=>s.hasThumbnail),rowAttachments:e.filter(s=>!s.hasThumbnail)}),[e]);return e.length===0?null:(0,ie.jsxs)("div",{className:"@container flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[(0,ie.jsx)(Ye,{level:Bt[n],id:o,className:h("m-0",Gt),children:r.attachments}),(0,ie.jsxs)("div",{className:"flex flex-col gap-4",children:[a.length>0&&(0,ie.jsx)(Lu,{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)(Iu,{attachment:s,apiBasePath:t,labels:r},s.id))})]})]})};var Vs=require("@aiquants/swipe-overlay"),Ue=require("react");var Gr=e=>e.isComposing||e.keyCode===229,oo=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 Au={kind:"hold"},_u=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),Du=(e,t)=>{let r=e.getAttribute("role");return r!==null&&_u.has(r)&&e!==t&&e.contains(t)},jr=e=>e.key==="Escape"&&!e.defaultPrevented&&!Gr(e),Fs=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||Gr(e))return null;let r=e.target;if(!(Te(r)&&t.contains(r)))return null;let n=Ii(t);if(n.length===0)return Au;let{before:o,within:a,after:i}=Mn(t,r);return e.shiftKey?o.some(s=>!Du(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};var ao=require("react/jsx-runtime"),De=({render:e})=>{let t=Rr();return(0,ao.jsx)(ao.Fragment,{children:e(t)})};var Bs=Ee(require("@heroicons/react/24/outline/TrashIcon.js")),Vt=require("react");var $e=require("react/jsx-runtime"),ca="data-comment-id",io="data-comment-delete-button",so="data-comment-delete-slot",wu=h(Ve,Oa),Nu="relative flex h-5 items-center",Ou=h(Fe,"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),Mu=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,ua=(0,Vt.memo)(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:l})=>{let[c,d]=(0,Vt.useState)(!1),{labels:y}=B(),g=(0,Vt.useId)(),x=(0,Vt.useRef)(null),I=Mu(e.id,o,l),m=()=>{let b=x.current;b!==null&&s(b),a(null),d(!0),typeof e.id=="number"&&n?.(e.id)},R=b=>{if(!I)return;let v=b.relatedTarget;Te(v)&&b.currentTarget.contains(v)||a(null)};return(0,$e.jsxs)("li",{[ca]:e.id,"data-deleted":c?"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",c&&"hidden",I?"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",os(e.color)),children:ge(e.authorName)}),(0,$e.jsxs)("div",{className:"flex items-center gap-2",children:[e.createdAt&&(0,$e.jsx)("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:ye(e.createdAt)}),e.isMine&&!e.isLegacy&&(0,$e.jsxs)("div",{[so]:e.id,className:Nu,onBlur:R,children:[(0,$e.jsx)(De,{render:b=>(0,$e.jsx)("button",{ref:x,type:"button",tabIndex:b,className:wu,title:y.commentDelete,"aria-label":y.commentDelete,"aria-expanded":I,"aria-controls":I?g:void 0,[io]:e.id,onClick:()=>i(e.id,I),children:(0,$e.jsx)(Bs.default,{"aria-hidden":"true",className:I?Ie.deletePending:Ie.delete})})}),I&&(0,$e.jsx)(De,{render:b=>(0,$e.jsx)("button",{id:g,type:"button",tabIndex:b,"data-delete-confirmation":!0,className:Ou,onClick:m,children:y.commentDeleteConfirm})})]})]})]}),(0,$e.jsx)("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:e.content})]})});ua.displayName="DailyReportPostedComment";var Be=require("react/jsx-runtime"),ku="data-daily-report-comment-section",Pu="data-daily-report-comment-heading",Hu=h(xt,ae),Ws=(e,t)=>e>0||t,Fu=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),Bu=h("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",ae),Us=e=>e.querySelector(`[${io}][aria-expanded="true"]`),Uu=(e,t,r)=>{let n=[...e.querySelectorAll(`[${io}]`)].filter(s=>s===t||s.closest("[data-deleted]")===null),o=n.indexOf(t),a=n.at(o+1);if(a!==void 0)return{kind:"trash",button:a};if(o>0)return{kind:"trash",button:n[o-1]};let i=[...e.querySelectorAll(`[${ca}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return Ws(i,r)?{kind:"heading"}:{kind:"report"}},Vu=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:l,onSectionRemoved:c})=>{let d=(0,Ue.useRef)(null),y=(0,Vs.useOverlayEscapeStack)(),g=(0,Ue.useId)(),x=o!==null,I=(0,Ue.useCallback)(()=>{let b=d.current,v=b===null?null:Us(b),_=v===null?null:v.closest(`[${so}]`),D=b===null?null:Ke(b);a(null),v!==null&&_!==null&&D!==null&&_.contains(D)&&v.focus({preventScroll:!0})},[a]);(0,Ue.useEffect)(()=>{if(x)return y({id:g,onEscape:b=>jr(b)?(I(),!0):!1})},[x,y,g,I]),(0,Ue.useEffect)(()=>{let b=d.current;if(!x||b===null)return;let v=b.ownerDocument,_=D=>{let V=Us(b)?.closest(`[${so}]`);V!=null&&Te(D.target)&&V.contains(D.target)||a(null)};return v.addEventListener("pointerdown",_,!0),()=>v.removeEventListener("pointerdown",_,!0)},[x,a]);let m=(0,Ue.useCallback)((b,v)=>{v?I():a(b)},[I,a]),R=(0,Ue.useCallback)(b=>{let v=d.current;if(v===null)return;let _=Uu(v,b,s);if(_.kind==="report"){c();return}let D=_.kind==="trash"?_.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,c]);return e.length===0?null:(0,Be.jsx)("ul",{ref:d,className:"space-y-2",children:e.map(b=>(0,Be.jsx)(ua,{comment:b,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:m,onBeforeHide:R,resolvedIdMap:i},b.id))})},lo=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=B(),a=(0,Ue.useRef)(null);return Ws(r.comments.length,r.canComment)?(0,Be.jsxs)("div",{[ku]:"",className:h("flex flex-col gap-2",e),children:[(0,Be.jsx)(Ye,{ref:a,level:Bt[o],tabIndex:-1,[Pu]:"",className:Hu,children:n.comments}),(0,Be.jsx)(Vu,{...r,headingRef:a}),t]}):null},co=({reportHubId:e,businessDate:t,onAddComment:r})=>{let[n,o]=(0,Ue.useState)(!1),a=(0,Ue.useRef)(null),{labels:i}=B();return(0,Be.jsxs)("form",{className:"flex gap-2",ref:a,onSubmit:async l=>{l.preventDefault();let d=new FormData(l.currentTarget).get("content")?.trim();if(d&&r){o(!0),a.current?.reset();try{await r(d)}catch{if(a.current){let y=a.current.elements.namedItem("content");y&&(y.value=d)}}finally{o(!1)}}},children:[(0,Be.jsx)("input",{type:"hidden",name:"intent",value:"addComment"}),(0,Be.jsx)("input",{type:"hidden",name:"reportHubId",value:e}),typeof t=="string"&&(0,Be.jsx)("input",{type:"hidden",name:"businessDate",value:t}),(0,Be.jsx)(De,{render:l=>(0,Be.jsx)("input",{type:"text",name:"content",tabIndex:l,placeholder:i.commentPlaceholder,className:Fu,autoComplete:"off"})}),(0,Be.jsx)(De,{render:l=>(0,Be.jsx)("button",{type:"submit",tabIndex:l,className:Bu,disabled:n,children:i.commentSend})})]})};var Wt=require("react");var Ks=require("@radix-ui/react-slot"),$s=require("class-variance-authority"),zs=Ee(require("react"));var Gs=require("react/jsx-runtime"),Wu=(0,$s.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"}}),_t=zs.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>(0,Gs.jsx)(n?Ks.Slot:"button",{className:h(Wu({variant:t,size:r,className:e})),ref:a,...o}));_t.displayName="Button";var Ys=require("react/jsx-runtime");function js({className:e,type:t,...r}){return(0,Ys.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 qs=Ee(require("@radix-ui/react-label"));var Xs=require("react/jsx-runtime");function Yr({className:e,...t}){return(0,Xs.jsx)(qs.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 Js=require("react/jsx-runtime");function Zs({className:e,...t}){return(0,Js.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 Le=require("react/jsx-runtime"),Ku=e=>{e.preventDefault()},uo=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=Me(),{labels:i}=B(),[s,l]=(0,Wt.useState)(e.subject??""),[c,d]=(0,Wt.useState)(e.content??""),[y,g]=(0,Wt.useState)(!1),x=(0,Wt.useRef)(e.reportHubId);(0,Wt.useEffect)(()=>{e.reportHubId!==x.current&&(l(e.subject??""),d(e.content??""),x.current=e.reportHubId)},[e.reportHubId,e.subject,e.content]);let I=async()=>{g(!0);try{await o(e.reportHubId,{title:s,content:c},e.date)}catch{}finally{g(!1)}},m=async()=>{g(!0);try{await o(e.reportHubId,{title:s,content:c},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{g(!1)}},R=`report-title-${e.reportHubId}`,b=`report-content-${e.reportHubId}`;return(0,Le.jsxs)("form",{className:"space-y-4 p-1",onSubmit:Ku,children:[(0,Le.jsxs)("div",{className:"space-y-2",children:[(0,Le.jsx)(Yr,{htmlFor:R,children:i.formTitle}),(0,Le.jsx)(De,{render:v=>(0,Le.jsx)(js,{ref:n,id:R,value:s,onChange:_=>l(_.target.value),placeholder:i.formTitlePlaceholder,disabled:y,tabIndex:v})})]}),(0,Le.jsxs)("div",{className:"space-y-2",children:[(0,Le.jsx)(Yr,{htmlFor:b,children:i.formContent}),(0,Le.jsx)(De,{render:v=>(0,Le.jsx)(Zs,{id:b,value:c,onChange:_=>d(_.target.value),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:y,tabIndex:v})})]}),(0,Le.jsxs)("div",{className:"flex justify-end gap-2",children:[t&&(0,Le.jsx)(De,{render:v=>(0,Le.jsx)(_t,{type:"button",variant:"outline",onClick:t,disabled:y,tabIndex:v,children:i.formCancel})}),(0,Le.jsx)(De,{render:v=>(0,Le.jsx)(_t,{type:"button",variant:"secondary",onClick:I,disabled:y,tabIndex:v,children:i.formSave})}),(0,Le.jsx)(De,{render:v=>(0,Le.jsx)(_t,{type:"button",onClick:m,disabled:y,tabIndex:v,children:i.formPublish})})]})]})};var nl=Ee(require("lucide-react/dist/esm/icons/check.js")),ol=Ee(require("lucide-react/dist/esm/icons/pencil.js")),al=Ee(require("lucide-react/dist/esm/icons/trash-2.js"));var ma=require("react/jsx-runtime"),po=24,Qs=2,$u=20,mo=5,zu=3,Gu=()=>{let e=Math.cos(2*Math.PI/mo)/Math.cos(Math.PI/mo),t=Array.from({length:2*mo},(g,x)=>{let I=-Math.PI/2+x*Math.PI/mo,m=x%2===0?1:e;return{x:m*Math.cos(I),y:m*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=($u-Qs)/(a-o),c=po/2-l*(o+a)/2,d=po/2-l*(i+s)/2,y=g=>String(Number(g.toFixed(zu)));return t.map(g=>`${y(c+l*g.x)},${y(d+l*g.y)}`).join(" ")},ju=Gu(),hr=({filled:e})=>(0,ma.jsx)("svg",{viewBox:`0 0 ${po} ${po}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:Qs,strokeLinejoin:"round",className:e?Ie.starOn:Ie.starOff,children:(0,ma.jsx)("polygon",{points:ju})});var Dt=require("react/jsx-runtime"),Sr=({config:e,id:t,className:r})=>(0,Dt.jsx)("span",{id:t,className:h(Pa,e.badgeClassName,r),children:e.name===void 0?e.label:(0,Dt.jsxs)(Dt.Fragment,{children:[(0,Dt.jsx)("span",{"aria-hidden":"true",children:(0,Dt.jsx)("abbr",{title:e.name,children:e.label})}),(0,Dt.jsx)("span",{className:"sr-only",children:e.name})]})});var pa=require("react/jsx-runtime"),fo=24,Yu=6,vr=({className:e})=>(0,pa.jsx)("svg",{viewBox:`0 0 ${fo} ${fo}`,"aria-hidden":"true",className:h(Ie.read,e),children:(0,pa.jsx)("circle",{cx:fo/2,cy:fo/2,r:Yu,fill:"currentColor"})});var ze=require("react/jsx-runtime"),Re=({label:e,classNames:t,valueId:r,children:n})=>(0,ze.jsxs)("div",{className:t.field,children:[(0,ze.jsx)("dt",{className:t.label,children:e}),(0,ze.jsx)("dd",{id:r,className:h("m-0",t.value),children:n})]}),Kt={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"},el=({report:e,visitTimeDisplay:t,labels:r})=>{let n=e.category?.trim(),o=e.creationCategory?.trim();return(0,ze.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,ze.jsx)(Re,{label:r.author,classNames:Kt,children:ge(e.author)}),(0,ze.jsx)(Re,{label:r.createdAt,classNames:Kt,children:ye(e.createdAt)}),(0,ze.jsx)(Re,{label:r.updatedBy,classNames:Kt,children:ge(e.updatedBy)}),(0,ze.jsx)(Re,{label:r.updatedAt,classNames:Kt,children:ye(e.updatedAt)}),(0,ze.jsx)(Re,{label:r.businessDate,classNames:Kt,children:ye(e.date)}),t!==null&&(0,ze.jsx)(Re,{label:r.visitTime,classNames:Kt,children:t}),n&&(0,ze.jsx)(Re,{label:r.category,classNames:Kt,children:n}),o&&(0,ze.jsx)(Re,{label:r.creationCategory,classNames:Kt,children:o})]})};var de=require("react/jsx-runtime"),bo={field:h(Fe,"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:""},qu={field:h(Fe,"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:""},tl={field:h(Fe,"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:""},Xu=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/,rl=({text:e})=>Xu.test(e)?(0,de.jsx)("time",{dateTime:e,children:e}):e,il=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:l,sourceConfig:c,visitTimeDisplay:d,markerIds:y,labels:g})=>{let x=r?g.starRemove:g.starAdd,I=t?g.markUnread:g.markRead,m=e.category?.trim(),R=e.creationCategory?.trim();return(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[(0,de.jsx)(or,{id:y.attachments,count:e.attachments.length,label:g.attachments}),c?(0,de.jsx)(Sr,{id:y.source,config:c}):null,(0,de.jsx)(De,{render:b=>(0,de.jsx)("button",{type:"button",onClick:a,tabIndex:b,className:Ve,title:x,"aria-label":x,"data-detail-star-button":e.reportHubId,children:(0,de.jsx)(hr,{filled:r})})}),(0,de.jsx)(De,{render:b=>(0,de.jsx)("button",{type:"button",onClick:o,tabIndex:b,className:Ve,title:I,"aria-label":I,"data-detail-read-button":e.reportHubId,children:t?(0,de.jsx)(nl.default,{className:Ie.read}):(0,de.jsx)(vr,{})})}),i&&(0,de.jsx)(De,{render:b=>(0,de.jsx)("button",{ref:s,type:"button",onClick:i,tabIndex:b,"data-detail-edit-button":e.reportHubId,className:Ve,title:g.edit,"aria-label":g.edit,children:(0,de.jsx)(ol.default,{className:Ie.edit})})}),n&&(0,de.jsx)(De,{render:b=>(0,de.jsx)("button",{type:"button",onClick:l,tabIndex:b,"data-detail-delete-button":e.reportHubId,className:Ve,title:g.deleteReport,"aria-label":g.deleteReport,children:(0,de.jsx)(al.default,{className:Ie.delete})})}),(0,de.jsxs)("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[(0,de.jsx)(Re,{label:g.id,classNames:qu,children:e.reportHubId}),(0,de.jsx)(Re,{label:g.businessDate,classNames:bo,children:(0,de.jsx)(rl,{text:ye(e.date)})}),(0,de.jsx)(Re,{label:g.author,classNames:bo,children:ge(e.employeeName)}),(0,de.jsx)(Re,{label:g.visitTime,classNames:bo,children:ge(d)}),(0,de.jsx)(Re,{label:g.updatedAt,classNames:bo,children:(0,de.jsx)(rl,{text:ye(e.updatedAt)})}),m&&(0,de.jsx)(Re,{label:g.category,classNames:tl,children:m}),R&&(0,de.jsx)(Re,{label:g.creationCategory,classNames:tl,children:R})]})]})};var tt=require("react");var P=require("react"),ha=require("react-dom");var Er=e=>({owner:e,focusIndex:null}),fa=Object.freeze({owner:null,focusIndex:null}),sl=(e,t)=>{if(e.length===0)return fa;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:e[r].reportHubId,index:r},focusIndex:r}},ll=(e,t)=>{switch(t.kind){case"focusIn":return Er(t.row);case"focusOut":return t.to==="outside"?fa:Er(e);case"pointerPress":return t.at==="outside"?fa:Er(e);case"listChanged":{if(e===null)return Er(e);let r=Se(t.items,e.reportHubId,e.index);return r===-1?sl(t.items,e.index):Er(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Er(e):sl(t.items,t.selection.index)}};var yo=e=>e.matches(":focus-visible");var Zu="data-daily-report-keyboard-focus",$t={capture:!0},dl=e=>{let t=i=>{e.toggleAttribute(Zu,Te(i)&&yo(i))},r=i=>t(i.target),n=i=>{Te(i.relatedTarget)&&e.contains(i.relatedTarget)||t(null)},o=()=>t(null);e.addEventListener("focusin",r,$t),e.addEventListener("keydown",r,$t),e.addEventListener("focusout",n,$t),e.addEventListener("pointerdown",o,$t);let a=Ke(e);return t(a!==null&&e.contains(a)?a:null),()=>{e.removeEventListener("focusin",r,$t),e.removeEventListener("keydown",r,$t),e.removeEventListener("focusout",n,$t),e.removeEventListener("pointerdown",o,$t),t(null)}};var Ju='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',Qu=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],em=Qu.map(e=>`[role="${e}"]`).join(", "),tm=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),rm=new Set(["Enter"," "]),nm=new Map([["Home","exitBefore"],["End","exitAfter"]]),ba=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return nm.get(e.key)??null;let r=tm.get(e.key);return r!==void 0?r:rm.has(e.key)&&t.rowActivation?"activate":null},cl=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},ul=(e,t,r)=>{let n=ba(e,r);if(n===null||e.defaultPrevented||Gr(e)||t===null||!Te(e.target)||!t.contains(e.target))return null;let o=Pt(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:cl(e.target,Ju,t)||cl(e.target,em,t)?null:n};var go={kind:"stay"},Ro=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},ml=e=>Math.floor(.875*e),zt=(e,t)=>({kind:"move",index:e,align:t}),qr=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",om=({index:e,count:t,viewport:r,focusedRowTop:n,heightOf:o})=>{let a=o(e),i=n+a,s={index:e+1,top:i};for(let l=e+1;l<t;l++){let c=o(l);if(a+=c,a>r)break;s={index:l,top:i},i+=c}return s},am=({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},im=(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 go;if(r==="top")return zt(n-1,"top");let c=s(n-1);return zt(n-1,qr(i-c,c,a,-1))}case"next":return n===o-1?go:r==="top"?zt(n+1,"top"):zt(n+1,qr(l,s(n+1),a,1));case"first":return zt(0,"top");case"last":return zt(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(l>a)return{kind:"reveal",delta:Math.min(l-a,ml(a))};if(n===o-1)return go;let c=om(t);return zt(c.index,qr(c.top,s(c.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,ml(a))};if(n===0)return go;let c=am(t);return zt(c.index,qr(c.top,s(c.index),a,-1))}}},sm=({index:e,focusedRowTop:t,heightOf:r},n)=>gl(n,{index:e,offsetPx:-t},r),bl=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let l=im(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:sm(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}},yl=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>qr(r,n(e),t,1),gl=(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},Xr=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=Ro(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:gl(t,s,i),heightOf:i}},pl=1,Rl=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=Zr(o,n,t,r);return{start:Math.max(0,o.index-pl),end:Math.min(t-1,a+pl)}},Zr=(e,t,r,n)=>{let o=Ro(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},hl=(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,fl=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),Sl=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(fl(t,n,o))return t.reportHubId;if(fl(r,n,o))return r.reportHubId;let a=e[n.visibleStartIndex];return a===void 0?null:a.reportHubId};var ga=1,Jr=2,ya=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?ga:0)|(n===t||n===r?Jr:0),lm=e=>{if(kn(e))return!0;let t=Ke(e);return t!==null&&e.contains(t)},dm=(e,t)=>{let r=e.closest(`[${Fn}]`);return r!==null&&r!==e&&qt(r)===t&&Ke(e)===r},vl=({getContainer:e,initialSelectedId:t})=>{let r={selectedId:t,tabStopId:t,arrivingId:null},n=null,o=!1,a=null,i=new Map,s=new Map,l=null,c=new Map,d=m=>ya(r,m),y=m=>{let R=s.get(m);if(R===void 0)return;let b=(d(m)&Jr)!==0?"0":"-1";R.getAttribute("tabindex")!==b&&R.setAttribute("tabindex",b)},g=m=>{let R={...r};m(r);let b=r,v=new Set([R.selectedId,R.tabStopId,R.arrivingId,b.selectedId,b.tabStopId,b.arrivingId]);for(let _ of v){if(_===null)continue;let D=ya(R,_),V=ya(b,_);if(D===V)continue;((D^V)&Jr)!==0&&y(_);let O=i.get(_);if(O!==void 0)for(let W of[...O])W()}},x=m=>{o=!0;try{m.focus({preventScroll:!0})}finally{o=!1}},I=m=>{let R=e();R!==null&&(n=null,lm(R)&&x(m))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:d,setTabStopId:m=>{g(R=>{R.tabStopId=m})},settleSelection:(m,R)=>{g(b=>{b.selectedId=m,b.tabStopId=R,b.arrivingId=null})},arrive:m=>{g(R=>{R.arrivingId=m})},subscribe:(m,R)=>{let b=i.get(m)??new Set;return b.add(R),i.set(m,b),()=>{b.delete(R),b.size===0&&i.get(m)===b&&i.delete(m)}},registerFocusTarget:(m,R)=>{if(s.set(m,R),y(m),n===m){I(R);return}a===null||a.reportHubId!==m||(kn(R)||dm(R,m))&&x(R)},unregisterFocusTarget:(m,R)=>{s.get(m)===R&&s.delete(m)},requestFocus:m=>{n=m;let R=s.get(m);R!==void 0&&I(R)},cancelFocusRequest:()=>{n=null},pendingFocusId:()=>n,isMovingFocus:()=>o,getFocusOwner:()=>a,setFocusOwner:m=>{a=m},restoreFocus:m=>{if(a===null||a.reportHubId!==m)return;let R=s.get(m);R===void 0||!kn(R)||x(R)},holdBodiesOutside:m=>{l=m},isBodyHeldAt:m=>l!==null&&(m<l.start||m>l.end),registerHeldBody:(m,R,b)=>{let v={indexHint:R,release:b};return c.set(m,v),()=>{c.get(m)===v&&c.delete(m)}},releaseHeldBodiesWithin:(m,R)=>{if(m!==null)for(let[b,{indexHint:v,release:_}]of[...c]){let D=R(b,v);D>=m.start&&D<=m.end&&_()}}}};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}},Ra=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),cm=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),El=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),um=new Map(Object.values(ut).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),Tl=e=>{let t=um.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},mm=(e,t,r)=>e==="row"||e==="page"?t+r:r,xl=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:Tl(e)}),Cl=(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",Tl(r)):(e.pending=mm(e.axis,e.pending,r.amount),Ra)}case"frame":{if(e.fence==="open")return Ra;if(e.fence==="immediate")return e.fence="flush",cm;if(e.pending===0)return e.fence="open",Ra;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?El:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return El}};var pm=Object.freeze({kind:"frame"}),fm=Object.freeze({kind:"keyup"}),bm=Object.freeze({kind:"cancel"}),ym=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})}),gm=(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}},Rm=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),hm=e=>{let t=qt(e),r=ur(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},ho=(e,t)=>{let r=(0,P.useCallback)(a=>e.subscribe(t,a),[e,t]),n=(0,P.useCallback)(()=>e.rowStateOf(t),[e,t]),o=(0,P.useSyncExternalStore)(r,n,n);return{isCurrent:(o&ga)!==0,isTabStop:(o&Jr)!==0}},So=(e,t,r)=>{let[n,o]=(0,P.useState)(()=>!e.isBodyHeldAt(r));return(0,P.useLayoutEffect)(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return(0,P.startTransition)(a),i},[e,t,r,n]),n},Il=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:l,rowActivation:c})=>{let[d]=(0,P.useState)(()=>vl({getContainer:()=>n.current,initialSelectedId:t})),y=(0,P.useRef)({items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:c}),g=(0,P.useRef)(null),x=(0,P.useRef)(null),[I,m]=(0,P.useState)(null),R=(0,P.useRef)(null),b=(0,P.useRef)(null),[v,_]=(0,P.useState)(null),D=(0,P.useRef)(!1),V=(0,P.useRef)(null),[O,W]=(0,P.useState)(0),H=(0,P.useMemo)(()=>({id:t,indexHint:t===null?null:_i(I,t)}),[t,I]),J=(0,P.useRef)(H);(0,P.useLayoutEffect)(()=>{y.current={items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:c},J.current=H},[e,r,s,l,c,H]);let re=(0,P.useCallback)((C,p)=>{let u=x.current;if(u!==null&&u.items===C&&u.reportHubId===p)return u.index;let E=Se(C,p,u!==null&&u.reportHubId===p?u.index:null);return E!==-1&&(x.current={items:C,reportHubId:p,index:E}),E},[]),Y=(0,P.useCallback)((C,p)=>{x.current={items:y.current.items,reportHubId:C,index:p},m(u=>u!==null&&u.reportHubId===C&&u.index===p?u:{reportHubId:C,index:p})},[]),le=(0,P.useCallback)(C=>{let p=d.getFocusOwner();if(p===null)return null;let u=Se(C,p.reportHubId,p.index);return u===-1?null:{reportHubId:p.reportHubId,index:u}},[d]),K=(0,P.useCallback)(C=>{let p=y.current.items,u=C===null?null:{reportHubId:C,index:re(p,C)};return Sl(p,le(p),u,g.current,V.current)},[re,le]),ne=(0,P.useCallback)(()=>{d.setTabStopId(K(d.getSelectedId()))},[d,K]),j=(0,P.useCallback)(C=>{let p=d.getFocusOwner();p===C||p!==null&&C!==null&&p.reportHubId===C.reportHubId&&p.index===C.index||(d.setFocusOwner(C),D.current||ne())},[d,ne]),$=(0,P.useCallback)(C=>{let p=ll(d.getFocusOwner(),C);j(p.owner),p.focusIndex!==null&&(R.current=p.focusIndex,d.requestFocus(p.owner.reportHubId))},[d,j]);(0,P.useLayoutEffect)(()=>{d.settleSelection(t,K(t))},[d,t,e,O,K]),(0,P.useLayoutEffect)(()=>{let C=o.current;if(C!==null)return dl(C)},[o]),(0,P.useLayoutEffect)(()=>{let C=n.current;if(C===null)return;let p=C.ownerDocument,u=E=>{let T=n.current,L=E.target;$({kind:"pointerPress",at:T!==null&&Te(L)&&T.contains(L)?"inside":"outside"})};return p.addEventListener("pointerdown",u,{capture:!0}),()=>p.removeEventListener("pointerdown",u,{capture:!0})},[n,$]),(0,P.useLayoutEffect)(()=>{let C=d.pendingFocusId();C!==null&&Se(e,C,R.current)===-1&&d.cancelFocusRequest(),$({kind:"listChanged",items:e})},[d,e,$]);let me=(0,P.useCallback)(C=>{$({kind:"removed",reportHubId:C,selection:x.current,items:y.current.items})},[$]),ve=(0,P.useCallback)((C,p,u)=>{let{items:E,onSelect:T,rowSizing:L,arrowAlign:f}=y.current,S=a.current;if(T===null||S===null)return null;let w=Se(E,u.reportHubId,u.index);if(w===-1)return null;let M=Xr(S,w,E.length,L);if(M===null)return null;let U=bl(C,p,M,f),ue=E[U.index],st=U.index!==w;if(st){d.arrive(ue.reportHubId),V.current=ue.reportHubId,R.current=U.index,D.current=!0;try{d.requestFocus(ue.reportHubId)}finally{D.current=!1}}try{(0,ha.flushSync)(()=>{st&&(d.pendingFocusId()===null&&d.settleSelection(ue.reportHubId,ue.reportHubId),T(ue.reportHubId,U.index)),U.alignment!==null&&i.toIndex(U.alignment.index,{align:U.alignment.align}),U.scrollDelta!==0&&i.by(U.scrollDelta),st&&(Y(ue.reportHubId,U.index),W(wo=>wo+1));let Ar=Rl(S,E.length,L);d.holdBodiesOutside(Ar),d.releaseHeldBodiesWithin(Ar,(wo,Td)=>Se(E,wo,Td))})}finally{d.holdBodiesOutside(null)}return st?{reportHubId:ue.reportHubId,index:U.index}:{reportHubId:u.reportHubId,index:w}},[d,a,i,Y]),oe=(0,P.useCallback)(C=>{let{items:p,onSelect:u}=y.current;if(u===null)return;let E=Se(p,C.reportHubId,C.index);E!==-1&&(u(C.reportHubId,E),Y(C.reportHubId,E))},[Y]),z=(0,P.useCallback)(C=>{let p=n.current,u=p===null?null:Ke(p),E=p!==null&&u!==null&&p.contains(u)?Hr(Pt(u,p),y.current.items):null;return E===null?C.origin:E},[n]),fe=(0,P.useCallback)((C,p)=>{let u=z(C);if(p.axis==="activate"){oe(u);return}let E=gm(p.axis,p.amount),T=ve(E.command,E.count,u);T!==null&&(C.origin=T)},[z,oe,ve]),xe=(0,P.useCallback)(C=>{b.current=null,C.frame!==0&&C.view.cancelAnimationFrame(C.frame),_(null)},[]),we=(0,P.useCallback)((C,p,u)=>{let{apply:E}=p;E!==null&&(p.flush?(0,ha.flushSync)(()=>fe(C,E)):fe(C,E)),b.current===C&&(p.ended?xe(C):p.requestFrame&&(C.frame=C.view.requestAnimationFrame(u)))},[fe,xe]),Ae=(0,P.useCallback)((C,p,u)=>{we(C,Cl(C.state,p),u)},[we]),_e=(0,P.useCallback)(()=>{let C=b.current;C!==null&&(C.frame=0,Ae(C,pm,_e))},[Ae]),Ce=(0,P.useCallback)(()=>{let C=b.current;C!==null&&Ae(C,fm,_e)},[Ae,_e]),at=(0,P.useCallback)(()=>{let C=b.current;C!==null&&Ae(C,bm,_e)},[Ae,_e]),St=(0,P.useCallback)((C,p,u)=>{_(J.current);let{state:E,effects:T}=xl(ut[C]),L={state:E,origin:p,view:u,frame:0};b.current=L,we(L,T,_e)},[we,_e]);(0,P.useLayoutEffect)(()=>()=>{let C=b.current;b.current=null,C!==null&&C.frame!==0&&C.view.cancelAnimationFrame(C.frame)},[]);let it=(0,P.useCallback)(C=>{let p=b.current,u=p!==null&&C.repeat?ba(C,y.current):null;if(p!==null&&u!==null&&u!=="exitBefore"&&u!=="exitAfter"&&ut[u].axis===p.state.axis){C.preventDefault(),Ae(p,ym[u],_e);return}let{items:E,onSelect:T,rowSizing:L,rowActivation:f}=y.current,S=n.current,w=T===null?null:ul(oo(C),S,{rowActivation:f});if(d.cancelFocusRequest(),Ce(),w===null||S===null)return;if(w==="exitBefore"||w==="exitAfter"){let ue=ms(S,w==="exitBefore"?"before":"after");if(ue===null)return;C.preventDefault(),ue.focus();return}let M=Ke(S),U=Hr(Pt(M!==null&&S.contains(M)?M:C.target,S),E);if(U!==null){if(w!=="activate"){let ue=a.current;if(ue===null||Xr(ue,U.index,E.length,L)===null)return}if(C.preventDefault(),C.repeat){St(w,U,dt(S));return}w==="activate"?oe(U):ve(w,1,U)}},[d,n,a,_e,Ae,Ce,St,oe,ve]),Ge=(0,P.useCallback)(()=>{Ce()},[Ce]),pt=(0,P.useCallback)(C=>{let p=n.current,u=C.target,E=Pt(u,p);if($({kind:"focusIn",row:E===null?null:hm(E)}),d.isMovingFocus())return;let T=a.current;if(p===null||T===null||!Te(u)||!yo(u))return;let L=E===null?null:E.closest('[role="list"]');if(E===null||L===null)return;let f=L.getBoundingClientRect(),S=E.getBoundingClientRect(),w=S.height<=f.height?S:Rm(u.getBoundingClientRect(),rr),M=hl(w,f),U=T.getViewportSize();M===0||!(U>0&&f.height>0)||i.by(M*U/f.height)},[d,n,a,i,$]),vt=(0,P.useCallback)(C=>{let p=n.current,u=C.relatedTarget,E=Te(u)?p?.contains(u)?"view":"outside":"nowhere";E!=="view"&&at(),$({kind:"focusOut",to:E})},[n,at,$]),He=(0,P.useCallback)(()=>{d.cancelFocusRequest(),at()},[d,at]),Et=(0,P.useCallback)(C=>{g.current={visibleStartIndex:C.visibleStartIndex,visibleEndIndex:C.visibleEndIndex},V.current=null,ne()},[ne]),Tt=(0,P.useMemo)(()=>({onKeyDown:it,onKeyUp:Ge,onPointerDownCapture:He,onWheelCapture:He,onTouchStartCapture:He,onFocus:pt,onBlur:vt}),[it,Ge,He,pt,vt]);return{cursor:d,containerProps:Tt,handleRangeChange:Et,selection:H,settledSelection:v===null?H:v,resolveSelectedIndex:re,rememberSelection:Y,focusAfterRemoval:me}};var vo=require("react/jsx-runtime"),Sm=h(Ot,dn,cn,ln,"h-full"),vm="h-full w-full",Ll=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:l}=ho(a,e),c=(0,tt.useContext)(Ft),d=(0,tt.useContext)(Ht),y=So(a,e,c),g=(0,tt.useRef)(null),x=(0,tt.useRef)(null),I=(0,tt.useCallback)(m=>(g.current=m,a.registerFocusTarget(e,m),()=>{g.current=null,a.unregisterFocusTarget(e,m)}),[a,e]);return(0,tt.useLayoutEffect)(()=>{let m=g.current,R=m===null||!y?null:m.firstElementChild,b=R instanceof HTMLElement?R:null,v=x.current;v!==null&&v.body===b||(v!==null&&v.stop(),x.current=b===null?null:{body:b,stop:o(b)})}),(0,tt.useLayoutEffect)(()=>()=>{x.current?.stop(),x.current=null},[]),(0,tt.useLayoutEffect)(()=>{a.restoreFocus(e)},[a,e,n]),(0,vo.jsx)(Kr.Provider,{value:l,children:(0,vo.jsx)("div",{ref:I,className:Sm,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":c+1,"aria-setsize":d,"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,vo.jsx)("div",{...je,className:vm})})})};var k=require("react/jsx-runtime"),Em=h("flex w-full flex-col",ft,mn,_r),Tm=h(ft,_r),xm=h("rounded-2xl",_r),Cm=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",_r),Pe="bg-slate-200 dark:bg-slate-700",Im=(e,t)=>{let r=ge(e.name);return e.affiliation?.trim()?t.interviewerWithAffiliation(r,e.affiliation):r},Lm=()=>(0,k.jsxs)("div",{...je,className:Tm,children:[(0,k.jsxs)("div",{className:"mb-4 flex flex-wrap gap-2",children:[(0,k.jsx)("div",{className:h("h-6 w-20 rounded-full",Pe)}),(0,k.jsx)("div",{className:h("h-6 w-24 rounded-full",Pe)}),(0,k.jsx)("div",{className:h("h-6 w-24 rounded-full",Pe)}),(0,k.jsx)("div",{className:h("h-6 w-28 rounded-full",Pe)})]}),(0,k.jsxs)("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,k.jsxs)("div",{className:"space-y-4",children:[(0,k.jsx)("div",{className:h("h-5 w-40 rounded",Pe)}),(0,k.jsx)("div",{className:h("h-5 w-56 rounded",Pe)}),(0,k.jsx)("div",{className:h("h-24 rounded-xl",Pe)})]}),(0,k.jsxs)("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[(0,k.jsx)("div",{className:h("mb-2 h-4 w-24 rounded",Pe)}),(0,k.jsx)("div",{className:h("mb-2 h-4 w-28 rounded",Pe)}),(0,k.jsx)("div",{className:h("h-4 w-32 rounded",Pe)})]})]}),(0,k.jsxs)("div",{className:"space-y-4",children:[(0,k.jsx)("div",{className:h("h-4 w-24 rounded",Pe)}),(0,k.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,k.jsx)("div",{className:h("h-6 w-16 rounded-full",Pe)}),(0,k.jsx)("div",{className:h("h-6 w-16 rounded-full",Pe)}),(0,k.jsx)("div",{className:h("h-6 w-16 rounded-full",Pe)})]}),(0,k.jsxs)("div",{className:"space-y-2",children:[(0,k.jsx)("div",{className:h("h-16 rounded-xl",Pe)}),(0,k.jsx)("div",{className:h("h-16 rounded-xl",Pe)})]})]})]}),Am=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:l}=kt(e.reportHubId,e.businessDate),{removeStaleItem:c}=Me(),{draftLabelName:d,sourceTypeConfigs:y}=B(),[g,x]=(0,se.useState)(!1),[I,m]=(0,se.useState)(!1),R=(0,se.useRef)(!1),b=(0,se.useRef)(!1),v=(0,se.useRef)(!1),_=(0,se.useRef)(!1);(0,se.useEffect)(()=>{if(l){_.current=!0;return}!(a||s||i)&&_.current&&e.reportHubId>0&&c(e.reportHubId)},[a,s,l,i,e.reportHubId,c]);let D=a?.labels.some(z=>z.name===d),V=n&&a?.userId===n,O=(0,se.useCallback)(()=>{b.current=!0,R.current=!1,x(!0)},[]),W=(0,se.useCallback)(()=>{v.current=!0,x(!1),m(!0)},[]),H=(0,se.useCallback)(()=>{v.current=!0,x(!1)},[]),J=(0,se.useCallback)(z=>{z===null||!b.current||(b.current=!1,z.focus())},[]),re=(0,se.useCallback)(z=>{z===null||!v.current||(v.current=!1,z.focus())},[]);(0,se.useLayoutEffect)(()=>{g||(v.current=!1)},[g]),(0,se.useEffect)(()=>{a&&V&&D&&!g&&!I?(x(!0),R.current=!0):a&&!D&&g&&R.current&&(x(!1),R.current=!1)},[a,V,D,g,I]);let Y=(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,j=a===null?void 0:Mt(a.sourceType,y),$=[K.state,...ne?[K.attachments]:[],...j!==void 0?[K.source]:[]].join(" "),me=!i&&a!==null&&!g?{kind:"card",ids:K,describedBy:$}:{kind:"label",label:ye(e.businessDate)},ve=!i&&a===null&&s,oe=i?"error":a===null?s?"loading":"missing":g?"editing":"resolved";return(0,k.jsx)(Ll,{itemId:e.reportHubId,name:me,isBusy:ve,bodyKind:oe,observeRowHeight:t,cursor:o,children:i?(0,k.jsx)(_m,{itemId:e.reportHubId}):a?g?(0,k.jsx)("div",{...je,className:xm,children:(0,k.jsx)(uo,{report:a,onCancel:W,onPublishSuccess:H,titleInputRef:J})}):(0,k.jsx)(_l,{item:e,report:a,sourceConfig:j,textIds:K,onCommentAdded:r,userId:n,onEdit:V?O:void 0,editButtonRef:re,onCommentSectionRemoved:Y}):(0,k.jsx)(Lm,{})})},Al=(0,se.memo)(Am),_l=(0,se.memo)(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:l})=>{let c=(0,se.useRef)(null),{toggleStar:d,toggleRead:y,pendingStarUpdates:g,pendingReadUpdates:x,deleteReport:I,user:m}=Me(),{uiComments:R,handleAddComment:b,handleDeleteComment:v,pendingDeleteId:_,setPendingDeleteId:D,resolvedIdMap:V}=yr(t,m,a),{labels:O,headingLevel:W}=B(),H=Bt[W],J=vn(t.sourceType,r),re=async fe=>{await b(fe),o?.(e.reportHubId)},Y=g.current.get(t.reportHubId),le=Y===void 0?t.isStarred:Y,K=x.current.get(t.reportHubId),ne=K===void 0?t.isRead:K,j=!!(a&&t.userId===a),$=async()=>{try{await y(t.reportHubId,!ne,t.date)}catch{}},me=async()=>{try{await d(t.reportHubId,!le,t.date)}catch{}},ve=async()=>{confirm(O.confirmDelete)&&await I(t.reportHubId,t.date)},oe=(0,se.useMemo)(()=>t.content?t.content.replace(/<br\s*\/??\s*>/gi,`
|
|
3
|
-
`).trim():"",[t.content]),z=(0,se.useMemo)(()=>{let fe=t.visitTimeFrom?.trim(),xe=t.visitTimeTo?.trim();return fe&&xe?`${fe} - ${xe}`:fe||xe||null},[t.visitTimeFrom,t.visitTimeTo]);return(0,k.jsxs)("div",{...je,onDoubleClick:i,className:Em,children:[(0,k.jsx)(Ye,{level:W,id:n.heading,className:"sr-only",children:`${ye(t.date)} ${ge(t.employeeName)} ${ge(t.subject)}`}),(0,k.jsx)("span",{id:n.state,className:"sr-only",children:O.rowState({isRead:ne,isStarred:le})}),(0,k.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,k.jsx)(il,{report:t,sourceConfig:r,isRead:ne,isStarred:le,isMine:j,onToggleRead:$,onToggleStar:me,onEdit:i,editButtonRef:s,onDelete:ve,visitTimeDisplay:z,markerIds:n,labels:O}),(0,k.jsxs)("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,k.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,k.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,k.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,k.jsx)(Ye,{level:H,className:xt,children:O.customer}),(0,k.jsx)("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:ge(t.customerName)})]}),(0,k.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,k.jsx)(Ye,{level:H,className:xt,children:O.subject}),(0,k.jsx)("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:ge(t.subject)})]})]}),oe&&(0,k.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,k.jsx)(Ye,{level:H,className:xt,children:O.content}),(0,k.jsx)("div",{className:h("whitespace-pre-wrap",un),children:oe})]}),t.interviewers.length>0&&(0,k.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,k.jsx)(Ye,{level:H,className:xt,children:O.interviewers}),(0,k.jsx)("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map(fe=>(0,k.jsx)("li",{className:h(Fe,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:Im(fe,O)},JSON.stringify([fe.name,fe.affiliation])))})]}),(0,k.jsx)(no,{attachments:t.attachments}),(0,k.jsx)(lo,{comments:R,canComment:J,reportHubId:t.reportHubId,businessDate:t.date,onDeleteComment:v,pendingDeleteId:_,onPendingDeleteIdChange:D,resolvedIdMap:V,onSectionRemoved:l}),J&&(0,k.jsx)("div",{className:"mt-auto",ref:c,children:(0,k.jsx)(co,{reportHubId:t.reportHubId,businessDate:t.date,onAddComment:re})})]}),(0,k.jsx)(el,{report:t,visitTimeDisplay:z,labels:O})]})]})]})});_l.displayName="DailyReportResolvedItem";var _m=({itemId:e})=>{let{labels:t}=B();return(0,k.jsx)("div",{...je,className:Cm,children:(0,k.jsx)("p",{children:t.reportLoadFailed(e)})})};var Rt=require("react");var rt=require("react");var Dm=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e[o]?.reportHubId!==t[o]?.reportHubId)return!0;return!1},wm=(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}},Nm=(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}},Om=(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"?wm(e.index,a,n.rowHeight,r.length):Nm(e.index,a,Ro(n),r.length);return{reportHubId:r[i].reportHubId,index:i,offsetPx:s,lastVisibleIndex:Zr({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},Mm=(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},Dl=({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 c=t.current,d=c===null?-1:c.getScrollPosition(),y=c===null||!(d>0)?null:c.getScrollAnchor(),g=a.current,x=y===null?void 0:g[y.index],I=c===null?0:c.getViewportSize();o.current=y===null||x===void 0||!(I>0)?null:{reportHubId:x.reportHubId,index:y.index,offsetPx:y.offsetPx,lastVisibleIndex:Zr(y,I,g.length,i.current),recordedAt:d}},[t]),l=(0,rt.useMemo)(()=>({toIndex:(c,d)=>{let y=t.current;y!==null&&(y.scrollToIndex(c,d),s())},by:c=>{let d=t.current;d!==null&&(d.scrollBy(c),s())},resizeRow:(c,d)=>{let y=t.current;y!==null&&(y.updateItemSize(c,d),s())}}),[t,s]);return(0,rt.useLayoutEffect)(()=>{let c=a.current;a.current=e;let d=o.current,y=t.current;if(c===e||d===null||y===null||n())return;let g=Om(d,y.getScrollPosition(),c,i.current,y.getViewportSize());if(g===null){o.current=null;return}let x=Se(e,g.reportHubId,g.index),I=x===-1?Mm(c,e,g):x;if(I===-1){o.current=null;return}if(I===g.index&&!Dm(c,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:Zr({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"),km=20,Nl=({hostTestId:e,scrollContainerRef:t,handleRef:r,itemsRef:n})=>(0,wl.useCallback)(o=>{t.current=o;let a=o.querySelector(`[data-testid="${e}"]`);return a!==null&&Object.defineProperty(a,"__virtualScroll",{configurable:!0,get:()=>{let i=r.current;if(i!==null)return{...i,findReportIndex:s=>n.current.findIndex(l=>l.reportHubId===s),getReportItem:s=>n.current[s],getReportIds:(s=km)=>n.current.slice(0,s).map(l=>l.reportHubId)}}}),()=>{a!==null&&delete a.__virtualScroll,t.current=null}},[e,t,r,n]);var Ol=require("react/jsx-runtime"),Eo=({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:c,scroller:d}=Dl({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:y,...g}=Il({...a,containerRef:e,handleRef:i,scroller:d}),x=Nl({hostTestId:t,scrollContainerRef:e,handleRef:i,itemsRef:r}),{labels:I}=B(),m=(0,Rt.useId)(),R=a.onSelect!==null,b=(0,Rt.useCallback)(D=>{y(D),l(),o(D)},[y,l,o]),v=(0,Rt.useMemo)(()=>({role:"list","aria-label":I.title,"aria-describedby":R?m:void 0}),[I.title,R,m]),_=(0,Rt.useMemo)(()=>R?(0,Ol.jsx)("span",{id:m,className:"sr-only",children:I.listKeyboardHelp}):null,[R,m,I.listKeyboardHelp]);return{...g,handleRangeChange:b,handleScrollAdjust:c,attachVirtualScroll:s,handleRef:i,scroller:d,attachScrollContainer:x,contentProps:v,keyboardHelp:_}};var qe=require("react/jsx-runtime"),Pl={pointerDragInputs:An,wheelSpeedMultiplier:En,inertiaOptions:mr(!1),enableKeyboardNavigation:!1},Pm={...Pl,inertiaOptions:mr(!0)},Ml="daily-report-detail-list",Hm=h("relative w-full",bn,fn),Fm=h(Je,"relative"),Bm=300,To=e=>{let t=(0,F.useRef)(null),[r,n]=(0,F.useState)(null),o=Hn(t),a=Bn(r),i=(0,F.useCallback)(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return(0,qe.jsx)("div",{ref:i,className:pn,children:o===null?null:(0,qe.jsx)(Um,{...e,viewportHeight:o,reducedMotion:a})})},Um=({dailyReportItems:e,userId:t,selectedItemId:r,onSelectItem:n,scrollRestoreRef:o,viewportHeight:a,reducedMotion:i})=>{let[{initialScrollAnchor:s,restored:l}]=(0,F.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 S=e.findIndex(w=>w.reportHubId===f.topItem?.reportHubId);return S!==-1?{initialScrollAnchor:{index:S,offsetPx:f.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:f.topItem.index,offsetPx:0},restored:!0}}),c=(0,F.useRef)(l),d=(0,F.useRef)(r??null),y=(0,F.useRef)(o?.current.measuredHeights??new Map),g=(0,F.useRef)(null),x=Nn(),I=wn(),[m]=(0,F.useState)(Vn),R=(0,F.useRef)(null),b=(0,F.useRef)(null),v=(0,F.useRef)(e),_=(0,F.useRef)(n);(0,F.useLayoutEffect)(()=>{v.current=e,_.current=n},[e,n]);let D=(0,F.useRef)(null),[V,O]=(0,F.useState)(0),W=(0,F.useRef)(null),H=e.length,J=(0,F.useCallback)(f=>f>=H?xn:e[f],[e,H]),re=(0,F.useCallback)(f=>{let S=y.current.get(J(f).reportHubId);return S===void 0?di:S},[J]),Y=(0,F.useCallback)(f=>J(f).reportHubId,[J]),le=(0,F.useMemo)(()=>({kind:"measured",heightOf:re}),[re]),K=(0,F.useCallback)((f,S)=>{D.current={reportHubId:f,index:S},O(w=>w+1),_.current?.(f)},[]),ne=(0,F.useCallback)((f,S)=>{if(H===0)return;let w=Math.max(0,f),M=Math.min(H-1,S);if(w>M)return;let U=new Set;for(let ue=w;ue<=M;ue++){let st=J(ue);if(st.businessDate&&U.add(st.businessDate),U.size>=ii)break}U.forEach(ue=>{I(ue)})},[J,H,I]),j=(0,F.useCallback)(f=>{if(H===0)return;let{renderingStartIndex:S,renderingEndIndex:w,visibleStartIndex:M}=f,U=J(M);U.businessDate&&m.setLabel(ye(U.businessDate)),ne(S,w),ne(w+1,w+Tn),ne(S-Tn,S-1)},[J,H,ne,m]),$=(0,F.useCallback)(()=>W.current!==null,[]),{cursor:me,containerProps:ve,handleRangeChange:oe,handleScrollAdjust:z,attachVirtualScroll:fe,handleRef:xe,scroller:we,attachScrollContainer:Ae,contentProps:_e,keyboardHelp:Ce,resolveSelectedIndex:at,rememberSelection:St}=Eo({items:e,selectedId:r??null,onSelect:n===void 0?null:K,containerRef:g,rootRef:g,testId:Ml,itemsRef:v,rowSizing:le,arrowAlign:"top",rowActivation:!0,isViewRevealPending:$,onRangeChange:j}),it=(0,F.useCallback)((f,S)=>{if(xe.current===null)return!1;let w=v.current,M=S!==null&&S.reportHubId===f?Se(w,f,S.index):at(w,f);return M===-1?!1:(c.current&&(c.current=!1,f===d.current)||S!==null&&S.reportHubId===f&&S.index===M||we.toIndex(M,{align:"top"}),!0)},[xe,at,we]);(0,F.useEffect)(()=>{let f=D.current;D.current=null,W.current=null,r!=null&&(it(r,f)||(W.current=r))},[r,it]),(0,F.useEffect)(()=>{let f=W.current;f!==null&&it(f,null)&&(W.current=null)},[e,it]),(0,F.useEffect)(()=>{let f=o?.current;f&&(f.anchorReportHubId=r??null)},[r,o]),(0,F.useEffect)(()=>{D.current=null},[V]);let Ge=(0,F.useRef)(null),pt=(0,F.useCallback)(()=>{xe.current&&(Ge.current=xe.current);let f=o?.current,S=Ge.current;if(f&&S){let M=S.getScrollAnchor(),U=M?v.current[M.index]:void 0;M&&U&&(f.topItem={reportHubId:U.reportHubId,index:M.index,offsetPx:M.offsetPx})}let w=g.current;w&&(w.toggleAttribute(tr,!0),b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{w.toggleAttribute(tr,!1),b.current=null},150))},[xe,o]),vt=(0,F.useCallback)(f=>(0,qe.jsx)(Wn,{...f,store:m}),[m]);(0,F.useEffect)(()=>{let f=g.current;if(!f)return;let S=()=>{m.setWheelScrollActive(!0),R.current&&clearTimeout(R.current),R.current=window.setTimeout(()=>{m.setWheelScrollActive(!1),R.current=null},Cn)};return f.addEventListener("wheel",S,{passive:!0}),()=>{f.removeEventListener("wheel",S),R.current&&clearTimeout(R.current)}},[m]);let He=(0,F.useRef)(null),Et=(0,F.useCallback)(f=>{for(let S of f){let w=S.target.parentElement,M=w===null?null:qt(w),U=w===null?null:ur(w),ue=S.borderBoxSize[0];if(M===null||U===null||ue===void 0)continue;let st=ue.blockSize+2*rr;if(y.current.get(M)===st)continue;let Ar=Se(v.current,M,U-1);Ar!==-1&&(y.current.set(M,st),we.resizeRow(Ar,st))}},[we]),Tt=(0,F.useCallback)(f=>{He.current===null&&(He.current=new ResizeObserver(Et));let S=He.current;return S.observe(f),()=>S.unobserve(f)},[Et]);(0,F.useEffect)(()=>()=>{He.current?.disconnect(),He.current=null},[]),(0,F.useEffect)(()=>{H!==0&&ne(0,Math.min(H-1,Tn))},[H,ne]);let C=(0,F.useRef)(null),p=(0,F.useCallback)(f=>{let S=Se(v.current,f,null);S!==-1&&(C.current!==null&&clearTimeout(C.current),C.current=setTimeout(()=>{C.current=null;let w=Se(v.current,f,S);w!==-1&&we.toIndex(w,{align:"bottom"})},Bm))},[we]);(0,F.useEffect)(()=>()=>{C.current!==null&&clearTimeout(C.current)},[]);let u=(0,F.useCallback)(f=>{if(!_.current)return;let S=Pt(f.target,g.current);if(S===null||Oi(f.target,S))return;let w=Hr(S,v.current);w!==null&&(St(w.reportHubId,w.index),K(w.reportHubId,w.index))},[K,St]),E=(0,F.useCallback)((f,S)=>(0,qe.jsx)(Ft.Provider,{value:S,children:(0,qe.jsx)(Al,{item:f,observeRowHeight:Tt,onCommentAdded:p,userId:t,cursor:me})},f.reportHubId),[Tt,p,t,me]),T=(0,F.useMemo)(()=>({...Ln,renderThumbOverlay:vt}),[vt]),L=(0,F.useMemo)(()=>(0,qe.jsx)(Ht.Provider,{value:H,children:(0,qe.jsx)(kl.VirtualScroll,{ref:fe,itemCount:H,getItem:J,getItemKey:Y,getItemHeight:re,viewportSize:a,initialScrollAnchor:s,overscanCount:In,scrollBarOptions:T,behaviorOptions:i?Pm:Pl,onRangeChange:oe,onScrollAdjust:z,onScroll:pt,testId:Ml,className:Hm,locale:x.locale,labels:x.labels,contentProps:_e,children:E})}),[fe,H,J,Y,re,a,i,s,T,oe,z,pt,x.locale,x.labels,_e,E]);return(0,qe.jsx)(qe.Fragment,{children:(0,qe.jsxs)("div",{ref:Ae,className:Fm,...ve,onClick:u,children:[Ce,L]})})};var Sa=Ee(require("lucide-react/dist/esm/icons/refresh-cw.js"));var Qt=require("react"),Qr=(e,t=250)=>{let[r,n]=(0,Qt.useState)(e),o=(0,Qt.useRef)(e),a=(0,Qt.useRef)(!0);return(0,Qt.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,c=d=>{l===null&&(l=d);let y=Math.min(1,Math.max(0,(d-l)/t)),g=1-(1-y)**3,x=Math.round(i+(e-i)*g);o.current=x,n(x),y<1&&(s=requestAnimationFrame(c))};return s=requestAnimationFrame(c),()=>{s!==null&&cancelAnimationFrame(s)}},[e,t]),r};var ht=require("react/jsx-runtime"),Tr=()=>{let e=bt(),{labels:t}=B(),r=Qr(e.loadedCount),n=Qr(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:h(Fe,"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:h(Fe,"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)(Sa.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:h(Fe,"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:()=>Xn(),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,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)(Sa.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null};var er=require("@aiquants/resize-panels"),dd=require("@aiquants/virtualscroll"),ee=require("react");var Hl=require("react"),Fl="(max-width: 639px)",Vm=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};let t=window.matchMedia(Fl);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},Wm=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(Fl).matches:!1,Km=()=>!1,Bl=()=>(0,Hl.useSyncExternalStore)(Vm,Wm,Km);var nt=require("@aiquants/swipe-overlay"),te=require("react");var xo=require("react");var Ul=Object.freeze({id:null,indexHint:null}),Co=(0,xo.createContext)(Object.freeze({selected:Ul,settled:Ul})),en=(e,t)=>{let{id:r,indexHint:n}=t;return(0,xo.useMemo)(()=>{if(r===null)return null;let o=Se(e,r,n);return o===-1?null:e[o]},[e,r,n])};var jl=Ee(require("lucide-react/dist/esm/icons/check.js")),Yl=Ee(require("lucide-react/dist/esm/icons/pencil.js")),ql=Ee(require("lucide-react/dist/esm/icons/trash-2.js")),Z=require("react");var wt=Ee(require("@radix-ui/react-tabs")),Xe=Ee(require("react"));var xr=require("react/jsx-runtime"),Vl=Xe.createContext(null),Wl=e=>{let t=Xe.useContext(Vl);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},Kl=(e,t)=>`${e}-trigger-${t}`,$l=(e,t)=>`${e}-panel-${t}`,tn=Xe.forwardRef(({value:e,children:t,...r},n)=>{let o=Xe.useId(),a=Xe.useMemo(()=>({baseId:o,value:e}),[o,e]);return(0,xr.jsx)(wt.Root,{ref:n,value:e,...r,children:(0,xr.jsx)(Vl,{value:a,children:t})})});tn.displayName=wt.Root.displayName;var rn=Xe.forwardRef(({className:e,...t},r)=>(0,xr.jsx)(wt.List,{ref:r,className:h("inline-flex",e),...t}));rn.displayName=wt.List.displayName;var nn=Xe.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=Wl("TabsTrigger");return(0,xr.jsx)(wt.Trigger,{ref:n,value:t,...r,id:Kl(o,t),"aria-controls":$l(o,t),className:h(`${Ka} ${ae}`,e)})});nn.displayName=wt.Trigger.displayName;var Cr=Xe.forwardRef(({className:e,value:t,children:r,...n},o)=>{let{baseId:a,value:i}=Wl("TabsContent"),s=t===i;return(0,xr.jsx)("div",{ref:o,role:"tabpanel",id:$l(a,t),"aria-labelledby":Kl(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})});Cr.displayName="TabsContent";var N=require("react/jsx-runtime"),Xl=h(Gt,"w-24 shrink-0"),zl={field:"flex items-baseline",label:Xl,value:"flex-1"},$m={field:"flex min-w-0 flex-1 items-baseline",label:Xl,value:"wrap-break-word min-w-0 flex-1"},zm={field:"flex flex-col gap-1",label:Gt,value:""},Gm={field:"flex items-center gap-1",label:Gt,value:""},Gl=h("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",Oo,_a,Aa),jm=h("flex flex-col gap-1",Mo),Ym=h("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",ae),qm=500,va=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)})}},Xm=(e,t,r,n,o,a)=>{let i=(0,Z.useRef)(null),s=e?.reportHubId;(0,Z.useLayoutEffect)(()=>{i.current=null},[s]),(0,Z.useEffect)(()=>{n||(i.current=null)},[n]);let l=(0,Z.useCallback)(async(c,d)=>{d||(i.current=c.reportHubId);try{await a(c.reportHubId,!c.isRead,c.date)}catch{}},[a]);return(0,Z.useEffect)(()=>{if(!(r&&e&&!e.isRead&&!t)||i.current===e.reportHubId)return;let c=null,d=()=>{c!==null&&clearTimeout(c),c=o.isDwelling()?setTimeout(()=>l(e,!0),qm):null};d();let y=o.subscribe(d);return()=>{y(),c!==null&&clearTimeout(c)}},[e,t,r,l,o]),{handleToggleRead:l}},Ea="article",Zm=["article","relations"],Jm=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},Qm=h("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",ft),Zl=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=B(),a=(0,Z.useId)(),i=(0,Z.useId)(),[s,l]=(0,Z.useState)(Ea),{selected:c,settled:d}=(0,Z.useContext)(Co),y=en(e,c),g=en(e,(0,Z.useDeferredValue)(d)),x=y===null?null:y.reportHubId,m=(g===null?null:g.reportHubId)===x,[R]=(0,Z.useState)(()=>va(m));return(0,Z.useLayoutEffect)(()=>{R.set(m)},[R,m]),(0,N.jsx)("aside",{"data-testid":"daily-report-side-pane","data-report-id":y?.reportHubId,"data-displayed-report-id":g?.reportHubId,"aria-busy":m?void 0:!0,className:Qm,children:g===null?(0,N.jsx)("div",{className:h("flex h-full flex-1 items-center justify-center text-center",nr),children:(0,N.jsx)("p",{children:o.selectPrompt})}):(0,N.jsx)(Io,{item:g,headingId:a,authorId:i,activeTab:s,onActiveTabChange:l,autoMarkRead:t,isActive:!0,dwell:R,userId:r,onReportDeleted:n},g.reportHubId)})},Io=(0,Z.memo)(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:l,onReportDeleted:c})=>{let[d,y]=(0,Z.useState)(!1),{draftLabelName:g,labels:x,sourceTypeConfigs:I,headingLevel:m}=B(),{report:R,error:b,isLoading:v}=kt(e.reportHubId,e.businessDate),_=(0,Z.useRef)(null),D=(0,Z.useRef)(null),V=(0,Z.useRef)(null),O=(0,Z.useRef)(!1),W=(0,Z.useRef)(!1),H=(0,Z.useRef)(!1);(0,Z.useEffect)(()=>{if(!R)return;let z=R.labels.some(fe=>fe.name===g);R.reportHubId!==V.current?(V.current=R.reportHubId,z?(y(!0),O.current=!0):(y(!1),O.current=!1)):!z&&d&&O.current&&(y(!1),O.current=!1)},[R,d,g]);let J=!!(l&&R?.userId===l),re=(0,Z.useCallback)(()=>{W.current=!0,O.current=!1,y(!0)},[]),Y=(0,Z.useCallback)(()=>{H.current=!0,y(!1)},[]),le=(0,Z.useCallback)(z=>{z===null||!W.current||(W.current=!1,z.focus())},[]),K=(0,Z.useCallback)(z=>{z===null||!H.current||(H.current=!1,z.focus())},[]),ne=(0,Z.useCallback)(()=>{D.current?.focus({preventScroll:!0})},[]);(0,Z.useLayoutEffect)(()=>{d||!H.current||(H.current=!1,D.current?.focus())},[d]);let j=(0,Z.useCallback)(()=>{setTimeout(()=>{let z=_.current;z!==null&&z.scrollTo({top:z.scrollHeight,behavior:Hi(z)})},100)},[]),$=ye(e.businessDate),me=R===null?null:ge(R.employeeName),ve=v||!R,oe=R===null?void 0:Mt(R.sourceType,I);return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("div",{className:jm,children:[(0,N.jsx)("dl",{className:"m-0",children:(0,N.jsx)(Re,{label:x.businessDate,classNames:zm,children:(0,N.jsx)(Ye,{ref:D,level:m,id:t,tabIndex:-1,className:Ym,children:$})})}),(0,N.jsxs)("div",{className:"flex min-h-4 items-center gap-1 text-slate-500 text-xs dark:text-slate-300",children:[(0,N.jsx)("dl",{className:"m-0",children:(0,N.jsx)(Re,{label:x.author,classNames:Gm,valueId:r,children:ve?(0,N.jsx)("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):me})}),oe?(0,N.jsx)(Sr,{config:oe,className:"ml-2"}):null]})]}),(0,N.jsxs)(tn,{value:n,onValueChange:z=>o(Jm(z)),className:"flex min-h-0 flex-1 flex-col",children:[(0,N.jsx)("div",{className:Mo,children:(0,N.jsx)(rn,{"aria-label":x.reportTabList,className:h(Va,"grid grid-cols-2 gap-1"),children:Zm.map(z=>(0,N.jsx)(nn,{value:z,children:z==="article"?x.tabArticle:x.tabRelations},z))})}),(0,N.jsx)(Cr,{ref:_,value:"article",className:Gl,children:d?R?(0,N.jsx)(uo,{report:R,onCancel:Y,onPublishSuccess:Y,titleInputRef:le}):(0,N.jsx)("p",{className:nr,children:x.loading}):(0,N.jsx)(ep,{report:R,sourceConfig:oe,isLoading:v,error:b,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:j,userId:l,onEdit:J?re:void 0,editButtonRef:K,onReportDeleted:c,onCommentSectionRemoved:ne})}),(0,N.jsx)(Cr,{value:"relations",className:Gl,children:(0,N.jsx)("p",{className:nr,children:x.relationsEmpty})})]})]})});Io.displayName="DailyReportSidePaneContent";var Ir=({className:e="w-32"})=>(0,N.jsx)("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),ep=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:i=!0,dwell:s,onCommentAdded:l,userId:c,onEdit:d,editButtonRef:y,onReportDeleted:g,onCommentSectionRemoved:x})=>{let{toggleStar:I,toggleRead:m,deleteReport:R,user:b}=Me(),{labels:v,headingLevel:_}=B(),D=Bt[_],{uiComments:V,handleAddComment:O,handleDeleteComment:W,pendingDeleteId:H,setPendingDeleteId:J,resolvedIdMap:re}=yr(e,b,c),{handleToggleRead:Y}=Xm(e,r,a,i,s,m),le=e!==null&&vn(e.sourceType,t),K=async oe=>{await O(oe),l?.()},ne=(0,Z.useMemo)(()=>e?.content?e.content.replace(/<br\s*\/?\s*>/gi,`
|
|
1
|
+
"use strict";var Ld=Object.create;var sn=Object.defineProperty;var Ad=Object.getOwnPropertyDescriptor;var _d=Object.getOwnPropertyNames;var Dd=Object.getPrototypeOf,wd=Object.prototype.hasOwnProperty;var Nd=(e,t)=>{for(var r in t)sn(e,r,{get:t[r],enumerable:!0})},La=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of _d(t))!wd.call(e,o)&&o!==r&&sn(e,o,{get:()=>t[o],enumerable:!(n=Ad(t,o))||n.enumerable});return e};var Ee=(e,t,r)=>(r=e!=null?Ld(Dd(e)):{},La(t||!e||!e.__esModule?sn(r,"default",{value:e,enumerable:!0}):r,e)),Od=e=>La(sn({},"__esModule",{value:!0}),e);var ef={};Nd(ef,{DAILY_REPORT_LABEL_CATALOGS:()=>Ho,DAILY_REPORT_LABEL_KEYS:()=>hn,DAILY_REPORT_LAYOUT_LATTICE_PX:()=>ai,DailyReportActionProvider:()=>eo,DailyReportAttachmentIndicator:()=>or,DailyReportConfigProvider:()=>vn,DailyReportDetailList:()=>xo,DailyReportErrorProvider:()=>Qn,DailyReportIdsStreamClient:()=>pr,DailyReportIdsStreamStatus:()=>Tr,DailyReportList:()=>_o,DailyReportPage:()=>Td,DailyReportResolvedContent:()=>wo,bootstrapDailyReportIdsStreamSession:()=>Yn,createDailyReportClientLoader:()=>Cd,dailyReportShouldRevalidate:()=>xd,defaultDailyReportClientConfig:()=>lr,ensureDailyReportIdsStreamSession:()=>fr,primeDailyReportIdsStreamSession:()=>qn,resolveDailyReportLabels:()=>Sn,resolveSourceTypeConfig:()=>Mt,resyncDailyReportIdsStream:()=>Br,useDailyReportActionContext:()=>Me,useDailyReportComments:()=>yr,useDailyReportConfig:()=>B,useDailyReportDetail:()=>kt,useDailyReportIdsStream:()=>bt,useDailyReportPrefetch:()=>Nn,useDailyReportSseConnection:()=>Jn});module.exports=Od(ef);var Ya=Ee(require("lucide-react/dist/esm/icons/paperclip.js"));var Md="data-daily-report-row-surface",je={[Md]:""},tr="data-daily-report-scrolling",rr=8,_r="h-[calc-size(auto,round(up,size,4px))]",Ot="p-[8px]",Aa="pr-[8px]",ln="contain-size contain-layout contain-style",_a="contain-strict",ae="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",Da="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",Oo="scrollbar-thin [scrollbar-gutter:stable]",Mo=`-m-[4px] overflow-hidden p-[4px] ${Oo}`,wa="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",dn="rounded-[calc(var(--radius-2xl)+8px)]",cn="outline-none [&:focus-visible>:where([data-daily-report-row-surface])]:outline-2 [&:focus-visible>:where([data-daily-report-row-surface])]:outline-offset-4 [&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-600 dark:[&: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]",Na="has-[>[data-daily-report-button]:focus-visible]:outline-2 has-[>[data-daily-report-button]:focus-visible]:outline-offset-4 has-[>[data-daily-report-button]:focus-visible]:outline-blue-600 dark: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",Oa=16,nr="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",un="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200",mn="motion-safe:transition-[translate] motion-safe:duration-200 hover:border-blue-300 hover:shadow-lg motion-safe:hover:-translate-y-[2px] [[data-daily-report-scrolling]_&]:transition-none [[data-daily-report-scrolling]_&]:hover:translate-none [[data-daily-report-scrolling]_&]:hover:shadow-sm",Ve=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${ae}`,Ma="-mx-1",ka="flex items-center gap-1",Fe="inline-flex h-6 items-center rounded-full px-3",Pa="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",Ha="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",Nt="size-4",Ie={starOff:`${Nt} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${Nt} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${Nt} text-blue-600 dark:text-blue-400`,delete:`${Nt} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${Nt} text-red-600 dark:text-red-400`,edit:`${Nt} text-slate-500 dark:text-slate-400`},Fa="h-6 w-10 border-4 border-solid",Ba="size-4 data-[state=checked]:translate-x-4",Ua="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]",Va="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var Wa="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",Ka="rounded-xl border border-solid p-[3px]",$a="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",kd="ml-[max(0px,round(down,calc((100%-72rem)/2),4px))]",Pd="bg-slate-50 dark:bg-slate-950",Je="flex min-h-0 flex-1 flex-col",Dr=`${Je} ${Pd}`,wr=`${Je} mx-auto w-full max-w-6xl px-[4px] pt-[4px] ${kd}`,Nr="text-red-700 dark:text-red-400",za="bg-white dark:bg-slate-900",pn="flex min-h-0 flex-1 flex-col overflow-clip contain-size",fn="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",Ga="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",ja={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},Gt="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",xt=`m-0 ${Gt}`,bn="text-balance [word-break:auto-phrase]",yn="[&_.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 Or=require("react/jsx-runtime"),Hd=2,or=({id:e,count:t,label:r})=>t<=0?null:(0,Or.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,Or.jsx)(Ya.default,{className:Nt,"aria-hidden":"true"}),t>=Hd&&(0,Or.jsx)("span",{className:"font-semibold text-xs leading-4",children:t})]});var Fl=require("@aiquants/virtualscroll"),F=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"),c=String(n.getMinutes()).padStart(2,"0"),d=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${i}T${l}:${c}:${d}`}return`${o}-${a}-${i}`};var Ct=require("react");var Fd=/^\d{4}-\d{2}-\d{2}$/,Bd=/^\d{4}\/\d{2}\/\d{2}$/,gn=e=>e<10?`0${e}`:`${e}`,qa=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=gn(e.getMonth()+1),n=gn(e.getDate());return`${t}-${r}-${n}`},ko=(e=new Date)=>Number.isNaN(e.getTime())?ko(new Date):`${e.getFullYear()}-${gn(e.getMonth()+1)}-${gn(e.getDate())}`,jt=e=>{if(e==null)return null;if(e instanceof Date)return qa(e);let t=e.trim();if(t==="")return null;if(Fd.test(t))return t;if(Bd.test(t))return t.replaceAll("/","-");let r=new Date(t);return qa(r)};var ar=(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 ri=require("@aiquants/virtualscroll"),sr=require("react");var Ud=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,Ne=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${Ud(r)}`),Xa=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),Rn=(e,t,r)=>Ne(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t);var lt=require("@aiquants/virtualscroll");var Ja=["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"],Qa=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","rowState"],hn=[...lt.VIRTUAL_SCROLL_LABEL_KEYS,...Ja,...Qa];var Vd=Object.freeze({en:"en-US",ja:"ja-JP"}),We=(e,t)=>t.toLocaleString(Vd[e]),Wd=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"}),Kd=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"}),Po=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: ${We("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${We("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${We("en",e)} / ${We("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${We("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${We("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${We("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${Kd[e]}. Please try again later.`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`}),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: ${We("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${We("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${We("ja",e)} / ${We("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${We("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${We("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${We("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${Wd[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":""}`})}),Ho=Object.freeze({en:Object.freeze({...lt.VIRTUAL_SCROLL_LABEL_CATALOGS.en,...Po.en}),ja:Object.freeze({...lt.VIRTUAL_SCROLL_LABEL_CATALOGS.ja,...Po.ja})}),$d=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},Za=(e,t,r)=>{e[t]=r},Sn=(e,t)=>{let r=(0,lt.resolveVirtualScrollLocale)(e);if(t===void 0)return Ho[r];if(t===null||typeof t!="object")throw Ne("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Ne("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!hn.includes(i))throw Rn("labels key",i,hn);let a={...(0,lt.resolveVirtualScrollLabels)(r,$d(t)),...Po[r]};for(let i of Ja){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw Ne(`labels.${i}`,"a non-blank string",s);Za(a,i,s)}}for(let i of Qa){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw Ne(`labels.${i}`,"a function",s);Za(a,i,s)}}return Object.freeze(a)},ei=e=>{let t={};for(let r of lt.VIRTUAL_SCROLL_LABEL_KEYS)t[r]=e[r];return Object.freeze(t)};var ir=require("react/jsx-runtime"),zd=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),Gd=({title:e,annotation:t})=>(0,ir.jsxs)("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[(0,ir.jsx)("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?(0,ir.jsx)("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),lr=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:Gd,showDevControls:!1,headingLevel:3}),ti=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired"];var jd=e=>{for(let t of Object.keys(e))if(!ti.includes(t))throw Rn("config key",t,ti)},Yd=[2,3,4,5],qd=e=>{if(e===void 0)return lr.headingLevel;let t=Yd.find(r=>r===e);if(t===void 0)throw Ne("config.headingLevel","an integer from 2 to 5 (the level of each report's heading)",e);return t},Xd=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Ne(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},ni=e=>{jd(e);let t=e.onSessionExpired;if(t===void 0)throw Xa("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Ne("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=(0,ri.resolveVirtualScrollLocale)(e.locale),n=Sn(r,e.labels),o=lr;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?zd(n):Xd(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:qd(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired}},Zd=()=>{throw new Error("[daily-report] onSessionExpired is not wired: render inside DailyReportConfigProvider with a config")},oi=(0,sr.createContext)(ni({onSessionExpired:Zd})),vn=({config:e,children:t})=>{let r=(0,sr.useMemo)(()=>ni(e),[e]);return(0,ir.jsx)(oi.Provider,{value:r,children:t})},B=()=>(0,sr.useContext)(oi),Mt=(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},En=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";var ii=require("@aiquants/virtualscroll");var ai=4;var dr=120,si=1e3,Tn=.8,Bo={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},xn=20,li=6,Cn={reportHubId:-1,businessDate:null},In=240,Ln=15,Jd=8,di=460,ci=3,ui=352,Qd={enabled:!0,renderVisual:ii.tapScrollCircleSampleVisual,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},An={width:Jd,tapScrollCircleOptions:Qd,enableArrowButtonTabStops:!1},_n=["pen","touch"];var fi=ar(1,"use-daily-report"),bi=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},Vo=bi("__DAILY_REPORT_CACHE_TTL__",3e5),ec=bi("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),q={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=>{q.listeners.forEach(t=>{t(e)})},getReport(e,t=!1){let r=this.reports.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},getList(e,t=!1){let r=e&&this.lists.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},set(e,t,r=!0){if(this.reports.set(e.reportHubId,{data:e,expiresAt:t}),r){let n=jt(e.date),o=n?this.lists.get(n):null;if(o&&n){let i=o.data.some(s=>s.reportHubId===e.reportHubId)?o.data.map(s=>s.reportHubId===e.reportHubId?e:s):[e,...o.data];this.lists.set(n,{...o,data:i})}}this.notify(e.reportHubId)},update(e,t,r=!0){let n=this.reports.get(e);if(n?.data){if(r&&t.updatedAt&&n.data.updatedAt&&new Date(t.updatedAt).getTime()<new Date(n.data.updatedAt).getTime()){fi.warn(`[DailyReportCache] Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+ec))}},delete(e,t){this.reports.delete(e);let r=jt(t),n=r&&this.lists.get(r);n&&r&&this.lists.set(r,{...n,data:n.data.filter(o=>o.reportHubId!==e)}),this.notify(e)},merge(e,t){let r=e;if(r.postedComments.some(n=>this.recentDeletes.has(n.id))&&(r={...r,postedComments:r.postedComments.filter(n=>!this.recentDeletes.has(n.id))}),t){let n=new Set(r.postedComments.map(a=>a.id)),o=t.postedComments.filter(a=>!n.has(a.id)&&a.isMine&&Date.now()-new Date(a.createdAt||0).getTime()<1e4);o.length>0&&(r={...r,postedComments:[...r.postedComments,...o].sort((a,i)=>new Date(a.createdAt||0).getTime()-new Date(i.createdAt||0).getTime())})}return r},cacheMany(e,t,r){this.prune();let n=Date.now(),o=n+Vo;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,c=this.merge(i,l);return this.set(c,o,!1),c});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},yi=(e,t,r=!0)=>q.set(e,t,r),Qe=(e,t)=>q.getReport(e,t?.ignoreExpiry),et=(e,t)=>q.update(e,t),wn=(e,t)=>q.delete(e,t),Mr=()=>{q.clear(),Dn.clear()},kr=e=>{q.locks.add(e),q.lastMutations.set(e,Date.now())},Pr=e=>{q.locks.delete(e),q.lastMutations.set(e,Date.now())},gi=e=>q.recentDeletes.set(e,Date.now()),Ri=(e,t)=>{let r=n=>{n===e&&t()};return q.listeners.add(r),()=>{q.listeners.delete(r)}},Yt=(e,t)=>{q.prune(),q.set(t,Date.now()+Vo)},hi=e=>{q.prune();let t=q.getReport(e.reportHubId,!0),r=new Map;for(let o of t?.postedComments??[])r.set(o.id,o.isMine??!1);let n=(e.postedComments??[]).map(o=>({...o,isMine:r.get(o.id)??!1}));q.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+Vo)},tc=async(e,t)=>{let r=q.getReport(t);if(r)return r;let n=q.pendingReports.get(t);if(n)return n;let o=Date.now(),a=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 q.cacheMany([s],null,o)[0]}).finally(()=>q.pendingReports.delete(t));return q.pendingReports.set(t,a),a},Dn=new Map,rc=1e4,nc=(e,t)=>{let r=Dn.get(t),n=Date.now();if(r&&n-r.at<rc)return r.inFlight;let o=Wo(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return Dn.set(t,a),o.finally(()=>{Dn.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},Wo=async(e,t,r={})=>{let n=r.forceRefresh?null:q.getList(t);if(n)return n;let o=q.pendingLists.get(t);if(o)return o;let a=Date.now(),i=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 q.cacheMany(s.reports??[],t,a)}).finally(()=>q.pendingLists.delete(t));return q.pendingLists.set(t,i),i},Uo=(e,t)=>{let r=q.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!q.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=q.lists.get(t),o=n?.data.find(a=>a.reportHubId===e);return n===void 0||o===void 0?{report:null,isStale:!1}:{report:o,isStale:!q.isValid(n.expiresAt)}},mi=(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}=Uo(e,jt(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},cr=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,kt=(e,t)=>{let{apiBasePath:r}=B(),[n,o]=(0,Ct.useState)(()=>mi(e,t)),a=(0,Ct.useRef)(0),i=n;return n.id!==e&&(i=mi(e,t),o(i)),(0,Ct.useEffect)(()=>{let s=jt(t),l=c=>{c===e&&o(cr(e,{report:Uo(e,s).report}))};return q.listeners.add(l),()=>{q.listeners.delete(l)}},[e,t]),(0,Ct.useEffect)(()=>{let s=jt(t);a.current+=1;let l=a.current,c=()=>{a.current+=1};if(e<=0)return c;let{report:d,isStale:y}=Uo(e,s);if(d&&!y)return o(cr(e,{report:d,error:null,isLoading:!1,isRefetching:!1})),c;o(cr(e,{report:d,isLoading:!d,isRefetching:!0}));let g=async()=>{try{let I=null;if(s){let m=q.getList(s)!==null;if(I=(await Wo(r,s)).find(b=>b.reportHubId===e)??null,!I&&m){let b=await nc(r,s);b&&(I=b.find(E=>E.reportHubId===e)??null)}}else I=await tc(r,e);a.current===l&&o(cr(e,{report:I,error:null}))}catch(I){a.current===l&&o(cr(e,{error:I instanceof Error?I:new Error("Load failed")}))}finally{a.current===l&&o(cr(e,{isLoading:!1,isRefetching:!1}))}};if(d===null)return g(),c;let x=setTimeout(g,dr);return()=>{clearTimeout(x),c()}},[e,t,r]),{report:i.report,error:i.error,isLoading:i.isLoading,isRefetching:i.isRefetching}},Nn=()=>{let{apiBasePath:e}=B();return(0,Ct.useCallback)(t=>{let r=jt(t);r&&!q.getList(r)&&Wo(e,r).catch(n=>fi.warn("Prefetch error",r,n))},[e])};var Si=require("@aiquants/virtualscroll"),vi=require("react");var On=()=>{let{locale:e,labels:t}=B(),r=ei(t),n=(0,vi.useRef)(null),o=n.current;return o!==null&&Si.VIRTUAL_SCROLL_LABEL_KEYS.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};var Hn=require("react"),Di=require("react-dom");var xi=Object.freeze({visibilityProperty:!0}),Ei=new Set(["auto","scroll"]),Ti=new Set(["","true","plaintext-only"]),Ci=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=_i(n)?n.host:null}return!1},oc=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(xi))return!0;return!1},Ii=e=>e.localName==="area"?oc(e):e.checkVisibility(xi),ac=e=>{let t=e.getAttribute("contenteditable");if(t===null||!Ti.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(Ti.has(o))return!1;if(o==="false")return!0}return!0},ic=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&&Ii(n)&&(r=n)}return r===e},sc=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&&Ei.has(a.overflowX)||n&&Ei.has(a.overflowY)},lc=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 ac(e)}},dc=/^[\t\n\f\r ]*[+-]?\d/,cc=e=>{let t=e.getAttribute("tabindex");return t!==null&&dc.test(t)?e.tabIndex:null},Li=(e,t)=>{for(let r of $o(e))if(t(r)||Li(r,t))return!0;return!1},Mn=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=uc(e,t);return t.set(e,n),n},uc=(e,t)=>{if(!zo(e))return"none";let r=cc(e),n=r===null&&lc(e),o=r===null&&!n&&sc(e);return!(r!==null||n||o)||e.matches(":disabled")||Ci(e)||!Ii(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?ic(e)?"sequential":"programmatic":"sequential":Li(e,a=>Mn(a,t)==="sequential")?"none":"sequential"},Ko=(e,t)=>{for(let r of $o(e))t(r),Ko(r,t)},$o=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 kn=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return Ko(e,l=>{Mn(l,a)==="sequential"&&n.push(l)}),{before:r,within:n,after:o};let i=!1,s=(l,c)=>{for(let d of $o(l)){let y=d===t;!y&&Mn(d,a)==="sequential"&&(c?n.push(d):i?o.push(d):r.push(d)),s(d,c||y),y&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},Ai=e=>{let t=[],r=new Map;return Ko(e,n=>{Mn(n,r)==="sequential"&&t.push(n)}),t},Te=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,zo=e=>"focus"in e&&"blur"in e,mc=e=>e.nodeType===e.DOCUMENT_NODE,_i=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,Ke=e=>{let t=e.getRootNode();if(_i(t)){let r=t.activeElement;return r===null?Ke(t.host):r}return mc(t)?t.activeElement:null},Pn=e=>{let t=Ke(e);return t===null||t===t.ownerDocument.body||Ci(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 Fn=e=>{let[t,r]=(0,Hn.useState)(null);return(0,Hn.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 c=o===null;o=l,c?(0,Di.flushSync)(()=>r(l)):r(l)},i=l=>{for(let c of l)a(c.borderBoxSize[0].blockSize)},s=new(dt(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var wi=(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 Bn="data-daily-report-row",Ni=`[role="listitem"][${Bn}]`,pc='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',fc=/^[1-9]\d*$/,Oi=e=>{if(e===null||!fc.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},Pt=(e,t)=>{if(t===null||!Te(e))return null;let r=e.closest(Ni);return r===null||r===t||!t.contains(r)?null:r},qt=e=>Oi(e.getAttribute(Bn)),ur=e=>Oi(e.getAttribute("aria-posinset")),Mi=e=>{let t=e.closest(Ni),r=t===null?null:ur(t);return r===null?null:r-1},Hr=(e,t)=>{if(e===null)return null;let r=qt(e);if(r===null)return null;let n=ur(e),o=Se(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},ki=(e,t)=>{if(!Te(e))return!1;let r=e.closest(pc);return r!==null&&r!==t&&t.contains(r)};var Go=require("react"),Ht=(0,Go.createContext)(0),Ft=(0,Go.createContext)(-1);var Pi=require("clsx"),Hi=require("tailwind-merge");function h(...e){return(0,Hi.twMerge)((0,Pi.clsx)(e))}var Xt=require("react");var Fi="(prefers-reduced-motion: reduce)",Bi=e=>dt(e).matchMedia(Fi).matches?"instant":"smooth",bc=Object.freeze({...Bo,startVelocityThreshold:Number.POSITIVE_INFINITY}),mr=e=>e?bc:Bo,yc=()=>!1,Un=e=>{let t=(0,Xt.useMemo)(()=>e===null?null:dt(e).matchMedia(Fi),[e]),r=(0,Xt.useCallback)(o=>t===null?()=>{}:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=(0,Xt.useCallback)(()=>t===null?!1:t.matches,[t]);return(0,Xt.useSyncExternalStore)(r,n,yc)};var Vi=require("react");var Vn=require("react/jsx-runtime"),Wn=()=>{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)})}},Ui=16,gc=(e,t)=>e==="vertical"?{top:0,left:-Ui,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-Ui,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},Kn=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=(0,Vi.useSyncExternalStore)(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?(0,Vn.jsx)("div",{className:"pointer-events-none absolute flex items-center",style:gc(e,t),children:(0,Vn.jsx)("div",{className:h(Pa,"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,Vn.jsx)("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};var se=require("react");var X=require("react");var Wi=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 $n=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,Ki=e=>{for(let t=1;t<e.length;t++)if($n(e[t-1],e[t])>0)return!1;return!0},jo=(e,t)=>{let r=e.filter(a=>a.reportHubId!==t.reportHubId),n=0,o=r.length;for(;n<o;){let a=n+o>>1;$n(r[a],t)<=0?n=a+1:o=a}return r.splice(n,0,t),r};var Ur=require("@aiquants/sse"),es=require("@aiquants/sse/client"),ts=require("@aiquants/sse/react"),ct=require("react");var A=require("zod"),$i=["auth-required","forbidden","resync-required"],Yo=15e3,zi="lastEventId",Rc=/^\d{1,15}-\d{1,15}$/,zn=e=>Rc.test(e),hc=A.z.object({name:A.z.string().nullish(),affiliation:A.z.string().nullish()}),Sc=A.z.object({name:A.z.string().nullish(),text:A.z.string().nullish(),color:A.z.string().nullish()}),vc=A.z.object({id:A.z.number(),name:A.z.string().nullish(),color:A.z.string().nullish()}),Gi=A.z.object({id:A.z.number(),userId:A.z.string().nullish(),userName:A.z.string().nullish(),content:A.z.string().nullish(),createdAt:A.z.string().nullish(),isMine:A.z.boolean()}),Ec=A.z.object({id:A.z.string(),fileName:A.z.string(),fileType:A.z.string().nullable(),fileSize:A.z.number().nullable(),createdAt:A.z.string().nullable(),state:A.z.enum(["present","absent","unknown"]),hasThumbnail:A.z.boolean().default(!1)}),qo=A.z.object({reportHubId:A.z.number(),date:A.z.string().nullish(),createdAt:A.z.string().nullish(),author:A.z.string().nullish(),userId:A.z.string().nullish(),sourceType:A.z.string().nullish(),employeeName:A.z.string().nullish(),updatedBy:A.z.string().nullish(),updatedAt:A.z.string().nullish(),category:A.z.string().nullish(),creationCategory:A.z.string().nullish(),visitTimeFrom:A.z.string().nullish(),visitTimeTo:A.z.string().nullish(),customerName:A.z.string().nullish(),interviewers:A.z.array(hc),subject:A.z.string().nullish(),content:A.z.string().nullish(),externalComments:A.z.array(Sc),isRead:A.z.boolean(),isStarred:A.z.boolean(),labels:A.z.array(vc),postedComments:A.z.array(Gi),attachments:A.z.array(Ec).default([])}),Tc=A.z.object({type:A.z.literal("connected")}),xc=A.z.object({type:A.z.literal("status-update"),reportHubId:A.z.number(),statusType:A.z.enum(["star","read"]),value:A.z.boolean(),clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional()}),Xo=A.z.string().optional(),Cc=A.z.object({type:A.z.literal("comment-add"),reportHubId:A.z.number(),comment:Gi,clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional(),sourceType:Xo}),Ic=A.z.object({type:A.z.literal("comment-delete"),reportHubId:A.z.number(),commentId:A.z.number(),clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional(),sourceType:Xo}),Lc=A.z.object({type:A.z.literal("report-create"),reportHubId:A.z.number(),report:qo,clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional()}),Ac=A.z.object({type:A.z.literal("report-update"),reportHubId:A.z.number(),report:qo,clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional()}),_c=A.z.object({type:A.z.literal("report-publish"),reportHubId:A.z.number(),report:qo,clientTempId:A.z.string(),recipientRawUserId:A.z.number().optional()}),Dc=A.z.object({type:A.z.literal("report-delete"),reportHubId:A.z.number(),clientTempId:A.z.string(),sourceType:Xo}),ji=A.z.discriminatedUnion("type",[Tc,xc,Cc,Ic,Lc,Ac,_c,Dc]);var Xi=require("react");var Yi=()=>{let e=new TextDecoder,t=[],r=0,n=o=>{r+=o.length;let a=[],i=0;for(let s=o.indexOf(`
|
|
2
|
+
`);s!==-1;s=o.indexOf(`
|
|
3
|
+
`,i)){let l=o.slice(i,s);a.push(t.length===0?l:[...t,l].join("")),t=[],i=s+1}return i<o.length&&t.push(o.slice(i)),a};return{push:o=>n(e.decode(o,{stream:!0})),end:()=>{let o=n(e.decode()),a=t.join("");return t=[],a===""?o:[...o,a]},get scannedCharacters(){return r}}};var wc=50,Nc=1e3,Oc=3e4,Mc=6,kc=3e4,Gn=Symbol("read-stall"),Pc="/daily_report/api",Hc=/^\d{4}-\d{2}-\d{2}$/,pr=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??Pc,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??kc,this.publishCoalesceMs=t.publishCoalesceMs??wc,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>=Mc){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(Nc*2**(this.consecutiveFailures-1),Oc))}}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(d=>{o=this.setTimeoutFn(()=>d(Gn),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===Gn)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=Yi(),l=!1,c=!1;for(;;){let d=await this.readWithStallGuard(i);if(d===Gn)return r.abort(),i.cancel().catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let y=d.done?s.end():s.push(d.value),g=!1;for(let x of y){if(x.trim()==="")continue;let I;try{I=JSON.parse(x)}catch{this.warn("[DailyReportIdsStream] skipped malformed line");continue}let m=Wi(I);if(m==="unknown"){this.warn("[DailyReportIdsStream] skipped line of unknown kind");continue}if(m==="error"){l=!0;continue}let R=I;g=this.absorbChunkLine(R)||g,typeof R.total=="number"&&Number.isFinite(R.total)&&R.total!==this.state.totalCount&&this.publish({totalCount:R.total}),R.nextCursor&&(R.nextCursor.businessDate===null||Hc.test(R.nextCursor.businessDate))&&(this.lastCursor=R.nextCursor),R.isLast&&(c=!0)}if(g&&(this.consecutiveFailures=0,this.schedulePublishItems()),d.done)break}return l?{kind:"retryable",error:new Error("Stream interrupted by server error")}:c?{kind:"complete"}:{kind:"retryable",error:new Error("Stream ended before completion")}}catch(n){return n instanceof Error&&n.name==="AbortError"?{kind:"aborted"}:{kind:"retryable",error:n instanceof Error?n:new Error(String(n))}}finally{this.activeAbortController===r&&(this.activeAbortController=null)}}async readWithStallGuard(t){if(this.readStallTimeoutMs<=0)return t.read();let r=null,n=new Promise(o=>{r=this.setTimeoutFn(()=>o(Gn),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"&&zn(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}/ids-stream${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 Zo={},Fc=6e4,pe=null,qi=!1,Jo=new Set,Zi={items:[],loadedCount:0,totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},Qo=()=>{for(let e of Jo)e()},ea=()=>{pe&&(pe.unsubscribe(),pe.client.dispose(),pe=null,Qo())},fr=e=>{if(typeof window>"u")return;let t=e.apiBasePath??lr.apiBasePath;if(pe&&(pe.userKey!==e.userKey||pe.apiBasePath!==t)&&(pe.userKey!==e.userKey&&Mr(),ea()),!pe){let r=new pr({apiBasePath:t});pe={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(Qo)},Bc(),r.start(),Qo();return}jn(pe)},jn=e=>{let t=e.client.getState();if(t.phase==="failed"){e.client.retry();return}t.phase==="complete"&&!t.isRevalidating&&t.completedAt!==null&&Date.now()-t.completedAt>Fc&&e.client.refresh()},Bc=()=>{if(qi||typeof document>"u"||typeof window>"u")return;qi=!0;let e=()=>{pe&&jn(pe)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},Yn=e=>{if(!(typeof window>"u")){if(!pe){fr(e);return}if(pe.userKey!==e.userKey){Mr(),ea(),fr(e);return}jn(pe)}},qn=()=>{typeof window>"u"||!pe||jn(pe)},Fr=e=>{pe?.client.applyExternalUpsert(e)},Xn=e=>{pe?.client.applyExternalRemoval(e)},Zn=()=>{pe?.client.retry()},Br=()=>{pe?.client.resync()},ta=(e={})=>{pe?.client.refresh(e)},Ji=()=>pe?.userKey,Uc=e=>(Jo.add(e),()=>Jo.delete(e)),Vc=()=>pe?.client.getState()??Zi,Wc=()=>Zi,bt=()=>(0,Xi.useSyncExternalStore)(Uc,Vc,Wc);typeof Zo<"u"&&Zo.hot&&Zo.hot.dispose(()=>{ea()});var Zt=ar(1,"daily-report-sse-connection"),Kc=Object.freeze({kind:"resyncing"}),Qi={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},$c=1,rs=Yo*3,zc=rs+Yo,Jn=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=B(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=bt(),[l,c]=(0,ct.useState)({generation:0,minAnchorRevision:1,anchored:!1}),d=l.generation>0&&!l.anchored,y=d&&a==="complete"&&!i?s:null,g=(0,ct.useRef)(0),x=(0,ct.useRef)(null),I=(0,ct.useRef)(n);I.current=n;let m=(0,ct.useRef)(0);m.current=o===null?0:o.revision,(0,ct.useEffect)(()=>{l.anchored||o===null||o.revision<l.minAnchorRevision||(x.current=o.lastEventId,g.current=0,c({...l,anchored:!0}))},[l,o]),(0,ct.useEffect)(()=>{if(!e||y===null)return;let{initialDelayMs:b,maxDelayMs:E,multiplier:w}=Qi,_=Ur.systemSseRuntime.random()*Math.min(E,b*w**g.current);Zt.warn(`SSE resync: the ids rescan gave up (${y.message}); rescanning in ${Math.round(_)} ms`);let V=Ur.systemSseRuntime.setTimer(()=>{g.current+=1,Br()},_);return()=>Ur.systemSseRuntime.clearTimer(V)},[e,y]);let{status:R}=(0,ts.useReopeningEventSource)(e&&l.anchored?`${r}#${l.generation}`:null,{resolveUrl:({lastEventId:b})=>b===null?r:`${r}?${zi}=${encodeURIComponent(b)}`,initialLastEventId:x.current,withCredentials:!1,createEventSource:es.createBrowserEventSource,runtime:Ur.systemSseRuntime,backoff:Qi,healthyOpenMs:zc,nativeRetryLimit:$c,giveUpAfterFailures:"never",terminalEvents:$i,heartbeat:{staleAfterMs:rs,onHeartbeat:null},events:{message:b=>{b.lastEventId!==""&&(zn(b.lastEventId)?x.current=b.lastEventId:Zt.warn("SSE event carried a malformed id; keeping the previous cursor:",b.lastEventId));try{let E=JSON.parse(b.data),w=ji.safeParse(E);if(!w.success){Zt.error("SSE Validation Error:",w.error.flatten(),"raw message:",E);return}if(w.data.type==="connected"){Zt.info("SSE Subscribe Ready");return}t(w.data)}catch(E){Zt.error("SSE Parse Error",E)}}}});return(0,ct.useEffect)(()=>{if(R.kind==="faulted"){Zt.error("SSE connection faulted:",R.error);return}if(R.kind==="terminated")switch(R.terminalEvent){case"auth-required":I.current();return;case"forbidden":Zt.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let b=m.current+1;c(E=>({generation:E.generation+1,minAnchorRevision:b,anchored:!1})),Br();return}}},[R]),e&&d?Kc:R};var Oe=require("react");var br=require("react/jsx-runtime"),Gc=8e3,jc="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",Yc=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",wa),ns=(0,Oe.createContext)({notifyError:()=>{}}),os=()=>(0,Oe.useContext)(ns),Qn=({children:e})=>{let{onError:t,labels:r}=B(),[n,o]=(0,Oe.useState)(null),a=(0,Oe.useRef)(t);a.current=t;let i=(0,Oe.useRef)(null),s=(0,Oe.useCallback)(d=>{let y=a.current;if(y){y(d);return}o(d)},[]),l=(0,Oe.useCallback)(()=>{i.current!==null&&(clearTimeout(i.current),i.current=null),o(null)},[]);(0,Oe.useEffect)(()=>{if(n)return i.current=setTimeout(()=>o(null),Gc),()=>{i.current!==null&&(clearTimeout(i.current),i.current=null)}},[n]);let c=(0,Oe.useMemo)(()=>({notifyError:s}),[s]);return(0,br.jsxs)(ns.Provider,{value:c,children:[e,n&&(0,br.jsxs)("div",{role:"alert","data-testid":"daily-report-error-banner",className:jc,children:[(0,br.jsx)("span",{className:"font-medium",children:n.message}),(0,br.jsx)("button",{type:"button","aria-label":r.close,onClick:l,className:Yc,children:"\u2715"})]})]})};var as=require("react/jsx-runtime"),yt=ar(1,"daily-report-action-context"),qc=Object.freeze([]),ra=globalThis.__DailyReportActionContext??(0,X.createContext)(null);globalThis.__DailyReportActionContext=ra;var Me=()=>{let e=(0,X.useContext)(ra);if(!e)throw new Error("[daily-report] useDailyReportActionContext must be used within a DailyReportActionProvider");return e},Jt=(e,t)=>{if(!e)return t;if(e.displayName?.trim())return e.displayName;if(e.name){let n=[e.name.familyName,e.name.givenName].filter(o=>typeof o=="string"&&o!=="").join(" ");if(n.trim())return n.trim()}let r=e.emails?.[0]?.value;return r||t},eo=({children:e,user:t,initialItems:r=qc,userId:n})=>{let{apiBasePath:o,draftLabelName:a,labels:i}=B(),{notifyError:s}=os(),l=(0,X.useRef)(s);l.current=s;let c=(0,X.useRef)(new Map),d=(0,X.useRef)(new Map),y=(0,X.useRef)(new Map),g=(0,X.useRef)(new Map),x=(0,X.useRef)(new Map),[I,m]=(0,X.useState)(0),[R,b]=(0,X.useState)(r),[E,w]=(0,X.useState)(!1),_=(0,X.useRef)(!1),V=(0,X.useRef)(new Map),O=(0,X.useRef)(new Set),W=(0,X.useRef)(new Set),H=(0,X.useRef)(new Set),J=bt(),re=(0,X.useRef)(!1);re.current=J.phase==="complete"&&!J.isRevalidating;let Y=(0,X.useCallback)(()=>Ji()===(n??null),[n]),le=(0,X.useCallback)(async()=>{yt.info("[DailyReportActionProvider] Refetching data without page reload..."),ta(),m(p=>p+1),q.listeners.forEach(p=>{p(-1)})},[]),K=(0,X.useCallback)(async()=>{yt.info("[DailyReportActionProvider] Clearing client & server/DB cache and refetching data without page reload..."),Mr(),W.current.clear();try{sessionStorage.clear()}catch{}try{let p=new FormData;p.append("intent","clearCache");let u=await fetch(`${o}/action`,{method:"POST",body:p});if(!u.ok){let v=await u.json().catch(()=>null);yt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",u.status,v)}}catch(p){yt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",p)}Y()&&(ta({forceRefresh:!0}),m(p=>p+1),q.listeners.forEach(p=>{p(-1)}))},[o,Y]),ne=(0,X.useRef)(new Map),j=(0,X.useRef)(()=>{}),$=(0,X.useCallback)((p,u)=>{let v=ne.current,T=v.get(p);if(T){T.messages.push(u);return}let L={messages:[u],unsubscribe:()=>{},timer:setTimeout(()=>{let f=v.get(p);f&&(f.unsubscribe(),v.delete(p),yt.warn(`[SSE Queue] Expired: reportHubId=${p}, dropped=${f.messages.length} messages`))},3e4)};L.unsubscribe=Ri(p,()=>{let f=v.get(p);if(f&&Qe(p,{ignoreExpiry:!0})){f.unsubscribe(),clearTimeout(f.timer),v.delete(p),yt.info(`[SSE Queue] Replaying ${f.messages.length} messages for reportHubId=${p}`);for(let S of f.messages)j.current(S)}}),v.set(p,L)},[]),me=p=>{H.current.add(p),setTimeout(()=>{H.current.delete(p)},3e4)},ve=(0,X.useCallback)(p=>!!p&&H.current.has(p),[]),oe=(0,X.useCallback)((p,u)=>{u!==void 0&&Fr({reportHubId:p,businessDate:u??null}),b(v=>{let T=v.find(f=>f.reportHubId===p),L=u??T?.businessDate??null;return jo(v,{reportHubId:p,businessDate:L,sourceType:T?.sourceType})})},[]),z=()=>{n&&(_.current=!0,w(p=>!p))};(0,X.useEffect)(()=>{if(!n)return;let p=setTimeout(()=>{_.current||w(!0)},si);return()=>clearTimeout(p)},[n]);let fe=(0,X.useCallback)(p=>{Y()&&(W.current.add(p),Xn(p),b(u=>u.filter(v=>v.reportHubId!==p)))},[Y]),[xe,we]=(0,X.useState)(r);if(r!==xe){we(r);let p=new Map;for(let T of r)W.current.has(T.reportHubId)||p.set(T.reportHubId,T);let u=re.current;for(let T of R)p.has(T.reportHubId)||W.current.has(T.reportHubId)||u&&T.reportHubId>0||p.set(T.reportHubId,T);let v=Array.from(p.values());Ki(v)||v.sort($n),b(v)}(0,X.useEffect)(()=>{if(re.current){let p=new Set(r.map(u=>u.reportHubId));for(let u of W.current)p.has(u)||W.current.delete(u)}},[r]);let Ae=(0,X.useCallback)(p=>{if(Y()&&!ve(p.clientTempId))switch(p.type){case"comment-add":{let{comment:u,reportHubId:v}=p,T=Qe(v,{ignoreExpiry:!0});if(T){if(T.postedComments.some(M=>M.id===u.id))return;let L=!1,f=c.current.get(v);if(f){for(let[M,U]of f.entries())if(U===u.content){f.delete(M),x.current.set(M,u.id),L=!0;break}}let S={...u,userName:u.userName||(L?Jt(t,i.unknownUser):i.unknownUser),createdAt:u.createdAt||new Date().toISOString(),isMine:L},D={...T,postedComments:[...T.postedComments,S].sort((M,U)=>new Date(M.createdAt||0).getTime()-new Date(U.createdAt||0).getTime())};Yt(v,D),kr(v),Pr(v),m(M=>M+1)}else $(v,p);break}case"comment-delete":{let{commentId:u,reportHubId:v}=p,T=Qe(v,{ignoreExpiry:!0});if(T){let L={...T,postedComments:T.postedComments.filter(f=>f.id!==u)};Yt(v,L),kr(v),Pr(v),m(f=>f+1)}else $(v,p);break}case"status-update":{let{statusType:u,value:v,reportHubId:T}=p,L=Qe(T,{ignoreExpiry:!0});if(u==="star")if(y.current.get(T)===v&&y.current.delete(T),L){let f={...L,isStarred:v};Yt(T,f),m(S=>S+1)}else $(T,p);else if(u==="read")if(g.current.get(T)===v&&g.current.delete(T),L){let f={...L,isRead:v};Yt(T,f),m(S=>S+1)}else $(T,p);break}case"report-delete":{let{reportHubId:u}=p;O.current.delete(u),W.current.add(u),Xn(u);let v=ne.current.get(u);v&&(v.unsubscribe(),clearTimeout(v.timer),ne.current.delete(u));let T=Qe(u,{ignoreExpiry:!0});T?.date&&(wn(u,T.date),m(L=>L+1)),b(L=>L.filter(f=>f.reportHubId!==u));break}case"report-create":case"report-update":case"report-publish":{let{report:u}=p;hi(u),(p.type==="report-create"||p.type==="report-publish")&&(O.current.add(u.reportHubId),oe(u.reportHubId,u.date)),m(v=>v+1);break}}},[ve,Y,oe,t,$,i.unknownUser]);j.current=Ae,(0,X.useEffect)(()=>()=>{for(let p of ne.current.values())p.unsubscribe(),clearTimeout(p.timer);ne.current.clear()},[]);let _e=Jn({isSseEnabled:E,onMessage:Ae}),Ce=async(p,u,v,T,L,f)=>{f?.skipLock||kr(p),L.onOptimistic?.();let S=T.clientTempId||crypto.randomUUID();me(S);let D=new FormData;D.append("intent",u),D.append("reportHubId",String(p)),typeof v=="string"&&D.append("businessDate",v),D.append("operationTimestamp",String(Date.now())),D.append("clientTempId",S);for(let[M,U]of Object.entries(T))M!=="clientTempId"&&D.append(M,U);try{let M=await fetch(`${o}/action`,{method:"POST",body:D,headers:{Accept:"application/json"}});if(!M.ok){let ue=new Error(`Failed to ${u}`);throw Object.assign(ue,{status:M.status}),ue}let U=await M.json();if(U.status!=="OK"||u!=="create"&&String(U.reportHubId)!==String(p))throw new Error(`Invalid response for ${u}`);if(typeof U.clientTempId!="string"||U.clientTempId!==S)throw new Error(`Invalid clientTempId for ${u}`);if(!Y())throw yt.warn(`[executeAction] ${u} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${u}`);return await L.onSuccess?.(U)}catch(M){throw yt.error(`${u} failed:`,M),Y()&&(L.onFailure?.(),l.current({operation:u,message:i.operationFailed(u),cause:M})),M}finally{f?.keepLock||f?.skipLock||Pr(p)}},at=async(p,u,v)=>{let T=Number(p),L=-1*Date.now(),f=Ce(T,"addComment",v,{content:u,clientTempId:String(L)},{onOptimistic:()=>{c.current.has(T)||c.current.set(T,new Map),c.current.get(T)?.set(L,u),m(S=>S+1)},onSuccess:S=>{if(!S.newComment)throw new Error("No new comment returned");let D=S.newComment.id;x.current.set(L,D),c.current.get(T)?.delete(L);let M=Qe(T,{ignoreExpiry:!0});return M&&!M.postedComments.some(U=>U.id===D)&&et(T,{postedComments:[...M.postedComments,{...S.newComment,id:D,isMine:!0,userName:Jt(t,i.unknownUser)}],updatedAt:S.updatedAt}),D},onFailure:()=>{c.current.get(T)?.delete(L)}},{skipLock:!0}).finally(()=>V.current.delete(L));V.current.set(L,f),await f},St=async(p,u,v)=>{let T=Number(p);d.current.has(T)||d.current.set(T,new Set),d.current.get(T)?.add(u),m(f=>f+1);let L=u;if(u<0){let f=x.current.get(u);if(f!==void 0)L=f;else{let S=V.current.get(u);if(!S)return;try{L=await S}catch{return}}}await Ce(T,"deleteComment",v,{commentId:String(L)},{onSuccess:f=>{let S=typeof f.deletedCommentId=="string"?Number(f.deletedCommentId):L,D=Qe(T,{ignoreExpiry:!0});D&&(et(T,{postedComments:D.postedComments.filter(M=>M.id!==S),updatedAt:f.updatedAt}),gi(S)),d.current.get(T)?.delete(u)},onFailure:()=>{d.current.get(T)?.delete(u)}},{skipLock:!0})},it=async(p,u,v)=>{let T=Number(p);await Ce(T,"toggleStar",v,{isStarred:String(u)},{onOptimistic:()=>{et(T,{isStarred:u}),y.current.set(T,u),m(L=>L+1)},onSuccess:L=>{L.updatedStatus&&typeof L.updatedStatus.isStarred=="boolean"&&Qe(T,{ignoreExpiry:!0})&&(et(T,{isStarred:L.updatedStatus.isStarred,updatedAt:L.updatedAt}),m(S=>S+1)),y.current.delete(T)},onFailure:()=>{et(T,{isStarred:!u}),y.current.delete(T)}},{skipLock:!0})},Ge=async(p,u,v)=>{let T=Number(p);await Ce(T,"toggleRead",v,{isRead:String(u)},{onOptimistic:()=>{et(T,{isRead:u}),g.current.set(T,u),m(L=>L+1)},onSuccess:L=>{L.updatedStatus&&typeof L.updatedStatus.isRead=="boolean"&&Qe(T,{ignoreExpiry:!0})&&(et(T,{isRead:L.updatedStatus.isRead,updatedAt:L.updatedAt}),m(S=>S+1)),g.current.delete(T)},onFailure:()=>{et(T,{isRead:!u}),g.current.delete(T)}},{skipLock:!0})},pt=(0,X.useRef)(Ge);pt.current=Ge;let vt=(0,X.useCallback)((p,u,v)=>pt.current(p,u,v),[]),He=async p=>{let u=-1*Date.now(),v=new Date().toISOString(),T={reportHubId:u,date:p,createdAt:v,author:Jt(t,i.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:Jt(t,i.unknownUser),updatedBy:Jt(t,i.unknownUser),updatedAt:v,category:null,creationCategory:null,visitTimeFrom:null,visitTimeTo:null,customerName:null,interviewers:[],subject:"",content:"",externalComments:[],isRead:!0,isStarred:!1,labels:[{id:0,name:a,color:"#9ca3af"}],postedComments:[],attachments:[]};yi(T,Date.now()+3e5,!1),b(L=>[{reportHubId:u,businessDate:p},...L]);try{let L=await Ce(0,"create",p,{clientTempId:String(u)},{onSuccess:S=>S});if(L.clientTempId&&L.clientTempId!==String(u))throw yt.warn(`[createReport] ID mismatch. req=${u}, res=${L.clientTempId}`),new Error("Optimistic ID mismatch");let f=Number(L.reportHubId);return Fr({reportHubId:f,businessDate:p}),kr(f),L.report&&(Yt(f,L.report),m(S=>S+1)),b(S=>S.some(D=>D.reportHubId===f)?S.filter(D=>D.reportHubId!==u):S.map(D=>D.reportHubId===u?{...D,reportHubId:f}:D)),setTimeout(()=>Pr(f),1e3),f}catch(L){throw yt.error("[createReport] Failed or mismatched",L),b(f=>f.filter(S=>S.reportHubId!==u)),L}},Et=async(p,u,v)=>{let T=Number(p);await Ce(T,"update",v,{...u.title&&{title:u.title},...u.content&&{content:u.content}},{onSuccess:()=>{let L=Qe(T,{ignoreExpiry:!0});L&&(et(T,{subject:u.title??L.subject,content:u.content??L.content}),m(f=>f+1))}})},Tt=async(p,u)=>{let v=Number(p),T=Qe(v,{ignoreExpiry:!0}),L=T?.labels||[];await Ce(v,"publish",u,{},{onOptimistic:()=>{if(T){let f=T.labels.filter(S=>S.name!==a);et(v,{labels:f}),m(S=>S+1)}},onSuccess:f=>{f.report&&(Yt(v,f.report),m(S=>S+1)),u!==void 0&&Fr({reportHubId:v,businessDate:u})},onFailure:()=>{et(v,{labels:L}),m(f=>f+1)}},{skipLock:!0})},C=async(p,u)=>{let v=Number(p),T=R.find(L=>L.reportHubId===v);W.current.add(v),Xn(v),b(L=>L.filter(f=>f.reportHubId!==v));try{await Ce(v,"delete",u,{},{onSuccess:L=>{wn(v,u)}})}catch(L){if(L.status===404){wn(v,u);return}if(!Y())return;W.current.delete(v);let S=T===void 0?u:T.businessDate;S!==void 0&&Fr({reportHubId:v,businessDate:S}),T&&b(D=>D.some(M=>M.reportHubId===v)?D:jo(D,T))}};return(0,as.jsx)(ra.Provider,{value:{user:t,pendingAddCommentIds:c,pendingDeleteCommentIds:d,pendingStarUpdates:y,pendingReadUpdates:g,resolvedIdMap:x,version:I,items:R,isSseEnabled:E,toggleSse:z,sseStatus:_e,addComment:at,deleteComment:St,toggleStar:it,toggleRead:vt,createReport:He,updateReport:Et,publishReport:Tt,deleteReport:C,removeStaleItem:fe,refetchData:le,clearCacheAndRefetch:K},children:e})};var It=require("react");var is=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Ne("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]},ss=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 yr=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,version:i,addComment:s,deleteComment:l}=Me(),{labels:c}=B(),d=c.unknownUser,[y,g]=(0,It.useState)(null),x=(0,It.useCallback)(b=>e&&l(e.reportHubId,b,e.date),[e,l]),I=(0,It.useCallback)(b=>e&&t?s(e.reportHubId,b,e.date):Promise.resolve(),[e,t,s]),m=(0,It.useRef)([]);return{uiComments:(0,It.useMemo)(()=>{if(!e)return[];let b=is(e.externalComments,e.postedComments,r,d),E=o.current.get(e.reportHubId);E?.size&&(b=b.filter(_=>!E.has(_.id)));let w=n.current.get(e.reportHubId);if(w?.size&&t){let _=new Set(b.map(O=>O.id)),V=Jt(t,d);for(let[O,W]of w){if(E?.has(O)||_.has(O))continue;let H=a.current.get(O);H&&_.has(H)||b.some(J=>J.isMine&&J.content===W&&typeof J.id=="number"&&J.id>0)||b.push({id:O,authorName:V,content:W,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1})}}return JSON.stringify(b)===JSON.stringify(m.current)?m.current:(m.current=b,b)},[e,t,r,d,o,n,a,i]),handleAddComment:I,handleDeleteComment:x,pendingDeleteId:y,setPendingDeleteId:g,resolvedIdMap:a.current}};var ls=require("react/jsx-runtime"),Xc={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},Bt=Object.freeze({2:3,3:4,4:5,5:6}),Ye=({level:e,...t})=>{let r=Xc[e];return(0,ls.jsx)(r,{...t})};var At=require("react");var ds=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var oa="tile",Wr=ds[oa],Zc=2,Vr=16,cs=5,us=Wr.maxWidth/Zc,Jc=cs*(us+Vr)-Vr,ms=e=>{let t=Math.min(cs,1+Math.floor((e+Vr)/(us+Vr)));return Math.floor((Math.min(e,Jc)-(t-1)*Vr)/t)},na=`round(nearest, 100cqi * ${Wr.maxHeight} / ${Wr.maxWidth}, 1px)`,ps=Object.freeze({aspectRatio:`${Wr.maxWidth} / ${Wr.maxHeight}`,height:na,contain:"strict"}),fs=Object.freeze({marginBlockEnd:`calc(round(up, ${na}, ${4}px) - ${na})`});var Qc="download",eu="thumbnail",tu="1",gr=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[Qc]:tu})}`;case"thumbnail":return`${n}?${new URLSearchParams({[eu]:r.variant})}`}};var to=require("react");var Kr=(0,to.createContext)(null),Rr=()=>(0,to.useContext)(Kr)===!1?-1:void 0,bs=(e,t)=>{let{before:r,after:n}=kn(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};var gt=require("react"),vs=require("react-dom");var ys=require("react-dom");var aa=new WeakMap,gs=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,ru=e=>{e.frame=null;let t=[...e.observations.values()].filter(gs);t.length!==0&&(0,ys.flushSync)(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},nu=(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=ms(o))}e.frame!==null||![...e.observations.values()].some(gs)||(e.frame=e.view.requestAnimationFrame(()=>ru(e)))},ou=e=>{let t=aa.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=>nu(n,o)),observations:new Map,frame:null};return aa.set(e,n),n},Rs=(e,t)=>{let r=e.ownerDocument,n=ou(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(),aa.delete(r)))}};var Lt=require("react/jsx-runtime"),$r="\u2026",au=$r.codePointAt(0),ro="data-attachment-file-name",iu=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,su=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,Es=(0,gt.createContext)(null),Ts=e=>{let t=e.lastIndexOf(".");return t<=0||t===e.length-1?{stem:e,extension:""}:{stem:e.slice(0,t),extension:e.slice(t)}},hs=(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("")},lu=(e,t,r)=>{if(r(e)<=t)return e;let{stem:n,extension:o}=Ts(e.normalize("NFC")),a=t/2,i=r(o)<=a?o:`${hs(o,$r,a,r)}${$r}`;return r(n+i)<=t?n+i:`${hs(n,$r+i,t,r)}${$r}${i}`},Ss=new WeakMap,xs=e=>{let t=Ss.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 Ss.set(e,n),n},du=(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},Cs=e=>{let t=new Set;for(let r of e.matchAll(iu)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},cu=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:Cs(t.fontFamily),measure:du(xs(e.ownerDocument),r)}},uu=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,mu=e=>{let t=new Set([au]);for(let r of e.querySelectorAll(`[${ro}]`)){let n=r.getAttribute(ro);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},pu=(e,t)=>{for(let r of e.split(",")){let n=su.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},ia=new WeakMap,Is=e=>{let t=ia.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return ia.set(e,r),r},Ls=(e,t)=>{let r=cu(e.container.querySelector(`[${ro}]`));e.fitted={trackWidth:t,nameFont:r};let n=Is(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=bu(n)),e.applyFit({width:t,measure:r.measure})},fu=(e,t)=>{let r=t.map(o=>({families:Cs(o.family),unicodeRange:o.unicodeRange})),n=[];for(let o of e.registrations){let{fitted:a}=o;if(a===null)continue;let i=r.filter(l=>Array.from(l.families).some(c=>a.nameFont.families.has(c)));if(i.length===0)continue;let s=mu(o.container);i.some(l=>pu(l.unicodeRange,s))&&(xs(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&(0,vs.flushSync)(()=>{for(let[o,a]of n)Ls(o,a)})},bu=e=>{let t=e.document.fonts,r=n=>{fu(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},yu=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=Rs(e,a=>Ls(r,a)),o=Is(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),ia.delete(o.document))}},As=({containerRef:e,children:t})=>{let[r,n]=(0,gt.useState)(null);return(0,gt.useLayoutEffect)(()=>{let o=e.current;return yu(o,i=>{n(s=>uu(s,i)?s:i)})},[e]),(0,Lt.jsx)(Es,{value:r,children:t})},zr=({fileName:e,className:t,testId:r})=>{let n=(0,gt.useContext)(Es),o=(0,gt.useMemo)(()=>n===null?null:lu(e,n.width,n.measure),[e,n]),{stem:a,extension:i}=Ts(e);return(0,Lt.jsxs)("span",{className:h("block min-w-0",t),title:e,"data-testid":r,[ro]:e,children:[o===null?(0,Lt.jsxs)("span",{"aria-hidden":"true",className:"flex min-w-0",children:[(0,Lt.jsx)("span",{className:"truncate",children:a}),i!==""&&(0,Lt.jsx)("span",{className:"max-w-1/2 shrink-0 truncate",children:i})]}):(0,Lt.jsx)("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:o}),(0,Lt.jsx)("span",{className:"sr-only",children:e})]})};var Ms=Ee(require("lucide-react/dist/esm/icons/image-off.js")),ke=require("react");var no=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),_s=no.queueWaitMs+no.readMs+no.renderMs+no.transferMarginMs;var gu=Object.freeze({kind:"loaded"}),Ds=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",l=null,c=null,d=null,y=null,g=null,x=K=>(K!==null&&n.clearTimeout(K),null),I=()=>{y?.(),y=null},m=()=>{g?.(),g=null},R=K=>K===null||K.kind==="loaded"?0:K.kind==="failing"?K.failedAttempts:i.maxAttempts,b=K=>{s="cooling",d=n.setTimeout(J,K)},E=()=>{o.abortInFlight(),m();let K=R(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(),b(i.retryDelayMs)},w=K=>{if(s==="loading"){if(c=x(c),!K){E();return}s="done",r.set(t,gu),m()}},_=()=>{c=null,w(!1)},V=()=>{s="loading",o.showActivity(!0),I(),c=n.setTimeout(_,i.loadTimeoutMs),o.grant()},O=()=>{l=null,s="queued",g=a.request(V)},W=()=>{l===null&&(l=n.setTimeout(O,i.settleMs))},H=K=>{if(o.showActivity(K),K){s==="watching"&&W();return}if(s==="queued"){m(),s="watching";return}l=x(l)},J=()=>{d=null,s="watching",o.showActivity(!1),y=n.observe(e,H)},re=()=>{let K=s==="loading";s="done",I(),l=x(l),c=x(c),d=x(d),o.showActivity(!1),K&&(o.abortInFlight(),g!==null&&o.reset()),m()},Y=r.get(t);if(Y?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:w,dispose:re};if(Y?.kind==="exhausted"){if(n.now()-Y.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:w,dispose:re};r.delete(t)}o.reset();let le=Y?.kind==="failing"?Y.retryAt-n.now():0;return le>0?b(le):J(),{settle:w,dispose:re}};var Ru=e=>{if(!Number.isInteger(e)||e<=0)throw Ne("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())}}}},ws=Ru(2);var hu=e=>{if(!Number.isInteger(e)||e<=0)throw Ne("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)}}},sa=hu(1024);var la=new WeakMap,Su=e=>{let t=la.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 la.set(e,a),a},Ns=(e,t)=>{let r=e.ownerDocument,n=Su(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(),la.delete(r)))}};var Ut=require("react/jsx-runtime"),vu={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},Eu="data-thumbnail-active",Tu="data-daily-report-attachment-preview",ks={[Tu]:""},xu=Object.freeze({settleMs:250,loadTimeoutMs:_s,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),Os=e=>{let t=sa.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},Cu=()=>({limiter:ws,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:Ns,tuning:xu}),Iu=(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(Eu,o)}}),Ps=(0,ke.memo)(({thumbnailUrl:e,unavailableLabel:t})=>{let r=(0,ke.useRef)(null),n=(0,ke.useRef)(null),o=(0,ke.useRef)(null),[a,i]=(0,ke.useState)(()=>Os(e));a.url!==e&&i(Os(e)),(0,ke.useLayoutEffect)(()=>{if(a.status==="failed")return;let d=n.current,y=a.status==="idle"?null:a.url;d.getAttribute("src")!==y&&(y===null?d.removeAttribute("src"):d.setAttribute("src",y))},[a]),(0,ke.useEffect)(()=>{let d=r.current,y=Ds(d,e,sa,Cu(),Iu(e,d,i,n));return o.current=y,()=>{o.current=null,y.dispose()}},[e]);let s=(0,ke.useCallback)(d=>{d!==null&&(n.current=d)},[]),l=(0,ke.useCallback)(()=>{i(d=>d.status==="granted"?{url:d.url,status:"loaded"}:d),o.current?.settle(!0)},[]),c=(0,ke.useCallback)(()=>{o.current?.settle(!1)},[]);return(0,Ut.jsx)("span",{className:"block",children:(0,Ut.jsx)("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":vu[a.status],style:ps,className:"relative block w-full",children:(0,Ut.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,Ut.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 ${bn}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[(0,Ut.jsx)(Ms.default,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):(0,Ut.jsx)("img",{ref:s,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:l,onError:c,className:"max-h-full max-w-full opacity-0 motion-safe:transition-opacity motion-safe:duration-200 motion-safe:ease-out [[data-thumbnail-state=loaded]_&]:opacity-100","data-testid":"daily-report-attachment-thumbnail"})})})})});var ie=require("react/jsx-runtime"),Hs=1024,da=["B","KB","MB","GB"],Fs="text-slate-500 text-sm line-through dark:text-slate-400",Lu=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=Hs&&r<da.length-1;)t/=Hs,r+=1;return r===0?`${t} ${da[r]}`:`${t.toFixed(1)} ${da[r]}`},Bs=({attachment:e,labels:t,className:r})=>(0,ie.jsxs)("span",{className:r,children:[Lu(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),ca=({href:e,children:t,...r})=>{let n=Rr();return(0,ie.jsx)("a",{href:e,...r,tabIndex:n,children:t})},Us=({downloadUrl:e,label:t,fileName:r})=>(0,ie.jsxs)(ca,{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})]}),Au=(0,At.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=(0,ie.jsx)(Ps,{thumbnailUrl:gr(t,e.id,{kind:"thumbnail",variant:oa}),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)(zr,{fileName:e.fileName,className:Fs,testId:"daily-report-attachment-name"})]}):(0,ie.jsxs)(ca,{href:gr(t,e.id,{kind:"inline"}),className:h("flex min-w-0 flex-col gap-2 rounded-lg",ae),"data-testid":"daily-report-attachment-link",...ks,children:[n,(0,ie.jsx)(zr,{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:fs,children:[(0,ie.jsx)(Bs,{attachment:e,labels:r,className:"truncate"}),!o&&(0,ie.jsx)(Us,{downloadUrl:gr(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})]})}),_u=(0,At.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)(zr,{fileName:e.fileName,className:Fs,testId:"daily-report-attachment-name"}):(0,ie.jsx)(ca,{href:gr(t,e.id,{kind:"inline"}),className:h("flex min-w-0 rounded-sm",ae),"data-testid":"daily-report-attachment-link",children:(0,ie.jsx)(zr,{fileName:e.fileName,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),(0,ie.jsx)(Bs,{attachment:e,labels:r,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!n&&(0,ie.jsx)(Us,{downloadUrl:gr(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})}),Du=({attachments:e,headingId:t,apiBasePath:r,labels:n})=>{let o=(0,At.useRef)(null);return(0,ie.jsx)(As,{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)(Au,{attachment:a,apiBasePath:r,labels:n},a.id))})})})},oo=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=B(),o=(0,At.useId)(),{tileAttachments:a,rowAttachments:i}=(0,At.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:Bt[n],id:o,className:h("m-0",Gt),children:r.attachments}),(0,ie.jsxs)("div",{className:"flex flex-col gap-4",children:[a.length>0&&(0,ie.jsx)(Du,{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)(_u,{attachment:s,apiBasePath:t,labels:r},s.id))})]})]})};var $s=require("@aiquants/swipe-overlay"),Ue=require("react");var Gr=e=>e.isComposing||e.keyCode===229,ao=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 wu={kind:"hold"},Nu=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),Ou=(e,t)=>{let r=e.getAttribute("role");return r!==null&&Nu.has(r)&&e!==t&&e.contains(t)},jr=e=>e.key==="Escape"&&!e.defaultPrevented&&!Gr(e),Vs=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||Gr(e))return null;let r=e.target;if(!(Te(r)&&t.contains(r)))return null;let n=Ai(t);if(n.length===0)return wu;let{before:o,within:a,after:i}=kn(t,r);return e.shiftKey?o.some(s=>!Ou(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};var io=require("react/jsx-runtime"),De=({render:e})=>{let t=Rr();return(0,io.jsx)(io.Fragment,{children:e(t)})};var Ws=Ee(require("@heroicons/react/24/outline/TrashIcon.js")),Vt=require("react");var $e=require("react/jsx-runtime"),ua="data-comment-id",so="data-comment-delete-button",lo="data-comment-delete-slot",Mu=h(Ve,Ma),ku="relative flex h-5 items-center",Pu=h(Fe,"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),Hu=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,ma=(0,Vt.memo)(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:l})=>{let[c,d]=(0,Vt.useState)(!1),{labels:y}=B(),g=(0,Vt.useId)(),x=(0,Vt.useRef)(null),I=Hu(e.id,o,l),m=()=>{let b=x.current;b!==null&&s(b),a(null),d(!0),typeof e.id=="number"&&n?.(e.id)},R=b=>{if(!I)return;let E=b.relatedTarget;Te(E)&&b.currentTarget.contains(E)||a(null)};return(0,$e.jsxs)("li",{[ua]:e.id,"data-deleted":c?"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",c&&"hidden",I?"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",ss(e.color)),children:ge(e.authorName)}),(0,$e.jsxs)("div",{className:"flex items-center gap-2",children:[e.createdAt&&(0,$e.jsx)("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:ye(e.createdAt)}),e.isMine&&!e.isLegacy&&(0,$e.jsxs)("div",{[lo]:e.id,className:ku,onBlur:R,children:[(0,$e.jsx)(De,{render:b=>(0,$e.jsx)("button",{ref:x,type:"button",tabIndex:b,className:Mu,title:y.commentDelete,"aria-label":y.commentDelete,"aria-expanded":I,"aria-controls":I?g:void 0,[so]:e.id,onClick:()=>i(e.id,I),children:(0,$e.jsx)(Ws.default,{"aria-hidden":"true",className:I?Ie.deletePending:Ie.delete})})}),I&&(0,$e.jsx)(De,{render:b=>(0,$e.jsx)("button",{id:g,type:"button",tabIndex:b,"data-delete-confirmation":!0,className:Pu,onClick:m,children:y.commentDeleteConfirm})})]})]})]}),(0,$e.jsx)("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:e.content})]})});ma.displayName="DailyReportPostedComment";var Be=require("react/jsx-runtime"),Fu="data-daily-report-comment-section",Bu="data-daily-report-comment-heading",Uu=h(xt,ae),zs=(e,t)=>e>0||t,Vu=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),Wu=h("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",ae),Ks=e=>e.querySelector(`[${so}][aria-expanded="true"]`),Ku=(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(`[${ua}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return zs(i,r)?{kind:"heading"}:{kind:"report"}},$u=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:l,onSectionRemoved:c})=>{let d=(0,Ue.useRef)(null),y=(0,$s.useOverlayEscapeStack)(),g=(0,Ue.useId)(),x=o!==null,I=(0,Ue.useCallback)(()=>{let b=d.current,E=b===null?null:Ks(b),w=E===null?null:E.closest(`[${lo}]`),_=b===null?null:Ke(b);a(null),E!==null&&w!==null&&_!==null&&w.contains(_)&&E.focus({preventScroll:!0})},[a]);(0,Ue.useEffect)(()=>{if(x)return y({id:g,onEscape:b=>jr(b)?(I(),!0):!1})},[x,y,g,I]),(0,Ue.useEffect)(()=>{let b=d.current;if(!x||b===null)return;let E=b.ownerDocument,w=_=>{let V=Ks(b)?.closest(`[${lo}]`);V!=null&&Te(_.target)&&V.contains(_.target)||a(null)};return E.addEventListener("pointerdown",w,!0),()=>E.removeEventListener("pointerdown",w,!0)},[x,a]);let m=(0,Ue.useCallback)((b,E)=>{E?I():a(b)},[I,a]),R=(0,Ue.useCallback)(b=>{let E=d.current;if(E===null)return;let w=Ku(E,b,s);if(w.kind==="report"){c();return}let _=w.kind==="trash"?w.button:l.current;if(_===null)throw new Error("[daily-report] the comment section's heading is not attached");_.focus({preventScroll:!0})},[s,l,c]);return e.length===0?null:(0,Be.jsx)("ul",{ref:d,className:"space-y-2",children:e.map(b=>(0,Be.jsx)(ma,{comment:b,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:m,onBeforeHide:R,resolvedIdMap:i},b.id))})},co=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=B(),a=(0,Ue.useRef)(null);return zs(r.comments.length,r.canComment)?(0,Be.jsxs)("div",{[Fu]:"",className:h("flex flex-col gap-2",e),children:[(0,Be.jsx)(Ye,{ref:a,level:Bt[o],tabIndex:-1,[Bu]:"",className:Uu,children:n.comments}),(0,Be.jsx)($u,{...r,headingRef:a}),t]}):null},uo=({reportHubId:e,businessDate:t,onAddComment:r})=>{let[n,o]=(0,Ue.useState)(!1),a=(0,Ue.useRef)(null),{labels:i}=B();return(0,Be.jsxs)("form",{className:"flex gap-2",ref:a,onSubmit:async l=>{l.preventDefault();let d=new FormData(l.currentTarget).get("content")?.trim();if(d&&r){o(!0),a.current?.reset();try{await r(d)}catch{if(a.current){let y=a.current.elements.namedItem("content");y&&(y.value=d)}}finally{o(!1)}}},children:[(0,Be.jsx)("input",{type:"hidden",name:"intent",value:"addComment"}),(0,Be.jsx)("input",{type:"hidden",name:"reportHubId",value:e}),typeof t=="string"&&(0,Be.jsx)("input",{type:"hidden",name:"businessDate",value:t}),(0,Be.jsx)(De,{render:l=>(0,Be.jsx)("input",{type:"text",name:"content",tabIndex:l,placeholder:i.commentPlaceholder,className:Vu,autoComplete:"off"})}),(0,Be.jsx)(De,{render:l=>(0,Be.jsx)("button",{type:"submit",tabIndex:l,className:Wu,disabled:n,children:i.commentSend})})]})};var Wt=require("react");var Gs=require("@radix-ui/react-slot"),js=require("class-variance-authority"),Ys=Ee(require("react"));var qs=require("react/jsx-runtime"),zu=(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"}}),_t=Ys.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>(0,qs.jsx)(n?Gs.Slot:"button",{className:h(zu({variant:t,size:r,className:e})),ref:a,...o}));_t.displayName="Button";var Zs=require("react/jsx-runtime");function Xs({className:e,type:t,...r}){return(0,Zs.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 Js=Ee(require("@radix-ui/react-label"));var Qs=require("react/jsx-runtime");function Yr({className:e,...t}){return(0,Qs.jsx)(Js.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 tl=require("react/jsx-runtime");function el({className:e,...t}){return(0,tl.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 Le=require("react/jsx-runtime"),Gu=e=>{e.preventDefault()},mo=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=Me(),{labels:i}=B(),[s,l]=(0,Wt.useState)(e.subject??""),[c,d]=(0,Wt.useState)(e.content??""),[y,g]=(0,Wt.useState)(!1),x=(0,Wt.useRef)(e.reportHubId);(0,Wt.useEffect)(()=>{e.reportHubId!==x.current&&(l(e.subject??""),d(e.content??""),x.current=e.reportHubId)},[e.reportHubId,e.subject,e.content]);let I=async()=>{g(!0);try{await o(e.reportHubId,{title:s,content:c},e.date)}catch{}finally{g(!1)}},m=async()=>{g(!0);try{await o(e.reportHubId,{title:s,content:c},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{g(!1)}},R=`report-title-${e.reportHubId}`,b=`report-content-${e.reportHubId}`;return(0,Le.jsxs)("form",{className:"space-y-4 p-1",onSubmit:Gu,children:[(0,Le.jsxs)("div",{className:"space-y-2",children:[(0,Le.jsx)(Yr,{htmlFor:R,children:i.formTitle}),(0,Le.jsx)(De,{render:E=>(0,Le.jsx)(Xs,{ref:n,id:R,value:s,onChange:w=>l(w.target.value),placeholder:i.formTitlePlaceholder,disabled:y,tabIndex:E})})]}),(0,Le.jsxs)("div",{className:"space-y-2",children:[(0,Le.jsx)(Yr,{htmlFor:b,children:i.formContent}),(0,Le.jsx)(De,{render:E=>(0,Le.jsx)(el,{id:b,value:c,onChange:w=>d(w.target.value),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:y,tabIndex:E})})]}),(0,Le.jsxs)("div",{className:"flex justify-end gap-2",children:[t&&(0,Le.jsx)(De,{render:E=>(0,Le.jsx)(_t,{type:"button",variant:"outline",onClick:t,disabled:y,tabIndex:E,children:i.formCancel})}),(0,Le.jsx)(De,{render:E=>(0,Le.jsx)(_t,{type:"button",variant:"secondary",onClick:I,disabled:y,tabIndex:E,children:i.formSave})}),(0,Le.jsx)(De,{render:E=>(0,Le.jsx)(_t,{type:"button",onClick:m,disabled:y,tabIndex:E,children:i.formPublish})})]})]})};var il=Ee(require("lucide-react/dist/esm/icons/check.js")),sl=Ee(require("lucide-react/dist/esm/icons/pencil.js")),ll=Ee(require("lucide-react/dist/esm/icons/trash-2.js"));var pa=require("react/jsx-runtime"),fo=24,rl=2,ju=20,po=5,Yu=3,qu=()=>{let e=Math.cos(2*Math.PI/po)/Math.cos(Math.PI/po),t=Array.from({length:2*po},(g,x)=>{let I=-Math.PI/2+x*Math.PI/po,m=x%2===0?1:e;return{x:m*Math.cos(I),y:m*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=(ju-rl)/(a-o),c=fo/2-l*(o+a)/2,d=fo/2-l*(i+s)/2,y=g=>String(Number(g.toFixed(Yu)));return t.map(g=>`${y(c+l*g.x)},${y(d+l*g.y)}`).join(" ")},Xu=qu(),hr=({filled:e})=>(0,pa.jsx)("svg",{viewBox:`0 0 ${fo} ${fo}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:rl,strokeLinejoin:"round",className:e?Ie.starOn:Ie.starOff,children:(0,pa.jsx)("polygon",{points:Xu})});var Dt=require("react/jsx-runtime"),Sr=({config:e,id:t,className:r})=>(0,Dt.jsx)("span",{id:t,className:h(Ha,e.badgeClassName,r),children:e.name===void 0?e.label:(0,Dt.jsxs)(Dt.Fragment,{children:[(0,Dt.jsx)("span",{"aria-hidden":"true",children:(0,Dt.jsx)("abbr",{title:e.name,children:e.label})}),(0,Dt.jsx)("span",{className:"sr-only",children:e.name})]})});var fa=require("react/jsx-runtime"),bo=24,Zu=6,vr=({className:e})=>(0,fa.jsx)("svg",{viewBox:`0 0 ${bo} ${bo}`,"aria-hidden":"true",className:h(Ie.read,e),children:(0,fa.jsx)("circle",{cx:bo/2,cy:bo/2,r:Zu,fill:"currentColor"})});var ze=require("react/jsx-runtime"),Re=({label:e,classNames:t,valueId:r,children:n})=>(0,ze.jsxs)("div",{className:t.field,children:[(0,ze.jsx)("dt",{className:t.label,children:e}),(0,ze.jsx)("dd",{id:r,className:h("m-0",t.value),children:n})]}),Kt={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"},nl=({report:e,visitTimeDisplay:t,labels:r})=>{let n=e.category?.trim(),o=e.creationCategory?.trim();return(0,ze.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,ze.jsx)(Re,{label:r.author,classNames:Kt,children:ge(e.author)}),(0,ze.jsx)(Re,{label:r.createdAt,classNames:Kt,children:ye(e.createdAt)}),(0,ze.jsx)(Re,{label:r.updatedBy,classNames:Kt,children:ge(e.updatedBy)}),(0,ze.jsx)(Re,{label:r.updatedAt,classNames:Kt,children:ye(e.updatedAt)}),(0,ze.jsx)(Re,{label:r.businessDate,classNames:Kt,children:ye(e.date)}),t!==null&&(0,ze.jsx)(Re,{label:r.visitTime,classNames:Kt,children:t}),n&&(0,ze.jsx)(Re,{label:r.category,classNames:Kt,children:n}),o&&(0,ze.jsx)(Re,{label:r.creationCategory,classNames:Kt,children:o})]})};var de=require("react/jsx-runtime"),yo={field:h(Fe,"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:""},Ju={field:h(Fe,"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:""},ol={field:h(Fe,"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:""},Qu=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/,al=({text:e})=>Qu.test(e)?(0,de.jsx)("time",{dateTime:e,children:e}):e,dl=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:l,sourceConfig:c,visitTimeDisplay:d,markerIds:y,labels:g})=>{let x=r?g.starRemove:g.starAdd,I=t?g.markUnread:g.markRead,m=e.category?.trim(),R=e.creationCategory?.trim();return(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[(0,de.jsx)(or,{id:y.attachments,count:e.attachments.length,label:g.attachments}),c?(0,de.jsx)(Sr,{id:y.source,config:c}):null,(0,de.jsx)(De,{render:b=>(0,de.jsx)("button",{type:"button",onClick:a,tabIndex:b,className:Ve,title:x,"aria-label":x,"data-detail-star-button":e.reportHubId,children:(0,de.jsx)(hr,{filled:r})})}),(0,de.jsx)(De,{render:b=>(0,de.jsx)("button",{type:"button",onClick:o,tabIndex:b,className:Ve,title:I,"aria-label":I,"data-detail-read-button":e.reportHubId,children:t?(0,de.jsx)(il.default,{className:Ie.read}):(0,de.jsx)(vr,{})})}),i&&(0,de.jsx)(De,{render:b=>(0,de.jsx)("button",{ref:s,type:"button",onClick:i,tabIndex:b,"data-detail-edit-button":e.reportHubId,className:Ve,title:g.edit,"aria-label":g.edit,children:(0,de.jsx)(sl.default,{className:Ie.edit})})}),n&&(0,de.jsx)(De,{render:b=>(0,de.jsx)("button",{type:"button",onClick:l,tabIndex:b,"data-detail-delete-button":e.reportHubId,className:Ve,title:g.deleteReport,"aria-label":g.deleteReport,children:(0,de.jsx)(ll.default,{className:Ie.delete})})}),(0,de.jsxs)("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[(0,de.jsx)(Re,{label:g.id,classNames:Ju,children:e.reportHubId}),(0,de.jsx)(Re,{label:g.businessDate,classNames:yo,children:(0,de.jsx)(al,{text:ye(e.date)})}),(0,de.jsx)(Re,{label:g.author,classNames:yo,children:ge(e.employeeName)}),(0,de.jsx)(Re,{label:g.visitTime,classNames:yo,children:ge(d)}),(0,de.jsx)(Re,{label:g.updatedAt,classNames:yo,children:(0,de.jsx)(al,{text:ye(e.updatedAt)})}),m&&(0,de.jsx)(Re,{label:g.category,classNames:ol,children:m}),R&&(0,de.jsx)(Re,{label:g.creationCategory,classNames:ol,children:R})]})]})};var tt=require("react");var P=require("react"),Sa=require("react-dom");var Er=e=>({owner:e,focusIndex:null}),ba=Object.freeze({owner:null,focusIndex:null}),cl=(e,t)=>{if(e.length===0)return ba;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:e[r].reportHubId,index:r},focusIndex:r}},ul=(e,t)=>{switch(t.kind){case"focusIn":return Er(t.row);case"focusOut":return t.to==="outside"?ba:Er(e);case"pointerPress":return t.at==="outside"?ba:Er(e);case"listChanged":{if(e===null)return Er(e);let r=Se(t.items,e.reportHubId,e.index);return r===-1?cl(t.items,e.index):Er(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Er(e):cl(t.items,t.selection.index)}};var go=e=>e.matches(":focus-visible");var em="data-daily-report-keyboard-focus",$t={capture:!0},ml=e=>{let t=i=>{e.toggleAttribute(em,Te(i)&&go(i))},r=i=>t(i.target),n=i=>{Te(i.relatedTarget)&&e.contains(i.relatedTarget)||t(null)},o=()=>t(null);e.addEventListener("focusin",r,$t),e.addEventListener("keydown",r,$t),e.addEventListener("focusout",n,$t),e.addEventListener("pointerdown",o,$t);let a=Ke(e);return t(a!==null&&e.contains(a)?a:null),()=>{e.removeEventListener("focusin",r,$t),e.removeEventListener("keydown",r,$t),e.removeEventListener("focusout",n,$t),e.removeEventListener("pointerdown",o,$t),t(null)}};var tm='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',rm=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],nm=rm.map(e=>`[role="${e}"]`).join(", "),om=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),am=new Set(["Enter"," "]),im=new Map([["Home","exitBefore"],["End","exitAfter"]]),ya=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return im.get(e.key)??null;let r=om.get(e.key);return r!==void 0?r:am.has(e.key)&&t.rowActivation?"activate":null},pl=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},fl=(e,t,r)=>{let n=ya(e,r);if(n===null||e.defaultPrevented||Gr(e)||t===null||!Te(e.target)||!t.contains(e.target))return null;let o=Pt(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:pl(e.target,tm,t)||pl(e.target,nm,t)?null:n};var Ro={kind:"stay"},ho=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},bl=e=>Math.floor(.875*e),zt=(e,t)=>({kind:"move",index:e,align:t}),qr=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",sm=({index:e,count:t,viewport:r,focusedRowTop:n,heightOf:o})=>{let a=o(e),i=n+a,s={index:e+1,top:i};for(let l=e+1;l<t;l++){let c=o(l);if(a+=c,a>r)break;s={index:l,top:i},i+=c}return s},lm=({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},dm=(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 Ro;if(r==="top")return zt(n-1,"top");let c=s(n-1);return zt(n-1,qr(i-c,c,a,-1))}case"next":return n===o-1?Ro:r==="top"?zt(n+1,"top"):zt(n+1,qr(l,s(n+1),a,1));case"first":return zt(0,"top");case"last":return zt(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(l>a)return{kind:"reveal",delta:Math.min(l-a,bl(a))};if(n===o-1)return Ro;let c=sm(t);return zt(c.index,qr(c.top,s(c.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,bl(a))};if(n===0)return Ro;let c=lm(t);return zt(c.index,qr(c.top,s(c.index),a,-1))}}},cm=({index:e,focusedRowTop:t,heightOf:r},n)=>Sl(n,{index:e,offsetPx:-t},r),Rl=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let l=dm(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:cm(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}},hl=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>qr(r,n(e),t,1),Sl=(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},Xr=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=ho(n);if(n.kind==="uniform")return{index:t,count:r,viewport:o,focusedRowTop:t*n.rowHeight-a,heightOf:i};let s=e.getScrollAnchor();return s===null?null:{index:t,count:r,viewport:o,focusedRowTop:Sl(t,s,i),heightOf:i}},yl=1,vl=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=Zr(o,n,t,r);return{start:Math.max(0,o.index-yl),end:Math.min(t-1,a+yl)}},Zr=(e,t,r,n)=>{let o=ho(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},El=(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,gl=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),Tl=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(gl(t,n,o))return t.reportHubId;if(gl(r,n,o))return r.reportHubId;let a=e[n.visibleStartIndex];return a===void 0?null:a.reportHubId};var Ra=1,Jr=2,ga=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?Ra:0)|(n===t||n===r?Jr:0),um=e=>{if(Pn(e))return!0;let t=Ke(e);return t!==null&&e.contains(t)},mm=(e,t)=>{let r=e.closest(`[${Bn}]`);return r!==null&&r!==e&&qt(r)===t&&Ke(e)===r},xl=({getContainer:e,initialSelectedId:t})=>{let r={selectedId:t,tabStopId:t,arrivingId:null},n=null,o=!1,a=null,i=new Map,s=new Map,l=null,c=new Map,d=m=>ga(r,m),y=m=>{let R=s.get(m);if(R===void 0)return;let b=(d(m)&Jr)!==0?"0":"-1";R.getAttribute("tabindex")!==b&&R.setAttribute("tabindex",b)},g=m=>{let R={...r};m(r);let b=r,E=new Set([R.selectedId,R.tabStopId,R.arrivingId,b.selectedId,b.tabStopId,b.arrivingId]);for(let w of E){if(w===null)continue;let _=ga(R,w),V=ga(b,w);if(_===V)continue;((_^V)&Jr)!==0&&y(w);let O=i.get(w);if(O!==void 0)for(let W of[...O])W()}},x=m=>{o=!0;try{m.focus({preventScroll:!0})}finally{o=!1}},I=m=>{let R=e();R!==null&&(n=null,um(R)&&x(m))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:d,setTabStopId:m=>{g(R=>{R.tabStopId=m})},settleSelection:(m,R)=>{g(b=>{b.selectedId=m,b.tabStopId=R,b.arrivingId=null})},arrive:m=>{g(R=>{R.arrivingId=m})},subscribe:(m,R)=>{let b=i.get(m)??new Set;return b.add(R),i.set(m,b),()=>{b.delete(R),b.size===0&&i.get(m)===b&&i.delete(m)}},registerFocusTarget:(m,R)=>{if(s.set(m,R),y(m),n===m){I(R);return}a===null||a.reportHubId!==m||(Pn(R)||mm(R,m))&&x(R)},unregisterFocusTarget:(m,R)=>{s.get(m)===R&&s.delete(m)},requestFocus:m=>{n=m;let R=s.get(m);R!==void 0&&I(R)},cancelFocusRequest:()=>{n=null},pendingFocusId:()=>n,isMovingFocus:()=>o,getFocusOwner:()=>a,setFocusOwner:m=>{a=m},restoreFocus:m=>{if(a===null||a.reportHubId!==m)return;let R=s.get(m);R===void 0||!Pn(R)||x(R)},holdBodiesOutside:m=>{l=m},isBodyHeldAt:m=>l!==null&&(m<l.start||m>l.end),registerHeldBody:(m,R,b)=>{let E={indexHint:R,release:b};return c.set(m,E),()=>{c.get(m)===E&&c.delete(m)}},releaseHeldBodiesWithin:(m,R)=>{if(m!==null)for(let[b,{indexHint:E,release:w}]of[...c]){let _=R(b,E);_>=m.start&&_<=m.end&&w()}}}};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}},ha=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),pm=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),Cl=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),fm=new Map(Object.values(ut).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),Il=e=>{let t=fm.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},bm=(e,t,r)=>e==="row"||e==="page"?t+r:r,Ll=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:Il(e)}),Al=(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",Il(r)):(e.pending=bm(e.axis,e.pending,r.amount),ha)}case"frame":{if(e.fence==="open")return ha;if(e.fence==="immediate")return e.fence="flush",pm;if(e.pending===0)return e.fence="open",ha;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?Cl:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return Cl}};var ym=Object.freeze({kind:"frame"}),gm=Object.freeze({kind:"keyup"}),Rm=Object.freeze({kind:"cancel"}),hm=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})}),Sm=(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}},vm=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),Em=e=>{let t=qt(e),r=ur(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},So=(e,t)=>{let r=(0,P.useCallback)(a=>e.subscribe(t,a),[e,t]),n=(0,P.useCallback)(()=>e.rowStateOf(t),[e,t]),o=(0,P.useSyncExternalStore)(r,n,n);return{isCurrent:(o&Ra)!==0,isTabStop:(o&Jr)!==0}},vo=(e,t,r)=>{let[n,o]=(0,P.useState)(()=>!e.isBodyHeldAt(r));return(0,P.useLayoutEffect)(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return(0,P.startTransition)(a),i},[e,t,r,n]),n},_l=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:l,rowActivation:c})=>{let[d]=(0,P.useState)(()=>xl({getContainer:()=>n.current,initialSelectedId:t})),y=(0,P.useRef)({items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:c}),g=(0,P.useRef)(null),x=(0,P.useRef)(null),[I,m]=(0,P.useState)(null),R=(0,P.useRef)(null),b=(0,P.useRef)(null),[E,w]=(0,P.useState)(null),_=(0,P.useRef)(!1),V=(0,P.useRef)(null),[O,W]=(0,P.useState)(0),H=(0,P.useMemo)(()=>({id:t,indexHint:t===null?null:wi(I,t)}),[t,I]),J=(0,P.useRef)(H);(0,P.useLayoutEffect)(()=>{y.current={items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:c},J.current=H},[e,r,s,l,c,H]);let re=(0,P.useCallback)((C,p)=>{let u=x.current;if(u!==null&&u.items===C&&u.reportHubId===p)return u.index;let v=Se(C,p,u!==null&&u.reportHubId===p?u.index:null);return v!==-1&&(x.current={items:C,reportHubId:p,index:v}),v},[]),Y=(0,P.useCallback)((C,p)=>{x.current={items:y.current.items,reportHubId:C,index:p},m(u=>u!==null&&u.reportHubId===C&&u.index===p?u:{reportHubId:C,index:p})},[]),le=(0,P.useCallback)(C=>{let p=d.getFocusOwner();if(p===null)return null;let u=Se(C,p.reportHubId,p.index);return u===-1?null:{reportHubId:p.reportHubId,index:u}},[d]),K=(0,P.useCallback)(C=>{let p=y.current.items,u=C===null?null:{reportHubId:C,index:re(p,C)};return Tl(p,le(p),u,g.current,V.current)},[re,le]),ne=(0,P.useCallback)(()=>{d.setTabStopId(K(d.getSelectedId()))},[d,K]),j=(0,P.useCallback)(C=>{let p=d.getFocusOwner();p===C||p!==null&&C!==null&&p.reportHubId===C.reportHubId&&p.index===C.index||(d.setFocusOwner(C),_.current||ne())},[d,ne]),$=(0,P.useCallback)(C=>{let p=ul(d.getFocusOwner(),C);j(p.owner),p.focusIndex!==null&&(R.current=p.focusIndex,d.requestFocus(p.owner.reportHubId))},[d,j]);(0,P.useLayoutEffect)(()=>{d.settleSelection(t,K(t))},[d,t,e,O,K]),(0,P.useLayoutEffect)(()=>{let C=o.current;if(C!==null)return ml(C)},[o]),(0,P.useLayoutEffect)(()=>{let C=n.current;if(C===null)return;let p=C.ownerDocument,u=v=>{let T=n.current,L=v.target;$({kind:"pointerPress",at:T!==null&&Te(L)&&T.contains(L)?"inside":"outside"})};return p.addEventListener("pointerdown",u,{capture:!0}),()=>p.removeEventListener("pointerdown",u,{capture:!0})},[n,$]),(0,P.useLayoutEffect)(()=>{let C=d.pendingFocusId();C!==null&&Se(e,C,R.current)===-1&&d.cancelFocusRequest(),$({kind:"listChanged",items:e})},[d,e,$]);let me=(0,P.useCallback)(C=>{$({kind:"removed",reportHubId:C,selection:x.current,items:y.current.items})},[$]),ve=(0,P.useCallback)((C,p,u)=>{let{items:v,onSelect:T,rowSizing:L,arrowAlign:f}=y.current,S=a.current;if(T===null||S===null)return null;let D=Se(v,u.reportHubId,u.index);if(D===-1)return null;let M=Xr(S,D,v.length,L);if(M===null)return null;let U=Rl(C,p,M,f),ue=v[U.index],st=U.index!==D;if(st){d.arrive(ue.reportHubId),V.current=ue.reportHubId,R.current=U.index,_.current=!0;try{d.requestFocus(ue.reportHubId)}finally{_.current=!1}}try{(0,Sa.flushSync)(()=>{st&&(d.pendingFocusId()===null&&d.settleSelection(ue.reportHubId,ue.reportHubId),T(ue.reportHubId,U.index)),U.alignment!==null&&i.toIndex(U.alignment.index,{align:U.alignment.align}),U.scrollDelta!==0&&i.by(U.scrollDelta),st&&(Y(ue.reportHubId,U.index),W(No=>No+1));let Ar=vl(S,v.length,L);d.holdBodiesOutside(Ar),d.releaseHeldBodiesWithin(Ar,(No,Id)=>Se(v,No,Id))})}finally{d.holdBodiesOutside(null)}return st?{reportHubId:ue.reportHubId,index:U.index}:{reportHubId:u.reportHubId,index:D}},[d,a,i,Y]),oe=(0,P.useCallback)(C=>{let{items:p,onSelect:u}=y.current;if(u===null)return;let v=Se(p,C.reportHubId,C.index);v!==-1&&(u(C.reportHubId,v),Y(C.reportHubId,v))},[Y]),z=(0,P.useCallback)(C=>{let p=n.current,u=p===null?null:Ke(p),v=p!==null&&u!==null&&p.contains(u)?Hr(Pt(u,p),y.current.items):null;return v===null?C.origin:v},[n]),fe=(0,P.useCallback)((C,p)=>{let u=z(C);if(p.axis==="activate"){oe(u);return}let v=Sm(p.axis,p.amount),T=ve(v.command,v.count,u);T!==null&&(C.origin=T)},[z,oe,ve]),xe=(0,P.useCallback)(C=>{b.current=null,C.frame!==0&&C.view.cancelAnimationFrame(C.frame),w(null)},[]),we=(0,P.useCallback)((C,p,u)=>{let{apply:v}=p;v!==null&&(p.flush?(0,Sa.flushSync)(()=>fe(C,v)):fe(C,v)),b.current===C&&(p.ended?xe(C):p.requestFrame&&(C.frame=C.view.requestAnimationFrame(u)))},[fe,xe]),Ae=(0,P.useCallback)((C,p,u)=>{we(C,Al(C.state,p),u)},[we]),_e=(0,P.useCallback)(()=>{let C=b.current;C!==null&&(C.frame=0,Ae(C,ym,_e))},[Ae]),Ce=(0,P.useCallback)(()=>{let C=b.current;C!==null&&Ae(C,gm,_e)},[Ae,_e]),at=(0,P.useCallback)(()=>{let C=b.current;C!==null&&Ae(C,Rm,_e)},[Ae,_e]),St=(0,P.useCallback)((C,p,u)=>{w(J.current);let{state:v,effects:T}=Ll(ut[C]),L={state:v,origin:p,view:u,frame:0};b.current=L,we(L,T,_e)},[we,_e]);(0,P.useLayoutEffect)(()=>()=>{let C=b.current;b.current=null,C!==null&&C.frame!==0&&C.view.cancelAnimationFrame(C.frame)},[]);let it=(0,P.useCallback)(C=>{let p=b.current,u=p!==null&&C.repeat?ya(C,y.current):null;if(p!==null&&u!==null&&u!=="exitBefore"&&u!=="exitAfter"&&ut[u].axis===p.state.axis){C.preventDefault(),Ae(p,hm[u],_e);return}let{items:v,onSelect:T,rowSizing:L,rowActivation:f}=y.current,S=n.current,D=T===null?null:fl(ao(C),S,{rowActivation:f});if(d.cancelFocusRequest(),Ce(),D===null||S===null)return;if(D==="exitBefore"||D==="exitAfter"){let ue=bs(S,D==="exitBefore"?"before":"after");if(ue===null)return;C.preventDefault(),ue.focus();return}let M=Ke(S),U=Hr(Pt(M!==null&&S.contains(M)?M:C.target,S),v);if(U!==null){if(D!=="activate"){let ue=a.current;if(ue===null||Xr(ue,U.index,v.length,L)===null)return}if(C.preventDefault(),C.repeat){St(D,U,dt(S));return}D==="activate"?oe(U):ve(D,1,U)}},[d,n,a,_e,Ae,Ce,St,oe,ve]),Ge=(0,P.useCallback)(()=>{Ce()},[Ce]),pt=(0,P.useCallback)(C=>{let p=n.current,u=C.target,v=Pt(u,p);if($({kind:"focusIn",row:v===null?null:Em(v)}),d.isMovingFocus())return;let T=a.current;if(p===null||T===null||!Te(u)||!go(u))return;let L=v===null?null:v.closest('[role="list"]');if(v===null||L===null)return;let f=L.getBoundingClientRect(),S=v.getBoundingClientRect(),D=S.height<=f.height?S:vm(u.getBoundingClientRect(),rr),M=El(D,f),U=T.getViewportSize();M===0||!(U>0&&f.height>0)||i.by(M*U/f.height)},[d,n,a,i,$]),vt=(0,P.useCallback)(C=>{let p=n.current,u=C.relatedTarget,v=Te(u)?p?.contains(u)?"view":"outside":"nowhere";v!=="view"&&at(),$({kind:"focusOut",to:v})},[n,at,$]),He=(0,P.useCallback)(()=>{d.cancelFocusRequest(),at()},[d,at]),Et=(0,P.useCallback)(C=>{g.current={visibleStartIndex:C.visibleStartIndex,visibleEndIndex:C.visibleEndIndex},V.current=null,ne()},[ne]),Tt=(0,P.useMemo)(()=>({onKeyDown:it,onKeyUp:Ge,onPointerDownCapture:He,onWheelCapture:He,onTouchStartCapture:He,onFocus:pt,onBlur:vt}),[it,Ge,He,pt,vt]);return{cursor:d,containerProps:Tt,handleRangeChange:Et,selection:H,settledSelection:E===null?H:E,resolveSelectedIndex:re,rememberSelection:Y,focusAfterRemoval:me}};var Eo=require("react/jsx-runtime"),Tm=h(Ot,dn,cn,ln,"h-full"),xm="h-full w-full",Dl=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:l}=So(a,e),c=(0,tt.useContext)(Ft),d=(0,tt.useContext)(Ht),y=vo(a,e,c),g=(0,tt.useRef)(null),x=(0,tt.useRef)(null),I=(0,tt.useCallback)(m=>(g.current=m,a.registerFocusTarget(e,m),()=>{g.current=null,a.unregisterFocusTarget(e,m)}),[a,e]);return(0,tt.useLayoutEffect)(()=>{let m=g.current,R=m===null||!y?null:m.firstElementChild,b=R instanceof HTMLElement?R:null,E=x.current;E!==null&&E.body===b||(E!==null&&E.stop(),x.current=b===null?null:{body:b,stop:o(b)})}),(0,tt.useLayoutEffect)(()=>()=>{x.current?.stop(),x.current=null},[]),(0,tt.useLayoutEffect)(()=>{a.restoreFocus(e)},[a,e,n]),(0,Eo.jsx)(Kr.Provider,{value:l,children:(0,Eo.jsx)("div",{ref:I,className:Tm,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":c+1,"aria-setsize":d,"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,Eo.jsx)("div",{...je,className:xm})})})};var k=require("react/jsx-runtime"),Cm=h("flex w-full flex-col",ft,mn,_r),Im=h(ft,_r),Lm=h("rounded-2xl",_r),Am=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",_r),Pe="bg-slate-200 dark:bg-slate-700",_m=(e,t)=>{let r=ge(e.name);return e.affiliation?.trim()?t.interviewerWithAffiliation(r,e.affiliation):r},Dm=()=>(0,k.jsxs)("div",{...je,className:Im,children:[(0,k.jsxs)("div",{className:"mb-4 flex flex-wrap gap-2",children:[(0,k.jsx)("div",{className:h("h-6 w-20 rounded-full",Pe)}),(0,k.jsx)("div",{className:h("h-6 w-24 rounded-full",Pe)}),(0,k.jsx)("div",{className:h("h-6 w-24 rounded-full",Pe)}),(0,k.jsx)("div",{className:h("h-6 w-28 rounded-full",Pe)})]}),(0,k.jsxs)("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,k.jsxs)("div",{className:"space-y-4",children:[(0,k.jsx)("div",{className:h("h-5 w-40 rounded",Pe)}),(0,k.jsx)("div",{className:h("h-5 w-56 rounded",Pe)}),(0,k.jsx)("div",{className:h("h-24 rounded-xl",Pe)})]}),(0,k.jsxs)("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[(0,k.jsx)("div",{className:h("mb-2 h-4 w-24 rounded",Pe)}),(0,k.jsx)("div",{className:h("mb-2 h-4 w-28 rounded",Pe)}),(0,k.jsx)("div",{className:h("h-4 w-32 rounded",Pe)})]})]}),(0,k.jsxs)("div",{className:"space-y-4",children:[(0,k.jsx)("div",{className:h("h-4 w-24 rounded",Pe)}),(0,k.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,k.jsx)("div",{className:h("h-6 w-16 rounded-full",Pe)}),(0,k.jsx)("div",{className:h("h-6 w-16 rounded-full",Pe)}),(0,k.jsx)("div",{className:h("h-6 w-16 rounded-full",Pe)})]}),(0,k.jsxs)("div",{className:"space-y-2",children:[(0,k.jsx)("div",{className:h("h-16 rounded-xl",Pe)}),(0,k.jsx)("div",{className:h("h-16 rounded-xl",Pe)})]})]})]}),wm=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:l}=kt(e.reportHubId,e.businessDate),{removeStaleItem:c}=Me(),{draftLabelName:d,sourceTypeConfigs:y}=B(),[g,x]=(0,se.useState)(!1),[I,m]=(0,se.useState)(!1),R=(0,se.useRef)(!1),b=(0,se.useRef)(!1),E=(0,se.useRef)(!1),w=(0,se.useRef)(!1);(0,se.useEffect)(()=>{if(l){w.current=!0;return}!(a||s||i)&&w.current&&e.reportHubId>0&&c(e.reportHubId)},[a,s,l,i,e.reportHubId,c]);let _=a?.labels.some(z=>z.name===d),V=n&&a?.userId===n,O=(0,se.useCallback)(()=>{b.current=!0,R.current=!1,x(!0)},[]),W=(0,se.useCallback)(()=>{E.current=!0,x(!1),m(!0)},[]),H=(0,se.useCallback)(()=>{E.current=!0,x(!1)},[]),J=(0,se.useCallback)(z=>{z===null||!b.current||(b.current=!1,z.focus())},[]),re=(0,se.useCallback)(z=>{z===null||!E.current||(E.current=!1,z.focus())},[]);(0,se.useLayoutEffect)(()=>{g||(E.current=!1)},[g]),(0,se.useEffect)(()=>{a&&V&&_&&!g&&!I?(x(!0),R.current=!0):a&&!_&&g&&R.current&&(x(!1),R.current=!1)},[a,V,_,g,I]);let Y=(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,j=a===null?void 0:Mt(a.sourceType,y),$=[K.state,...ne?[K.attachments]:[],...j!==void 0?[K.source]:[]].join(" "),me=!i&&a!==null&&!g?{kind:"card",ids:K,describedBy:$}:{kind:"label",label:ye(e.businessDate)},ve=!i&&a===null&&s,oe=i?"error":a===null?s?"loading":"missing":g?"editing":"resolved";return(0,k.jsx)(Dl,{itemId:e.reportHubId,name:me,isBusy:ve,bodyKind:oe,observeRowHeight:t,cursor:o,children:i?(0,k.jsx)(Nm,{itemId:e.reportHubId}):a?g?(0,k.jsx)("div",{...je,className:Lm,children:(0,k.jsx)(mo,{report:a,onCancel:W,onPublishSuccess:H,titleInputRef:J})}):(0,k.jsx)(Nl,{item:e,report:a,sourceConfig:j,textIds:K,onCommentAdded:r,userId:n,onEdit:V?O:void 0,editButtonRef:re,onCommentSectionRemoved:Y}):(0,k.jsx)(Dm,{})})},wl=(0,se.memo)(wm),Nl=(0,se.memo)(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:l})=>{let c=(0,se.useRef)(null),{toggleStar:d,toggleRead:y,pendingStarUpdates:g,pendingReadUpdates:x,deleteReport:I,user:m}=Me(),{uiComments:R,handleAddComment:b,handleDeleteComment:E,pendingDeleteId:w,setPendingDeleteId:_,resolvedIdMap:V}=yr(t,m,a),{labels:O,headingLevel:W}=B(),H=Bt[W],J=En(t.sourceType,r),re=async fe=>{await b(fe),o?.(e.reportHubId)},Y=g.current.get(t.reportHubId),le=Y===void 0?t.isStarred:Y,K=x.current.get(t.reportHubId),ne=K===void 0?t.isRead:K,j=!!(a&&t.userId===a),$=async()=>{try{await y(t.reportHubId,!ne,t.date)}catch{}},me=async()=>{try{await d(t.reportHubId,!le,t.date)}catch{}},ve=async()=>{confirm(O.confirmDelete)&&await I(t.reportHubId,t.date)},oe=(0,se.useMemo)(()=>t.content?t.content.replace(/<br\s*\/??\s*>/gi,`
|
|
4
|
+
`).trim():"",[t.content]),z=(0,se.useMemo)(()=>{let fe=t.visitTimeFrom?.trim(),xe=t.visitTimeTo?.trim();return fe&&xe?`${fe} - ${xe}`:fe||xe||null},[t.visitTimeFrom,t.visitTimeTo]);return(0,k.jsxs)("div",{...je,onDoubleClick:i,className:Cm,children:[(0,k.jsx)(Ye,{level:W,id:n.heading,className:"sr-only",children:`${ye(t.date)} ${ge(t.employeeName)} ${ge(t.subject)}`}),(0,k.jsx)("span",{id:n.state,className:"sr-only",children:O.rowState({isRead:ne,isStarred:le})}),(0,k.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,k.jsx)(dl,{report:t,sourceConfig:r,isRead:ne,isStarred:le,isMine:j,onToggleRead:$,onToggleStar:me,onEdit:i,editButtonRef:s,onDelete:ve,visitTimeDisplay:z,markerIds:n,labels:O}),(0,k.jsxs)("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,k.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,k.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,k.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,k.jsx)(Ye,{level:H,className:xt,children:O.customer}),(0,k.jsx)("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:ge(t.customerName)})]}),(0,k.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,k.jsx)(Ye,{level:H,className:xt,children:O.subject}),(0,k.jsx)("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:ge(t.subject)})]})]}),oe&&(0,k.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,k.jsx)(Ye,{level:H,className:xt,children:O.content}),(0,k.jsx)("div",{className:h("whitespace-pre-wrap",un),children:oe})]}),t.interviewers.length>0&&(0,k.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,k.jsx)(Ye,{level:H,className:xt,children:O.interviewers}),(0,k.jsx)("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map(fe=>(0,k.jsx)("li",{className:h(Fe,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:_m(fe,O)},JSON.stringify([fe.name,fe.affiliation])))})]}),(0,k.jsx)(oo,{attachments:t.attachments}),(0,k.jsx)(co,{comments:R,canComment:J,reportHubId:t.reportHubId,businessDate:t.date,onDeleteComment:E,pendingDeleteId:w,onPendingDeleteIdChange:_,resolvedIdMap:V,onSectionRemoved:l}),J&&(0,k.jsx)("div",{className:"mt-auto",ref:c,children:(0,k.jsx)(uo,{reportHubId:t.reportHubId,businessDate:t.date,onAddComment:re})})]}),(0,k.jsx)(nl,{report:t,visitTimeDisplay:z,labels:O})]})]})]})});Nl.displayName="DailyReportResolvedItem";var Nm=({itemId:e})=>{let{labels:t}=B();return(0,k.jsx)("div",{...je,className:Am,children:(0,k.jsx)("p",{children:t.reportLoadFailed(e)})})};var Rt=require("react");var rt=require("react");var Om=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e[o]?.reportHubId!==t[o]?.reportHubId)return!0;return!1},Mm=(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}},km=(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}},Pm=(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"?Mm(e.index,a,n.rowHeight,r.length):km(e.index,a,ho(n),r.length);return{reportHubId:r[i].reportHubId,index:i,offsetPx:s,lastVisibleIndex:Zr({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},Hm=(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},Ol=({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 c=t.current,d=c===null?-1:c.getScrollPosition(),y=c===null||!(d>0)?null:c.getScrollAnchor(),g=a.current,x=y===null?void 0:g[y.index],I=c===null?0:c.getViewportSize();o.current=y===null||x===void 0||!(I>0)?null:{reportHubId:x.reportHubId,index:y.index,offsetPx:y.offsetPx,lastVisibleIndex:Zr(y,I,g.length,i.current),recordedAt:d}},[t]),l=(0,rt.useMemo)(()=>({toIndex:(c,d)=>{let y=t.current;y!==null&&(y.scrollToIndex(c,d),s())},by:c=>{let d=t.current;d!==null&&(d.scrollBy(c),s())},resizeRow:(c,d)=>{let y=t.current;y!==null&&(y.updateItemSize(c,d),s())}}),[t,s]);return(0,rt.useLayoutEffect)(()=>{let c=a.current;a.current=e;let d=o.current,y=t.current;if(c===e||d===null||y===null||n())return;let g=Pm(d,y.getScrollPosition(),c,i.current,y.getViewportSize());if(g===null){o.current=null;return}let x=Se(e,g.reportHubId,g.index),I=x===-1?Hm(c,e,g):x;if(I===-1){o.current=null;return}if(I===g.index&&!Om(c,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:Zr({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 Ml=require("react"),Fm=20,kl=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>(0,Ml.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(c=>c.reportHubId===l),getReportItem:l=>o.current[l],getReportIds:(l=Fm)=>o.current.slice(0,l).map(c=>c.reportHubId),revealIndex:(l,c)=>n.toIndex(l,c)}}}),()=>{i!==null&&delete i.__virtualScroll,t.current=null}},[e,t,r,n,o]);var Pl=require("react/jsx-runtime"),To=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let i=(0,Rt.useRef)(null),s=(0,Rt.useCallback)(_=>(i.current=_,()=>{i.current=null}),[]),{handleRangeChange:l,handleScrollAdjust:c,scroller:d}=Ol({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:y,...g}=_l({...a,containerRef:e,handleRef:i,scroller:d}),x=kl({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:d,itemsRef:r}),{labels:I}=B(),m=(0,Rt.useId)(),R=a.onSelect!==null,b=(0,Rt.useCallback)(_=>{y(_),l(),o(_)},[y,l,o]),E=(0,Rt.useMemo)(()=>({role:"list","aria-label":I.title,"aria-describedby":R?m:void 0}),[I.title,R,m]),w=(0,Rt.useMemo)(()=>R?(0,Pl.jsx)("span",{id:m,className:"sr-only",children:I.listKeyboardHelp}):null,[R,m,I.listKeyboardHelp]);return{...g,handleRangeChange:b,handleScrollAdjust:c,attachVirtualScroll:s,handleRef:i,scroller:d,attachScrollContainer:x,contentProps:E,keyboardHelp:w}};var qe=require("react/jsx-runtime"),Bl={pointerDragInputs:_n,wheelSpeedMultiplier:Tn,inertiaOptions:mr(!1),enableKeyboardNavigation:!1},Bm={...Bl,inertiaOptions:mr(!0)},Hl="daily-report-detail-list",Um=h("relative w-full",yn,fn),Vm=h(Je,"relative"),Wm=300,xo=e=>{let t=(0,F.useRef)(null),[r,n]=(0,F.useState)(null),o=Fn(t),a=Un(r),i=(0,F.useCallback)(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return(0,qe.jsx)("div",{ref:i,className:pn,children:o===null?null:(0,qe.jsx)(Km,{...e,viewportHeight:o,reducedMotion:a})})},Km=({dailyReportItems:e,userId:t,selectedItemId:r,onSelectItem:n,scrollRestoreRef:o,viewportHeight:a,reducedMotion:i})=>{let[{initialScrollAnchor:s,restored:l}]=(0,F.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 S=e.findIndex(D=>D.reportHubId===f.topItem?.reportHubId);return S!==-1?{initialScrollAnchor:{index:S,offsetPx:f.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:f.topItem.index,offsetPx:0},restored:!0}}),c=(0,F.useRef)(l),d=(0,F.useRef)(r??null),y=(0,F.useRef)(o?.current.measuredHeights??new Map),g=(0,F.useRef)(null),x=On(),I=Nn(),[m]=(0,F.useState)(Wn),R=(0,F.useRef)(null),b=(0,F.useRef)(null),E=(0,F.useRef)(e),w=(0,F.useRef)(n);(0,F.useLayoutEffect)(()=>{E.current=e,w.current=n},[e,n]);let _=(0,F.useRef)(null),[V,O]=(0,F.useState)(0),W=(0,F.useRef)(null),H=e.length,J=(0,F.useCallback)(f=>f>=H?Cn:e[f],[e,H]),re=(0,F.useCallback)(f=>{let S=y.current.get(J(f).reportHubId);return S===void 0?ui:S},[J]),Y=(0,F.useCallback)(f=>J(f).reportHubId,[J]),le=(0,F.useMemo)(()=>({kind:"measured",heightOf:re}),[re]),K=(0,F.useCallback)((f,S)=>{_.current={reportHubId:f,index:S},O(D=>D+1),w.current?.(f)},[]),ne=(0,F.useCallback)((f,S)=>{if(H===0)return;let D=Math.max(0,f),M=Math.min(H-1,S);if(D>M)return;let U=new Set;for(let ue=D;ue<=M;ue++){let st=J(ue);if(st.businessDate&&U.add(st.businessDate),U.size>=li)break}U.forEach(ue=>{I(ue)})},[J,H,I]),j=(0,F.useCallback)(f=>{if(H===0)return;let{renderingStartIndex:S,renderingEndIndex:D,visibleStartIndex:M}=f,U=J(M);U.businessDate&&m.setLabel(ye(U.businessDate)),ne(S,D),ne(D+1,D+xn),ne(S-xn,S-1)},[J,H,ne,m]),$=(0,F.useCallback)(()=>W.current!==null,[]),{cursor:me,containerProps:ve,handleRangeChange:oe,handleScrollAdjust:z,attachVirtualScroll:fe,handleRef:xe,scroller:we,attachScrollContainer:Ae,contentProps:_e,keyboardHelp:Ce,resolveSelectedIndex:at,rememberSelection:St}=To({items:e,selectedId:r??null,onSelect:n===void 0?null:K,containerRef:g,rootRef:g,testId:Hl,itemsRef:E,rowSizing:le,arrowAlign:"top",rowActivation:!0,isViewRevealPending:$,onRangeChange:j}),it=(0,F.useCallback)((f,S)=>{if(xe.current===null)return!1;let D=E.current,M=S!==null&&S.reportHubId===f?Se(D,f,S.index):at(D,f);return M===-1?!1:(c.current&&(c.current=!1,f===d.current)||S!==null&&S.reportHubId===f&&S.index===M||we.toIndex(M,{align:"top"}),!0)},[xe,at,we]);(0,F.useEffect)(()=>{let f=_.current;_.current=null,W.current=null,r!=null&&(it(r,f)||(W.current=r))},[r,it]),(0,F.useEffect)(()=>{let f=W.current;f!==null&&it(f,null)&&(W.current=null)},[e,it]),(0,F.useEffect)(()=>{let f=o?.current;f&&(f.anchorReportHubId=r??null)},[r,o]),(0,F.useEffect)(()=>{_.current=null},[V]);let Ge=(0,F.useRef)(null),pt=(0,F.useCallback)(()=>{xe.current&&(Ge.current=xe.current);let f=o?.current,S=Ge.current;if(f&&S){let M=S.getScrollAnchor(),U=M?E.current[M.index]:void 0;M&&U&&(f.topItem={reportHubId:U.reportHubId,index:M.index,offsetPx:M.offsetPx})}let D=g.current;D&&(D.toggleAttribute(tr,!0),b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{D.toggleAttribute(tr,!1),b.current=null},150))},[xe,o]),vt=(0,F.useCallback)(f=>(0,qe.jsx)(Kn,{...f,store:m}),[m]);(0,F.useEffect)(()=>{let f=g.current;if(!f)return;let S=()=>{m.setWheelScrollActive(!0),R.current&&clearTimeout(R.current),R.current=window.setTimeout(()=>{m.setWheelScrollActive(!1),R.current=null},In)};return f.addEventListener("wheel",S,{passive:!0}),()=>{f.removeEventListener("wheel",S),R.current&&clearTimeout(R.current)}},[m]);let He=(0,F.useRef)(null),Et=(0,F.useCallback)(f=>{for(let S of f){let D=S.target.parentElement,M=D===null?null:qt(D),U=D===null?null:ur(D),ue=S.borderBoxSize[0];if(M===null||U===null||ue===void 0)continue;let st=ue.blockSize+2*rr;if(y.current.get(M)===st)continue;let Ar=Se(E.current,M,U-1);Ar!==-1&&(y.current.set(M,st),we.resizeRow(Ar,st))}},[we]),Tt=(0,F.useCallback)(f=>{He.current===null&&(He.current=new ResizeObserver(Et));let S=He.current;return S.observe(f),()=>S.unobserve(f)},[Et]);(0,F.useEffect)(()=>()=>{He.current?.disconnect(),He.current=null},[]),(0,F.useEffect)(()=>{H!==0&&ne(0,Math.min(H-1,xn))},[H,ne]);let C=(0,F.useRef)(null),p=(0,F.useCallback)(f=>{let S=Se(E.current,f,null);S!==-1&&(C.current!==null&&clearTimeout(C.current),C.current=setTimeout(()=>{C.current=null;let D=Se(E.current,f,S);D!==-1&&we.toIndex(D,{align:"bottom"})},Wm))},[we]);(0,F.useEffect)(()=>()=>{C.current!==null&&clearTimeout(C.current)},[]);let u=(0,F.useCallback)(f=>{if(!w.current)return;let S=Pt(f.target,g.current);if(S===null||ki(f.target,S))return;let D=Hr(S,E.current);D!==null&&(St(D.reportHubId,D.index),K(D.reportHubId,D.index))},[K,St]),v=(0,F.useCallback)((f,S)=>(0,qe.jsx)(Ft.Provider,{value:S,children:(0,qe.jsx)(wl,{item:f,observeRowHeight:Tt,onCommentAdded:p,userId:t,cursor:me})},f.reportHubId),[Tt,p,t,me]),T=(0,F.useMemo)(()=>({...An,renderThumbOverlay:vt}),[vt]),L=(0,F.useMemo)(()=>(0,qe.jsx)(Ht.Provider,{value:H,children:(0,qe.jsx)(Fl.VirtualScroll,{ref:fe,itemCount:H,getItem:J,getItemKey:Y,getItemHeight:re,viewportSize:a,initialScrollAnchor:s,overscanCount:Ln,scrollBarOptions:T,behaviorOptions:i?Bm:Bl,onRangeChange:oe,onScrollAdjust:z,onScroll:pt,testId:Hl,className:Um,locale:x.locale,labels:x.labels,contentProps:_e,children:v})}),[fe,H,J,Y,re,a,i,s,T,oe,z,pt,x.locale,x.labels,_e,v]);return(0,qe.jsx)(qe.Fragment,{children:(0,qe.jsxs)("div",{ref:Ae,className:Vm,...ve,onClick:u,children:[Ce,L]})})};var va=Ee(require("lucide-react/dist/esm/icons/refresh-cw.js"));var Qt=require("react"),Qr=(e,t=250)=>{let[r,n]=(0,Qt.useState)(e),o=(0,Qt.useRef)(e),a=(0,Qt.useRef)(!0);return(0,Qt.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,c=d=>{l===null&&(l=d);let y=Math.min(1,Math.max(0,(d-l)/t)),g=1-(1-y)**3,x=Math.round(i+(e-i)*g);o.current=x,n(x),y<1&&(s=requestAnimationFrame(c))};return s=requestAnimationFrame(c),()=>{s!==null&&cancelAnimationFrame(s)}},[e,t]),r};var ht=require("react/jsx-runtime"),Tr=()=>{let e=bt(),{labels:t}=B(),r=Qr(e.loadedCount),n=Qr(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:h(Fe,"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:h(Fe,"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)(va.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:h(Fe,"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:()=>Zn(),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,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)(va.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null};var er=require("@aiquants/resize-panels"),md=require("@aiquants/virtualscroll"),Q=require("react");var Ul=require("react"),Vl="(max-width: 639px)",$m=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};let t=window.matchMedia(Vl);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},zm=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(Vl).matches:!1,Gm=()=>!1,Wl=()=>(0,Ul.useSyncExternalStore)($m,zm,Gm);var nt=require("@aiquants/swipe-overlay"),te=require("react");var Co=require("react");var Kl=Object.freeze({id:null,indexHint:null}),Io=(0,Co.createContext)(Object.freeze({selected:Kl,settled:Kl})),en=(e,t)=>{let{id:r,indexHint:n}=t;return(0,Co.useMemo)(()=>{if(r===null)return null;let o=Se(e,r,n);return o===-1?null:e[o]},[e,r,n])};var Xl=Ee(require("lucide-react/dist/esm/icons/check.js")),Zl=Ee(require("lucide-react/dist/esm/icons/pencil.js")),Jl=Ee(require("lucide-react/dist/esm/icons/trash-2.js")),Z=require("react");var wt=Ee(require("@radix-ui/react-tabs")),Xe=Ee(require("react"));var xr=require("react/jsx-runtime"),$l=Xe.createContext(null),zl=e=>{let t=Xe.useContext($l);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},Gl=(e,t)=>`${e}-trigger-${t}`,jl=(e,t)=>`${e}-panel-${t}`,tn=Xe.forwardRef(({value:e,children:t,...r},n)=>{let o=Xe.useId(),a=Xe.useMemo(()=>({baseId:o,value:e}),[o,e]);return(0,xr.jsx)(wt.Root,{ref:n,value:e,...r,children:(0,xr.jsx)($l,{value:a,children:t})})});tn.displayName=wt.Root.displayName;var rn=Xe.forwardRef(({className:e,...t},r)=>(0,xr.jsx)(wt.List,{ref:r,className:h("inline-flex",e),...t}));rn.displayName=wt.List.displayName;var nn=Xe.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=zl("TabsTrigger");return(0,xr.jsx)(wt.Trigger,{ref:n,value:t,...r,id:Gl(o,t),"aria-controls":jl(o,t),className:h(`${$a} ${ae}`,e)})});nn.displayName=wt.Trigger.displayName;var Cr=Xe.forwardRef(({className:e,value:t,children:r,...n},o)=>{let{baseId:a,value:i}=zl("TabsContent"),s=t===i;return(0,xr.jsx)("div",{ref:o,role:"tabpanel",id:jl(a,t),"aria-labelledby":Gl(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})});Cr.displayName="TabsContent";var N=require("react/jsx-runtime"),Ql=h(Gt,"w-24 shrink-0"),Yl={field:"flex items-baseline",label:Ql,value:"flex-1"},jm={field:"flex min-w-0 flex-1 items-baseline",label:Ql,value:"wrap-break-word min-w-0 flex-1"},Ym={field:"flex flex-col gap-1",label:Gt,value:""},qm={field:"flex items-center gap-1",label:Gt,value:""},ql=h("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",Oo,Da,_a),Xm=h("flex flex-col gap-1",Mo),Zm=h("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",ae),Jm=500,Ea=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)})}},Qm=(e,t,r,n,o,a)=>{let i=(0,Z.useRef)(null),s=e?.reportHubId;(0,Z.useLayoutEffect)(()=>{i.current=null},[s]),(0,Z.useEffect)(()=>{n||(i.current=null)},[n]);let l=(0,Z.useCallback)(async(c,d)=>{d||(i.current=c.reportHubId);try{await a(c.reportHubId,!c.isRead,c.date)}catch{}},[a]);return(0,Z.useEffect)(()=>{if(!(r&&e&&!e.isRead&&!t)||i.current===e.reportHubId)return;let c=null,d=()=>{c!==null&&clearTimeout(c),c=o.isDwelling()?setTimeout(()=>l(e,!0),Jm):null};d();let y=o.subscribe(d);return()=>{y(),c!==null&&clearTimeout(c)}},[e,t,r,l,o]),{handleToggleRead:l}},Ta="article",ep=["article","relations"],tp=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},rp=h("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",ft),ed=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=B(),a=(0,Z.useId)(),i=(0,Z.useId)(),[s,l]=(0,Z.useState)(Ta),{selected:c,settled:d}=(0,Z.useContext)(Io),y=en(e,c),g=en(e,(0,Z.useDeferredValue)(d)),x=y===null?null:y.reportHubId,m=(g===null?null:g.reportHubId)===x,[R]=(0,Z.useState)(()=>Ea(m));return(0,Z.useLayoutEffect)(()=>{R.set(m)},[R,m]),(0,N.jsx)("aside",{"data-testid":"daily-report-side-pane","data-report-id":y?.reportHubId,"data-displayed-report-id":g?.reportHubId,"aria-busy":m?void 0:!0,className:rp,children:g===null?(0,N.jsx)("div",{className:h("flex h-full flex-1 items-center justify-center text-center",nr),children:(0,N.jsx)("p",{className:bn,children:o.selectPrompt})}):(0,N.jsx)(Lo,{item:g,headingId:a,authorId:i,activeTab:s,onActiveTabChange:l,autoMarkRead:t,isActive:!0,dwell:R,userId:r,onReportDeleted:n},g.reportHubId)})},Lo=(0,Z.memo)(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:l,onReportDeleted:c})=>{let[d,y]=(0,Z.useState)(!1),{draftLabelName:g,labels:x,sourceTypeConfigs:I,headingLevel:m}=B(),{report:R,error:b,isLoading:E}=kt(e.reportHubId,e.businessDate),w=(0,Z.useRef)(null),_=(0,Z.useRef)(null),V=(0,Z.useRef)(null),O=(0,Z.useRef)(!1),W=(0,Z.useRef)(!1),H=(0,Z.useRef)(!1);(0,Z.useEffect)(()=>{if(!R)return;let z=R.labels.some(fe=>fe.name===g);R.reportHubId!==V.current?(V.current=R.reportHubId,z?(y(!0),O.current=!0):(y(!1),O.current=!1)):!z&&d&&O.current&&(y(!1),O.current=!1)},[R,d,g]);let J=!!(l&&R?.userId===l),re=(0,Z.useCallback)(()=>{W.current=!0,O.current=!1,y(!0)},[]),Y=(0,Z.useCallback)(()=>{H.current=!0,y(!1)},[]),le=(0,Z.useCallback)(z=>{z===null||!W.current||(W.current=!1,z.focus())},[]),K=(0,Z.useCallback)(z=>{z===null||!H.current||(H.current=!1,z.focus())},[]),ne=(0,Z.useCallback)(()=>{_.current?.focus({preventScroll:!0})},[]);(0,Z.useLayoutEffect)(()=>{d||!H.current||(H.current=!1,_.current?.focus())},[d]);let j=(0,Z.useCallback)(()=>{setTimeout(()=>{let z=w.current;z!==null&&z.scrollTo({top:z.scrollHeight,behavior:Bi(z)})},100)},[]),$=ye(e.businessDate),me=R===null?null:ge(R.employeeName),ve=E||!R,oe=R===null?void 0:Mt(R.sourceType,I);return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("div",{className:Xm,children:[(0,N.jsx)("dl",{className:"m-0",children:(0,N.jsx)(Re,{label:x.businessDate,classNames:Ym,children:(0,N.jsx)(Ye,{ref:_,level:m,id:t,tabIndex:-1,className:Zm,children:$})})}),(0,N.jsxs)("div",{className:"flex min-h-4 items-center gap-1 text-slate-500 text-xs dark:text-slate-300",children:[(0,N.jsx)("dl",{className:"m-0",children:(0,N.jsx)(Re,{label:x.author,classNames:qm,valueId:r,children:ve?(0,N.jsx)("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):me})}),oe?(0,N.jsx)(Sr,{config:oe,className:"ml-2"}):null]})]}),(0,N.jsxs)(tn,{value:n,onValueChange:z=>o(tp(z)),className:"flex min-h-0 flex-1 flex-col",children:[(0,N.jsx)("div",{className:Mo,children:(0,N.jsx)(rn,{"aria-label":x.reportTabList,className:h(Wa,"grid grid-cols-2 gap-1"),children:ep.map(z=>(0,N.jsx)(nn,{value:z,children:z==="article"?x.tabArticle:x.tabRelations},z))})}),(0,N.jsx)(Cr,{ref:w,value:"article",className:ql,children:d?R?(0,N.jsx)(mo,{report:R,onCancel:Y,onPublishSuccess:Y,titleInputRef:le}):(0,N.jsx)("p",{className:nr,children:x.loading}):(0,N.jsx)(np,{report:R,sourceConfig:oe,isLoading:E,error:b,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:j,userId:l,onEdit:J?re:void 0,editButtonRef:K,onReportDeleted:c,onCommentSectionRemoved:ne})}),(0,N.jsx)(Cr,{value:"relations",className:ql,children:(0,N.jsx)("p",{className:nr,children:x.relationsEmpty})})]})]})});Lo.displayName="DailyReportSidePaneContent";var Ir=({className:e="w-32"})=>(0,N.jsx)("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),np=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:i=!0,dwell:s,onCommentAdded:l,userId:c,onEdit:d,editButtonRef:y,onReportDeleted:g,onCommentSectionRemoved:x})=>{let{toggleStar:I,toggleRead:m,deleteReport:R,user:b}=Me(),{labels:E,headingLevel:w}=B(),_=Bt[w],{uiComments:V,handleAddComment:O,handleDeleteComment:W,pendingDeleteId:H,setPendingDeleteId:J,resolvedIdMap:re}=yr(e,b,c),{handleToggleRead:Y}=Qm(e,r,a,i,s,m),le=e!==null&&En(e.sourceType,t),K=async oe=>{await O(oe),l?.()},ne=(0,Z.useMemo)(()=>e?.content?e.content.replace(/<br\s*\/?\s*>/gi,`
|
|
4
5
|
`).replace(/<\/p>/gi,`
|
|
5
|
-
`).replace(/<[^>]+>/g,""):null,[e]),j=async oe=>{try{await I(oe.reportHubId,!oe.isStarred,oe.date)}catch{}},$=async oe=>{if(confirm(v.confirmDelete)){try{await R(oe.reportHubId,oe.date)}catch{alert(v.deleteFailed);return}g(oe.reportHubId)}};if(n)return(0,N.jsx)("p",{className:Nr,children:v.reportLoadFailed(o.reportHubId)});let me=!e,ve=!!(c&&e?.userId===c);return(0,N.jsxs)("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:d,children:[(0,N.jsxs)("div",{className:"flex items-start gap-2",children:[(0,N.jsx)("dl",{className:"m-0 flex min-w-0 flex-1",children:(0,N.jsx)(Re,{label:v.subject,classNames:$m,children:me?(0,N.jsx)(Ir,{className:"w-3/4"}):(0,N.jsx)("span",{className:"text-sm",children:ge(e?.subject)})})}),!me&&e&&(0,N.jsxs)("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[(0,N.jsx)("button",{type:"button",onClick:()=>j(e),className:Ve,title:e.isStarred?v.starRemove:v.starAdd,"aria-label":e.isStarred?v.starRemove:v.starAdd,"data-detail-star-button":e.reportHubId,children:(0,N.jsx)(hr,{filled:e.isStarred})}),(0,N.jsx)("button",{type:"button",onClick:()=>Y(e,!1),className:Ve,title:e.isRead?v.markUnread:v.markRead,"aria-label":e.isRead?v.markUnread:v.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?(0,N.jsx)(jl.default,{className:Ie.read}):(0,N.jsx)(vr,{})}),d&&(0,N.jsx)("button",{ref:y,type:"button",onClick:d,"data-detail-edit-button":e.reportHubId,className:Ve,title:v.edit,"aria-label":v.edit,children:(0,N.jsx)(Yl.default,{className:Ie.edit})}),ve&&(0,N.jsx)("button",{type:"button",onClick:()=>$(e),"data-detail-delete-button":e.reportHubId,className:Ve,title:v.deleteReport,"aria-label":v.deleteReport,children:(0,N.jsx)(ql.default,{className:Ie.delete})})]})]}),(0,N.jsx)("dl",{className:"m-0",children:(0,N.jsx)(Re,{label:v.customer,classNames:zl,children:me?(0,N.jsx)(Ir,{className:"w-1/2"}):(0,N.jsx)("span",{className:"text-sm",children:ge(e?.customerName)})})}),(0,N.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,N.jsx)(Ye,{level:D,className:xt,children:v.content}),(0,N.jsx)("div",{className:h("min-h-22",un),children:me?(0,N.jsxs)("div",{className:"space-y-2",children:[(0,N.jsx)(Ir,{className:"w-full"}),(0,N.jsx)(Ir,{className:"w-11/12"}),(0,N.jsx)(Ir,{className:"w-4/5"})]}):ne?(0,N.jsx)("div",{className:"whitespace-pre-wrap",children:ne}):(0,N.jsx)("p",{className:"text-slate-500 dark:text-slate-400",children:v.contentEmpty})})]}),(0,N.jsx)("dl",{className:"m-0",children:(0,N.jsx)(Re,{label:v.visitTime,classNames:zl,children:me?(0,N.jsx)(Ir,{className:"w-1/3"}):(0,N.jsxs)("span",{className:"text-sm",children:[ge(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",ge(e?.visitTimeTo)]})})}),e&&(0,N.jsx)(no,{attachments:e.attachments}),e&&(0,N.jsx)(lo,{comments:V,canComment:le,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:W,pendingDeleteId:H,onPendingDeleteIdChange:J,resolvedIdMap:re,onSectionRemoved:x,className:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800",children:le&&(0,N.jsx)(co,{reportHubId:e.reportHubId,businessDate:e.date,onAddComment:K})})]})};var mt=require("react/jsx-runtime"),tp="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]",rp={right:"var(--aqdr-overlay-right, 0px)"},np="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",op=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",$a),ap=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),ip=50,Jl=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=(0,te.useState)(!1),[l,c]=(0,te.useState)(!1),d=(0,te.useRef)(null),y=(0,te.useRef)(null),g=(0,te.useRef)(null),x=(0,te.useRef)(e),I=(0,te.useRef)(!0),m=en(r,t),R=(0,te.useCallback)(()=>{let D=o.current;if(D===null)return;let V=D.ownerDocument.body;g.current={body:V,overflow:V.style.overflow},V.style.overflow="hidden"},[o]),b=(0,te.useCallback)(()=>{let D=g.current;D!==null&&(D.body.style.overflow=D.overflow,g.current=null)},[]);(0,te.useEffect)(()=>{if(I.current){I.current=!1,x.current=e;return}let D=!x.current;x.current=e,D&&e&&a!==null?s(!0):!e&&i&&(y.current=a,s(!1),b())},[e,a,i,b]);let v=e&&i&&m!==null;(0,te.useEffect)(()=>{if(v)c(!0);else{let D=setTimeout(()=>c(!1),300);return()=>clearTimeout(D)}},[v]),(0,te.useEffect)(()=>{if(e&&i&&a!==null&&!d.current){let D=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:D},"",window.location.href),d.current=D}else!(e&&i)&&d.current&&(d.current=null);return e&&i?R():b(),b},[e,i,a,R,b]),(0,te.useEffect)(()=>{let D=()=>{d.current&&(y.current=a,d.current=null,s(!1),n(null))};return window.addEventListener("popstate",D),()=>window.removeEventListener("popstate",D)},[a,n]);let _=(0,te.useCallback)(()=>{e&&(y.current=a,s(!1),n(null),d.current&&(d.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:i,setIsMobileDetailOpen:s,isOverlayMounted:l,shouldShowOverlay:v,handleOverlayClose:_,lastClosedItemIdRef:y,selectedItem:m}},Ql=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=B(),s=(0,te.useRef)(null),l=(0,te.useId)(),c=(0,te.useId)(),[d,y]=(0,te.useState)(Ea),g=(0,nt.useOverlayEscapeStack)(),x=(0,te.useId)(),I=(0,te.useRef)(!1),m=(0,te.useRef)(e),R=(0,te.useRef)(null),[b]=(0,te.useState)(()=>va(e)),{isBlocked:v,requestBlock:_,reset:D}=(0,nt.useSwipeGuardState)(),V=(0,nt.useTransitionDisplay)(e,t),{overlayRef:O,overlayStyle:W,attemptClose:H,isSwiping:J}=(0,nt.useSwipeToDismissOverlay)({isOpen:e,onClose:r,isCloseBlocked:(0,te.useCallback)(()=>v,[v]),skipWhenTextSelected:!0}),re=(0,te.useRef)(H);(0,te.useLayoutEffect)(()=>{re.current=H,m.current=e,b.set(e)},[H,e,b]),(0,te.useEffect)(()=>{if(e)return g({id:x,onEscape:j=>jr(j)&&re.current()})},[e,g,x]),(0,te.useLayoutEffect)(()=>{let j=s.current;if(j===null)return;if(e){if(I.current)return;j.showModal(),I.current=!0,j.ownerDocument.getElementById(l)?.focus();return}if(!I.current)return;I.current=!1;let $=Ke(j);$!==null&&j.contains($)&&$o($)&&$.blur(),j.close()},[e,l]),(0,te.useEffect)(()=>{e||D()},[e,D]);let Y=(0,nt.useTapClick)(()=>H()),le=j=>{let $=oo(j);if(jr($)){H()&&j.preventDefault();return}if($.key==="Escape"){R.current=j.timeStamp;return}let me=Fs($,j.currentTarget);me!==null&&(j.preventDefault(),me.kind==="wrap"&&me.element.focus())},K=j=>{j.preventDefault();let $=R.current;R.current=null,!($!==null&&j.timeStamp-$<=ip)&&re.current()},ne=j=>{let $=j.currentTarget;$.open||!m.current||(I.current=!1,!re.current()&&($.showModal(),I.current=!0))};return V?(0,mt.jsxs)("dialog",{ref:s,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${l} ${c}`,tabIndex:-1,className:h(tp,e&&!J?"pointer-events-auto":"pointer-events-none"),style:rp,inert:!e,onKeyDown:le,onCancel:K,onClose:ne,children:[(0,mt.jsx)("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:h(np,e?"opacity-100":"opacity-0"),...Y}),(0,mt.jsx)("div",{ref:O,"data-daily-report-overlay-panel":"",className:h(op,e?"pointer-events-auto":"pointer-events-none"),style:W,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:v,requestBlock:_},children:(0,mt.jsx)("div",{"data-testid":"daily-report-side-pane","data-report-id":V.reportHubId,"data-displayed-report-id":V.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:(0,mt.jsx)(Io,{item:V,headingId:l,authorId:c,activeTab:d,onActiveTabChange:y,autoMarkRead:n,isActive:e,dwell:b,userId:o,onReportDeleted:a},V.reportHubId)})}),(0,mt.jsx)("div",{className:"flex justify-start",children:(0,mt.jsx)("button",{type:"button","data-overlay-interactive":"true",className:ap,onClick:()=>H(),children:i.close})})]})})]}):null};var od=Ee(require("lucide-react/dist/esm/icons/check.js")),be=require("react");var ot=require("react");var sp=6.75,lp=4,dp=1e-6,cp=e=>No*Math.ceil((2*rr+2*Na+lp+sp*e-dp)/No),Lo=(0,ot.createContext)(null),up="data-daily-report-root-font-size-probe",mp={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},pp=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])},ed=()=>{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(pp(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,[up]:"",style:mp}),[]);return{rowSlotHeight:t,remProbe:n}};var G=require("react/jsx-runtime"),fp=h(Ot,dn,cn,ln),bp=h("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",ft,mn,wa),yp="min-w-24",gp="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",Rp={touchAction:"manipulation"},hp=h("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",yp),Sp=h("relative z-10",Ve),vp=h("flex h-full",ft),Ep="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",Lr="h-4 rounded bg-slate-200 dark:bg-slate-700",Tp=()=>(0,G.jsx)("div",{"data-skeleton":!0,...je,className:vp,children:(0,G.jsxs)("div",{className:Ep,children:[(0,G.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,G.jsx)("div",{className:h(Lr,"w-24")}),(0,G.jsx)("div",{className:h(Lr,"w-24")}),(0,G.jsx)("div",{className:h(Lr,"w-24")})]}),(0,G.jsxs)("div",{className:"space-y-2",children:[(0,G.jsx)("div",{className:h(Lr,"w-full")}),(0,G.jsx)("div",{className:h(Lr,"w-11/12")}),(0,G.jsx)("div",{className:h(Lr,"w-5/6")})]})]})}),xp=e=>{e.target===e.currentTarget&&e.preventDefault()},Cp="h-full w-full",ad=(0,be.createContext)(!1),td=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=(0,be.useContext)(Ft),a=(0,be.useContext)(Ht),i=(0,be.useContext)(Lo);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,be.useMemo)(()=>({height:i}),[i]),{isCurrent:l,isTabStop:c}=ho(t,e),d=So(t,e,o);return(0,G.jsx)(Kr.Provider,{value:c,children:(0,G.jsx)(ad.Provider,{value:l,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||!d?!0:void 0,"aria-current":r!==null&&l?"true":void 0,tabIndex:r===null?-1:void 0,className:fp,style:s,onMouseDown:xp,children:d?n:(0,G.jsx)("div",{...je,className:Cp})})})})},Ip=/(<br\s*\/?\s*>|<\/p>|\r?\n)|<[^>]+>/gi,Lp=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(Ip))if(r+=e.slice(n,a.index),n=a.index+a[0].length,a[1]!==void 0&&(o(),t.length===li))return t;return r+=e.slice(n),o(),t},Ap=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=(0,be.useContext)(ad);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:hp,children:o})},rd=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=Rr();return(0,G.jsx)("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:Sp,children:n})},id=(0,be.memo)(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=B(),{toggleStar:i,toggleRead:s}=Me(),l=(0,be.useId)(),c=(0,be.useId)(),d=(0,be.useId)(),y=(0,be.useId)(),g=(0,be.useMemo)(()=>Lp(t.content??null),[t.content]),x=ge(t.employeeName),I=ye(e.businessDate),m=O=>{O.currentTarget.focus({preventScroll:!0});let W=Ni(O.currentTarget);W!==null&&r(e.reportHubId,W)},R=async()=>{let O=!t.isStarred;try{await i(t.reportHubId,O,t.date)}catch{}},b=async()=>{let O=!t.isRead;try{await s(t.reportHubId,O,t.date)}catch{}},v=t.isStarred?o.starRemove:o.starAdd,_=t.isRead?o.markUnread:o.markRead,D=Mt(t.sourceType,a),V=[c,...t.attachments.length>0?[d]:[],...D===void 0?[]:[y],l].join(" ");return(0,G.jsxs)("div",{"data-daily-report-card":!0,...je,style:Rp,className:bp,children:[(0,G.jsx)("span",{id:c,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),(0,G.jsxs)(Ap,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:V,onClick:m,children:[(0,G.jsx)("span",{className:h(Fe,"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:I})})," ",(0,G.jsx)("span",{className:h(Fe,"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:x})})]}),(0,G.jsxs)("div",{className:h(Ma,"ml-auto"),children:[(0,G.jsx)(or,{id:d,count:t.attachments.length,label:o.attachments}),D?(0,G.jsx)(Sr,{id:y,config:D}):null,(0,G.jsx)(rd,{label:v,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:R,children:(0,G.jsx)(hr,{filled:t.isStarred})}),(0,G.jsx)(rd,{label:_,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:b,children:t.isRead?(0,G.jsx)(od.default,{className:Ie.read}):(0,G.jsx)(vr,{})})]}),(0,G.jsx)("div",{id:l,className:gp,children:g.length>0?g.map((O,W)=>(0,G.jsx)("p",{className:"wrap-break-word line-clamp-1",children:O},W)):(0,G.jsx)("p",{children:o.contentEmptyPreview})})]})});id.displayName="ListReportCard";var nd=(e,t)=>(0,be.useCallback)(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),Ta=(0,be.memo)(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=B(),{removeStaleItem:o}=Me(),{report:a,error:i,isLoading:s,isRefetching:l}=kt(e.reportHubId,e.businessDate),c=(0,be.useRef)(!1);(0,be.useEffect)(()=>{if(l){c.current=!0;return}!(a||s||i)&&c.current&&e.reportHubId>0&&o(e.reportHubId)},[a,s,l,i,e.reportHubId,o]);let d=nd(r,e.reportHubId),y=nd(r,e.reportHubId),g=(x,I)=>(0,G.jsx)(td,{reportHubId:e.reportHubId,cursor:r,cardless:{label:ye(e.businessDate),isBusy:I,focusTargetRef:d},children:x});return i?g((0,G.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,G.jsx)("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?g((0,G.jsx)(Tp,{}),!0):a?(0,G.jsx)(td,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:(0,G.jsx)(id,{item:e,report:a,onSelect:t,focusTargetRef:y})}):g((0,G.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,G.jsx)("p",{children:n.reportNotFound})}),!1)});Ta.displayName="ListReportItem";var he=require("react/jsx-runtime"),cd={pointerDragInputs:An,inertiaOptions:mr(!1),wheelSpeedMultiplier:En,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},_p={...cd,inertiaOptions:mr(!0)},Dp=Object.freeze({value:360,unit:"pixels"}),sd=Object.freeze({value:160,unit:"pixels"}),wp=Object.freeze({value:520,unit:"pixels"}),Np=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),Op=h("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",ae),Mp=h("relative w-full",bn,fn),kp=h(Je,"relative isolate overflow-hidden"),ld="daily-report-list",Pp=()=>!1,Hp=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<si)},a=new(dt(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},Ao=e=>{let t=(0,ee.useRef)(null),[r,n]=(0,ee.useState)(null),o=Hn(t),a=Hp(t),{rowSlotHeight:i,remProbe:s}=ed(),l=Bn(r),c=(0,ee.useCallback)(d=>(t.current=d,n(d),()=>{t.current=null,n(null)}),[]);return(0,he.jsxs)("div",{ref:c,className:pn,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:(0,he.jsx)(Fp,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:l})]})},Fp=({dailyReportItems:e,autoMarkRead:t=!1,selectedReportHubId:r,onSelectItem:n,userId:o,scrollOffsetRef:a,rootRef:i,viewportHeight:s,rowSlotHeight:l,isContainerNarrow:c,reducedMotion:d})=>{let[y]=(0,ee.useState)(()=>a?.current??0),g=(0,ee.useRef)(null),{labels:x}=B(),I=Nn(),[m]=(0,ee.useState)(Vn),b=Bl()||c,v=(0,ee.useRef)(null),_=e.length,D=(0,ee.useRef)(null),V=(0,ee.useCallback)(f=>n(f),[n]),O=(0,ee.useCallback)(f=>f<_?e[f]:xn,[e,_]),W=(0,ee.useCallback)(f=>{let S=O(f.visibleStartIndex);S.reportHubId>0&&m.setLabel(ye(S.businessDate))},[O,m]),H=(0,ee.useMemo)(()=>({kind:"uniform",rowHeight:l}),[l]),J=(0,ee.useRef)(e);(0,ee.useLayoutEffect)(()=>{J.current=e},[e]);let{cursor:re,containerProps:Y,handleRangeChange:le,handleScrollAdjust:K,attachVirtualScroll:ne,handleRef:j,scroller:$,attachScrollContainer:me,contentProps:ve,keyboardHelp:oe,selection:z,settledSelection:fe,resolveSelectedIndex:xe,rememberSelection:we,focusAfterRemoval:Ae}=Eo({items:e,selectedId:r,onSelect:V,containerRef:g,rootRef:i,testId:ld,itemsRef:J,rowSizing:H,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:Pp,onRangeChange:W}),{isMobileDetailOpen:_e,setIsMobileDetailOpen:Ce,isOverlayMounted:at,shouldShowOverlay:St,handleOverlayClose:it,lastClosedItemIdRef:Ge,selectedItem:pt}=Jl({isMobileLayout:b,selection:z,dailyReportItems:e,onSelectItem:n,rootRef:i}),vt=(0,ee.useMemo)(()=>({selected:z,settled:fe}),[z,fe]);(0,ee.useEffect)(()=>{let f=g.current,S=()=>{m.setWheelScrollActive(!0),v.current&&clearTimeout(v.current),v.current=window.setTimeout(()=>{m.setWheelScrollActive(!1),v.current=null},Cn)};return f?.addEventListener("wheel",S,{passive:!0}),()=>{f?.removeEventListener("wheel",S),v.current&&clearTimeout(v.current)}},[m]),(0,ee.useEffect)(()=>{!_&&r!==null&&n(null)},[_,r,n]),(0,ee.useEffect)(()=>{if(_e||Ge.current===null)return;let f=Ge.current;Ge.current=null;let S=xe(e,f);if(S===-1)return;let w=j.current;if(w!==null){let M=Xr(w,S,e.length,H),U=M===null?"none":yl(M);U!=="none"&&$.toIndex(S,{align:U})}re.requestFocus(f)},[_e,e,Ge,re,xe,j,H,$]),(0,ee.useEffect)(()=>{_>0&&m.setLabel(ye(e[0].businessDate))},[e,_,m]);let He=(0,ee.useCallback)((f,S)=>{f<=0||(we(f,S),n(f),b&&Ce(!0))},[b,n,Ce,we]),Et=(0,ee.useCallback)(()=>l,[l]),Tt=(0,ee.useRef)(l);(0,ee.useLayoutEffect)(()=>{let f=Tt.current;Tt.current=l;let S=j.current;if(f===l||S===null)return;let w=S.getScrollPosition();w>0&&$.by(w*l/f-w)},[j,l,$]);let C=(0,ee.useCallback)(f=>O(f).reportHubId,[O]),p=(0,ee.useCallback)((f,S)=>(0,he.jsx)(Ft.Provider,{value:S,children:(0,he.jsx)(Ta,{item:f,onSelect:He,cursor:re})},f.reportHubId),[He,re]),u=(0,ee.useCallback)(f=>{a&&(a.current=f);let S=g.current;S&&(S.toggleAttribute(tr,!0),D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{S.toggleAttribute(tr,!1),D.current=null},150))},[a]),E=(0,ee.useCallback)(f=>(0,he.jsx)(Wn,{...f,store:m}),[m]),T=(0,ee.useMemo)(()=>(0,he.jsxs)("div",{ref:me,className:kp,...Y,children:[oe,(0,he.jsx)(Ht.Provider,{value:_,children:(0,he.jsx)(Lo.Provider,{value:l,children:(0,he.jsx)(dd.VirtualScroll,{ref:ne,itemCount:_,getItem:O,getItemKey:C,getItemHeight:Et,viewportSize:s,initialScrollOffset:y,overscanCount:In,scrollBarOptions:{...Ln,renderThumbOverlay:E},behaviorOptions:d?_p:cd,onRangeChange:le,onScrollAdjust:K,onScroll:u,testId:ld,className:Mp,locale:I.locale,labels:I.labels,contentProps:ve,children:p})})})]}),[me,ne,Y,_,O,C,Et,s,l,d,y,E,le,K,u,oe,ve,I.locale,I.labels,p]),L=(0,ee.useMemo)(()=>(0,he.jsxs)(er.PanelGroup,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[(0,he.jsx)(er.Panel,{id:"daily-report-list-panel",defaultSize:Dp,minSize:sd,maxSize:wp,contentOverflow:"hidden",className:Bp,children:T}),(0,he.jsx)(er.PanelResizeHandle,{id:"daily-report-list-handle",thickness:10,indicator:Np,className:Op,"aria-label":x.resizeHandle}),(0,he.jsx)(er.Panel,{id:"daily-report-detail-panel",minSize:sd,contentOverflow:"hidden",className:Up,children:(0,he.jsx)(Zl,{dailyReportItems:e,autoMarkRead:t,userId:o,onReportDeleted:Ae})})]}),[T,x.resizeHandle,e,t,o,Ae]);return(0,he.jsxs)(he.Fragment,{children:[b?(0,he.jsx)("div",{className:Je,children:T}):(0,he.jsx)(Co.Provider,{value:vt,children:L}),at&&(0,he.jsx)(Ql,{isOpen:St,selectedItem:pt,onClose:it,autoMarkRead:b&&t,userId:o,onReportDeleted:Ae})]})},Bp=h("flex min-h-0",La),Up=h("flex min-h-0 flex-1",Ot);var an=require("react");var fd=Ee(require("lucide-react/dist/esm/icons/plus.js")),bd=Ee(require("lucide-react/dist/esm/icons/refresh-cw.js")),yd=Ee(require("lucide-react/dist/esm/icons/rotate-cw.js")),Ze=require("react"),gd=require("react-router");var on=Ee(require("@radix-ui/react-switch")),ud=Ee(require("react"));var xa=require("react/jsx-runtime"),_o=ud.forwardRef(({className:e,...t},r)=>(0,xa.jsx)(on.Root,{className:h(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${Ha} ${Ba} ${ae}`,e),...t,ref:r,children:(0,xa.jsx)(on.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${Fa} ${Ua}`})}));_o.displayName=on.Root.displayName;var md=require("react"),pd=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)})}},Ca=e=>(0,md.useSyncExternalStore)(e.subscribe,e.get,e.get);var Q=require("react/jsx-runtime"),Vp="list",Wp=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},Kp=h(Wa,za,"ml-[8px] flex flex-wrap items-center gap-2"),$p=({count:e})=>{let{labels:t}=B(),r=Qr(e);return(0,Q.jsx)("span",{className:"tabular-nums",children:t.totalCount(r)})},zp=({selectionStore:e,dailyReportItems:t,autoMarkRead:r,userId:n,scrollOffsetRef:o})=>{let a=Ca(e);return(0,Q.jsx)(Ao,{dailyReportItems:t,autoMarkRead:r,selectedReportHubId:a,onSelectItem:e.set,userId:n,scrollOffsetRef:o})},Gp=({selectionStore:e,dailyReportItems:t,userId:r,scrollRestoreRef:n})=>{let o=Ca(e);return(0,Q.jsx)(To,{dailyReportItems:t,userId:r,selectedItemId:o,onSelectItem:e.set,scrollRestoreRef:n})},jp=({tabItems:e,actions:t})=>{let[r,n]=(0,Ze.useState)(Vp),{labels:o}=B();return(0,Q.jsxs)(tn,{value:r,onValueChange:a=>n(Wp(a)),className:h("@container/views",Je),children:[(0,Q.jsxs)("div",{className:h(Kp,Ga[r]),children:[(0,Q.jsx)(rn,{"aria-label":o.viewTabList,className:"flex flex-wrap gap-1",children:e.map(({value:a,label:i})=>(0,Q.jsx)(nn,{value:a,children:i},a))}),t]}),e.map(({value:a,content:i})=>(0,Q.jsx)(Cr,{value:a,className:h("mt-0",Je),children:i},a))]})},Do=({userId:e})=>{let[t,r]=(0,Ze.useState)(!1),{labels:n,renderHeader:o,showDevControls:a}=B(),{isSseEnabled:i,toggleSse:s,createReport:l,items:c,refetchData:d,clearCacheAndRefetch:y}=Me(),[g]=(0,gd.useSearchParams)(),x=(0,Ze.useRef)(0),I=(0,Ze.useRef)({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[m]=(0,Ze.useState)(()=>pd(c.length===0?null:c[0].reportHubId)),R=(0,Ze.useRef)(!1);(0,Ze.useEffect)(()=>{!R.current&&c.length>0&&(R.current=!0,m.get()===null&&m.set(c[0].reportHubId))},[c,m]);let b=async()=>{await d()},v=async()=>{await y()},_=async()=>{let W=g.get("businessDate")||ko(),H=await l(W);m.set(H)};(0,Ze.useEffect)(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let D=O=>{r(O),localStorage.setItem("daily-report-auto-read",String(O))},V=(0,Ze.useMemo)(()=>[{value:"list",label:n.tabList,content:(0,Q.jsx)(zp,{selectionStore:m,dailyReportItems:c,autoMarkRead:t,userId:e,scrollOffsetRef:x})},{value:"tree",label:n.tabTree,content:(0,Q.jsx)("div",{className:h("flex flex-1 items-center justify-center",nr),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:(0,Q.jsx)(Gp,{selectionStore:m,dailyReportItems:c,userId:e,scrollRestoreRef:I})}],[c,t,e,n,m]);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)(Tr,{}),(0,Q.jsx)($p,{count:c.length}),(0,Q.jsx)("span",{children:n.debounce(dr)})]})}),(0,Q.jsx)("div",{className:Dr,children:(0,Q.jsx)("div",{className:wr,children:(0,Q.jsx)(jp,{tabItems:V,actions:(0,Q.jsxs)("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[(0,Q.jsxs)(_t,{size:"sm",onClick:_,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)(fd.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)("div",{className:"flex items-center",title:n.devSseToggle,children:(0,Q.jsx)(_o,{id:"sse-mode",checked:i,onCheckedChange:s})}),(0,Q.jsx)(_t,{variant:"ghost",size:"icon",onClick:b,className:"h-4 w-4 p-0 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)(yd.default,{className:"size-3"})}),(0,Q.jsx)(_t,{variant:"ghost",size:"icon",onClick:v,className:"h-4 w-4 p-0 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)(bd.default,{className:"size-3"})})]}),(0,Q.jsxs)("div",{className:"flex items-center gap-1 pl-1",title:n.autoReadTitle,children:[(0,Q.jsx)(_o,{id:"auto-read-mode",checked:t,onCheckedChange:D}),(0,Q.jsx)(Yr,{htmlFor:"auto-read-mode",className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:n.autoRead})]})]})})})})]})};var ce=require("react/jsx-runtime"),Rd=h(Je,Ot),hd=h("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",ft),Yp=()=>{let{labels:e,renderHeader:t}=B();return(0,ce.jsxs)(ce.Fragment,{children:[t({title:e.title,annotation:(0,ce.jsx)("span",{className:h("font-bold",Nr),children:e.loadErrorBadge})}),(0,ce.jsx)("div",{className:Dr,children:(0,ce.jsx)("div",{className:wr,children:(0,ce.jsx)("div",{className:Rd,children:(0,ce.jsxs)("div",{className:h(hd,"border-red-200 dark:border-red-900"),children:[(0,ce.jsx)("p",{className:h("font-medium",Nr),children:e.loadError}),(0,ce.jsx)("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:()=>Xn(),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})]})})})})]})},qp=()=>{let{labels:e,renderHeader:t}=B();return(0,ce.jsxs)(ce.Fragment,{children:[t({title:e.title,annotation:(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[(0,ce.jsx)(Tr,{}),(0,ce.jsx)("span",{children:e.totalCountLoading}),(0,ce.jsx)("span",{children:e.debounce(dr)})]})}),(0,ce.jsx)("div",{className:Dr,children:(0,ce.jsx)("div",{className:wr,children:(0,ce.jsx)("div",{className:Rd,children:(0,ce.jsx)("div",{className:hd,children:e.loadingIds})})})})]})},Xp=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=B(),o=bt(),a=(0,an.useRef)(n);a.current=n,(0,an.useEffect)(()=>{fr({apiBasePath:r,userKey:t??null})},[r,t]),(0,an.useEffect)(()=>{o.phase==="auth-required"&&a.current()},[o.phase]);let i=o.items.length>0||o.phase==="complete";return(0,ce.jsx)(Jn,{children:(0,ce.jsx)(Qn,{user:e,initialItems:o.items,userId:t,children:i?(0,ce.jsx)(Do,{userId:t}):o.phase==="failed"?(0,ce.jsx)(Yp,{}):(0,ce.jsx)(qp,{})},t??"anonymous")})},Sd=({config:e,...t})=>(0,ce.jsx)(Sn,{config:e,children:(0,ce.jsx)(Xp,{...t})});var vd=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:i,formMethod:s,json:l,nextUrl:c,text:d})=>{if(!n)return!1;if(!(r.pathname===c.pathname&&r.search===c.search&&r.hash===c.hash))return n;if(a){let x=a.get("intent");if(x==="toggleRead"||x==="toggleStar"||x==="addComment"||x==="deleteComment"||x==="create"||x==="update"||x==="publish"||x==="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||d!==void 0?n:!1},Ed=e=>{let t=async r=>{Yn();let n=await r.serverLoader(),o=n.userId;return jn({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,DailyReportActionProvider,DailyReportAttachmentIndicator,DailyReportConfigProvider,DailyReportDetailList,DailyReportErrorProvider,DailyReportIdsStreamClient,DailyReportIdsStreamStatus,DailyReportList,DailyReportPage,DailyReportResolvedContent,bootstrapDailyReportIdsStreamSession,createDailyReportClientLoader,dailyReportShouldRevalidate,defaultDailyReportClientConfig,ensureDailyReportIdsStreamSession,primeDailyReportIdsStreamSession,resolveDailyReportLabels,resolveSourceTypeConfig,resyncDailyReportIdsStream,useDailyReportActionContext,useDailyReportComments,useDailyReportConfig,useDailyReportDetail,useDailyReportIdsStream,useDailyReportPrefetch,useDailyReportSseConnection});
|
|
6
|
+
`).replace(/<[^>]+>/g,""):null,[e]),j=async oe=>{try{await I(oe.reportHubId,!oe.isStarred,oe.date)}catch{}},$=async oe=>{if(confirm(E.confirmDelete)){try{await R(oe.reportHubId,oe.date)}catch{alert(E.deleteFailed);return}g(oe.reportHubId)}};if(n)return(0,N.jsx)("p",{className:Nr,children:E.reportLoadFailed(o.reportHubId)});let me=!e,ve=!!(c&&e?.userId===c);return(0,N.jsxs)("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:d,children:[(0,N.jsxs)("div",{className:"flex items-start gap-2",children:[(0,N.jsx)("dl",{className:"m-0 flex min-w-0 flex-1",children:(0,N.jsx)(Re,{label:E.subject,classNames:jm,children:me?(0,N.jsx)(Ir,{className:"w-3/4"}):(0,N.jsx)("span",{className:"text-sm",children:ge(e?.subject)})})}),!me&&e&&(0,N.jsxs)("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[(0,N.jsx)("button",{type:"button",onClick:()=>j(e),className:Ve,title:e.isStarred?E.starRemove:E.starAdd,"aria-label":e.isStarred?E.starRemove:E.starAdd,"data-detail-star-button":e.reportHubId,children:(0,N.jsx)(hr,{filled:e.isStarred})}),(0,N.jsx)("button",{type:"button",onClick:()=>Y(e,!1),className:Ve,title:e.isRead?E.markUnread:E.markRead,"aria-label":e.isRead?E.markUnread:E.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?(0,N.jsx)(Xl.default,{className:Ie.read}):(0,N.jsx)(vr,{})}),d&&(0,N.jsx)("button",{ref:y,type:"button",onClick:d,"data-detail-edit-button":e.reportHubId,className:Ve,title:E.edit,"aria-label":E.edit,children:(0,N.jsx)(Zl.default,{className:Ie.edit})}),ve&&(0,N.jsx)("button",{type:"button",onClick:()=>$(e),"data-detail-delete-button":e.reportHubId,className:Ve,title:E.deleteReport,"aria-label":E.deleteReport,children:(0,N.jsx)(Jl.default,{className:Ie.delete})})]})]}),(0,N.jsx)("dl",{className:"m-0",children:(0,N.jsx)(Re,{label:E.customer,classNames:Yl,children:me?(0,N.jsx)(Ir,{className:"w-1/2"}):(0,N.jsx)("span",{className:"text-sm",children:ge(e?.customerName)})})}),(0,N.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,N.jsx)(Ye,{level:_,className:xt,children:E.content}),(0,N.jsx)("div",{className:h("min-h-22",un),children:me?(0,N.jsxs)("div",{className:"space-y-2",children:[(0,N.jsx)(Ir,{className:"w-full"}),(0,N.jsx)(Ir,{className:"w-11/12"}),(0,N.jsx)(Ir,{className:"w-4/5"})]}):ne?(0,N.jsx)("div",{className:"whitespace-pre-wrap",children:ne}):(0,N.jsx)("p",{className:"text-slate-500 dark:text-slate-400",children:E.contentEmpty})})]}),(0,N.jsx)("dl",{className:"m-0",children:(0,N.jsx)(Re,{label:E.visitTime,classNames:Yl,children:me?(0,N.jsx)(Ir,{className:"w-1/3"}):(0,N.jsxs)("span",{className:"text-sm",children:[ge(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",ge(e?.visitTimeTo)]})})}),e&&(0,N.jsx)(oo,{attachments:e.attachments}),e&&(0,N.jsx)(co,{comments:V,canComment:le,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:W,pendingDeleteId:H,onPendingDeleteIdChange:J,resolvedIdMap:re,onSectionRemoved:x,className:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800",children:le&&(0,N.jsx)(uo,{reportHubId:e.reportHubId,businessDate:e.date,onAddComment:K})})]})};var mt=require("react/jsx-runtime"),op="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]",ap={right:"var(--aqdr-overlay-right, 0px)"},ip="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",sp=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",za),lp=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),dp=50,td=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=(0,te.useState)(!1),[l,c]=(0,te.useState)(!1),d=(0,te.useRef)(null),y=(0,te.useRef)(null),g=(0,te.useRef)(null),x=(0,te.useRef)(e),I=(0,te.useRef)(!0),m=en(r,t),R=(0,te.useCallback)(()=>{let _=o.current;if(_===null)return;let V=_.ownerDocument.body;g.current={body:V,overflow:V.style.overflow},V.style.overflow="hidden"},[o]),b=(0,te.useCallback)(()=>{let _=g.current;_!==null&&(_.body.style.overflow=_.overflow,g.current=null)},[]);(0,te.useEffect)(()=>{if(I.current){I.current=!1,x.current=e;return}let _=!x.current;x.current=e,_&&e&&a!==null?s(!0):!e&&i&&(y.current=a,s(!1),b())},[e,a,i,b]);let E=e&&i&&m!==null;(0,te.useEffect)(()=>{if(E)c(!0);else{let _=setTimeout(()=>c(!1),300);return()=>clearTimeout(_)}},[E]),(0,te.useEffect)(()=>{if(e&&i&&a!==null&&!d.current){let _=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:_},"",window.location.href),d.current=_}else!(e&&i)&&d.current&&(d.current=null);return e&&i?R():b(),b},[e,i,a,R,b]),(0,te.useEffect)(()=>{let _=()=>{d.current&&(y.current=a,d.current=null,s(!1),n(null))};return window.addEventListener("popstate",_),()=>window.removeEventListener("popstate",_)},[a,n]);let w=(0,te.useCallback)(()=>{e&&(y.current=a,s(!1),n(null),d.current&&(d.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:i,setIsMobileDetailOpen:s,isOverlayMounted:l,shouldShowOverlay:E,handleOverlayClose:w,lastClosedItemIdRef:y,selectedItem:m}},rd=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=B(),s=(0,te.useRef)(null),l=(0,te.useId)(),c=(0,te.useId)(),[d,y]=(0,te.useState)(Ta),g=(0,nt.useOverlayEscapeStack)(),x=(0,te.useId)(),I=(0,te.useRef)(!1),m=(0,te.useRef)(e),R=(0,te.useRef)(null),[b]=(0,te.useState)(()=>Ea(e)),{isBlocked:E,requestBlock:w,reset:_}=(0,nt.useSwipeGuardState)(),V=(0,nt.useTransitionDisplay)(e,t),{overlayRef:O,overlayStyle:W,attemptClose:H,isSwiping:J}=(0,nt.useSwipeToDismissOverlay)({isOpen:e,onClose:r,isCloseBlocked:(0,te.useCallback)(()=>E,[E]),skipWhenTextSelected:!0}),re=(0,te.useRef)(H);(0,te.useLayoutEffect)(()=>{re.current=H,m.current=e,b.set(e)},[H,e,b]),(0,te.useEffect)(()=>{if(e)return g({id:x,onEscape:j=>jr(j)&&re.current()})},[e,g,x]),(0,te.useLayoutEffect)(()=>{let j=s.current;if(j===null)return;if(e){if(I.current)return;j.showModal(),I.current=!0,j.ownerDocument.getElementById(l)?.focus();return}if(!I.current)return;I.current=!1;let $=Ke(j);$!==null&&j.contains($)&&zo($)&&$.blur(),j.close()},[e,l]),(0,te.useEffect)(()=>{e||_()},[e,_]);let Y=(0,nt.useTapClick)(()=>H()),le=j=>{let $=ao(j);if(jr($)){H()&&j.preventDefault();return}if($.key==="Escape"){R.current=j.timeStamp;return}let me=Vs($,j.currentTarget);me!==null&&(j.preventDefault(),me.kind==="wrap"&&me.element.focus())},K=j=>{j.preventDefault();let $=R.current;R.current=null,!($!==null&&j.timeStamp-$<=dp)&&re.current()},ne=j=>{let $=j.currentTarget;$.open||!m.current||(I.current=!1,!re.current()&&($.showModal(),I.current=!0))};return V?(0,mt.jsxs)("dialog",{ref:s,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${l} ${c}`,tabIndex:-1,className:h(op,e&&!J?"pointer-events-auto":"pointer-events-none"),style:ap,inert:!e,onKeyDown:le,onCancel:K,onClose:ne,children:[(0,mt.jsx)("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:h(ip,e?"opacity-100":"opacity-0"),...Y}),(0,mt.jsx)("div",{ref:O,"data-daily-report-overlay-panel":"",className:h(sp,e?"pointer-events-auto":"pointer-events-none"),style:W,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:E,requestBlock:w},children:(0,mt.jsx)("div",{"data-testid":"daily-report-side-pane","data-report-id":V.reportHubId,"data-displayed-report-id":V.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:(0,mt.jsx)(Lo,{item:V,headingId:l,authorId:c,activeTab:d,onActiveTabChange:y,autoMarkRead:n,isActive:e,dwell:b,userId:o,onReportDeleted:a},V.reportHubId)})}),(0,mt.jsx)("div",{className:"flex justify-start",children:(0,mt.jsx)("button",{type:"button","data-overlay-interactive":"true",className:lp,onClick:()=>H(),children:i.close})})]})})]}):null};var sd=Ee(require("lucide-react/dist/esm/icons/check.js")),be=require("react");var ot=require("react");var cp=6.75,up=4,mp=1e-6,pp=e=>4*Math.ceil((2*rr+2*Oa+up+cp*e-mp)/4),Ao=(0,ot.createContext)(null),fp="data-daily-report-root-font-size-probe",bp={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},yp=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])},nd=()=>{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=pp(yp(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,[fp]:"",style:bp}),[]);return{rowSlotHeight:t,remProbe:n}};var G=require("react/jsx-runtime"),gp=h(Ot,dn,cn,ln),Rp=h("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",ft,mn,Na),hp="min-w-24",Sp="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",vp={touchAction:"manipulation"},Ep=h("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",hp),Tp=h("relative z-10",Ve),xp=h("flex h-full",ft),Cp="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",Lr="h-4 rounded bg-slate-200 dark:bg-slate-700",Ip=()=>(0,G.jsx)("div",{"data-skeleton":!0,...je,className:xp,children:(0,G.jsxs)("div",{className:Cp,children:[(0,G.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,G.jsx)("div",{className:h(Lr,"w-24")}),(0,G.jsx)("div",{className:h(Lr,"w-24")}),(0,G.jsx)("div",{className:h(Lr,"w-24")})]}),(0,G.jsxs)("div",{className:"space-y-2",children:[(0,G.jsx)("div",{className:h(Lr,"w-full")}),(0,G.jsx)("div",{className:h(Lr,"w-11/12")}),(0,G.jsx)("div",{className:h(Lr,"w-5/6")})]})]})}),Lp=e=>{e.target===e.currentTarget&&e.preventDefault()},Ap="h-full w-full",ld=(0,be.createContext)(!1),od=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=(0,be.useContext)(Ft),a=(0,be.useContext)(Ht),i=(0,be.useContext)(Ao);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,be.useMemo)(()=>({height:i}),[i]),{isCurrent:l,isTabStop:c}=So(t,e),d=vo(t,e,o);return(0,G.jsx)(Kr.Provider,{value:c,children:(0,G.jsx)(ld.Provider,{value:l,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||!d?!0:void 0,"aria-current":r!==null&&l?"true":void 0,tabIndex:r===null?-1:void 0,className:gp,style:s,onMouseDown:Lp,children:d?n:(0,G.jsx)("div",{...je,className:Ap})})})})},_p=/(<br\s*\/?\s*>|<\/p>|\r?\n)|<[^>]+>/gi,Dp=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(_p))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},wp=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=(0,be.useContext)(ld);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:Ep,children:o})},ad=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=Rr();return(0,G.jsx)("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:Tp,children:n})},dd=(0,be.memo)(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=B(),{toggleStar:i,toggleRead:s}=Me(),l=(0,be.useId)(),c=(0,be.useId)(),d=(0,be.useId)(),y=(0,be.useId)(),g=(0,be.useMemo)(()=>Dp(t.content??null),[t.content]),x=ge(t.employeeName),I=ye(e.businessDate),m=O=>{O.currentTarget.focus({preventScroll:!0});let W=Mi(O.currentTarget);W!==null&&r(e.reportHubId,W)},R=async()=>{let O=!t.isStarred;try{await i(t.reportHubId,O,t.date)}catch{}},b=async()=>{let O=!t.isRead;try{await s(t.reportHubId,O,t.date)}catch{}},E=t.isStarred?o.starRemove:o.starAdd,w=t.isRead?o.markUnread:o.markRead,_=Mt(t.sourceType,a),V=[c,...t.attachments.length>0?[d]:[],..._===void 0?[]:[y],l].join(" ");return(0,G.jsxs)("div",{"data-daily-report-card":!0,...je,style:vp,className:Rp,children:[(0,G.jsx)("span",{id:c,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),(0,G.jsxs)(wp,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:V,onClick:m,children:[(0,G.jsx)("span",{className:h(Fe,"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:I})})," ",(0,G.jsx)("span",{className:h(Fe,"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:x})})]}),(0,G.jsxs)("div",{className:h(ka,"ml-auto"),children:[(0,G.jsx)(or,{id:d,count:t.attachments.length,label:o.attachments}),_?(0,G.jsx)(Sr,{id:y,config:_}):null,(0,G.jsx)(ad,{label:E,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:R,children:(0,G.jsx)(hr,{filled:t.isStarred})}),(0,G.jsx)(ad,{label:w,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:b,children:t.isRead?(0,G.jsx)(sd.default,{className:Ie.read}):(0,G.jsx)(vr,{})})]}),(0,G.jsx)("div",{id:l,className:Sp,children:g.length>0?g.map((O,W)=>(0,G.jsx)("p",{className:"wrap-break-word line-clamp-1",children:O},W)):(0,G.jsx)("p",{children:o.contentEmptyPreview})})]})});dd.displayName="ListReportCard";var id=(e,t)=>(0,be.useCallback)(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),xa=(0,be.memo)(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=B(),{removeStaleItem:o}=Me(),{report:a,error:i,isLoading:s,isRefetching:l}=kt(e.reportHubId,e.businessDate),c=(0,be.useRef)(!1);(0,be.useEffect)(()=>{if(l){c.current=!0;return}!(a||s||i)&&c.current&&e.reportHubId>0&&o(e.reportHubId)},[a,s,l,i,e.reportHubId,o]);let d=id(r,e.reportHubId),y=id(r,e.reportHubId),g=(x,I)=>(0,G.jsx)(od,{reportHubId:e.reportHubId,cursor:r,cardless:{label:ye(e.businessDate),isBusy:I,focusTargetRef:d},children:x});return i?g((0,G.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,G.jsx)("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?g((0,G.jsx)(Ip,{}),!0):a?(0,G.jsx)(od,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:(0,G.jsx)(dd,{item:e,report:a,onSelect:t,focusTargetRef:y})}):g((0,G.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,G.jsx)("p",{children:n.reportNotFound})}),!1)});xa.displayName="ListReportItem";var he=require("react/jsx-runtime"),pd={pointerDragInputs:_n,inertiaOptions:mr(!1),wheelSpeedMultiplier:Tn,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},Np={...pd,inertiaOptions:mr(!0)},Op=Object.freeze({value:360,unit:"pixels"}),cd=Object.freeze({value:160,unit:"pixels"}),Mp=Object.freeze({value:520,unit:"pixels"}),kp=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),Pp=h("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",ae),Hp=h("relative w-full",yn,fn),Fp=h(Je,"relative isolate overflow-hidden"),ud="daily-report-list",Bp=()=>!1,Up=e=>{let[t,r]=(0,Q.useState)(!1);return(0,Q.useLayoutEffect)(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] the List root is not attached");let o=i=>{for(let s of i)r(s.contentRect.width>0&&s.contentRect.width<di)},a=new(dt(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},_o=e=>{let t=(0,Q.useRef)(null),[r,n]=(0,Q.useState)(null),o=Fn(t),a=Up(t),{rowSlotHeight:i,remProbe:s}=nd(),l=Un(r),c=(0,Q.useCallback)(d=>(t.current=d,n(d),()=>{t.current=null,n(null)}),[]);return(0,he.jsxs)("div",{ref:c,className:pn,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:(0,he.jsx)(Vp,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:l})]})},Vp=({dailyReportItems:e,autoMarkRead:t=!1,selectedReportHubId:r,onSelectItem:n,userId:o,scrollOffsetRef:a,rootRef:i,viewportHeight:s,rowSlotHeight:l,isContainerNarrow:c,reducedMotion:d})=>{let[y]=(0,Q.useState)(()=>a?.current??0),g=(0,Q.useRef)(null),{labels:x}=B(),I=On(),[m]=(0,Q.useState)(Wn),b=Wl()||c,E=(0,Q.useRef)(null),w=e.length,_=(0,Q.useRef)(null),V=(0,Q.useCallback)(f=>n(f),[n]),O=(0,Q.useCallback)(f=>f<w?e[f]:Cn,[e,w]),W=(0,Q.useCallback)(f=>{let S=O(f.visibleStartIndex);S.reportHubId>0&&m.setLabel(ye(S.businessDate))},[O,m]),H=(0,Q.useMemo)(()=>({kind:"uniform",rowHeight:l}),[l]),J=(0,Q.useRef)(e);(0,Q.useLayoutEffect)(()=>{J.current=e},[e]);let{cursor:re,containerProps:Y,handleRangeChange:le,handleScrollAdjust:K,attachVirtualScroll:ne,handleRef:j,scroller:$,attachScrollContainer:me,contentProps:ve,keyboardHelp:oe,selection:z,settledSelection:fe,resolveSelectedIndex:xe,rememberSelection:we,focusAfterRemoval:Ae}=To({items:e,selectedId:r,onSelect:V,containerRef:g,rootRef:i,testId:ud,itemsRef:J,rowSizing:H,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:Bp,onRangeChange:W}),{isMobileDetailOpen:_e,setIsMobileDetailOpen:Ce,isOverlayMounted:at,shouldShowOverlay:St,handleOverlayClose:it,lastClosedItemIdRef:Ge,selectedItem:pt}=td({isMobileLayout:b,selection:z,dailyReportItems:e,onSelectItem:n,rootRef:i}),vt=(0,Q.useMemo)(()=>({selected:z,settled:fe}),[z,fe]);(0,Q.useEffect)(()=>{let f=g.current,S=()=>{m.setWheelScrollActive(!0),E.current&&clearTimeout(E.current),E.current=window.setTimeout(()=>{m.setWheelScrollActive(!1),E.current=null},In)};return f?.addEventListener("wheel",S,{passive:!0}),()=>{f?.removeEventListener("wheel",S),E.current&&clearTimeout(E.current)}},[m]),(0,Q.useEffect)(()=>{!w&&r!==null&&n(null)},[w,r,n]),(0,Q.useEffect)(()=>{if(_e||Ge.current===null)return;let f=Ge.current;Ge.current=null;let S=xe(e,f);if(S===-1)return;let D=j.current;if(D!==null){let M=Xr(D,S,e.length,H),U=M===null?"none":hl(M);U!=="none"&&$.toIndex(S,{align:U})}re.requestFocus(f)},[_e,e,Ge,re,xe,j,H,$]),(0,Q.useEffect)(()=>{w>0&&m.setLabel(ye(e[0].businessDate))},[e,w,m]);let He=(0,Q.useCallback)((f,S)=>{f<=0||(we(f,S),n(f),b&&Ce(!0))},[b,n,Ce,we]),Et=(0,Q.useCallback)(()=>l,[l]),Tt=(0,Q.useRef)(l);(0,Q.useLayoutEffect)(()=>{let f=Tt.current;Tt.current=l;let S=j.current;if(f===l||S===null)return;let D=S.getScrollPosition();D>0&&$.by(D*l/f-D)},[j,l,$]);let C=(0,Q.useCallback)(f=>O(f).reportHubId,[O]),p=(0,Q.useCallback)((f,S)=>(0,he.jsx)(Ft.Provider,{value:S,children:(0,he.jsx)(xa,{item:f,onSelect:He,cursor:re})},f.reportHubId),[He,re]),u=(0,Q.useCallback)(f=>{a&&(a.current=f);let S=g.current;S&&(S.toggleAttribute(tr,!0),_.current&&clearTimeout(_.current),_.current=setTimeout(()=>{S.toggleAttribute(tr,!1),_.current=null},150))},[a]),v=(0,Q.useCallback)(f=>(0,he.jsx)(Kn,{...f,store:m}),[m]),T=(0,Q.useMemo)(()=>(0,he.jsxs)("div",{ref:me,className:Fp,...Y,children:[oe,(0,he.jsx)(Ht.Provider,{value:w,children:(0,he.jsx)(Ao.Provider,{value:l,children:(0,he.jsx)(md.VirtualScroll,{ref:ne,itemCount:w,getItem:O,getItemKey:C,getItemHeight:Et,viewportSize:s,initialScrollOffset:y,overscanCount:Ln,scrollBarOptions:{...An,renderThumbOverlay:v},behaviorOptions:d?Np:pd,onRangeChange:le,onScrollAdjust:K,onScroll:u,testId:ud,className:Hp,locale:I.locale,labels:I.labels,contentProps:ve,children:p})})})]}),[me,ne,Y,w,O,C,Et,s,l,d,y,v,le,K,u,oe,ve,I.locale,I.labels,p]),L=(0,Q.useMemo)(()=>(0,he.jsxs)(er.PanelGroup,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[(0,he.jsx)(er.Panel,{id:"daily-report-list-panel",defaultSize:Op,minSize:cd,maxSize:Mp,contentOverflow:"hidden",className:Wp,children:T}),(0,he.jsx)(er.PanelResizeHandle,{id:"daily-report-list-handle",thickness:10,indicator:kp,className:Pp,"aria-label":x.resizeHandle}),(0,he.jsx)(er.Panel,{id:"daily-report-detail-panel",minSize:cd,contentOverflow:"hidden",className:Kp,children:(0,he.jsx)(ed,{dailyReportItems:e,autoMarkRead:t,userId:o,onReportDeleted:Ae})})]}),[T,x.resizeHandle,e,t,o,Ae]);return(0,he.jsxs)(he.Fragment,{children:[b?(0,he.jsx)("div",{className:Je,children:T}):(0,he.jsx)(Io.Provider,{value:vt,children:L}),at&&(0,he.jsx)(rd,{isOpen:St,selectedItem:pt,onClose:it,autoMarkRead:b&&t,userId:o,onReportDeleted:Ae})]})},Wp=h("flex min-h-0",Aa),Kp=h("flex min-h-0 flex-1",Ot);var an=require("react");var gd=Ee(require("lucide-react/dist/esm/icons/plus.js")),Rd=Ee(require("lucide-react/dist/esm/icons/refresh-cw.js")),hd=Ee(require("lucide-react/dist/esm/icons/rotate-cw.js")),Ze=require("react"),Sd=require("react-router");var on=Ee(require("@radix-ui/react-switch")),fd=Ee(require("react"));var Ca=require("react/jsx-runtime"),Do=fd.forwardRef(({className:e,...t},r)=>(0,Ca.jsx)(on.Root,{className:h(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${Fa} ${Ua} ${ae}`,e),...t,ref:r,children:(0,Ca.jsx)(on.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${Ba} ${Va}`})}));Do.displayName=on.Root.displayName;var bd=require("react"),yd=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)})}},Ia=e=>(0,bd.useSyncExternalStore)(e.subscribe,e.get,e.get);var ee=require("react/jsx-runtime"),$p="list",zp=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},Gp=h(Ka,Ga,"ml-[8px] flex flex-wrap items-center gap-2"),jp=({count:e})=>{let{labels:t}=B(),r=Qr(e);return(0,ee.jsx)("span",{className:"tabular-nums",children:t.totalCount(r)})},Yp=({selectionStore:e,dailyReportItems:t,autoMarkRead:r,userId:n,scrollOffsetRef:o})=>{let a=Ia(e);return(0,ee.jsx)(_o,{dailyReportItems:t,autoMarkRead:r,selectedReportHubId:a,onSelectItem:e.set,userId:n,scrollOffsetRef:o})},qp=({selectionStore:e,dailyReportItems:t,userId:r,scrollRestoreRef:n})=>{let o=Ia(e);return(0,ee.jsx)(xo,{dailyReportItems:t,userId:r,selectedItemId:o,onSelectItem:e.set,scrollRestoreRef:n})},Xp=({tabItems:e,actions:t})=>{let[r,n]=(0,Ze.useState)($p),{labels:o}=B();return(0,ee.jsxs)(tn,{value:r,onValueChange:a=>n(zp(a)),className:h("@container/views",Je),children:[(0,ee.jsxs)("div",{className:h(Gp,ja[r]),children:[(0,ee.jsx)(rn,{"aria-label":o.viewTabList,className:"flex flex-wrap gap-1",children:e.map(({value:a,label:i})=>(0,ee.jsx)(nn,{value:a,children:i},a))}),t]}),e.map(({value:a,content:i})=>(0,ee.jsx)(Cr,{value:a,className:h("mt-0",Je),children:i},a))]})},wo=({userId:e})=>{let[t,r]=(0,Ze.useState)(!1),{labels:n,renderHeader:o,showDevControls:a}=B(),{isSseEnabled:i,toggleSse:s,createReport:l,items:c,refetchData:d,clearCacheAndRefetch:y}=Me(),[g]=(0,Sd.useSearchParams)(),x=(0,Ze.useRef)(0),I=(0,Ze.useRef)({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[m]=(0,Ze.useState)(()=>yd(c.length===0?null:c[0].reportHubId)),R=(0,Ze.useRef)(!1);(0,Ze.useEffect)(()=>{!R.current&&c.length>0&&(R.current=!0,m.get()===null&&m.set(c[0].reportHubId))},[c,m]);let b=async()=>{await d()},E=async()=>{await y()},w=async()=>{let W=g.get("businessDate")||ko(),H=await l(W);m.set(H)};(0,Ze.useEffect)(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let _=O=>{r(O),localStorage.setItem("daily-report-auto-read",String(O))},V=(0,Ze.useMemo)(()=>[{value:"list",label:n.tabList,content:(0,ee.jsx)(Yp,{selectionStore:m,dailyReportItems:c,autoMarkRead:t,userId:e,scrollOffsetRef:x})},{value:"tree",label:n.tabTree,content:(0,ee.jsx)("div",{className:h("flex flex-1 items-center justify-center",nr),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:(0,ee.jsx)(qp,{selectionStore:m,dailyReportItems:c,userId:e,scrollRestoreRef:I})}],[c,t,e,n,m]);return(0,ee.jsxs)(ee.Fragment,{children:[o({title:n.title,annotation:(0,ee.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[(0,ee.jsx)(Tr,{}),(0,ee.jsx)(jp,{count:c.length}),(0,ee.jsx)("span",{children:n.debounce(dr)})]})}),(0,ee.jsx)("div",{className:Dr,children:(0,ee.jsx)("div",{className:wr,children:(0,ee.jsx)(Xp,{tabItems:V,actions:(0,ee.jsxs)("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[(0,ee.jsxs)(_t,{size:"sm",onClick:w,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,ee.jsx)(gd.default,{className:"h-3 w-3"}),(0,ee.jsx)("span",{children:n.createReport})]}),a&&(0,ee.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,ee.jsx)("span",{className:"select-none font-bold font-mono text-amber-800 text-xs uppercase dark:text-amber-200",children:"dev"}),(0,ee.jsx)(Do,{id:"sse-mode","aria-label":n.devSseToggle,title:n.devSseToggle,checked:i,onCheckedChange:s}),(0,ee.jsx)(_t,{variant:"ghost",size:"icon",onClick:b,className:"h-4 w-4 p-0 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,ee.jsx)(hd.default,{className:"size-3"})}),(0,ee.jsx)(_t,{variant:"ghost",size:"icon",onClick:E,className:"h-4 w-4 p-0 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,ee.jsx)(Rd.default,{className:"size-3"})})]}),(0,ee.jsxs)("div",{className:"flex items-center gap-1 pl-1",title:n.autoReadTitle,children:[(0,ee.jsx)(Do,{id:"auto-read-mode",checked:t,onCheckedChange:_}),(0,ee.jsx)(Yr,{htmlFor:"auto-read-mode",className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:n.autoRead})]})]})})})})]})};var ce=require("react/jsx-runtime"),vd=h(Je,Ot),Ed=h("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",ft),Zp=()=>{let{labels:e,renderHeader:t}=B();return(0,ce.jsxs)(ce.Fragment,{children:[t({title:e.title,annotation:(0,ce.jsx)("span",{className:h("font-bold",Nr),children:e.loadErrorBadge})}),(0,ce.jsx)("div",{className:Dr,children:(0,ce.jsx)("div",{className:wr,children:(0,ce.jsx)("div",{className:vd,children:(0,ce.jsxs)("div",{className:h(Ed,"border-red-200 dark:border-red-900"),children:[(0,ce.jsx)("p",{className:h("font-medium",Nr),children:e.loadError}),(0,ce.jsx)("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:()=>Zn(),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})]})})})})]})},Jp=()=>{let{labels:e,renderHeader:t}=B();return(0,ce.jsxs)(ce.Fragment,{children:[t({title:e.title,annotation:(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[(0,ce.jsx)(Tr,{}),(0,ce.jsx)("span",{children:e.totalCountLoading}),(0,ce.jsx)("span",{children:e.debounce(dr)})]})}),(0,ce.jsx)("div",{className:Dr,children:(0,ce.jsx)("div",{className:wr,children:(0,ce.jsx)("div",{className:vd,children:(0,ce.jsx)("div",{className:Ed,children:e.loadingIds})})})})]})},Qp=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=B(),o=bt(),a=(0,an.useRef)(n);a.current=n,(0,an.useEffect)(()=>{fr({apiBasePath:r,userKey:t??null})},[r,t]),(0,an.useEffect)(()=>{o.phase==="auth-required"&&a.current()},[o.phase]);let i=o.items.length>0||o.phase==="complete";return(0,ce.jsx)(Qn,{children:(0,ce.jsx)(eo,{user:e,initialItems:o.items,userId:t,children:i?(0,ce.jsx)(wo,{userId:t}):o.phase==="failed"?(0,ce.jsx)(Zp,{}):(0,ce.jsx)(Jp,{})},t??"anonymous")})},Td=({config:e,...t})=>(0,ce.jsx)(vn,{config:e,children:(0,ce.jsx)(Qp,{...t})});var xd=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:i,formMethod:s,json:l,nextUrl:c,text:d})=>{if(!n)return!1;if(!(r.pathname===c.pathname&&r.search===c.search&&r.hash===c.hash))return n;if(a){let x=a.get("intent");if(x==="toggleRead"||x==="toggleStar"||x==="addComment"||x==="deleteComment"||x==="create"||x==="update"||x==="publish"||x==="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||d!==void 0?n:!1},Cd=e=>{let t=async r=>{qn();let n=await r.serverLoader(),o=n.userId;return Yn({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});
|