@aiquants/daily-report 0.34.0 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +69 -0
- package/README.md +225 -50
- package/dist/client.d.mts +45 -16
- package/dist/client.d.ts +45 -16
- package/dist/client.js +4 -4
- package/dist/client.mjs +4 -4
- package/dist/{comment-adapter-BLfjD6P0.d.ts → comment-adapter-ChA4KOE1.d.mts} +71 -26
- package/dist/{comment-adapter-7TduiLiu.d.mts → comment-adapter-DqBqtqfA.d.ts} +71 -26
- package/dist/index.d.mts +9 -3
- package/dist/index.d.ts +9 -3
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/logger-BaxnzF-0.d.mts +17 -0
- package/dist/logger-BaxnzF-0.d.ts +17 -0
- package/dist/server.d.mts +252 -9
- package/dist/server.d.ts +252 -9
- package/dist/server.js +11 -4
- package/dist/server.mjs +11 -4
- package/dist/{sse-schema-DVIUaiAG.d.mts → sse-schema-getLS62T.d.mts} +1 -1
- package/dist/{sse-schema-DVIUaiAG.d.ts → sse-schema-getLS62T.d.ts} +1 -1
- package/dist/styles/daily-report.standalone.css +1 -1
- package/package.json +2 -1
package/dist/client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var lu=Object.create;var Dn=Object.defineProperty;var du=Object.getOwnPropertyDescriptor;var cu=Object.getOwnPropertyNames;var uu=Object.getPrototypeOf,mu=Object.prototype.hasOwnProperty;var pu=(e,t)=>{for(var r in t)Dn(e,r,{get:t[r],enumerable:!0})},hi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of cu(t))!mu.call(e,o)&&o!==r&&Dn(e,o,{get:()=>t[o],enumerable:!(n=du(t,o))||n.enumerable});return e};var xe=(e,t,r)=>(r=e!=null?lu(uu(e)):{},hi(t||!e||!e.__esModule?Dn(r,"default",{value:e,enumerable:!0}):r,e)),fu=e=>hi(Dn({},"__esModule",{value:!0}),e);var Lb={};pu(Lb,{DAILY_REPORT_LABEL_CATALOGS:()=>Aa,DAILY_REPORT_LABEL_KEYS:()=>Yn,DAILY_REPORT_LAYOUT_LATTICE_PX:()=>ss,DailyReportActionProvider:()=>Wo,DailyReportAttachmentIndicator:()=>Sr,DailyReportConfigProvider:()=>Xn,DailyReportDetailList:()=>ua,DailyReportErrorProvider:()=>ko,DailyReportIdsStreamClient:()=>Lr,DailyReportIdsStreamStatus:()=>Ur,DailyReportList:()=>Ra,DailyReportPage:()=>ou,DailyReportResolvedContent:()=>ha,bootstrapDailyReportIdsStreamSession:()=>Co,createDailyReportClientLoader:()=>iu,dailyReportShouldRevalidate:()=>au,defaultDailyReportClientConfig:()=>Ir,ensureDailyReportIdsStreamSession:()=>wr,primeDailyReportIdsStreamSession:()=>Do,resolveDailyReportLabels:()=>qn,resolveSourceTypeConfig:()=>Gt,resyncDailyReportIdsStream:()=>nn,useDailyReportActionContext:()=>Ol,useDailyReportComments:()=>Go,useDailyReportConfig:()=>B,useDailyReportDetail:()=>Yt,useDailyReportIdsStream:()=>ol,useDailyReportPrefetch:()=>co,useDailyReportSseConnection:()=>No});module.exports=fu(Lb);var zi=xe(require("lucide-react/dist/esm/icons/paperclip.js"));var yu="data-daily-report-row-surface",Qe={[yu]:""},gr="data-daily-report-scrolling",Kt=8,Si="[--aqdr-lattice-block:4px] [@media(resolution:1.125dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:1.375dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:1.625dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:1.875dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.125dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.375dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.625dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.875dppx)]:[--aqdr-lattice-block:8px]",or=`${Si} h-[calc-size(auto,round(up,size,var(--aqdr-lattice-block)))]`,zt="p-[8px]",Ei="pr-[8px]",An="contain-size contain-layout contain-style",vi="contain-strict",ae="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",Ti="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",Ea="scrollbar-thin [scrollbar-gutter:stable]",va=`-m-[4px] overflow-hidden p-[4px] ${Ea}`,Ii="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",_n="rounded-[calc(var(--radius-2xl)+8px)]",Ln="outline-none [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-2 [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-offset-4 [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-600 dark:[:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-400 [&[aria-current=true]>:where([data-daily-report-row-surface])]:ring-2 [&[aria-current=true]>:where([data-daily-report-row-surface])]:ring-blue-500 [&[aria-current=true]>:where([data-daily-report-row-surface])]:shadow-transparent forced-colors:[&[aria-current=true]]:outline-2 forced-colors:[&[aria-current=true]]:outline-solid forced-colors:[&[aria-current=true]]:-outline-offset-8 forced-colors:[&[aria-current=true]]:outline-[Highlight] forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-2 forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-solid forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:-outline-offset-8 forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-[Highlight]",xi="[:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-2 [:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-offset-4 [:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-blue-600 dark:[:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-blue-400 has-[>[aria-current=true]]:ring-2 has-[>[aria-current=true]]:ring-blue-500 has-[>[aria-current=true]]:shadow-transparent",Et="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",wn=16,hr="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",Ci=12,Nn="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200",On="[--aqdr-hover-lift:2px] [@media(resolution:1.125dppx)]:[--aqdr-hover-lift:calc(2px/1.125)] [@media(resolution:1.25dppx)]:[--aqdr-hover-lift:calc(2px/1.25)] [@media(resolution:1.375dppx)]:[--aqdr-hover-lift:calc(2px/1.375)] [@media(resolution:1.625dppx)]:[--aqdr-hover-lift:calc(3px/1.625)] [@media(resolution:1.75dppx)]:[--aqdr-hover-lift:calc(3px/1.75)] [@media(resolution:1.875dppx)]:[--aqdr-hover-lift:calc(3px/1.875)] [@media(resolution:2.125dppx)]:[--aqdr-hover-lift:calc(4px/2.125)] [@media(resolution:2.25dppx)]:[--aqdr-hover-lift:calc(4px/2.25)] [@media(resolution:2.375dppx)]:[--aqdr-hover-lift:calc(4px/2.375)] [@media(resolution:2.625dppx)]:[--aqdr-hover-lift:calc(5px/2.625)] [@media(resolution:2.75dppx)]:[--aqdr-hover-lift:calc(5px/2.75)] [@media(resolution:2.875dppx)]:[--aqdr-hover-lift:calc(5px/2.875)] motion-safe:transition-[translate] motion-safe:duration-200 hover:border-blue-300 hover:shadow-lg motion-safe:hover:translate-y-[calc(-1*var(--aqdr-hover-lift))] [[data-daily-report-scrolling]_&]:transition-none [[data-daily-report-scrolling]_&]:hover:translate-none [[data-daily-report-scrolling]_&]:hover:shadow-sm",ze=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${ae}`,Di="-mx-1",Ai="flex items-center gap-1",We="inline-flex h-6 items-center rounded-full px-3",_i="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",Li="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",Wt="size-4",we={starOff:`${Wt} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${Wt} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${Wt} text-blue-600 dark:text-blue-400`,delete:`${Wt} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${Wt} text-red-600 dark:text-red-400`,edit:`${Wt} text-slate-500 dark:text-slate-400`},wi="h-6 w-10 border-4 border-solid",Ni="size-4 data-[state=checked]:translate-x-4",Oi="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]",Mi="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var Pi="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",ki="rounded-xl border border-solid p-[3px]",Hi="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",bu="ml-[max(0px,round(down,calc((100%-72rem)/2),4px))]",Ru="bg-slate-50 dark:bg-slate-950",st="flex min-h-0 flex-1 flex-col",Mn=`${st} ${Ru}`,Pn=`${st} mx-auto w-full max-w-6xl px-[4px] pt-[4px] ${bu}`,Gr="text-red-700 dark:text-red-400",Fi="bg-white dark:bg-slate-900",kn=`min-h-0 flex-1 overflow-clip contain-size ${Si}`,Hn="flex h-full flex-col contain-size contain-layout contain-style",Bi="relative inline-block whitespace-nowrap tabular-nums",Vi="invisible",Ui="absolute inset-0 contain-size contain-layout contain-style",Fn="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",Wi="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",Ki={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},ar="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",xt=`m-0 ${ar}`,Bn="text-balance wrap-anywhere [word-break:auto-phrase]",Vn="[&_.aqvs-scrollbar]:bg-slate-100 [&_.aqvs-scrollbar-track]:bg-slate-100 [&_.aqvs-scrollbar-thumb]:bg-slate-500 [&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-600 [&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-700 [&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 [&_.aqvs-scrollbar-arrow-button]:bg-slate-100 [&_.aqvs-scrollbar-arrow-button]:text-slate-600 [&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-200 dark:[&_.aqvs-scrollbar]:bg-slate-900 dark:[&_.aqvs-scrollbar-track]:bg-slate-900 dark:[&_.aqvs-scrollbar-thumb]:bg-slate-500 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-400 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-300 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 dark:[&_.aqvs-scrollbar-arrow-button]:bg-slate-900 dark:[&_.aqvs-scrollbar-arrow-button]:text-slate-400 dark:[&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-800 forced-colors:[&_.aqvs-scrollbar-thumb]:bg-[CanvasText] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-[GrayText] forced-colors:[&_.aqvs-scrollbar-track]:outline-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-solid forced-colors:[&_.aqvs-scrollbar-track]:-outline-offset-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-[CanvasText]";var Yr=require("react/jsx-runtime"),gu=2,Sr=({id:e,count:t,label:r})=>t<=0?null:(0,Yr.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,Yr.jsx)(zi.default,{className:Wt,"aria-hidden":"true"}),t>=gu&&(0,Yr.jsx)("span",{className:"font-semibold text-xs leading-4",children:t})]});var hc=require("@aiquants/virtualscroll"),V=require("react");var he=e=>{if(!e)return"-";let t=e.trim();return t===""?"-":t},be=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?be(e.toISOString()):String(e);let t=e.trim();if(t==="")return"-";let r=t.match(/^(\d{4})[-/](\d{2})[-/](\d{2})$/);if(r)return`${r[1]}-${r[2]}-${r[3]}`;let n=new Date(t);if(Number.isNaN(n.getTime()))return t;let o=n.getFullYear(),a=String(n.getMonth()+1).padStart(2,"0"),i=String(n.getDate()).padStart(2,"0");if(t.includes(":")||t.includes("T")){let d=String(n.getHours()).padStart(2,"0"),m=String(n.getMinutes()).padStart(2,"0"),u=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${i}T${d}:${m}:${u}`}return`${o}-${a}-${i}`};var Dt=require("react"),so=require("zod");var Un="ids-stream",$i=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 ir=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,Ta=e=>{for(let t=1;t<e.length;t++)if(ir(e[t-1],e[t])>0)return!1;return!0};var $t=Object.freeze({businessDate:"business-date",idsStream:Un,report:"report",action:"action"}),jt=Object.freeze({businessDate:"businessDate",reportHubId:"reportHubId",forceRefresh:"forceRefresh",cursorReportHubId:"cursor_report_hub_id",cursorBusinessDate:"cursor_business_date",cursorSnapshot:"cursor_snapshot"});var hu=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var Wn=e=>e<10?`0${e}`:`${e}`,Su=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=Wn(e.getMonth()+1),n=Wn(e.getDate());return`${t}-${r}-${n}`},ji=e=>{let t=hu.exec(e);if(t===null)return null;let[,r,,n,o]=t,a=Number(r),i=Number(n),s=Number(o);if(a<1)return null;let d=new Date(0);return d.setUTCFullYear(a,i-1,s),d.getUTCFullYear()!==a||d.getUTCMonth()!==i-1||d.getUTCDate()!==s?null:`${r}-${n}-${o}`},Gi=e=>ji(e)===e,Ia=(e=new Date)=>Number.isNaN(e.getTime())?Ia(new Date):`${e.getFullYear()}-${Wn(e.getMonth()+1)}-${Wn(e.getDate())}`,sr=e=>e==null?null:e instanceof Date?Su(e):ji(e);var Er=(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 _=require("zod");var Kn=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|-[1-9][0-9]{0,15})$/;var Yi=require("zod");var ve=Yi.z.number().int().positive().max(Number.MAX_SAFE_INTEGER);var qi=["auth-required","forbidden","resync-required"],xa=15e3,Xi="lastEventId",Eu=/^\d{1,15}-\d{1,15}$/,zn=e=>Eu.test(e),vu=_.z.object({name:_.z.string().nullish(),affiliation:_.z.string().nullish()}),Tu=_.z.object({name:_.z.string().nullish(),text:_.z.string().nullish(),color:_.z.string().nullish()}),Iu=_.z.object({id:ve,name:_.z.string().nullish(),color:_.z.string().nullish()}),$n=_.z.object({id:ve,userId:_.z.string().nullish(),userName:_.z.string().nullish(),content:_.z.string().nullish(),createdAt:_.z.string().nullish(),isMine:_.z.boolean()}),xu=_.z.object({id:_.z.string(),fileName:_.z.string(),fileType:_.z.string().nullable(),fileSize:_.z.number().nullable(),createdAt:_.z.string().nullable(),state:_.z.enum(["present","absent","unknown"]),hasThumbnail:_.z.boolean().default(!1)}),Ct=_.z.object({reportHubId:ve,date:_.z.string().nullish(),createdAt:_.z.string().nullish(),author:_.z.string().nullish(),userId:_.z.string().nullish(),sourceType:_.z.string().nullish(),employeeName:_.z.string().nullish(),updatedBy:_.z.string().nullish(),updatedAt:_.z.string().nullish(),category:_.z.string().nullish(),creationCategory:_.z.string().nullish(),visitTimeFrom:_.z.string().nullish(),visitTimeTo:_.z.string().nullish(),customerName:_.z.string().nullish(),interviewers:_.z.array(vu),subject:_.z.string().nullish(),content:_.z.string().nullish(),externalComments:_.z.array(Tu),isRead:_.z.boolean(),isStarred:_.z.boolean(),labels:_.z.array(Iu),postedComments:_.z.array($n),attachments:_.z.array(xu).default([])}),lr=_.z.string().regex(Kn),Cu=_.z.object({type:_.z.literal("connected")}),Du=_.z.object({type:_.z.literal("status-update"),reportHubId:ve,statusType:_.z.enum(["star","read"]),value:_.z.boolean(),clientTempId:lr,recipientRawUserId:ve.optional()}),Ca=_.z.string().optional(),Au=_.z.object({type:_.z.literal("comment-add"),reportHubId:ve,comment:$n,clientTempId:lr,recipientRawUserId:ve.optional(),sourceType:Ca}),_u=_.z.object({type:_.z.literal("comment-delete"),reportHubId:ve,commentId:ve,clientTempId:lr,recipientRawUserId:ve.optional(),sourceType:Ca}),Lu=_.z.object({type:_.z.literal("report-create"),reportHubId:ve,report:Ct,clientTempId:lr,recipientRawUserId:ve.optional()}),wu=_.z.object({type:_.z.literal("report-update"),reportHubId:ve,report:Ct,clientTempId:lr,recipientRawUserId:ve.optional()}),Nu=_.z.object({type:_.z.literal("report-publish"),reportHubId:ve,report:Ct,clientTempId:lr,recipientRawUserId:ve.optional()}),Ou=_.z.object({type:_.z.literal("report-delete"),reportHubId:ve,clientTempId:lr,sourceType:Ca}),Zi=_.z.discriminatedUnion("type",[Cu,Du,Au,_u,Lu,wu,Nu,Ou]);var jn=e=>e.issues.map(t=>`${t.path.length===0?"(root)":t.path.join(".")}: ${t.code}`).join("; ");var os=require("@aiquants/virtualscroll"),Tr=require("react");var Mu=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,Ce=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${Mu(r)}`),Qi=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),Gn=(e,t,r)=>Ce(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t);var gt=require("@aiquants/virtualscroll");var es=["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"],ts=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","rowState","listRowPosition","listRowPositionInUnknownTotal"],Yn=[...gt.VIRTUAL_SCROLL_LABEL_KEYS,...es,...ts];var Pu=Object.freeze({en:"en-US",ja:"ja-JP"}),De=(e,t)=>t.toLocaleString(Pu[e]),ku=Object.freeze({create:"\u65E5\u5831\u306E\u4F5C\u6210",update:"\u65E5\u5831\u306E\u4FDD\u5B58",publish:"\u65E5\u5831\u306E\u516C\u958B",delete:"\u65E5\u5831\u306E\u524A\u9664",addComment:"\u30B3\u30E1\u30F3\u30C8\u306E\u6295\u7A3F",deleteComment:"\u30B3\u30E1\u30F3\u30C8\u306E\u524A\u9664",toggleStar:"\u30B9\u30BF\u30FC\u306E\u66F4\u65B0",toggleRead:"\u65E2\u8AAD\u72B6\u614B\u306E\u66F4\u65B0"}),Hu=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"}),Da=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: ${De("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${De("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${De("en",e)} / ${De("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${De("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${De("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${De("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${Hu[e]}. Please try again later.`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${De("en",e)} of ${De("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${De("en",e)}`}),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: ${De("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${De("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${De("ja",e)} / ${De("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${De("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${De("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${De("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${ku[e]}\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u6642\u9593\u3092\u304A\u3044\u3066\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002`,rowState:({isRead:e,isStarred:t})=>`${e?"\u65E2\u8AAD":"\u672A\u8AAD"}${t?"\u3001\u30B9\u30BF\u30FC\u4ED8\u304D":""}`,listRowPosition:(e,t)=>`\u5168 ${De("ja",t)} \u4EF6\u4E2D ${De("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${De("ja",e)} \u4EF6\u76EE`})}),Aa=Object.freeze({en:Object.freeze({...gt.VIRTUAL_SCROLL_LABEL_CATALOGS.en,...Da.en}),ja:Object.freeze({...gt.VIRTUAL_SCROLL_LABEL_CATALOGS.ja,...Da.ja})}),Fu=e=>{let t={},r=!1;for(let n of gt.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},Ji=(e,t,r)=>{e[t]=r},qn=(e,t)=>{let r=(0,gt.resolveVirtualScrollLocale)(e);if(t===void 0)return Aa[r];if(t===null||typeof t!="object")throw Ce("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Ce("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!Yn.includes(i))throw Gn("labels key",i,Yn);let a={...(0,gt.resolveVirtualScrollLabels)(r,Fu(t)),...Da[r]};for(let i of es){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw Ce(`labels.${i}`,"a non-blank string",s);Ji(a,i,s)}}for(let i of ts){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw Ce(`labels.${i}`,"a function",s);Ji(a,i,s)}}return Object.freeze(a)},rs=e=>{let t={};for(let r of gt.VIRTUAL_SCROLL_LABEL_KEYS)t[r]=e[r];return Object.freeze(t)};var vr=require("react/jsx-runtime"),Bu=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),Vu=({title:e,annotation:t})=>(0,vr.jsxs)("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[(0,vr.jsx)("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?(0,vr.jsx)("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),Ir=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:Vu,showDevControls:!1,headingLevel:3}),ns=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired"];var Uu=e=>{for(let t of Object.keys(e))if(!ns.includes(t))throw Gn("config key",t,ns)},Wu=[2,3,4,5],Ku=e=>{if(e===void 0)return Ir.headingLevel;let t=Wu.find(r=>r===e);if(t===void 0)throw Ce("config.headingLevel","an integer from 2 to 5 (the level of each report's heading)",e);return t},zu=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Ce(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},as=e=>{Uu(e);let t=e.onSessionExpired;if(t===void 0)throw Qi("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Ce("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=(0,os.resolveVirtualScrollLocale)(e.locale),n=qn(r,e.labels),o=Ir;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?Bu(n):zu(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:Ku(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired}},$u=()=>{throw new Error("[daily-report] onSessionExpired is not wired: render inside DailyReportConfigProvider with a config")},is=(0,Tr.createContext)(as({onSessionExpired:$u})),Xn=({config:e,children:t})=>{let r=(0,Tr.useMemo)(()=>as(e),[e]);return(0,vr.jsx)(is.Provider,{value:r,children:t})},B=()=>(0,Tr.useContext)(is),Gt=(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},Zn=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";var ls=require("@aiquants/virtualscroll");var ss=4;var xr=120,ds=1e3,Jn=.8,_a={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},eo=20,cs=6,to={reportHubId:-1,businessDate:null},ro=240,no=15,ju=8,us=460,ms=3,ps=352,Gu={enabled:!0,renderVisual:ls.tapScrollCircleSampleVisual,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},oo={width:ju,tapScrollCircleOptions:Gu,enableArrowButtonTabStops:!1},ao=["pen","touch"];var bs=Er(1,"use-daily-report"),Rs=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},wa=Rs("__DAILY_REPORT_CACHE_TTL__",3e5),Yu=Rs("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),$={reports:new Map,lists:new Map,pendingLists:new Map,pendingReports:new Map,listeners:new Set,lockHolders:new Map,lockHolds:new Map,lastMutations:new Map,recentDeletes:new Map,lastPrune:0,prune(){let e=Date.now();if(e-this.lastPrune<6e4)return;this.lastPrune=e;let t=3600*1e3;for(let[r,n]of this.reports)e-n.expiresAt>t&&this.reports.delete(r);for(let[r,n]of this.lists)e-n.expiresAt>t&&this.lists.delete(r)},clear(){this.reports.clear(),this.lists.clear(),this.pendingLists.clear(),this.pendingReports.clear(),this.lockHolders.clear(),this.lockHolds.clear(),this.lastMutations.clear(),this.recentDeletes.clear(),this.listeners.forEach(e=>{e(-1)})},isLocked(e){if(this.lockHolders.has(e))return!0;let t=this.lockHolds.get(e);return t===void 0?!1:t>performance.now()?!0:(this.lockHolds.delete(e),!1)},isValid:e=>e>Date.now(),notify:e=>{$.listeners.forEach(t=>{t(e)})},getReport(e,t=!1){let r=this.reports.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},getList(e,t=!1){let r=e&&this.lists.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},set(e,t,r=!0){if(this.reports.set(e.reportHubId,{data:e,expiresAt:t}),r){let n=sr(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()){bs.warn(`[DailyReportCache] Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+Yu))}},delete(e,t){this.reports.delete(e);let r=sr(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+wa;for(let[i,s]of this.recentDeletes)n-s>1e4&&this.recentDeletes.delete(i);let a=e.map(i=>{if(this.isLocked(i.reportHubId))return i;let s=this.lastMutations.get(i.reportHubId);if(s&&r>0&&s>r)return this.reports.get(i.reportHubId)?.data??i;let d=this.reports.get(i.reportHubId)?.data,m=this.merge(i,d);return this.set(m,o,!1),m});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},gs=(e,t,r=!0)=>$.set(e,t,r),lt=(e,t)=>$.getReport(e,t?.ignoreExpiry),dt=(e,t)=>$.update(e,t),Na=(e,t)=>$.delete(e,t),qr=()=>{$.clear(),io.clear()},lo=(e,t)=>{let r=$.lastMutations.get(e);(r===void 0||r<t)&&$.lastMutations.set(e,t)},Oa=e=>{lo(e,Date.now())},hs=e=>{let t=Symbol("mutation-lock"),r=$.lockHolders.get(e);return r===void 0?$.lockHolders.set(e,new Set([t])):r.add(t),lo(e,Date.now()),()=>{let n=$.lockHolders.get(e);n===void 0||!n.delete(t)||(n.size===0&&$.lockHolders.delete(e),lo(e,Date.now()))}},Ss=(e,t)=>{let r=performance.now()+t,n=$.lockHolds.get(e);(n===void 0||n<r)&&$.lockHolds.set(e,r),lo(e,Date.now()+t)},Es=e=>$.recentDeletes.set(e,Date.now()),vs=(e,t)=>{let r=n=>{n===e&&t()};return $.listeners.add(r),()=>{$.listeners.delete(r)}},dr=(e,t)=>{$.prune(),$.set(t,Date.now()+wa)},Ts=e=>{$.prune();let t=$.getReport(e.reportHubId,!0),r=new Map;for(let o of t?.postedComments??[])r.set(o.id,o.isMine??!1);let n=(e.postedComments??[]).map(o=>({...o,isMine:r.get(o.id)??!1}));$.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+wa)},qu=so.z.object({report:Ct}),Xu=so.z.object({reports:so.z.array(Ct)}),Is=async(e,t,r)=>{if(!e.ok)throw new Error(`[daily-report] ${r} answered HTTP ${e.status}`);let n=t.safeParse(await e.json());if(!n.success)throw new Error(`[daily-report] ${r} answered a body that does not match its schema (${jn(n.error)})`);return n.data},Zu=async(e,t)=>{let r=$.getReport(t);if(r)return r;let n=$.pendingReports.get(t);if(n)return n;let o=Date.now(),a=new URLSearchParams({[jt.reportHubId]:String(t)}),i=fetch(`${e}/${$t.report}?${a}`,{cache:"no-cache"}).then(s=>Is(s,qu,$t.report)).then(({report:s})=>$.cacheMany([s],null,o)[0]).finally(()=>$.pendingReports.delete(t));return $.pendingReports.set(t,i),i},io=new Map,Qu=1e4,Ju=(e,t)=>{let r=io.get(t),n=Date.now();if(r&&n-r.at<Qu)return r.inFlight;let o=Ma(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return io.set(t,a),o.finally(()=>{io.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},Ma=async(e,t,r={})=>{let n=r.forceRefresh?null:$.getList(t);if(n)return n;let o=$.pendingLists.get(t);if(o)return o;let a=Date.now(),i=new URLSearchParams({[jt.businessDate]:t}),s=fetch(`${e}/${$t.businessDate}?${i}`,{cache:"no-cache"}).then(d=>Is(d,Xu,$t.businessDate)).then(({reports:d})=>$.cacheMany(d,t,a)).finally(()=>$.pendingLists.delete(t));return $.pendingLists.set(t,s),s},La=(e,t)=>{let r=$.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!$.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=$.lists.get(t),o=n?.data.find(a=>a.reportHubId===e);return n===void 0||o===void 0?{report:null,isStale:!1}:{report:o,isStale:!$.isValid(n.expiresAt)}},fs=(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}=La(e,sr(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,Yt=(e,t)=>{let{apiBasePath:r}=B(),[n,o]=(0,Dt.useState)(()=>fs(e,t)),a=(0,Dt.useRef)(0),i=n;return n.id!==e&&(i=fs(e,t),o(i)),(0,Dt.useEffect)(()=>{let s=sr(t),d=m=>{m===e&&o(Cr(e,{report:La(e,s).report}))};return $.listeners.add(d),()=>{$.listeners.delete(d)}},[e,t]),(0,Dt.useEffect)(()=>{let s=sr(t);a.current+=1;let d=a.current,m=()=>{a.current+=1};if(e<=0)return m;let{report:u,isStale:f}=La(e,s);if(u&&!f)return o(Cr(e,{report:u,error:null,isLoading:!1,isRefetching:!1})),m;o(Cr(e,{report:u,isLoading:!u,isRefetching:!0}));let p=async()=>{try{let y=null;if(s){let T=$.getList(s)!==null;if(y=(await Ma(r,s)).find(l=>l.reportHubId===e)??null,!y&&T){let l=await Ju(r,s);l&&(y=l.find(S=>S.reportHubId===e)??null)}}else y=await Zu(r,e);a.current===d&&o(Cr(e,{report:y,error:null}))}catch(y){a.current===d&&o(Cr(e,{error:y instanceof Error?y:new Error("Load failed")}))}finally{a.current===d&&o(Cr(e,{isLoading:!1,isRefetching:!1}))}};if(u===null)return p(),m;let R=setTimeout(p,xr);return()=>{clearTimeout(R),m()}},[e,t,r]),{report:i.report,error:i.error,isLoading:i.isLoading,isRefetching:i.isRefetching}},co=()=>{let{apiBasePath:e}=B();return(0,Dt.useCallback)(t=>{let r=sr(t);r&&!$.getList(r)&&Ma(e,r).catch(n=>bs.warn("Prefetch error",r,n))},[e])};var xs=require("@aiquants/virtualscroll"),Cs=require("react");var uo=()=>{let{locale:e,labels:t}=B(),r=rs(t),n=(0,Cs.useRef)(null),o=n.current;return o!==null&&xs.VIRTUAL_SCROLL_LABEL_KEYS.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};var fo=require("react"),Ps=require("react-dom");var _s=Object.freeze({visibilityProperty:!0}),Ds=new Set(["auto","scroll"]),As=new Set(["","true","plaintext-only"]),Ls=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=Ms(n)?n.host:null}return!1},em=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(_s))return!0;return!1},ws=e=>e.localName==="area"?em(e):e.checkVisibility(_s),tm=e=>{let t=e.getAttribute("contenteditable");if(t===null||!As.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(As.has(o))return!1;if(o==="false")return!0}return!0},rm=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&&ws(n)&&(r=n)}return r===e},nm=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&&Ds.has(a.overflowX)||n&&Ds.has(a.overflowY)},om=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 tm(e)}},am=/^[\t\n\f\r ]*[+-]?\d/,im=e=>{let t=e.getAttribute("tabindex");return t!==null&&am.test(t)?e.tabIndex:null},Ns=(e,t)=>{for(let r of ka(e))if(t(r)||Ns(r,t))return!0;return!1},mo=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=sm(e,t);return t.set(e,n),n},sm=(e,t)=>{if(!Xr(e))return"none";let r=im(e),n=r===null&&om(e),o=r===null&&!n&&nm(e);return!(r!==null||n||o)||e.matches(":disabled")||Ls(e)||!ws(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?rm(e)?"sequential":"programmatic":"sequential":Ns(e,a=>mo(a,t)==="sequential")?"none":"sequential"},Pa=(e,t)=>{for(let r of ka(e))t(r),Pa(r,t)},ka=e=>{if(Se(e)){let t=e;if(t.shadowRoot!==null)return t.shadowRoot.children;if(t.localName==="slot"){let r=t.assignedElements();if(r.length>0)return r}}return e.children};var po=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return Pa(e,d=>{mo(d,a)==="sequential"&&n.push(d)}),{before:r,within:n,after:o};let i=!1,s=(d,m)=>{for(let u of ka(d)){let f=u===t;!f&&mo(u,a)==="sequential"&&(m?n.push(u):i?o.push(u):r.push(u)),s(u,m||f),f&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},Os=e=>{let t=[],r=new Map;return Pa(e,n=>{mo(n,r)==="sequential"&&t.push(n)}),t},Se=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,Xr=e=>"focus"in e&&"blur"in e,lm=e=>e.nodeType===e.DOCUMENT_NODE,Ms=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,$e=e=>{let t=e.getRootNode();if(Ms(t)){let r=t.activeElement;return r===null?$e(t.host):r}return lm(t)?t.activeElement:null},Zr=e=>{let t=$e(e);return t===null||t===t.ownerDocument.body||Ls(t)},Ke=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 yo=e=>{let[t,r]=(0,fo.useState)(null);return(0,fo.useLayoutEffect)(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] useViewBoxHeight needs viewRef attached to the view's root");let o=null,a=d=>{if(d===o)return;let m=o===null;o=d,m?(0,Ps.flushSync)(()=>r(d)):r(d)},i=d=>{for(let m of d)a(m.borderBoxSize[0].blockSize)},s=new(Ke(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var ks=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,Te=(e,t,r)=>{if(r!==null&&Number.isInteger(r)&&r>=0&&r<e.length){if(e[r].reportHubId===t)return r;for(let n=1;n<=16;n++){let o=r+n;if(o<e.length&&e[o].reportHubId===t)return o;let a=r-n;if(a>=0&&e[a].reportHubId===t)return a}}return e.findIndex(n=>n.reportHubId===t)};var Ro="data-daily-report-row",bo=`[role="listitem"][${Ro}]`,dm='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',cm=/^[1-9]\d*$/,Hs=e=>{if(e===null||!cm.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},um=`${bo}[tabindex="0"], ${bo} [tabindex="0"]`,go=e=>e.querySelector(um),qt=(e,t)=>{if(t===null||!Se(e))return null;let r=e.closest(bo);return r===null||r===t||!t.contains(r)?null:r},cr=e=>Hs(e.getAttribute(Ro)),Dr=e=>Hs(e.getAttribute("aria-posinset")),Fs=e=>{let t=e.closest(bo),r=t===null?null:Dr(t);return r===null?null:r-1},Qr=(e,t)=>{if(e===null)return null;let r=cr(e);if(r===null)return null;let n=Dr(e),o=Te(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},Bs=(e,t)=>{if(!Se(e))return!1;let r=e.closest(dm);return r!==null&&r!==t&&t.contains(r)};var Ha=require("react"),At=(0,Ha.createContext)(0),Jr=-1,Vs=(e,t)=>t.phase==="complete"?e:t.totalCount===null?Jr:Math.max(e,t.totalCount),_t=(0,Ha.createContext)(-1);var Us=require("clsx"),Ws=require("tailwind-merge");function g(...e){return(0,Ws.twMerge)((0,Us.clsx)(e))}var ur=require("react");var Ks="(prefers-reduced-motion: reduce)",zs=e=>Ke(e).matchMedia(Ks).matches?"instant":"smooth",mm=Object.freeze({..._a,startVelocityThreshold:Number.POSITIVE_INFINITY}),Ar=e=>e?mm:_a,pm=()=>!1,fm=()=>{},_r=e=>{let t=(0,ur.useMemo)(()=>e===null?null:Ke(e).matchMedia(Ks),[e]),r=(0,ur.useCallback)(o=>t===null?fm:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=(0,ur.useCallback)(()=>t===null?!1:t.matches,[t]);return(0,ur.useSyncExternalStore)(r,n,pm)};var js=require("react");var ho=require("react/jsx-runtime"),So=()=>{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)})}},$s=16,ym=(e,t)=>e==="vertical"?{top:0,left:-$s,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-$s,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},Eo=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=(0,js.useSyncExternalStore)(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?(0,ho.jsx)("div",{className:"pointer-events-none absolute flex items-center",style:ym(e,t),children:(0,ho.jsx)("div",{className:g(_i,"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,ho.jsx)("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};var me=require("react");var re=require("react");var fe=require("zod");var Gs=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var Je=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),Ba=e=>{let t=new FormData;if(t.append(Je.intent,e.intent),e.intent==="clearCache"||(t.append(Je.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(Je.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(Je.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(Je.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(Je.title,e.changes.title),e.changes.content!==void 0&&t.append(Je.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(Je.isStarred,String(e.value)),t;case"toggleRead":return t.append(Je.isRead,String(e.value)),t;case"addComment":return t.append(Je.content,e.content),t;case"deleteComment":return t.append(Je.commentId,String(e.commentId)),t}},bm=()=>{let e=ve,t=fe.z.string().regex(Kn),r=fe.z.literal("OK"),n=fe.z.object({isStarred:fe.z.boolean(),isRead:fe.z.boolean()}),o=fe.z.number().int().nonnegative().nullable();return{create:fe.z.object({status:r,intent:fe.z.literal("create"),reportHubId:e,clientTempId:t,report:Ct}),update:fe.z.object({status:r,intent:fe.z.literal("update"),reportHubId:e,clientTempId:t}),publish:fe.z.object({status:r,intent:fe.z.literal("publish"),reportHubId:e,clientTempId:t,report:Ct.nullable()}),delete:fe.z.object({status:r,intent:fe.z.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:fe.z.object({status:r,intent:fe.z.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:fe.z.object({status:r,intent:fe.z.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:fe.z.object({status:r,intent:fe.z.literal("addComment"),reportHubId:e,clientTempId:t,newComment:$n}),deleteComment:fe.z.object({status:r,intent:fe.z.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:ve}),clearCache:fe.z.object({status:r,intent:fe.z.literal("clearCache")})}},Fa=null,Rm=()=>(Fa===null&&(Fa=bm()),Fa),Ys=(e,t)=>{let r=Rm()[e].safeParse(t);return r.success?{result:r.data}:{mismatch:jn(r.error)}};var an=require("@aiquants/sse"),yl=require("@aiquants/sse/client"),bl=require("@aiquants/sse/react"),ht=require("react");var ct=require("react");var qs=e=>{let t=new URLSearchParams;return e.cursor!==null&&(t.set(jt.cursorReportHubId,String(e.cursor.reportHubId)),e.cursor.businessDate!==null&&t.set(jt.cursorBusinessDate,e.cursor.businessDate)),e.snapshot!==null&&t.set(jt.cursorSnapshot,e.snapshot),e.forceRefresh&&t.set(jt.forceRefresh,"true"),t};var en=()=>{let e=new Map,t=new Map,r=new Map,n=i=>{let s=r.get(i.reportHubId);if(s===void 0){e.set(i.reportHubId,i);return}r.delete(i.reportHubId),t.set(i.reportHubId,{previous:s,next:i})},o=(i,s)=>{if(e.has(s.reportHubId)){e.set(s.reportHubId,s);return}let d=t.get(s.reportHubId);t.set(s.reportHubId,{previous:d===void 0?i:d.previous,next:s})},a=i=>{if(e.delete(i.reportHubId))return;let s=t.get(i.reportHubId);s!==void 0&&t.delete(i.reportHubId),r.set(i.reportHubId,s===void 0?i:s.previous)};return{add:n,change:o,remove:a,fold:i=>{for(let s of i.removed)a(s);for(let{previous:s,next:d}of i.replaced)o(s,d);for(let s of i.appended)n(s)},isEmpty:()=>e.size===0&&t.size===0&&r.size===0,build:(i,s)=>({base:i,revision:s,appended:[...e.values()],replaced:[...t.values()],removed:[...r.values()]})}},Xs=(e,t)=>{let r=e.findIndex(n=>n.base===t);if(r===-1)return null;for(let n=r+1;n<e.length;n++)if(e[n].base!==e[n-1].revision)return null;return e.slice(r)};var Zs=()=>{let e=new TextDecoder,t=[],r=n=>{let o=[],a=0;for(let i=n.indexOf(`
|
|
1
|
+
"use strict";var ep=Object.create;var zn=Object.defineProperty;var tp=Object.getOwnPropertyDescriptor;var rp=Object.getOwnPropertyNames;var np=Object.getPrototypeOf,op=Object.prototype.hasOwnProperty;var ap=(e,t)=>{for(var r in t)zn(e,r,{get:t[r],enumerable:!0})},qi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of rp(t))!op.call(e,o)&&o!==r&&zn(e,o,{get:()=>t[o],enumerable:!(n=tp(t,o))||n.enumerable});return e};var we=(e,t,r)=>(r=e!=null?ep(np(e)):{},qi(t||!e||!e.__esModule?zn(r,"default",{value:e,enumerable:!0}):r,e)),ip=e=>qi(zn({},"__esModule",{value:!0}),e);var jR={};ap(jR,{DAILY_REPORT_LABEL_CATALOGS:()=>Ya,DAILY_REPORT_LABEL_KEYS:()=>mo,DAILY_REPORT_LATTICE_BLOCK_QUANTUM_CLASS_NAME:()=>dn,DAILY_REPORT_LAYOUT_LATTICE_PX:()=>Us,DailyReportActionProvider:()=>la,DailyReportAttachmentIndicator:()=>Or,DailyReportConfigProvider:()=>yo,DailyReportDetailList:()=>wa,DailyReportErrorProvider:()=>ta,DailyReportIdsStreamClient:()=>$r,DailyReportIdsStreamStatus:()=>on,DailyReportList:()=>Fa,DailyReportPage:()=>Qu,DailyReportResolvedContent:()=>Va,bootstrapDailyReportIdsStreamSession:()=>jo,createDailyReportClientLoader:()=>Ju,dailyReportShouldRevalidate:()=>Zu,defaultDailyReportClientConfig:()=>Hr,ensureDailyReportIdsStreamSession:()=>zr,primeDailyReportIdsStreamSession:()=>Go,resolveDailyReportLabels:()=>fo,resolveSourceTypeConfig:()=>or,resyncDailyReportIdsStream:()=>En,useDailyReportActionContext:()=>Rd,useDailyReportComments:()=>ma,useDailyReportConfig:()=>K,useDailyReportDetail:()=>ar,useDailyReportIdsStream:()=>Bl,useDailyReportPrefetch:()=>_o,useDailyReportSseConnection:()=>Qo});module.exports=ip(jR);var Es=we(require("lucide-react/dist/esm/icons/paperclip.js"));var sp="data-daily-report-row-surface",lt={[sp]:""},wr="data-daily-report-scrolling",er=8;var dn="[--aqdr-lattice-block:4px] [@media(resolution:1.125dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:1.375dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:1.625dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:1.875dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.125dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.375dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.625dppx)]:[--aqdr-lattice-block:8px] [@media(resolution:2.875dppx)]:[--aqdr-lattice-block:8px]",tr=`${dn} h-[calc-size(auto,round(up,size,var(--aqdr-lattice-block)))]`,rr="p-[8px]",Yi="pr-[8px]",jn="contain-size contain-layout contain-style",Xi="contain-strict",te="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",Qi="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",Ua="scrollbar-thin [scrollbar-gutter:stable]",Wa=`-m-[4px] overflow-hidden p-[4px] ${Ua}`,Zi="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",Gn="rounded-[calc(var(--radius-2xl)+8px)]",qn="outline-none [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-2 [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-offset-4 [:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-600 dark:[:where([data-daily-report-keyboard-focus])_&]:[&:focus-visible>:where([data-daily-report-row-surface])]:outline-blue-400 [&[aria-current=true]>:where([data-daily-report-row-surface])]:ring-2 [&[aria-current=true]>:where([data-daily-report-row-surface])]:ring-blue-500 [&[aria-current=true]>:where([data-daily-report-row-surface])]:shadow-transparent forced-colors:[&[aria-current=true]]:outline-2 forced-colors:[&[aria-current=true]]:outline-solid forced-colors:[&[aria-current=true]]:-outline-offset-8 forced-colors:[&[aria-current=true]]:outline-[Highlight] forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-2 forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-solid forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:-outline-offset-8 forced-colors:has-[>[data-daily-report-card]>[aria-current=true]]:outline-[Highlight]",Ji="[:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-2 [:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-offset-4 [:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-blue-600 dark:[:where([data-daily-report-keyboard-focus])_&]:has-[>[data-daily-report-button]:focus-visible]:outline-blue-400 has-[>[aria-current=true]]:ring-2 has-[>[aria-current=true]]:ring-blue-500 has-[>[aria-current=true]]:shadow-transparent",wt="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",Yn=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",es=12,Xn="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200";var ts="min-h-24",rs="flex h-6 items-center",Qn="[--aqdr-hover-lift:2px] [@media(resolution:1.125dppx)]:[--aqdr-hover-lift:calc(2px/1.125)] [@media(resolution:1.25dppx)]:[--aqdr-hover-lift:calc(2px/1.25)] [@media(resolution:1.375dppx)]:[--aqdr-hover-lift:calc(2px/1.375)] [@media(resolution:1.625dppx)]:[--aqdr-hover-lift:calc(3px/1.625)] [@media(resolution:1.75dppx)]:[--aqdr-hover-lift:calc(3px/1.75)] [@media(resolution:1.875dppx)]:[--aqdr-hover-lift:calc(3px/1.875)] [@media(resolution:2.125dppx)]:[--aqdr-hover-lift:calc(4px/2.125)] [@media(resolution:2.25dppx)]:[--aqdr-hover-lift:calc(4px/2.25)] [@media(resolution:2.375dppx)]:[--aqdr-hover-lift:calc(4px/2.375)] [@media(resolution:2.625dppx)]:[--aqdr-hover-lift:calc(5px/2.625)] [@media(resolution:2.75dppx)]:[--aqdr-hover-lift:calc(5px/2.75)] [@media(resolution:2.875dppx)]:[--aqdr-hover-lift:calc(5px/2.875)] motion-safe:transition-[translate] motion-safe:duration-200 hover:border-blue-300 hover:shadow-lg motion-safe:hover:translate-y-[calc(-1*var(--aqdr-hover-lift))] [[data-daily-report-scrolling]_&]:transition-none [[data-daily-report-scrolling]_&]:hover:translate-none [[data-daily-report-scrolling]_&]:hover:shadow-sm",qe=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${te}`,ns="-mx-1",os="flex items-center gap-1",et="inline-flex h-6 items-center rounded-full px-3",as="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",is="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",Jt="size-4",Ue={starOff:`${Jt} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${Jt} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${Jt} text-blue-600 dark:text-blue-400`,delete:`${Jt} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${Jt} text-red-600 dark:text-red-400`,edit:`${Jt} text-slate-500 dark:text-slate-400`},ss="h-6 w-10 border-4 border-solid",ls="size-4 data-[state=checked]:translate-x-4",ds="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]",cs="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var us="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",ps="rounded-xl border border-solid p-[3px]",ms="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",lp="ml-[max(0px,round(down,calc((100%-72rem)/2),var(--aqdr-lattice-block)))]",dp="bg-slate-50 dark:bg-slate-950",bt="flex min-h-0 flex-1 flex-col",Zn=`${bt} ${dp}`,Jn=`${bt} mx-auto w-full max-w-6xl ${dn} px-[var(--aqdr-lattice-block)] pt-[var(--aqdr-lattice-block)] ${lp}`,fs=`shrink-0 ${tr}`,cn="text-red-700 dark:text-red-400",ys="bg-white dark:bg-slate-900",eo=`min-h-0 flex-1 overflow-clip contain-size ${dn}`,to="flex h-full flex-col contain-size contain-layout contain-style",bs="relative inline-block whitespace-nowrap tabular-nums",Rs="invisible",hs="absolute inset-0 contain-size contain-layout contain-style",ro="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",Ss="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",gs={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},Rr="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",Ht=`m-0 ${Rr}`,no="text-balance wrap-anywhere [word-break:auto-phrase]",oo="[&_.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 un=require("react/jsx-runtime"),cp=2,Or=({id:e,count:t,label:r})=>t<=0?null:(0,un.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,un.jsx)(Es.default,{className:Jt,"aria-hidden":"true"}),t>=cp&&(0,un.jsx)("span",{className:"font-semibold text-xs leading-4",children:t})]});var au=require("@aiquants/virtualscroll"),W=require("react");var Ae=e=>{if(!e)return"-";let t=e.trim();return t===""?"-":t},xe=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?xe(e.toISOString()):String(e);let t=e.trim();if(t==="")return"-";let r=t.match(/^(\d{4})[-/](\d{2})[-/](\d{2})$/);if(r)return`${r[1]}-${r[2]}-${r[3]}`;let n=new Date(t);if(Number.isNaN(n.getTime()))return t;let o=n.getFullYear(),a=String(n.getMonth()+1).padStart(2,"0"),i=String(n.getDate()).padStart(2,"0");if(t.includes(":")||t.includes("T")){let l=String(n.getHours()).padStart(2,"0"),u=String(n.getMinutes()).padStart(2,"0"),d=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${i}T${l}:${u}:${d}`}return`${o}-${a}-${i}`};var ot=require("react"),Vr=require("zod");var ao="ids-stream",vs=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 hr=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,Ka=e=>{for(let t=1;t<e.length;t++)if(hr(e[t-1],e[t])>0)return!1;return!0};var Rt=Object.freeze({businessDate:"business-date",idsStream:ao,report:"report",search:"search",reports:"reports",action:"action"}),ht=Object.freeze({businessDate:"businessDate",reportHubId:"reportHubId",searchQuery:"q",searchCombine:"combine",reportIds:"ids",forceRefresh:"forceRefresh",cursorReportHubId:"cursor_report_hub_id",cursorBusinessDate:"cursor_business_date",cursorSnapshot:"cursor_snapshot"});var up=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var io=e=>e<10?`0${e}`:`${e}`,pp=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=io(e.getMonth()+1),n=io(e.getDate());return`${t}-${r}-${n}`},Is=e=>{let t=up.exec(e);if(t===null)return null;let[,r,,n,o]=t,a=Number(r),i=Number(n),s=Number(o);if(a<1)return null;let l=new Date(0);return l.setUTCFullYear(a,i-1,s),l.getUTCFullYear()!==a||l.getUTCMonth()!==i-1||l.getUTCDate()!==s?null:`${r}-${n}-${o}`},so=e=>Is(e)===e,$a=(e=new Date)=>Number.isNaN(e.getTime())?$a(new Date):`${e.getFullYear()}-${io(e.getMonth()+1)}-${io(e.getDate())}`,Sr=e=>e==null?null:e instanceof Date?pp(e):Is(e);var Mr=(e,t,r=console)=>{let n=o=>typeof o=="string"?[`${t} ${o}`]:[t,o];return{debug:(o,...a)=>{e<=0&&r.debug(...n(o),...a)},info:(o,...a)=>{e<=1&&r.info(...n(o),...a)},warn:(o,...a)=>{e<=2&&r.warn(...n(o),...a)},error:(o,...a)=>{e<=3&&r.error(...n(o),...a)}}};var Ts=require("zod"),xs=e=>Number.isSafeInteger(e)&&e>0,Ne=Ts.z.number().int().positive().max(Number.MAX_SAFE_INTEGER);var za=Object.freeze({maxQueryLength:500,maxSets:16,maxWordsPerSet:16,maxWords:32,maxWordLength:100,maxDetailIds:100});var mp=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},Ds=e=>{if(!mp(e))return null;let{ids:t,businessDates:r,sourceTypes:n}=e;if(!(Array.isArray(t)&&Array.isArray(r)&&Array.isArray(n))||r.length!==t.length||n.length!==t.length)return null;let o=[];for(let a=0;a<t.length;a++){let i=t[a],s=r[a],l=n[a];if(typeof i!="number"||!xs(i)||s!==null&&(typeof s!="string"||!so(s))||typeof l!="string"||l.length===0)return null;o.push({reportHubId:i,businessDate:s,sourceType:l})}return o};var M=require("zod");var lo=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|-[1-9][0-9]{0,15})$/;var Cs=["auth-required","forbidden","resync-required"],ja=15e3,As="lastEventId",fp=/^\d{1,15}-\d{1,15}$/,co=e=>fp.test(e),yp=M.z.object({name:M.z.string().nullish(),affiliation:M.z.string().nullish()}),bp=M.z.object({name:M.z.string().nullish(),text:M.z.string().nullish(),color:M.z.string().nullish()}),Rp=M.z.object({id:Ne,name:M.z.string().nullish(),color:M.z.string().nullish()}),uo=M.z.object({id:Ne,userId:M.z.string().nullish(),userName:M.z.string().nullish(),content:M.z.string().nullish(),createdAt:M.z.string().nullish(),isMine:M.z.boolean()}),hp=M.z.object({id:M.z.string(),fileName:M.z.string(),fileType:M.z.string().nullable(),fileSize:M.z.number().nullable(),createdAt:M.z.string().nullable(),state:M.z.enum(["present","absent","unknown"]),hasThumbnail:M.z.boolean().default(!1)}),Nt=M.z.object({reportHubId:Ne,date:M.z.string().nullish(),createdAt:M.z.string().nullish(),author:M.z.string().nullish(),userId:M.z.string().nullish(),sourceType:M.z.string().nullish(),employeeName:M.z.string().nullish(),updatedBy:M.z.string().nullish(),updatedAt:M.z.string().nullish(),category:M.z.string().nullish(),creationCategory:M.z.string().nullish(),visitTimeFrom:M.z.string().nullish(),visitTimeTo:M.z.string().nullish(),customerName:M.z.string().nullish(),interviewers:M.z.array(yp),subject:M.z.string().nullish(),content:M.z.string().nullish(),externalComments:M.z.array(bp),isRead:M.z.boolean(),isStarred:M.z.boolean(),labels:M.z.array(Rp),postedComments:M.z.array(uo),attachments:M.z.array(hp).default([])}),gr=M.z.string().regex(lo),Sp=M.z.object({type:M.z.literal("connected")}),gp=M.z.object({type:M.z.literal("status-update"),reportHubId:Ne,statusType:M.z.enum(["star","read"]),value:M.z.boolean(),clientTempId:gr,recipientRawUserId:Ne.optional()}),Ga=M.z.string().optional(),Ep=M.z.object({type:M.z.literal("comment-add"),reportHubId:Ne,comment:uo,clientTempId:gr,recipientRawUserId:Ne.optional(),sourceType:Ga}),vp=M.z.object({type:M.z.literal("comment-delete"),reportHubId:Ne,commentId:Ne,clientTempId:gr,recipientRawUserId:Ne.optional(),sourceType:Ga}),Ip=M.z.object({type:M.z.literal("report-create"),reportHubId:Ne,report:Nt,clientTempId:gr,recipientRawUserId:Ne.optional()}),Tp=M.z.object({type:M.z.literal("report-update"),reportHubId:Ne,report:Nt,clientTempId:gr,recipientRawUserId:Ne.optional()}),xp=M.z.object({type:M.z.literal("report-publish"),reportHubId:Ne,report:Nt,clientTempId:gr,recipientRawUserId:Ne.optional()}),Dp=M.z.object({type:M.z.literal("report-delete"),reportHubId:Ne,clientTempId:gr,sourceType:Ga}),_s=M.z.discriminatedUnion("type",[Sp,gp,Ep,vp,Ip,Tp,xp,Dp]);var po=e=>e.issues.map(t=>`${t.path.length===0?"(root)":t.path.join(".")}: ${t.code}`).join("; ");var Fs=require("@aiquants/virtualscroll"),kr=require("react");var Cp=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,Ye=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${Cp(r)}`),Ls=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),pn=(e,t,r)=>Ye(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t),nr=(e,t,r,n)=>{if(typeof t=="number"&&Number.isSafeInteger(t)&&t>=r&&(n===void 0||t<=n))return t;throw Ye(e,n===void 0?`an integer >= ${r}`:`an integer from ${r} to ${n}`,t)};var Ct=require("@aiquants/virtualscroll");var Ns=["id","businessDate","author","visitTime","createdAt","updatedAt","updatedBy","category","creationCategory","customer","subject","content","interviewers","comments","attachments","attachmentMissing","attachmentDownload","attachmentThumbnailUnavailable","tabArticle","tabRelations","reportTabList","relationsEmpty","title","listKeyboardHelp","tabList","tabTree","tabDetailList","viewTabList","treeComingSoon","totalCountLoading","createReport","createReportTitle","devControls","devSseToggle","devReload","devClearCache","autoRead","autoReadTitle","loadErrorBadge","loadError","reload","loadingIds","streamFailed","streamRetry","streamRevalidating","selectPrompt","loading","reportNotFound","contentEmpty","contentEmptyPreview","confirmDelete","deleteFailed","starAdd","starRemove","markRead","markUnread","deleteReport","edit","resizeHandle","close","formTitle","formTitlePlaceholder","formContent","formContentPlaceholder","formCancel","formSave","formPublish","commentPlaceholder","commentSend","commentDelete","commentDeleteConfirm","unknownUser","sourceInternal","searchInputLabel","searchPlaceholder","searchCombineAnd","searchCombineOr","searchCombineAndTitle","searchCombineOrTitle","searchClear","searching","searchNoHits","searchSyntaxHelp"],Os=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","noticeRepeated","rowState","listRowPosition","listRowPositionInUnknownTotal","searchHitCount","searchFailed"],mo=[...Ct.VIRTUAL_SCROLL_LABEL_KEYS,...Ns,...Os];var Ap=Object.freeze({en:"en-US",ja:"ja-JP"}),ve=(e,t)=>t.toLocaleString(Ap[e]),_p=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"}),Lp=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"}),wp=Object.freeze({invalid:"\u691C\u7D22\u8A9E\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093",busy:"\u6DF7\u307F\u5408\u3063\u3066\u3044\u307E\u3059\u3002\u5C11\u3057\u5F85\u3063\u3066\u304B\u3089\u3082\u3046\u4E00\u5EA6\u691C\u7D22\u3057\u3066\u304F\u3060\u3055\u3044",unavailable:"\u691C\u7D22\u3092\u4F7F\u3048\u307E\u305B\u3093",failed:"\u691C\u7D22\u306B\u5931\u6557\u3057\u307E\u3057\u305F"}),Np=Object.freeze({invalid:"The search text is not valid",busy:"The server is busy. Please search again in a moment",unavailable:"Search is not available",failed:"The search failed"}),qa=Object.freeze({en:Object.freeze({id:"ID",businessDate:"Business date",author:"Author",visitTime:"Visit time",createdAt:"Created at",updatedAt:"Updated at",updatedBy:"Updated by",category:"Category",creationCategory:"Creation category",customer:"Customer",subject:"Subject",content:"Content",interviewers:"Attendees",comments:"Comments",attachments:"Attachments",attachmentMissing:"File is missing",attachmentDownload:"Download",attachmentThumbnailUnavailable:"Preview unavailable",tabArticle:"Overview",tabRelations:"Related",reportTabList:"Report sections",relationsEmpty:"No related view configured yet.",title:"Daily Reports",listKeyboardHelp:"Up and Down arrows: previous or next report. Home and End: first or last report. Page Up and Page Down: move by a page. Enter or Space on a report row: make it current. Control+Home and Control+End: move to the nearest control before or after the list, when there is one.",tabList:"\u{1F4C4} List",tabTree:"\u{1F333} Tree",tabDetailList:"\u{1F4CB} DetailList",viewTabList:"Views",treeComingSoon:"The tree view is coming soon",totalCountLoading:"Total: loading...",createReport:"New report",createReportTitle:"Create a daily report",devControls:"Development-only controls",devSseToggle:"Toggle SSE real-time sync",devReload:"Reload data",devClearCache:"Clear the cache and reload",autoRead:"Auto-read",autoReadTitle:"Mark reports as read automatically while viewing them",loadErrorBadge:"Error",loadError:"Failed to load the daily reports.",reload:"Reload",loadingIds:"Loading report IDs...",streamFailed:"Failed to load",streamRetry:"Retry",streamRevalidating:"Refreshing",selectPrompt:"Select a report from the list on the left.",loading:"Loading...",reportNotFound:"Report not found",contentEmpty:"No content has been entered.",contentEmptyPreview:"No content has been entered",confirmDelete:"Are you sure you want to delete this report?",deleteFailed:"Failed to delete the report",starAdd:"Add star",starRemove:"Remove star",markRead:"Mark as read",markUnread:"Mark as unread",deleteReport:"Delete",edit:"Edit",resizeHandle:"Resize the border between the report list and the detail pane",close:"Close",formTitle:"Title",formTitlePlaceholder:"Enter the report title",formContent:"Content",formContentPlaceholder:"Enter the report content",formCancel:"Cancel",formSave:"Save",formPublish:"Publish",commentPlaceholder:"Add a comment...",commentSend:"Send",commentDelete:"Delete comment",commentDeleteConfirm:"Delete",unknownUser:"Unknown",sourceInternal:"Original",searchInputLabel:"Search reports",searchPlaceholder:"Search reports",searchCombineAnd:"AND",searchCombineOr:"OR",searchCombineAndTitle:"Show the reports that contain every keyword",searchCombineOrTitle:"Show the reports that contain any keyword",searchClear:"Clear the search",searching:"Searching...",searchNoHits:"No report matches",searchSyntaxHelp:"Separate keywords with spaces. Words in double quotes form one keyword that needs every word. Enter searches, Esc clears.",totalCount:e=>`Total: ${ve("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${ve("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${ve("en",e)} / ${ve("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${ve("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${ve("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${ve("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${Lp[e]}. Please try again later.`,noticeRepeated:e=>`(${ve("en",e)} times)`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${ve("en",e)} of ${ve("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${ve("en",e)}`,searchHitCount:e=>`${ve("en",e)} ${e===1?"hit":"hits"}`,searchFailed:e=>Np[e]}),ja:Object.freeze({id:"ID",businessDate:"\u55B6\u696D\u65E5",author:"\u4F5C\u6210\u8005",visitTime:"\u8A2A\u554F\u6642\u9593",createdAt:"\u4F5C\u6210\u65E5\u6642",updatedAt:"\u66F4\u65B0\u65E5\u6642",updatedBy:"\u66F4\u65B0\u8005",category:"\u533A\u5206",creationCategory:"\u4F5C\u6210\u533A\u5206",customer:"\u9867\u5BA2",subject:"\u4EF6\u540D",content:"\u5185\u5BB9",interviewers:"\u9762\u8AC7\u8005",comments:"\u30B3\u30E1\u30F3\u30C8",attachments:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB",attachmentMissing:"\u5B9F\u4F53\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",attachmentDownload:"\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9",attachmentThumbnailUnavailable:"\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u8868\u793A\u3067\u304D\u307E\u305B\u3093",tabArticle:"\u6982\u8981",tabRelations:"\u95A2\u9023",reportTabList:"\u65E5\u5831\u306E\u8868\u793A\u306E\u5207\u308A\u66FF\u3048",relationsEmpty:"\u95A2\u9023\u30D3\u30E5\u30FC\u306F\u307E\u3060\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",title:"\u65E5\u5831",listKeyboardHelp:"\u2191\u2193 \u3067\u524D\u5F8C\u306E\u65E5\u5831\u3001Home / End \u3067\u5148\u982D\u30FB\u672B\u5C3E\u3001PageUp / PageDown \u3067\u30DA\u30FC\u30B8\u79FB\u52D5\u3001\u65E5\u5831\u306E\u884C\u3067 Enter \u307E\u305F\u306F Space \u3092\u62BC\u3059\u3068\u9078\u629E\u3001Ctrl+Home / Ctrl+End \u3067\u4E00\u89A7\u306E\u76F4\u524D\u30FB\u76F4\u5F8C\u306E\u64CD\u4F5C\u90E8\u54C1\u304C\u3042\u308C\u3070\u305D\u3053\u3078\u79FB\u308A\u307E\u3059\u3002",tabList:"\u{1F4C4} \u4E00\u89A7",tabTree:"\u{1F333} \u30C4\u30EA\u30FC",tabDetailList:"\u{1F4CB} \u8A73\u7D30\u4E00\u89A7",viewTabList:"\u8868\u793A\u306E\u5207\u308A\u66FF\u3048",treeComingSoon:"\u30C4\u30EA\u30FC\u306F\u73FE\u5728\u6E96\u5099\u4E2D\u3067\u3059",totalCountLoading:"\u7DCF\u4EF6\u6570: \u8AAD\u307F\u8FBC\u307F\u4E2D...",createReport:"\u65E5\u5831\u4F5C\u6210",createReportTitle:"\u65E5\u5831\u3092\u4F5C\u6210",devControls:"\u958B\u767A\u74B0\u5883\u9650\u5B9A\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB",devSseToggle:"SSE \u30EA\u30A2\u30EB\u30BF\u30A4\u30E0\u540C\u671F\u5207\u66FF",devReload:"\u30C7\u30FC\u30BF\u518D\u53D6\u5F97 (\u30EA\u30ED\u30FC\u30C9)",devClearCache:"\u30AD\u30E3\u30C3\u30B7\u30E5\u7834\u68C4 & \u518D\u53D6\u5F97",autoRead:"\u81EA\u52D5\u65E2\u8AAD",autoReadTitle:"\u65E5\u5831\u95B2\u89A7\u6642\u306E\u81EA\u52D5\u65E2\u8AAD\u51E6\u7406\u5207\u66FF",loadErrorBadge:"\u30A8\u30E9\u30FC",loadError:"\u65E5\u5831\u30C7\u30FC\u30BF\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002",reload:"\u518D\u8AAD\u307F\u8FBC\u307F",loadingIds:"\u65E5\u5831 ID \u3092\u8AAD\u307F\u8FBC\u307F\u4E2D\u3067\u3059...",streamFailed:"\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F",streamRetry:"\u518D\u8A66\u884C",streamRevalidating:"\u6700\u65B0\u5316\u4E2D",selectPrompt:"\u5DE6\u5074\u306E\u4E00\u89A7\u304B\u3089\u65E5\u5831\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",loading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",reportNotFound:"\u65E5\u5831\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",contentEmpty:"\u5185\u5BB9\u306F\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",contentEmptyPreview:"\u5185\u5BB9\u306F\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093",confirmDelete:"\u672C\u5F53\u306B\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F",deleteFailed:"\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F",starAdd:"\u30B9\u30BF\u30FC\u3092\u4ED8\u3051\u308B",starRemove:"\u30B9\u30BF\u30FC\u3092\u5916\u3059",markRead:"\u65E2\u8AAD\u306B\u3059\u308B",markUnread:"\u672A\u8AAD\u306B\u3059\u308B",deleteReport:"\u524A\u9664\u3059\u308B",edit:"\u7DE8\u96C6",resizeHandle:"\u65E5\u5831\u4E00\u89A7\u3068\u8A73\u7D30\u30DA\u30A4\u30F3\u306E\u5883\u754C\u306E\u30B5\u30A4\u30BA\u5909\u66F4\u30CF\u30F3\u30C9\u30EB",close:"\u9589\u3058\u308B",formTitle:"\u30BF\u30A4\u30C8\u30EB",formTitlePlaceholder:"\u65E5\u5831\u306E\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B",formContent:"\u5185\u5BB9",formContentPlaceholder:"\u65E5\u5831\u306E\u5185\u5BB9\u3092\u5165\u529B",formCancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",formSave:"\u4FDD\u5B58",formPublish:"\u516C\u958B",commentPlaceholder:"\u30B3\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0...",commentSend:"\u9001\u4FE1",commentDelete:"\u524A\u9664",commentDeleteConfirm:"\u524A\u9664\u3059\u308B",unknownUser:"\u4E0D\u660E\u306A\u30E6\u30FC\u30B6\u30FC",sourceInternal:"\u30AA\u30EA\u30B8\u30CA\u30EB",searchInputLabel:"\u65E5\u5831\u3092\u691C\u7D22",searchPlaceholder:"\u65E5\u5831\u3092\u691C\u7D22",searchCombineAnd:"AND",searchCombineOr:"OR",searchCombineAndTitle:"\u3059\u3079\u3066\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u542B\u3080\u65E5\u5831\u3092\u51FA\u3059",searchCombineOrTitle:"\u3069\u308C\u304B\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u542B\u3080\u65E5\u5831\u3092\u51FA\u3059",searchClear:"\u691C\u7D22\u3092\u6D88\u3059",searching:"\u691C\u7D22\u4E2D...",searchNoHits:"\u5F53\u305F\u308B\u65E5\u5831\u306F\u3042\u308A\u307E\u305B\u3093",searchSyntaxHelp:"\u30AD\u30FC\u30EF\u30FC\u30C9\u306F\u7A7A\u767D\u3067\u533A\u5207\u308A\u307E\u3059\u3002\u4E8C\u91CD\u5F15\u7528\u7B26\u3067\u56F2\u3093\u3060\u8A9E\u306F\u3001\u3059\u3079\u3066\u306E\u8A9E\u3092\u542B\u3080 1 \u3064\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u306B\u306A\u308A\u307E\u3059\u3002Enter \u3067\u691C\u7D22\u3001Esc \u3067\u6D88\u53BB\u3057\u307E\u3059\u3002",totalCount:e=>`\u7DCF\u4EF6\u6570: ${ve("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${ve("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${ve("ja",e)} / ${ve("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${ve("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${ve("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${ve("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${_p[e]}\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u6642\u9593\u3092\u304A\u3044\u3066\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002`,noticeRepeated:e=>`(${ve("ja",e)} \u56DE\u76EE)`,rowState:({isRead:e,isStarred:t})=>`${e?"\u65E2\u8AAD":"\u672A\u8AAD"}${t?"\u3001\u30B9\u30BF\u30FC\u4ED8\u304D":""}`,listRowPosition:(e,t)=>`\u5168 ${ve("ja",t)} \u4EF6\u4E2D ${ve("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${ve("ja",e)} \u4EF6\u76EE`,searchHitCount:e=>`${ve("ja",e)} \u4EF6\u30D2\u30C3\u30C8`,searchFailed:e=>wp[e]})}),Ya=Object.freeze({en:Object.freeze({...Ct.VIRTUAL_SCROLL_LABEL_CATALOGS.en,...qa.en}),ja:Object.freeze({...Ct.VIRTUAL_SCROLL_LABEL_CATALOGS.ja,...qa.ja})}),Op=e=>{let t={},r=!1;for(let n of Ct.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},ws=(e,t,r)=>{e[t]=r},fo=(e,t)=>{let r=(0,Ct.resolveVirtualScrollLocale)(e);if(t===void 0)return Ya[r];if(t===null||typeof t!="object")throw Ye("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Ye("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!mo.includes(i))throw pn("labels key",i,mo);let a={...(0,Ct.resolveVirtualScrollLabels)(r,Op(t)),...qa[r]};for(let i of Ns){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw Ye(`labels.${i}`,"a non-blank string",s);ws(a,i,s)}}for(let i of Os){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw Ye(`labels.${i}`,"a function",s);ws(a,i,s)}}return Object.freeze(a)},Ms=e=>{let t={};for(let r of Ct.VIRTUAL_SCROLL_LABEL_KEYS)t[r]=e[r];return Object.freeze(t)};var Pr=require("react/jsx-runtime"),Mp=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),Pp=({title:e,annotation:t})=>(0,Pr.jsxs)("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[(0,Pr.jsx)("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?(0,Pr.jsx)("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),Hr=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:Pp,showDevControls:!1,headingLevel:3}),Ps=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired","search"];var kp=e=>{for(let t of Object.keys(e))if(!Ps.includes(t))throw pn("config key",t,Ps)},ks=[2,3,4,5],Hp=e=>{if(e===void 0)return Hr.headingLevel;let t=ks.find(r=>r===e);if(t===void 0)throw Ye("config.headingLevel",`one of ${ks.join(", ")} (the level of each report's heading)`,e);return t},Hs=["debounceMs"],Fp=Object.freeze({min:300,max:5e3}),Bp=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},Vp=e=>{if(e===void 0)return null;if(!Bp(e))throw Ye("config.search","a plain object ({} for Enter only, or { debounceMs })",e);for(let o of Object.keys(e))if(!Hs.includes(o))throw pn("config.search key",o,Hs);let t=e.debounceMs;if(t===void 0)return{debounceMs:null};let{min:r,max:n}=Fp;return{debounceMs:nr("config.search.debounceMs",t,r,n)}},Up=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Ye(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},Bs=e=>{kp(e);let t=e.onSessionExpired;if(t===void 0)throw Ls("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Ye("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=(0,Fs.resolveVirtualScrollLocale)(e.locale),n=fo(r,e.labels),o=Hr;return{apiBasePath:e.apiBasePath===void 0?o.apiBasePath:e.apiBasePath,ssePath:e.ssePath===void 0?o.ssePath:e.ssePath,draftLabelName:e.draftLabelName===void 0?o.draftLabelName:e.draftLabelName,locale:r,labels:n,sourceTypeConfigs:e.sourceTypeConfigs===void 0?Mp(n):Up(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:Hp(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired,search:Vp(e.search)}},Wp=()=>{throw new Error("[daily-report] onSessionExpired is not wired: render inside DailyReportConfigProvider with a config")},Vs=(0,kr.createContext)(Bs({onSessionExpired:Wp})),yo=({config:e,children:t})=>{let r=(0,kr.useMemo)(()=>Bs(e),[e]);return(0,Pr.jsx)(Vs.Provider,{value:r,children:t})},K=()=>(0,kr.useContext)(Vs),or=(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},bo=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";var Ws=require("@aiquants/virtualscroll");var Us=4;var Fr=120,Ks=1e3,ho=.8,Xa={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},So=20,$s=6,go={reportHubId:-1,businessDate:null},Eo=240,vo=15,Kp=8,zs=460,js=3,Gs=352,$p={enabled:!0,renderVisual:Ws.tapScrollCircleSampleVisual,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},Io={width:Kp,tapScrollCircleOptions:$p,enableArrowButtonTabStops:!1},To=["pen","touch"];var Xs=Mr(1,"use-daily-report"),Qs=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},ei=Qs("__DAILY_REPORT_CACHE_TTL__",3e5),zp=Qs("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),Y={reports:new Map,lists:new Map,pendingLists:new Map,pendingReports:new Map,listeners:new Set,lockHolders:new Map,lockHolds:new Map,lastMutations:new Map,recentDeletes:new Map,lastPrune:0,prune(){let e=Date.now();if(e-this.lastPrune<6e4)return;this.lastPrune=e;let t=3600*1e3;for(let[r,n]of this.reports)e-n.expiresAt>t&&this.reports.delete(r);for(let[r,n]of this.lists)e-n.expiresAt>t&&this.lists.delete(r)},clear(){this.reports.clear(),this.lists.clear(),this.pendingLists.clear(),this.pendingReports.clear(),this.lockHolders.clear(),this.lockHolds.clear(),this.lastMutations.clear(),this.recentDeletes.clear(),this.listeners.forEach(e=>{e(-1)})},isLocked(e){if(this.lockHolders.has(e))return!0;let t=this.lockHolds.get(e);return t===void 0?!1:t>performance.now()?!0:(this.lockHolds.delete(e),!1)},isValid:e=>e>Date.now(),notify:e=>{Y.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=Sr(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()){Xs.warn(`[DailyReportCache] Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+zp))}},delete(e,t){this.reports.delete(e);let r=Sr(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+ei;for(let[i,s]of this.recentDeletes)n-s>1e4&&this.recentDeletes.delete(i);let a=e.map(i=>{if(this.isLocked(i.reportHubId))return i;let s=this.lastMutations.get(i.reportHubId);if(s&&r>0&&s>r)return this.reports.get(i.reportHubId)?.data??i;let l=this.reports.get(i.reportHubId)?.data,u=this.merge(i,l);return this.set(u,o,!1),u});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},Zs=(e,t,r=!0)=>Y.set(e,t,r),St=(e,t)=>Y.getReport(e,t?.ignoreExpiry),gt=(e,t)=>Y.update(e,t),ti=(e,t)=>Y.delete(e,t),fn=()=>{Y.clear(),xo.clear(),mn.clear()},Do=(e,t)=>{let r=Y.lastMutations.get(e);(r===void 0||r<t)&&Y.lastMutations.set(e,t)},ri=e=>{Do(e,Date.now())},Js=e=>{let t=Symbol("mutation-lock"),r=Y.lockHolders.get(e);return r===void 0?Y.lockHolders.set(e,new Set([t])):r.add(t),Do(e,Date.now()),()=>{let n=Y.lockHolders.get(e);n===void 0||!n.delete(t)||(n.size===0&&Y.lockHolders.delete(e),Do(e,Date.now()))}},el=(e,t)=>{let r=performance.now()+t,n=Y.lockHolds.get(e);(n===void 0||n<r)&&Y.lockHolds.set(e,r),Do(e,Date.now()+t)},tl=e=>Y.recentDeletes.set(e,Date.now()),rl=(e,t)=>{let r=n=>{n===e&&t()};return Y.listeners.add(r),()=>{Y.listeners.delete(r)}},Er=(e,t)=>{Y.prune(),Y.set(t,Date.now()+ei)},nl=e=>{Y.prune();let t=Y.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}));Y.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+ei)},jp=Vr.z.object({report:Nt}),Gp=Vr.z.object({reports:Vr.z.array(Nt)}),ni=async(e,t,r)=>{if(!e.ok)throw new Error(`[daily-report] ${r} answered HTTP ${e.status}`);let n=t.safeParse(await e.json());if(!n.success)throw new Error(`[daily-report] ${r} answered a body that does not match its schema (${po(n.error)})`);return n.data},qp=async(e,t)=>{let r=Y.getReport(t);if(r)return r;let n=Y.pendingReports.get(t);if(n)return n;let o=Date.now(),a=new URLSearchParams({[ht.reportHubId]:String(t)}),i=fetch(`${e}/${Rt.report}?${a}`,{cache:"no-cache"}).then(s=>ni(s,jp,Rt.report)).then(({report:s})=>Y.cacheMany([s],null,o)[0]).finally(()=>Y.pendingReports.delete(t));return Y.pendingReports.set(t,i),i},xo=new Map,Yp=1e4,Xp=(e,t)=>{let r=xo.get(t),n=Date.now();if(r&&n-r.at<Yp)return r.inFlight;let o=oi(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return xo.set(t,a),o.finally(()=>{xo.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},oi=async(e,t,r={})=>{let n=r.forceRefresh?null:Y.getList(t);if(n)return n;let o=Y.pendingLists.get(t);if(o)return o;let a=Date.now(),i=new URLSearchParams({[ht.businessDate]:t}),s=fetch(`${e}/${Rt.businessDate}?${i}`,{cache:"no-cache"}).then(l=>ni(l,Gp,Rt.businessDate)).then(({reports:l})=>Y.cacheMany(l,t,a)).finally(()=>Y.pendingLists.delete(t));return Y.pendingLists.set(t,s),s},Qp=Vr.z.object({reports:Vr.z.array(Nt)}),Zp=2,Co=new Map,mn=new Map,ol=[],Qa=0,Za=!1,al=()=>{for(;Qa<Zp;){let e=ol.shift();if(e===void 0)return;Qa+=1,e().finally(()=>{Qa-=1,al()})}},Jp=()=>{Za=!1;for(let[e,t]of Co){Co.delete(e);let r=[...t];for(let n=0;n<r.length;n+=za.maxDetailIds){let o=r.slice(n,n+za.maxDetailIds);ol.push(async()=>{let a=Date.now(),i=new URLSearchParams({[ht.reportIds]:o.map(([s])=>s).join(",")});try{let s=await fetch(`${e}/${Rt.reports}?${i}`,{cache:"no-cache"}),{reports:l}=await ni(s,Qp,Rt.reports),u=new Map(Y.cacheMany(l,null,a).map(d=>[d.reportHubId,d]));for(let[d,p]of o)p.resolve(u.get(d)??null)}catch(s){for(let[,l]of o)l.reject(s)}})}}al()},em=(e,t)=>{let r=mn.get(t);if(r!==void 0)return r;let n=new Promise((o,a)=>{let i=Co.get(e);i===void 0&&(i=new Map,Co.set(e,i)),i.set(t,{resolve:o,reject:a})}).finally(()=>{mn.get(t)===n&&mn.delete(t)});return mn.set(t,n),Za||(Za=!0,queueMicrotask(Jp)),n},Ao=(0,ot.createContext)("date"),Ja=(e,t)=>{let r=Y.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!Y.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=Y.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:!Y.isValid(n.expiresAt)}},qs=(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}=Ja(e,Sr(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},Br=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,ar=(e,t)=>{let{apiBasePath:r}=K(),n=(0,ot.useContext)(Ao),[o,a]=(0,ot.useState)(()=>qs(e,t)),i=(0,ot.useRef)(0),s=o;return o.id!==e&&(s=qs(e,t),a(s)),(0,ot.useEffect)(()=>{let l=Sr(t),u=d=>{d===e&&a(Br(e,{report:Ja(e,l).report}))};return Y.listeners.add(u),()=>{Y.listeners.delete(u)}},[e,t]),(0,ot.useEffect)(()=>{let l=Sr(t);i.current+=1;let u=i.current,d=()=>{i.current+=1};if(e<=0)return d;let{report:p,isStale:m}=Ja(e,l);if(p&&!m)return a(Br(e,{report:p,error:null,isLoading:!1,isRefetching:!1})),d;a(Br(e,{report:p,isLoading:!p,isRefetching:!0}));let g=async()=>{try{let T=null;if(n==="ids")T=await em(r,e);else if(l){let v=Y.getList(l)!==null;if(T=(await oi(r,l)).find(h=>h.reportHubId===e)??null,!T&&v){let h=await Xp(r,l);h&&(T=h.find(E=>E.reportHubId===e)??null)}}else T=await qp(r,e);i.current===u&&a(Br(e,{report:T,error:null}))}catch(T){i.current===u&&a(Br(e,{error:T instanceof Error?T:new Error("Load failed")}))}finally{i.current===u&&a(Br(e,{isLoading:!1,isRefetching:!1}))}};if(p===null)return g(),d;let y=setTimeout(g,Fr);return()=>{clearTimeout(y),d()}},[e,t,r,n]),{report:s.report,error:s.error,isLoading:s.isLoading,isRefetching:s.isRefetching}},_o=()=>{let{apiBasePath:e}=K(),t=(0,ot.useContext)(Ao);return(0,ot.useCallback)(r=>{if(t==="ids")return;let n=Sr(r);n&&!Y.getList(n)&&oi(e,n).catch(o=>Xs.warn("Prefetch error",n,o))},[e,t])};var il=require("@aiquants/virtualscroll"),sl=require("react");var Lo=()=>{let{locale:e,labels:t}=K(),r=Ms(t),n=(0,sl.useRef)(null),o=n.current;return o!==null&&il.VIRTUAL_SCROLL_LABEL_KEYS.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};var Oo=require("react"),bl=require("react-dom");var cl=Object.freeze({visibilityProperty:!0}),ll=new Set(["auto","scroll"]),dl=new Set(["","true","plaintext-only"]),ul=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=yl(n)?n.host:null}return!1},tm=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(cl))return!0;return!1},pl=e=>e.localName==="area"?tm(e):e.checkVisibility(cl),rm=e=>{let t=e.getAttribute("contenteditable");if(t===null||!dl.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(dl.has(o))return!1;if(o==="false")return!0}return!0},nm=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&&pl(n)&&(r=n)}return r===e},om=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&&ll.has(a.overflowX)||n&&ll.has(a.overflowY)},am=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 rm(e)}},im=/^[\t\n\f\r ]*[+-]?\d/,sm=e=>{let t=e.getAttribute("tabindex");return t!==null&&im.test(t)?e.tabIndex:null},ml=(e,t)=>{for(let r of ii(e))if(t(r)||ml(r,t))return!0;return!1},wo=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=lm(e,t);return t.set(e,n),n},lm=(e,t)=>{if(!yn(e))return"none";let r=sm(e),n=r===null&&am(e),o=r===null&&!n&&om(e);return!(r!==null||n||o)||e.matches(":disabled")||ul(e)||!pl(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?nm(e)?"sequential":"programmatic":"sequential":ml(e,a=>wo(a,t)==="sequential")?"none":"sequential"},ai=(e,t)=>{for(let r of ii(e))t(r),ai(r,t)},ii=e=>{if(_e(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 No=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return ai(e,l=>{wo(l,a)==="sequential"&&n.push(l)}),{before:r,within:n,after:o};let i=!1,s=(l,u)=>{for(let d of ii(l)){let p=d===t;!p&&wo(d,a)==="sequential"&&(u?n.push(d):i?o.push(d):r.push(d)),s(d,u||p),p&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},fl=e=>{let t=[],r=new Map;return ai(e,n=>{wo(n,r)==="sequential"&&t.push(n)}),t},_e=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,yn=e=>"focus"in e&&"blur"in e,dm=e=>e.nodeType===e.DOCUMENT_NODE,yl=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,ke=e=>{let t=e.getRootNode();if(yl(t)){let r=t.activeElement;return r===null?ke(t.host):r}return dm(t)?t.activeElement:null},Ft=e=>{let t=ke(e);return t===null||t===t.ownerDocument.body||ul(t)},tt=e=>{let t=e.ownerDocument.defaultView;if(t===null)throw new Error("[daily-report] the element belongs to a document without a window");return t};var Mo=e=>{let[t,r]=(0,Oo.useState)(null);return(0,Oo.useLayoutEffect)(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] useViewBoxHeight needs viewRef attached to the view's root");let o=null,a=l=>{if(l===o)return;let u=o===null;o=l,u?(0,bl.flushSync)(()=>r(l)):r(l)},i=l=>{for(let u of l)a(u.borderBoxSize[0].blockSize)},s=new(tt(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var Rl=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,Oe=(e,t,r)=>{if(r!==null&&Number.isInteger(r)&&r>=0&&r<e.length){if(e[r].reportHubId===t)return r;for(let n=1;n<=16;n++){let o=r+n;if(o<e.length&&e[o].reportHubId===t)return o;let a=r-n;if(a>=0&&e[a].reportHubId===t)return a}}return e.findIndex(n=>n.reportHubId===t)};var ko="data-daily-report-row",Po=`[role="listitem"][${ko}]`,cm='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',um=/^[1-9]\d*$/,hl=e=>{if(e===null||!um.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},pm=`${Po}[tabindex="0"], ${Po} [tabindex="0"]`,Ho=e=>e.querySelector(pm),ir=(e,t)=>{if(t===null||!_e(e))return null;let r=e.closest(Po);return r===null||r===t||!t.contains(r)?null:r},vr=e=>hl(e.getAttribute(ko)),Ur=e=>hl(e.getAttribute("aria-posinset")),Sl=e=>{let t=e.closest(Po),r=t===null?null:Ur(t);return r===null?null:r-1},bn=(e,t)=>{if(e===null)return null;let r=vr(e);if(r===null)return null;let n=Ur(e),o=Oe(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},gl=(e,t)=>{if(!_e(e))return!1;let r=e.closest(cm);return r!==null&&r!==t&&t.contains(r)};var si=require("react"),Bt=(0,si.createContext)(0),Rn=-1,El=(e,t)=>t.phase==="complete"?e:t.totalCount===null?Rn:Math.max(e,t.totalCount),Vt=(0,si.createContext)(-1);var vl=require("clsx"),Il=require("tailwind-merge");function I(...e){return(0,Il.twMerge)((0,vl.clsx)(e))}var Ir=require("react");var Tl="(prefers-reduced-motion: reduce)",xl=e=>tt(e).matchMedia(Tl).matches?"instant":"smooth",mm=Object.freeze({...Xa,startVelocityThreshold:Number.POSITIVE_INFINITY}),Wr=e=>e?mm:Xa,fm=()=>!1,ym=()=>{},Kr=e=>{let t=(0,Ir.useMemo)(()=>e===null?null:tt(e).matchMedia(Tl),[e]),r=(0,Ir.useCallback)(o=>t===null?ym:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=(0,Ir.useCallback)(()=>t===null?!1:t.matches,[t]);return(0,Ir.useSyncExternalStore)(r,n,fm)};var Cl=require("react");var Fo=require("react/jsx-runtime"),Bo=()=>{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)})}},Dl=16,bm=(e,t)=>e==="vertical"?{top:0,left:-Dl,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-Dl,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},Vo=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=(0,Cl.useSyncExternalStore)(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?(0,Fo.jsx)("div",{className:"pointer-events-none absolute flex items-center",style:bm(e,t),children:(0,Fo.jsx)("div",{className:I(as,"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,Fo.jsx)("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};var sr=require("react"),li=(0,sr.createContext)(null),Uo=({items:e,scroller:t,readTopReportId:r})=>{let n=(0,sr.useContext)(li),o=n===null?null:n.request,a=(0,sr.useRef)(o===null?0:o.seq);(0,sr.useLayoutEffect)(()=>{if(!(n===null||o===null||o.seq===a.current)){if(a.current=o.seq,o.kind==="restore"){let i=n.slot.preSearchTopReportId;n.slot.preSearchTopReportId=null;let s=i===null?-1:e.findIndex(l=>l.reportHubId===i);s!==-1&&t.toIndex(s,{align:"top"});return}o.kind==="enter"&&(n.slot.preSearchTopReportId=r()),e.length>0&&t.toIndex(0,{align:"top"})}},[n,o,e,t,r])};var he=require("react");var re=require("react");var ge=require("zod");var Al=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var dt=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),ci=e=>{let t=new FormData;if(t.append(dt.intent,e.intent),e.intent==="clearCache"||(t.append(dt.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(dt.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(dt.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(dt.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(dt.title,e.changes.title),e.changes.content!==void 0&&t.append(dt.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(dt.isStarred,String(e.value)),t;case"toggleRead":return t.append(dt.isRead,String(e.value)),t;case"addComment":return t.append(dt.content,e.content),t;case"deleteComment":return t.append(dt.commentId,String(e.commentId)),t}},Rm=()=>{let e=Ne,t=ge.z.string().regex(lo),r=ge.z.literal("OK"),n=ge.z.object({isStarred:ge.z.boolean(),isRead:ge.z.boolean()}),o=ge.z.number().int().nonnegative().nullable();return{create:ge.z.object({status:r,intent:ge.z.literal("create"),reportHubId:e,clientTempId:t,report:Nt}),update:ge.z.object({status:r,intent:ge.z.literal("update"),reportHubId:e,clientTempId:t}),publish:ge.z.object({status:r,intent:ge.z.literal("publish"),reportHubId:e,clientTempId:t,report:Nt.nullable()}),delete:ge.z.object({status:r,intent:ge.z.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:ge.z.object({status:r,intent:ge.z.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:ge.z.object({status:r,intent:ge.z.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:ge.z.object({status:r,intent:ge.z.literal("addComment"),reportHubId:e,clientTempId:t,newComment:uo}),deleteComment:ge.z.object({status:r,intent:ge.z.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:Ne}),clearCache:ge.z.object({status:r,intent:ge.z.literal("clearCache")})}},di=null,hm=()=>(di===null&&(di=Rm()),di),_l=(e,t)=>{let r=hm()[e].safeParse(t);return r.success?{result:r.data}:{mismatch:po(r.error)}};var Tn=require("@aiquants/sse"),Xl=require("@aiquants/sse/client"),Ql=require("@aiquants/sse/react"),At=require("react");var Et=require("react");var Ll=e=>{let t=new URLSearchParams;return e.cursor!==null&&(t.set(ht.cursorReportHubId,String(e.cursor.reportHubId)),e.cursor.businessDate!==null&&t.set(ht.cursorBusinessDate,e.cursor.businessDate)),e.snapshot!==null&&t.set(ht.cursorSnapshot,e.snapshot),e.forceRefresh&&t.set(ht.forceRefresh,"true"),t};var hn=()=>{let e=new Map,t=new Map,r=new Map,n=i=>{let s=r.get(i.reportHubId);if(s===void 0){e.set(i.reportHubId,i);return}r.delete(i.reportHubId),t.set(i.reportHubId,{previous:s,next:i})},o=(i,s)=>{if(e.has(s.reportHubId)){e.set(s.reportHubId,s);return}let l=t.get(s.reportHubId);t.set(s.reportHubId,{previous:l===void 0?i:l.previous,next:s})},a=i=>{if(e.delete(i.reportHubId))return;let s=t.get(i.reportHubId);s!==void 0&&t.delete(i.reportHubId),r.set(i.reportHubId,s===void 0?i:s.previous)};return{add:n,change:o,remove:a,fold:i=>{for(let s of i.removed)a(s);for(let{previous:s,next:l}of i.replaced)o(s,l);for(let s of i.appended)n(s)},isEmpty:()=>e.size===0&&t.size===0&&r.size===0,build:(i,s)=>({base:i,revision:s,appended:[...e.values()],replaced:[...t.values()],removed:[...r.values()]})}},wl=(e,t)=>{let r=e.findIndex(n=>n.base===t);if(r===-1)return null;for(let n=r+1;n<e.length;n++)if(e[n].base!==e[n-1].revision)return null;return e.slice(r)};var Nl=()=>{let e=new TextDecoder,t=[],r=n=>{let o=[],a=0;for(let i=n.indexOf(`
|
|
2
2
|
`);i!==-1;i=n.indexOf(`
|
|
3
|
-
`,a)){let s=n.slice(a,i);o.push(t.length===0?s:[...t,s].join("")),t=[],a=i+1}return a<n.length&&t.push(n.slice(a)),o};return{push:n=>r(e.decode(n,{stream:!0})),end:()=>{let n=r(e.decode()),o=t.join("");return t=[],o===""?n:[...n,o]}}};var gm=50,hm=32,Qs=0,Sm=()=>(Qs+=1,Qs),Em=1e3,vm=3e4,Tm=6,Im=3e4,vo=Symbol("read-stall"),xm="/daily_report/api",Lr=class{constructor(t={}){this.itemMap=new Map;this.listeners=new Set;this.state={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null};this.streamAnchorRevision=0;this.lastCursor=null;this.lastSnapshot=null;this.consecutiveFailures=0;this.started=!1;this.disposed=!1;this.loopGeneration=0;this.activeAbortController=null;this.activeSeenIds=null;this.externalRemovalTombstones=new Set;this.pendingForceRefresh=!1;this.wakeRetryWait=null;this.handleOnline=()=>this.wakeRetryWait?.();this.publishCoalesceTimer=null;this.lastItemsPublishAt=Number.NEGATIVE_INFINITY;this.pendingItemsChange=en();this.apiBasePath=t.apiBasePath??xm,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??Im,this.publishCoalesceMs=t.publishCoalesceMs??gm,this.now=t.now??(()=>performance.now()),typeof window<"u"&&window.addEventListener("online",this.handleOnline)}getState(){return this.state}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}start(){this.started||this.disposed||(this.started=!0,this.runStreamLoop({revalidate:!1,forceRefresh:!1}))}retry(){this.disposed||this.state.phase!=="failed"||(this.consecutiveFailures=0,this.runStreamLoop({revalidate:this.state.hasCompletedOnce,forceRefresh:!1}))}refresh(t={}){if(!this.disposed){if(this.state.phase==="failed"){this.consecutiveFailures=0,this.runStreamLoop({revalidate:this.state.hasCompletedOnce,forceRefresh:t.forceRefresh??!1});return}if(this.state.phase==="complete"){if(this.state.isRevalidating){t.forceRefresh&&(this.pendingForceRefresh=!0);return}this.lastCursor=null,this.consecutiveFailures=0,this.runStreamLoop({revalidate:!0,forceRefresh:t.forceRefresh??!1})}}}resync(){if(!this.disposed){if(this.state.phase==="streaming"||this.state.phase==="retrying"){this.pendingForceRefresh=!0;return}this.refresh({forceRefresh:!0})}}applyExternalUpsert(t){if(this.disposed||!t||typeof t.reportHubId!="number")return;this.externalRemovalTombstones.delete(t.reportHubId),this.activeSeenIds?.add(t.reportHubId);let r=this.itemMap.get(t.reportHubId),n={reportHubId:t.reportHubId,businessDate:t.businessDate,sourceType:t.sourceType??r?.sourceType};this.putItem(r,n)&&this.schedulePublishItems()}applyExternalRemoval(t){this.disposed||(this.activeSeenIds?.delete(t),this.externalRemovalTombstones.add(t),this.deleteItem(t)&&this.schedulePublishItems())}has(t){return this.itemMap.has(t)}readItems(){let t=Array.from(this.itemMap.values());if(this.pendingItemsChange.isEmpty())return t;let{appended:r,replaced:n,removed:o}=this.pendingItemsChange.build(this.state.itemsRevision,this.state.itemsRevision),a=new Set(r.map(d=>d.reportHubId)),i=new Map(n.map(({previous:d})=>[d.reportHubId,d])),s=[];for(let d of t){if(a.has(d.reportHubId))continue;let m=i.get(d.reportHubId);s.push(m===void 0?d:m)}for(let d of o)s.push(d);return s}dispose(){this.disposed=!0,this.loopGeneration+=1,this.activeAbortController?.abort(),this.cancelScheduledPublishItems(),this.wakeRetryWait?.(),typeof window<"u"&&window.removeEventListener("online",this.handleOnline),this.listeners.clear()}async runStreamLoop(t){let r=++this.loopGeneration;for(this.activeAbortController?.abort(),this.wakeRetryWait?.(),this.lastCursor===null&&(this.activeSeenIds=new Set,this.externalRemovalTombstones.clear(),this.lastSnapshot=null),t.forceRefresh&&(this.pendingForceRefresh=!1),this.publish({phase:t.revalidate?this.state.phase:"streaming",isRevalidating:t.revalidate,error:null});!this.disposed&&r===this.loopGeneration;){let n=await this.streamOnce(t.forceRefresh);if(this.disposed||r!==this.loopGeneration)return;if(n.kind==="complete"){this.pruneUnseenItems(),this.consecutiveFailures=0,this.cancelScheduledPublishItems();let o=this.takePendingItems();this.publish({phase:"complete",isRevalidating:!1,hasCompletedOnce:!0,completedAt:Date.now(),error:null,...o}),this.pendingForceRefresh&&!this.disposed&&(this.pendingForceRefresh=!1,this.lastCursor=null,this.runStreamLoop({revalidate:!0,forceRefresh:!0}));return}if(n.kind==="aborted")return;if(n.kind==="auth-required"){this.publish({phase:"auth-required",isRevalidating:!1});return}if(this.consecutiveFailures+=1,this.consecutiveFailures>=Tm){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(Em*2**(this.consecutiveFailures-1),vm))}}pruneUnseenItems(){let t=this.activeSeenIds;if(this.activeSeenIds=null,!!t)for(let r of Array.from(this.itemMap.keys()))t.has(r)||this.deleteItem(r)}async streamOnce(t){let r=new AbortController;this.activeAbortController=r;try{let n=this.fetchFn(this.buildStreamUrl(t),{signal:r.signal,headers:{Accept:"application/x-ndjson"},cache:"no-store"}),o=null,a=this.readStallTimeoutMs<=0?await n:await Promise.race([n,new Promise(u=>{o=this.setTimeoutFn(()=>u(vo),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===vo)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=Zs(),d=!1,m=!1;for(;;){let u=await this.readWithStallGuard(i);if(u===vo)return r.abort(),i.cancel().catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let f=u.done?s.end():s.push(u.value),p=!1;for(let R of f){if(R.trim()==="")continue;let y;try{y=JSON.parse(R)}catch{this.warn("[DailyReportIdsStream] skipped malformed line");continue}let T=$i(y);if(T==="unknown"){this.warn("[DailyReportIdsStream] skipped line of unknown kind");continue}if(T==="error"){d=!0;continue}let h=y;p=this.absorbChunkLine(h)||p,typeof h.total=="number"&&Number.isFinite(h.total)&&h.total!==this.state.totalCount&&this.publish({totalCount:h.total}),h.nextCursor&&(h.nextCursor.businessDate===null||Gi(h.nextCursor.businessDate))&&(this.lastCursor=h.nextCursor),h.isLast&&(m=!0)}if(p&&(this.consecutiveFailures=0,this.schedulePublishItems()),u.done)break}return d?{kind:"retryable",error:new Error("Stream interrupted by server error")}:m?{kind:"complete"}:{kind:"retryable",error:new Error("Stream ended before completion")}}catch(n){return n instanceof Error&&n.name==="AbortError"?{kind:"aborted"}:{kind:"retryable",error:n instanceof Error?n:new Error(String(n))}}finally{this.activeAbortController===r&&(this.activeAbortController=null)}}async readWithStallGuard(t){if(this.readStallTimeoutMs<=0)return t.read();let r=null,n=new Promise(o=>{r=this.setTimeoutFn(()=>o(vo),this.readStallTimeoutMs)});try{return await Promise.race([t.read(),n])}finally{r!==null&&this.clearTimeoutFn(r)}}absorbChunkLine(t){t.restarted===!0&&(this.lastCursor=null,this.lastSnapshot=null,this.activeSeenIds=new Set,this.externalRemovalTombstones.clear()),typeof t.snapshot=="string"&&(this.lastSnapshot=t.snapshot),t.streamAnchor!==void 0&&this.absorbStreamAnchor(t.streamAnchor);let r=t.provisional===!0,n=!1;for(let o of t.items)!o||typeof o.reportHubId!="number"||this.externalRemovalTombstones.has(o.reportHubId)||(r||this.activeSeenIds?.add(o.reportHubId),n=this.putItem(this.itemMap.get(o.reportHubId),o)||n);return n}putItem(t,r){return t===void 0?(this.itemMap.set(r.reportHubId,r),this.pendingItemsChange.add(r),!0):t.businessDate===r.businessDate&&t.sourceType===r.sourceType?!1:(this.itemMap.set(r.reportHubId,r),this.pendingItemsChange.change(t,r),!0)}deleteItem(t){let r=this.itemMap.get(t);return r===void 0?!1:(this.itemMap.delete(t),this.pendingItemsChange.remove(r),!0)}absorbStreamAnchor(t){if(t!==null&&!(typeof t=="string"&&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}})}takePendingItems(){if(this.pendingItemsChange.isEmpty())return{};this.lastItemsPublishAt=this.now();let t=Sm(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange=en(),{loadedCount:this.itemMap.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-hm),r]}}publishItems(){let t=this.takePendingItems();t.itemsRevision!==void 0&&this.publish(t)}schedulePublishItems(){if(this.publishCoalesceMs<=0){this.publishItems();return}let t=this.now()-this.lastItemsPublishAt;if(t>=this.publishCoalesceMs){this.publishItems();return}this.publishCoalesceTimer===null&&(this.publishCoalesceTimer=this.setTimeoutFn(()=>{this.publishCoalesceTimer=null,this.publishItems()},this.publishCoalesceMs-t))}cancelScheduledPublishItems(){this.publishCoalesceTimer!==null&&(this.clearTimeoutFn(this.publishCoalesceTimer),this.publishCoalesceTimer=null)}publish(t){this.state={...this.state,...t};for(let r of this.listeners)r()}buildStreamUrl(t){let r=qs({cursor:this.lastCursor,snapshot:this.lastCursor===null?null:this.lastSnapshot,forceRefresh:t}).toString();return`${this.apiBasePath}/${Un}${r?`?${r}`:""}`}waitBeforeRetry(t){return new Promise(r=>{let n=null,o=()=>{n!==null&&(this.clearTimeoutFn(n),n=null),this.wakeRetryWait===o&&(this.wakeRetryWait=null),r()};this.wakeRetryWait=o,n=this.setTimeoutFn(o,t)})}};var Cm=6e4,le=null,Js=!1,tn=new Set,To={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},Va=()=>{for(let e of tn)e()},tl=()=>{le&&(le.unsubscribe(),le.client.dispose(),le=null,Va())},wr=e=>{if(typeof window>"u")return;let t=e.apiBasePath??Ir.apiBasePath;if(le&&(le.userKey!==e.userKey||le.apiBasePath!==t)&&(le.userKey!==e.userKey&&qr(),tl()),!le){let r=new Lr({apiBasePath:t});le={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(Va)},Dm(),r.start(),Va();return}xo(le)},xo=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>Cm&&e.client.refresh()},Dm=()=>{if(Js||typeof document>"u"||typeof window>"u")return;Js=!0;let e=()=>{le&&xo(le)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},Co=e=>{if(!(typeof window>"u")){if(!le){wr(e);return}if(le.userKey!==e.userKey){qr(),tl(),wr(e);return}xo(le)}},Do=()=>{typeof window>"u"||!le||xo(le)},rn=e=>{le?.client.applyExternalUpsert(e)},Ao=e=>{le?.client.applyExternalRemoval(e)},rl=e=>le===null?!1:le.client.has(e),Am=()=>le===null?[]:le.client.readItems(),Ua=()=>le===null?0:le.client.getState().itemsRevision,_o=()=>{le?.client.retry()},nn=()=>{le?.client.resync()},Wa=(e={})=>{le?.client.refresh(e)},nl=()=>le?.userKey,on=e=>(tn.add(e),()=>tn.delete(e)),Io=()=>le?.client.getState()??To,_m=()=>To,ol=()=>(0,ct.useSyncExternalStore)(on,Io,_m),Lo=(e,t)=>{let r=To,n=e(To);return()=>{let o=Io();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},al=Lo(({phase:e,isRevalidating:t,error:r,streamAnchor:n,loadedCount:o})=>({phase:e,isRevalidating:t,error:r,streamAnchor:n,hasItems:o>0}),(e,t)=>e.phase===t.phase&&e.isRevalidating===t.isRevalidating&&e.error===t.error&&e.streamAnchor===t.streamAnchor&&e.hasItems===t.hasItems),Lm=al(),wo=()=>(0,ct.useSyncExternalStore)(on,al,()=>Lm),il=Lo(({phase:e,isRevalidating:t,loadedCount:r,totalCount:n})=>({phase:e,isRevalidating:t,loadedCount:r,totalCount:n}),(e,t)=>e.phase===t.phase&&e.isRevalidating===t.isRevalidating&&e.loadedCount===t.loadedCount&&e.totalCount===t.totalCount),wm=il(),sl=()=>(0,ct.useSyncExternalStore)(on,il,()=>wm),ll=Lo(({phase:e,loadedCount:t})=>({phase:e,hasItems:t>0,retryingCount:e==="retrying"?t:null}),(e,t)=>e.phase===t.phase&&e.hasItems===t.hasItems&&e.retryingCount===t.retryingCount),Nm=ll(),dl=()=>(0,ct.useSyncExternalStore)(on,ll,()=>Nm),cl=Lo(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),Om=cl(),ul=()=>(0,ct.useSyncExternalStore)(on,cl,()=>Om),ml=e=>e.phase==="complete"&&!e.isRevalidating,el=e=>`${e.itemsRevision}:${ml(e)}`,pl=()=>{let[,e]=(0,ct.useState)(0),t=Io(),r=el(t);return(0,ct.useLayoutEffect)(()=>{let n=r,o=()=>{let a=el(Io());a!==n&&(n=a,(0,ct.startTransition)(()=>e(i=>i+1)))};return tn.add(o),o(),()=>{tn.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readItems:Am,settled:ml(t)}};var mr=Er(1,"daily-report-sse-connection"),Mm=Object.freeze({kind:"resyncing"}),fl={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},Pm=1,Rl=xa*3,km=Rl+xa,No=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=B(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=wo(),[d,m]=(0,ht.useState)({generation:0,minAnchorRevision:1,anchored:!1}),u=d.generation>0&&!d.anchored,f=u&&a==="complete"&&!i?s:null,p=(0,ht.useRef)(0),R=(0,ht.useRef)(null),y=(0,ht.useRef)(n);y.current=n;let T=(0,ht.useRef)(0);T.current=o===null?0:o.revision,(0,ht.useEffect)(()=>{d.anchored||o===null||o.revision<d.minAnchorRevision||(R.current=o.lastEventId,p.current=0,m({...d,anchored:!0}))},[d,o]),(0,ht.useEffect)(()=>{if(!e||f===null)return;let{initialDelayMs:l,maxDelayMs:S,multiplier:x}=fl,C=an.systemSseRuntime.random()*Math.min(S,l*x**p.current);mr.warn(`SSE resync: the ids rescan gave up (${f.message}); rescanning in ${Math.round(C)} ms`);let M=an.systemSseRuntime.setTimer(()=>{p.current+=1,nn()},C);return()=>an.systemSseRuntime.clearTimer(M)},[e,f]);let{status:h}=(0,bl.useReopeningEventSource)(e&&d.anchored?`${r}#${d.generation}`:null,{resolveUrl:({lastEventId:l})=>l===null?r:`${r}?${Xi}=${encodeURIComponent(l)}`,initialLastEventId:R.current,withCredentials:!1,createEventSource:yl.createBrowserEventSource,runtime:an.systemSseRuntime,backoff:fl,healthyOpenMs:km,nativeRetryLimit:Pm,giveUpAfterFailures:"never",terminalEvents:qi,heartbeat:{staleAfterMs:Rl,onHeartbeat:null},events:{message:l=>{l.lastEventId!==""&&(zn(l.lastEventId)?R.current=l.lastEventId:mr.warn("SSE event carried a malformed id; keeping the previous cursor:",l.lastEventId));try{let S=JSON.parse(l.data),x=Zi.safeParse(S);if(!x.success){mr.error("SSE Validation Error:",x.error.flatten(),"raw message:",S);return}if(x.data.type==="connected"){mr.info("SSE Subscribe Ready");return}t(x.data)}catch(S){mr.error("SSE Parse Error",S)}}}});return(0,ht.useEffect)(()=>{if(h.kind==="faulted"){mr.error("SSE connection faulted:",h.error);return}if(h.kind==="terminated")switch(h.terminalEvent){case"auth-required":y.current();return;case"forbidden":mr.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let l=T.current+1;m(S=>({generation:S.generation+1,minAnchorRevision:l,anchored:!1})),nn();return}}},[h]),e&&u?Mm:h};var Lt=require("react"),gl=()=>{let e=new Map,t=new Map,r=(n,o)=>{o===null?e.delete(n):e.set(n,o);let a=t.get(n);if(a!==void 0)for(let i of[...a])i()};return{modeOf:n=>{let o=e.get(n);return o===void 0?"display":o.mode},inputOf:n=>{let o=e.get(n);return o===void 0||o.mode==="dismissed"?null:o.input},subscribe:(n,o)=>{let a=t.get(n),i=a===void 0?new Set:a;return a===void 0&&t.set(n,i),i.add(o),()=>{i.delete(o),i.size===0&&t.get(n)===i&&t.delete(n)}},open:(n,o,a)=>{let i=e.get(n);i!==void 0&&i.mode!=="dismissed"||r(n,{mode:a?"automatic":"editing",input:o})},setInput:(n,o)=>{let a=e.get(n);a===void 0||a.mode==="dismissed"||r(n,{mode:a.mode,input:{...a.input,...o}})},dismiss:n=>{e.get(n)?.mode!=="dismissed"&&r(n,{mode:"dismissed"})},discard:n=>{e.has(n)&&r(n,null)}}},Ka=(0,Lt.createContext)(null),Xt=()=>{let e=(0,Lt.useContext)(Ka);if(e===null)throw new Error("[daily-report] the draft store is read outside a DailyReportActionProvider");return e},hl=(e,t)=>(0,Lt.useCallback)(r=>e.subscribe(t,r),[e,t]),Oo=e=>{let t=Xt(),r=()=>t.modeOf(e);return(0,Lt.useSyncExternalStore)(hl(t,e),r,r)},Sl=e=>{let t=Xt(),r=()=>t.inputOf(e),n=(0,Lt.useSyncExternalStore)(hl(t,e),r,r);if(n===null)throw new Error(`[daily-report] the edit form is rendered for report ${e}, whose editor is not open`);return n};var vl=require("@aiquants/swipe-overlay"),ye=require("react"),Tl=require("react-dom");var sn=e=>e.isComposing||e.keyCode===229,Mo=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 Hm={kind:"hold"},Fm=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),Bm=(e,t)=>{let r=e.getAttribute("role");return r!==null&&Fm.has(r)&&e!==t&&e.contains(t)},pr=e=>e.key==="Escape"&&!e.defaultPrevented&&!sn(e),El=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||sn(e))return null;let r=e.target;if(!(Se(r)&&t.contains(r)))return null;let n=Os(t);if(n.length===0)return Hm;let{before:o,within:a,after:i}=po(t,r);return e.shiftKey?o.some(s=>!Bm(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};var Zt=require("react/jsx-runtime"),Vm=g("motion-safe:fade-in motion-safe:slide-in-from-bottom-2 flex w-fit min-w-0 max-w-full items-center gap-2 rounded-lg border border-red-300 border-solid bg-red-600 px-[15px] py-[7px] text-sm text-white shadow-lg motion-safe:animate-in motion-safe:duration-200 dark:border-red-500/60 dark:bg-red-700",or),Um="flex shrink-0 justify-center p-[8px]",Wm=g("flex size-6 shrink-0 items-center justify-center rounded font-bold text-white/90 hover:bg-red-700 hover:text-white dark:hover:bg-red-800",Ii),Km=()=>{},Il=(0,ye.createContext)({notifyError:()=>{},registerNoticeHost:()=>Km}),Po=()=>(0,ye.useContext)(Il),zm=e=>{for(let t of e)if(!(t===null||!t.isConnected||!Xr(t))&&(t.focus({preventScroll:!0}),t.ownerDocument.activeElement===t))return t;return null},$m=({notice:e,closeLabel:t,onDismiss:r})=>{let n=(0,ye.useRef)(null),o=(0,ye.useRef)(null),a=(0,ye.useRef)(null),i=(0,vl.useOverlayEscapeStack)(),s=(0,ye.useId)(),d=(0,ye.useId)(),m=(0,ye.useCallback)(()=>{let p=n.current;p?.contains(p.ownerDocument.activeElement)&&zm([o.current,go(p.ownerDocument),p.closest("dialog")]),r()},[r]),u=p=>{if(a.current!==null)return;let R=p.relatedTarget;o.current=Se(R)&&!p.currentTarget.contains(R)?R:null,a.current=i({id:s,onEscape:y=>pr(y)?(m(),!0):!1})},f=p=>{Se(p.relatedTarget)&&p.currentTarget.contains(p.relatedTarget)||(a.current?.(),a.current=null,o.current=null)};return(0,ye.useLayoutEffect)(()=>()=>{a.current?.(),a.current=null},[]),(0,Zt.jsxs)("div",{ref:n,role:"alert","data-testid":"daily-report-error-banner",className:Vm,onFocus:u,onBlur:f,children:[(0,Zt.jsx)("span",{id:d,className:"min-w-0 font-medium",children:e.message}),(0,Zt.jsx)("button",{type:"button","aria-label":t,"aria-describedby":d,onClick:m,className:Wm,children:"\u2715"})]})},ko=({children:e})=>{let{onError:t,labels:r}=B(),[n,o]=(0,ye.useState)(null),[a,i]=(0,ye.useState)([]),s=(0,ye.useRef)(t);(0,ye.useLayoutEffect)(()=>{s.current=t});let d=(0,ye.useCallback)(y=>{let T=s.current;if(T){T(y);return}o(y)},[]),m=(0,ye.useCallback)(y=>(i(T=>[...T,y]),()=>i(T=>T.filter(h=>h!==y))),[]),u=(0,ye.useCallback)(()=>o(null),[]),f=(0,ye.useMemo)(()=>({notifyError:d,registerNoticeHost:m}),[d,m]),p=a.at(-1),R=n===null?null:(0,Zt.jsx)($m,{notice:n,closeLabel:r.close,onDismiss:u});return(0,Zt.jsxs)(Il.Provider,{value:f,children:[e,R!==null&&p!==void 0&&(0,Tl.createPortal)(R,p),R!==null&&p===void 0&&(0,Zt.jsx)("div",{"data-daily-report-notice-slot":"",className:Um,children:R})]})};var Cl=require("react");var jm={items:[],held:new Map,revision:null,settled:!1},xl=(e,t)=>{let r=0,n=e.length;for(;r<n;){let o=r+n>>1;ir(e[o],t)<0?r=o+1:n=o}return r<e.length&&e[r].reportHubId===t.reportHubId?r:-1},Dl=(e,t,r)=>{let n=r,o=e.length;for(;n<o;){let a=n+o>>1;ir(e[a],t)<=0?n=a+1:o=a}return n},Gm=(e,t)=>e.businessDate===t.businessDate,Ym=(e,t)=>{if(Ta(t)||t.sort(ir),e.length===0||ir(e[e.length-1],t[0])<0)return e.concat(t);let r=[],n=0;for(let o of t){let a=Dl(e,o,n);a>n&&r.push(e.slice(n,a)),r.push([o]),n=a}return n<e.length&&r.push(e.slice(n)),r.flat()},Al=e=>{let{revision:t}=e;if(!e.settled||t===null)return e;let r=[...e.held.values()].filter(a=>a.item.reportHubId>0&&t>a.since).map(a=>a.item.reportHubId);if(r.length===0)return e;let n=new Set(r),o=new Map(e.held);for(let a of n)o.delete(a);return{...e,items:e.items.filter(a=>!n.has(a.reportHubId)),held:o}},_l=(e,t,r,n)=>{let o=new Set,a=[];for(let s of t.readItems())o.add(s.reportHubId),n.has(s.reportHubId)||a.push(s);let i=new Map;for(let s of e.items){if(o.has(s.reportHubId)||n.has(s.reportHubId))continue;let d=e.held.get(s.reportHubId);i.set(s.reportHubId,d===void 0?{item:s,since:Number.NEGATIVE_INFINITY}:d),a.push(s)}return Ta(a)||a.sort(ir),Al({items:a,held:i,revision:t.itemsRevision,settled:r})},qm=(e,t,r,n)=>{let o=e.revision;if(o===t.itemsRevision&&e.settled===r)return e;let a=o===null?null:o===t.itemsRevision?[]:Xs(t.itemsChanges,o);if(o===null||a===null)return _l(e,t,r,n);let i=en();for(let l of a)i.fold(l);let{appended:s,replaced:d,removed:m}=i.build(o,t.itemsRevision),u=null,f=()=>(u===null&&(u=new Map(e.held)),u),p=[],R=new Set,y=[];for(let l of m)e.held.has(l.reportHubId)||xl(e.items,l)===-1||(r||n.has(l.reportHubId)?R.add(l.reportHubId):f().set(l.reportHubId,{item:l,since:Number.NEGATIVE_INFINITY}));let T=(l,S)=>{let x=l.reportHubId,C=e.held.get(x);C!==void 0&&f().delete(x);let M=C===void 0?S:C.item,w=M===void 0?-1:xl(e.items,M);if(n.has(x)){w!==-1&&R.add(x);return}if(w!==-1&&Gm(e.items[w],l)){e.items[w].sourceType!==l.sourceType&&p.push({index:w,item:l});return}w!==-1&&R.add(x),y.push(l)};for(let{previous:l,next:S}of d)T(S,l);for(let l of s)T(l,void 0);let h=e.items;if(p.length>0){h=h.slice();for(let{index:l,item:S}of p)h[l]=S}return R.size>0&&(h=h.filter(l=>!R.has(l.reportHubId))),y.length>0&&(h=Ym(h,y)),Al({items:h,held:u===null?e.held:u,revision:t.itemsRevision,settled:r})},Ll=(e,t,r)=>{let[n,o]=(0,Cl.useState)(()=>_l(jm,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>qm(a,e,t,r)),[n,o]},Ho=(e,t,r)=>{if(e.items.some(a=>a.reportHubId===t.reportHubId))return e;let n=e.items.slice();n.splice(Dl(n,t,0),0,t);let o=new Map(e.held);return o.set(t.reportHubId,{item:t,since:r}),{...e,items:n,held:o}},ln=(e,t)=>{if(!e.held.has(t))return e;let r=new Map(e.held);return r.delete(t),{...e,items:e.items.filter(n=>n.reportHubId!==t),held:r}},wl=(e,t)=>{if(!e.items.some(n=>n.reportHubId===t))return e;let r=new Map(e.held);return r.delete(t),{...e,items:e.items.filter(n=>n.reportHubId!==t),held:r}},Nl=e=>({...e,revision:null});var za=(e,t,r)=>{if(!Number.isFinite(e)||e<=0)throw Ce("createExpiringLedger: ttlMs","a finite number greater than 0 (the time to live in ms)",e);let n=new Map,o=()=>{let a=t();for(let[i,s]of n){if(s.deadline>a)return;n.delete(i),r(i,s.value)}};return{add:(a,i)=>{o(),n.delete(a),n.set(a,{value:i,deadline:t()+e})},get:a=>(o(),n.get(a)?.value),remove:a=>{o();let i=n.get(a);if(i!==void 0)return n.delete(a),i.value},drain:()=>{let a=[...n.values()].map(i=>i.value);return n.clear(),a},size:()=>n.size}};var $a=0,ja=e=>{if(!Number.isSafeInteger(e)||e<=0)throw Ce("drawTemporaryId: nowMs","a positive safe integer (whole milliseconds of the wall clock)",e);return $a=Math.min(-e,$a-1),$a};var Nr=require("react/jsx-runtime"),wt=Er(1,"daily-report-action-context"),Xm=3e4,Zm=3e4,Qm=1e3,Ga=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},Jm=e=>{let t=za(Xm,e,()=>{});return{add:r=>t.add(r,!0),has:r=>t.get(r)===!0}},ep=e=>za(Zm,e,(t,r)=>{r.unsubscribe(),wt.warn(`[SSE Queue] Expired: reportHubId=${t}, dropped=${r.messages.length} messages`)}),tp=e=>e.intent==="create"?null:e.reportHubId,rp=(e,t)=>{let r=e;if(r.intent==="clearCache"||r.clientTempId!==t.clientTempId)return!1;let n=tp(t);return n===null||r.reportHubId===n},Bo=globalThis.__DailyReportActionsContext??(0,re.createContext)(null);globalThis.__DailyReportActionsContext=Bo;var Vo=globalThis.__DailyReportActionStateContext??(0,re.createContext)(null);globalThis.__DailyReportActionStateContext=Vo;var Fo=(e,t)=>{let r=(0,re.useContext)(e);if(r===null)throw new Error(`[daily-report] ${t} must be used within a DailyReportActionProvider`);return r},Fe=()=>Fo(Bo,"useDailyReportActions"),Uo=()=>Fo(Vo,"useDailyReportActionState"),Ol=()=>{let e=Fo(Bo,"useDailyReportActionContext"),t=Fo(Vo,"useDailyReportActionContext");return(0,re.useMemo)(()=>({...e,...t}),[e,t])},fr=(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},np=()=>({pendingAddCommentIds:{current:new Map},pendingDeleteCommentIds:{current:new Map},pendingStarUpdates:{current:new Map},pendingReadUpdates:{current:new Map},resolvedIdMap:{current:new Map}}),op=e=>({functions:{toggleSse:()=>e.current.toggleSse(),addComment:(t,r,n)=>e.current.addComment(t,r,n),deleteComment:(t,r,n)=>e.current.deleteComment(t,r,n),toggleStar:(t,r,n)=>e.current.toggleStar(t,r,n),toggleRead:(t,r,n)=>e.current.toggleRead(t,r,n),createReport:t=>e.current.createReport(t),updateReport:(t,r,n)=>e.current.updateReport(t,r,n),publishReport:(t,r)=>e.current.publishReport(t,r),deleteReport:(t,r)=>e.current.deleteReport(t,r),removeStaleItem:t=>e.current.removeStaleItem(t),refetchData:()=>e.current.refetchData(),clearCacheAndRefetch:()=>e.current.clearCacheAndRefetch()},onSseMessage:t=>e.current.handleSseMessage(t)}),ap=Object.freeze({kind:"idle"}),Ml=(0,re.memo)(({isSseEnabled:e,onMessage:t,onStatus:r})=>{let n=No({isSseEnabled:e,onMessage:t});return(0,re.useLayoutEffect)(()=>{r(n)},[n,r]),null});Ml.displayName="DailyReportSseConnectionHost";var Wo=({children:e,user:t,userId:r})=>{let{apiBasePath:n,draftLabelName:o,labels:a}=B(),{notifyError:i}=Po(),[s]=(0,re.useState)(np),{pendingAddCommentIds:d,pendingDeleteCommentIds:m,pendingStarUpdates:u,pendingReadUpdates:f,resolvedIdMap:p}=s,[R,y]=(0,re.useState)(0),[T]=(0,re.useState)(gl),[h,l]=(0,re.useState)(!1),[S,x]=(0,re.useState)(ap),C=(0,re.useRef)(!1),M=(0,re.useRef)(new Map),w=(0,re.useRef)(new Set),[K]=(0,re.useState)(()=>Jm(()=>performance.now())),[P]=(0,re.useState)(()=>ep(()=>performance.now())),U=pl(),[G,k]=Ll(U,U.settled,w.current),ne=G.items,H=(0,re.useCallback)(()=>nl()===(r??null),[r]),ge=async()=>{wt.info("[DailyReportActionProvider] Refetching data without page reload..."),Wa(),y(c=>c+1),$.listeners.forEach(c=>{c(-1)})},Me=async()=>{wt.info("[DailyReportActionProvider] Clearing client & server/DB cache and refetching data without page reload..."),qr(),w.current.clear(),k(Nl);try{sessionStorage.clear()}catch{}try{let c=await fetch(`${n}/${$t.action}`,{method:"POST",body:Ba({intent:"clearCache"})});if(!c.ok){let b=await c.json().catch(()=>null);wt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",c.status,b)}}catch(c){wt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",c)}H()&&(Wa({forceRefresh:!0}),y(c=>c+1),$.listeners.forEach(c=>{c(-1)}))},se=(c,b)=>{let v=P.get(c);if(v!==void 0){v.messages.push(b);return}let E;E={messages:[b],unsubscribe:vs(c,()=>{if(P.get(c)===E&<(c,{ignoreExpiry:!0})){P.remove(c),E.unsubscribe(),wt.info(`[SSE Queue] Replaying ${E.messages.length} messages for reportHubId=${c}`);for(let F of E.messages)Ue.current.handleSseMessage(F)}})},P.add(c,E)};(0,re.useLayoutEffect)(()=>()=>{for(let c of P.drain())c.unsubscribe()},[P]);let Z=(0,re.useCallback)((c,b)=>{b!==void 0&&rn({reportHubId:c,businessDate:b})},[]),X=()=>{r&&(C.current=!0,l(c=>!c))};(0,re.useEffect)(()=>{if(!r)return;let c=setTimeout(()=>{C.current||l(!0)},ds);return()=>clearTimeout(c)},[r]);let _e=c=>{H()&&(w.current.add(c),Ao(c),k(b=>ln(b,c)),T.discard(c))};(0,re.useEffect)(()=>{if(G.settled)for(let c of w.current)rl(c)||w.current.delete(c)},[G.settled,G.revision]);let Xe=c=>{if(H()&&!K.has(c.clientTempId))switch(c.type){case"comment-add":{let{comment:b,reportHubId:v}=c,E=lt(v,{ignoreExpiry:!0});if(E){if(E.postedComments.some(j=>j.id===b.id))return;let A=typeof r=="string"&&b.userId===r,F={...b,userName:b.userName||(A?fr(t,a.unknownUser):a.unknownUser),createdAt:b.createdAt||new Date().toISOString(),isMine:A},oe={...E,postedComments:[...E.postedComments,F].sort((j,I)=>new Date(j.createdAt||0).getTime()-new Date(I.createdAt||0).getTime())};dr(v,oe),Oa(v),y(j=>j+1)}else se(v,c);break}case"comment-delete":{let{commentId:b,reportHubId:v}=c,E=lt(v,{ignoreExpiry:!0});if(E){let A={...E,postedComments:E.postedComments.filter(F=>F.id!==b)};dr(v,A),Oa(v),y(F=>F+1)}else se(v,c);break}case"status-update":{let{statusType:b,value:v,reportHubId:E}=c,A=lt(E,{ignoreExpiry:!0});if(b==="star")if(u.current.get(E)===v&&u.current.delete(E),A){let F={...A,isStarred:v};dr(E,F),y(oe=>oe+1)}else se(E,c);else if(b==="read")if(f.current.get(E)===v&&f.current.delete(E),A){let F={...A,isRead:v};dr(E,F),y(oe=>oe+1)}else se(E,c);break}case"report-delete":{let{reportHubId:b}=c;w.current.add(b),Ao(b),k(E=>ln(E,b)),T.discard(b),P.remove(b)?.unsubscribe();let v=lt(b,{ignoreExpiry:!0});v?.date&&(Na(b,v.date),y(E=>E+1));break}case"report-create":case"report-update":case"report-publish":{let{report:b}=c;Ts(b),(c.type==="report-create"||c.type==="report-publish")&&Z(b.reportHubId,b.date),y(v=>v+1);break}}},Q=async(c,b,v={})=>{let{intent:E}=c,{lockedReportHubId:A}=v,F=A===void 0?null:hs(A);b.onOptimistic?.(),K.add(c.clientTempId);let oe=()=>{if(!H())throw wt.warn(`[executeAction] ${E} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${E}`)};try{let j=await fetch(`${n}/${$t.action}`,{method:"POST",body:Ba(c),headers:{Accept:"application/json"}});if(j.status===404&&b.onGone!==void 0)return oe(),b.onGone();if(!j.ok)throw new Ga(E,j.status);let I=Ys(E,await j.json());if("mismatch"in I)throw new Error(`[daily-report] ${E} answered a body that is not its result (${I.mismatch})`);let{result:D}=I;if(!rp(D,c))throw new Error(`[daily-report] ${E} answered another request`);return oe(),b.onSuccess(D)}catch(j){throw wt.error(`${E} failed:`,j),H()&&(b.onFailure?.(),Ue.current.notifyError({operation:E,message:a.operationFailed(E),cause:j})),j}finally{F?.()}},Pe=(c,b,v)=>({reportHubId:c,clientTempId:v,businessDate:typeof b=="string"?b:null,operationTimestamp:Date.now()}),ot={toggleSse:X,addComment:async(c,b,v)=>{let E=ja(Date.now()),A=Q({...Pe(c,v,String(E)),intent:"addComment",content:b},{onOptimistic:()=>{d.current.has(c)||d.current.set(c,new Map),d.current.get(c)?.set(E,b),y(F=>F+1)},onSuccess:({newComment:F})=>{let oe=F.id;p.current.set(E,oe),d.current.get(c)?.delete(E);let j=lt(c,{ignoreExpiry:!0});return j&&!j.postedComments.some(I=>I.id===oe)&&dt(c,{postedComments:[...j.postedComments,{...F,isMine:!0,userName:fr(t,a.unknownUser)}]}),oe},onFailure:()=>{d.current.get(c)?.delete(E)}}).finally(()=>M.current.delete(E));M.current.set(E,A),await A},deleteComment:async(c,b,v)=>{m.current.has(c)||m.current.set(c,new Set),m.current.get(c)?.add(b),y(A=>A+1);let E=b;if(b<0){let A=p.current.get(b);if(A!==void 0)E=A;else{let F=M.current.get(b);if(!F)return;try{E=await F}catch{return}}}await Q({...Pe(c,v,crypto.randomUUID()),intent:"deleteComment",commentId:E},{onSuccess:()=>{let A=lt(c,{ignoreExpiry:!0});A&&(dt(c,{postedComments:A.postedComments.filter(F=>F.id!==E)}),Es(E)),m.current.get(c)?.delete(b)},onFailure:()=>{m.current.get(c)?.delete(b)}})},toggleStar:async(c,b,v)=>{await Q({...Pe(c,v,crypto.randomUUID()),intent:"toggleStar",value:b},{onOptimistic:()=>{dt(c,{isStarred:b}),u.current.set(c,b),y(E=>E+1)},onSuccess:({updatedStatus:E})=>{lt(c,{ignoreExpiry:!0})&&(dt(c,{isStarred:E.isStarred}),y(A=>A+1)),u.current.delete(c)},onFailure:()=>{dt(c,{isStarred:!b}),u.current.delete(c)}})},toggleRead:async(c,b,v)=>{await Q({...Pe(c,v,crypto.randomUUID()),intent:"toggleRead",value:b},{onOptimistic:()=>{dt(c,{isRead:b}),f.current.set(c,b),y(E=>E+1)},onSuccess:({updatedStatus:E})=>{lt(c,{ignoreExpiry:!0})&&(dt(c,{isRead:E.isRead}),y(A=>A+1)),f.current.delete(c)},onFailure:()=>{dt(c,{isRead:!b}),f.current.delete(c)}})},createReport:async c=>{let b=ja(Date.now()),v=new Date().toISOString(),E={reportHubId:b,date:c,createdAt:v,author:fr(t,a.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:fr(t,a.unknownUser),updatedBy:fr(t,a.unknownUser),updatedAt:v,category:null,creationCategory:null,visitTimeFrom:null,visitTimeTo:null,customerName:null,interviewers:[],subject:"",content:"",externalComments:[],isRead:!0,isStarred:!1,labels:[{id:0,name:o,color:"#9ca3af"}],postedComments:[],attachments:[]};gs(E,Date.now()+3e5,!1),k(A=>Ho(A,{reportHubId:b,businessDate:c},Number.NEGATIVE_INFINITY));try{let A=await Q({intent:"create",clientTempId:String(b),businessDate:c,operationTimestamp:Date.now()},{onSuccess:j=>j.report}),F=A.reportHubId,oe=Ua();return rn({reportHubId:F,businessDate:c}),Ss(F,Qm),dr(F,A),y(j=>j+1),k(j=>Ho(ln(j,b),{reportHubId:F,businessDate:c},oe)),F}catch(A){throw wt.error("[createReport] Failed",A),k(F=>ln(F,b)),A}},updateReport:async(c,b,v)=>{await Q({...Pe(c,v,crypto.randomUUID()),intent:"update",changes:{title:b.title,content:b.content}},{onSuccess:()=>{lt(c,{ignoreExpiry:!0})&&(dt(c,{subject:b.title,content:b.content}),y(A=>A+1))}},{lockedReportHubId:c})},publishReport:async(c,b)=>{let v=lt(c,{ignoreExpiry:!0});await Q({...Pe(c,b,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{v&&(dt(c,{labels:v.labels.filter(E=>E.name!==o)}),y(E=>E+1))},onSuccess:({report:E})=>{E!==null&&(dr(c,E),y(A=>A+1)),b!==void 0&&rn({reportHubId:c,businessDate:b})},onFailure:()=>{v&&(dt(c,{labels:v.labels}),y(E=>E+1))}})},deleteReport:async(c,b)=>{let v=ne.find(A=>A.reportHubId===c);w.current.add(c),Ao(c),k(A=>wl(A,c));let E=()=>{Na(c,b),T.discard(c)};try{await Q({...Pe(c,b,crypto.randomUUID()),intent:"delete"},{onSuccess:E,onGone:E},{lockedReportHubId:c})}catch{if(!H())return;w.current.delete(c);let A=v===void 0?b:v.businessDate,F=Ua();A!==void 0&&rn({reportHubId:c,businessDate:A}),v&&k(oe=>Ho(oe,v,F))}},removeStaleItem:_e,refetchData:ge,clearCacheAndRefetch:Me,handleSseMessage:Xe,notifyError:i},Ue=(0,re.useRef)(ot);(0,re.useLayoutEffect)(()=>{Ue.current=ot});let[Ze]=(0,re.useState)(()=>op(Ue)),Ut=(0,re.useMemo)(()=>({...s,...Ze.functions,user:t}),[s,Ze,t]),at=(0,re.useMemo)(()=>({version:R,items:ne,isSseEnabled:h,sseStatus:S}),[R,ne,h,S]);return(0,Nr.jsx)(Ka.Provider,{value:T,children:(0,Nr.jsx)(Bo.Provider,{value:Ut,children:(0,Nr.jsxs)(Vo.Provider,{value:at,children:[(0,Nr.jsx)(Ml,{isSseEnabled:h,onMessage:Ze.onSseMessage,onStatus:x}),e]})})})};var Pl=require("react/jsx-runtime"),ip={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},Qt=Object.freeze({2:3,3:4,4:5,5:6}),et=({level:e,...t})=>{let r=ip[e];return(0,Pl.jsx)(r,{...t})};var Ot=require("react");var kl=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var qa="tile",cn=kl[qa],sp=2,dn=16,Hl=5,Fl=cn.maxWidth/sp,lp=Hl*(Fl+dn)-dn,Bl=e=>{let t=Math.min(Hl,1+Math.floor((e+dn)/(Fl+dn)));return Math.floor((Math.min(e,lp)-(t-1)*dn)/t)},Ya=`round(nearest, 100cqi * ${cn.maxHeight} / ${cn.maxWidth}, 1px)`,Vl=Object.freeze({aspectRatio:`${cn.maxWidth} / ${cn.maxHeight}`,height:Ya,contain:"strict"}),dp="--aqdr-lattice-block",Ul=Object.freeze({marginBlockEnd:`calc(round(up, ${Ya}, var(${dp})) - ${Ya})`});var cp="download",up="thumbnail",mp="1",Or=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[cp]:mp})}`;case"thumbnail":return`${n}?${new URLSearchParams({[up]:r.variant})}`}};var Ko=require("react");var un=(0,Ko.createContext)(null),Mr=()=>(0,Ko.useContext)(un)===!1?-1:void 0,Wl=(e,t)=>{let{before:r,after:n}=po(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};var vt=require("react"),Yl=require("react-dom");var Kl=require("react-dom");var Xa=new WeakMap,zl=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,pp=e=>{e.frame=null;let t=[...e.observations.values()].filter(zl);t.length!==0&&(0,Kl.flushSync)(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},fp=(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=Bl(o))}e.frame!==null||![...e.observations.values()].some(zl)||(e.frame=e.view.requestAnimationFrame(()=>pp(e)))},yp=e=>{let t=Xa.get(e);if(t!==void 0)return t;let r=e.defaultView;if(r===null)throw new Error("[daily-report] An attachment tile grid must belong to a document with a window to be measured");let n={view:r,observer:new r.ResizeObserver(o=>fp(n,o)),observations:new Map,frame:null};return Xa.set(e,n),n},$l=(e,t)=>{let r=e.ownerDocument,n=yp(r);if(n.observations.has(e))throw new Error("[daily-report] An attachment tile grid is already observed");let o={onTrackWidth:t,observedTrackWidth:null,handedTrackWidth:null};return n.observations.set(e,o),n.observer.observe(e),()=>{n.observations.get(e)===o&&(n.observations.delete(e),n.observer.unobserve(e),!(n.observations.size>0)&&(n.frame!==null&&n.view.cancelAnimationFrame(n.frame),n.observer.disconnect(),Xa.delete(r)))}};var Nt=require("react/jsx-runtime"),mn="\u2026",bp=mn.codePointAt(0),zo="data-attachment-file-name",Rp=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,gp=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,ql=(0,vt.createContext)(null),Xl=e=>{let t=e.lastIndexOf(".");return t<=0||t===e.length-1?{stem:e,extension:""}:{stem:e.slice(0,t),extension:e.slice(t)}},jl=(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("")},hp=(e,t,r)=>{if(r(e)<=t)return e;let{stem:n,extension:o}=Xl(e.normalize("NFC")),a=t/2,i=r(o)<=a?o:`${jl(o,mn,a,r)}${mn}`;return r(n+i)<=t?n+i:`${jl(n,mn+i,t,r)}${mn}${i}`},Gl=new WeakMap,Zl=e=>{let t=Gl.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 Gl.set(e,n),n},Sp=(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},Ql=e=>{let t=new Set;for(let r of e.matchAll(Rp)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},Ep=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:Ql(t.fontFamily),measure:Sp(Zl(e.ownerDocument),r)}},vp=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,Tp=e=>{let t=new Set([bp]);for(let r of e.querySelectorAll(`[${zo}]`)){let n=r.getAttribute(zo);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},Ip=(e,t)=>{for(let r of e.split(",")){let n=gp.exec(r.trim());if(n===null)return!0;let[,o,a]=n,i=Number.parseInt(o.replaceAll("?","0"),16),s=a===void 0?Number.parseInt(o.replaceAll("?","F"),16):Number.parseInt(a,16);for(let d of t)if(d>=i&&d<=s)return!0}return!1},Za=new WeakMap,Jl=e=>{let t=Za.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return Za.set(e,r),r},ed=(e,t)=>{let r=Ep(e.container.querySelector(`[${zo}]`));e.fitted={trackWidth:t,nameFont:r};let n=Jl(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=Cp(n)),e.applyFit({width:t,measure:r.measure})},xp=(e,t)=>{let r=t.map(o=>({families:Ql(o.family),unicodeRange:o.unicodeRange})),n=[];for(let o of e.registrations){let{fitted:a}=o;if(a===null)continue;let i=r.filter(d=>Array.from(d.families).some(m=>a.nameFont.families.has(m)));if(i.length===0)continue;let s=Tp(o.container);i.some(d=>Ip(d.unicodeRange,s))&&(Zl(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&(0,Yl.flushSync)(()=>{for(let[o,a]of n)ed(o,a)})},Cp=e=>{let t=e.document.fonts,r=n=>{xp(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},Dp=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=$l(e,a=>ed(r,a)),o=Jl(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),Za.delete(o.document))}},td=({containerRef:e,children:t})=>{let[r,n]=(0,vt.useState)(null);return(0,vt.useLayoutEffect)(()=>{let o=e.current;return Dp(o,i=>{n(s=>vp(s,i)?s:i)})},[e]),(0,Nt.jsx)(ql,{value:r,children:t})},pn=({fileName:e,className:t,testId:r})=>{let n=(0,vt.useContext)(ql),o=(0,vt.useMemo)(()=>n===null?null:hp(e,n.width,n.measure),[e,n]),{stem:a,extension:i}=Xl(e);return(0,Nt.jsxs)("span",{className:g("block min-w-0",t),title:e,"data-testid":r,[zo]:e,children:[o===null?(0,Nt.jsxs)("span",{"aria-hidden":"true",className:"flex min-w-0",children:[(0,Nt.jsx)("span",{className:"truncate",children:a}),i!==""&&(0,Nt.jsx)("span",{className:"max-w-1/2 shrink-0 truncate",children:i})]}):(0,Nt.jsx)("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:o}),(0,Nt.jsx)("span",{className:"sr-only",children:e})]})};var sd=xe(require("lucide-react/dist/esm/icons/image-off.js")),Be=require("react");var $o=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),rd=$o.queueWaitMs+$o.readMs+$o.renderMs+$o.transferMarginMs;var Ap=Object.freeze({kind:"loaded"}),nd=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",d=null,m=null,u=null,f=null,p=null,R=H=>(H!==null&&n.clearTimeout(H),null),y=()=>{f?.(),f=null},T=()=>{p?.(),p=null},h=H=>H===null||H.kind==="loaded"?0:H.kind==="failing"?H.failedAttempts:i.maxAttempts,l=H=>{s="cooling",u=n.setTimeout(U,H)},S=()=>{o.abortInFlight(),T();let H=h(r.get(t))+1;if(H>=i.maxAttempts){s="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:H,retryAt:n.now()+i.retryDelayMs}),o.reset(),l(i.retryDelayMs)},x=H=>{if(s==="loading"){if(m=R(m),!H){S();return}s="done",r.set(t,Ap),T()}},C=()=>{m=null,x(!1)},M=()=>{s="loading",o.showActivity(!0),y(),m=n.setTimeout(C,i.loadTimeoutMs),o.grant()},w=()=>{d=null,s="queued",p=a.request(M)},K=()=>{d===null&&(d=n.setTimeout(w,i.settleMs))},P=H=>{if(o.showActivity(H),H){s==="watching"&&K();return}if(s==="queued"){T(),s="watching";return}d=R(d)},U=()=>{u=null,s="watching",o.showActivity(!1),f=n.observe(e,P)},G=()=>{let H=s==="loading";s="done",y(),d=R(d),m=R(m),u=R(u),o.showActivity(!1),H&&(o.abortInFlight(),p!==null&&o.reset()),T()},k=r.get(t);if(k?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:x,dispose:G};if(k?.kind==="exhausted"){if(n.now()-k.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:x,dispose:G};r.delete(t)}o.reset();let ne=k?.kind==="failing"?k.retryAt-n.now():0;return ne>0?l(ne):U(),{settle:x,dispose:G}};var _p=e=>{if(!Number.isInteger(e)||e<=0)throw Ce("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())}}}},od=_p(2);var Lp=e=>{if(!Number.isInteger(e)||e<=0)throw Ce("createThumbnailProgressStore: maxUrls","an integer >= 1",e);let t=new Map,r=(n,o)=>{t.delete(n),t.set(n,o)};return{peek:n=>t.get(n)??null,get:n=>{let o=t.get(n);return o===void 0?null:(r(n,o),o)},set:(n,o)=>{if(r(n,o),t.size<=e)return;let[a]=t.keys();t.delete(a)},delete:n=>{t.delete(n)}}},Qa=Lp(1024);var Ja=new WeakMap,wp=e=>{let t=Ja.get(e);if(t!==void 0)return t;let r=e.defaultView;if(r===null)throw new Error("[daily-report] A thumbnail frame must belong to a document with a window to be observed");let n=new WeakMap,a={observer:new r.IntersectionObserver(i=>{for(let s of i)n.get(s.target)?.onChange(s.isIntersecting)}),observations:n,observed:0};return Ja.set(e,a),a},ad=(e,t)=>{let r=e.ownerDocument,n=wp(r);if(n.observations.has(e))throw new Error("[daily-report] A thumbnail frame is already observed");let o={onChange:t};return n.observations.set(e,o),n.observed+=1,n.observer.observe(e),()=>{n.observations.get(e)===o&&(n.observations.delete(e),n.observer.unobserve(e),n.observed-=1,!(n.observed>0)&&(n.observer.disconnect(),Ja.delete(r)))}};var Jt=require("react/jsx-runtime"),Np={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},Op="data-thumbnail-active",Mp="data-daily-report-attachment-preview",ld={[Mp]:""},Pp=Object.freeze({settleMs:250,loadTimeoutMs:rd,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),id=e=>{let t=Qa.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},kp=()=>({limiter:od,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:ad,tuning:Pp}),Hp=(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(Op,o)}}),dd=(0,Be.memo)(({thumbnailUrl:e,unavailableLabel:t})=>{let r=(0,Be.useRef)(null),n=(0,Be.useRef)(null),o=(0,Be.useRef)(null),[a,i]=(0,Be.useState)(()=>id(e));a.url!==e&&i(id(e)),(0,Be.useLayoutEffect)(()=>{if(a.status==="failed")return;let u=n.current,f=a.status==="idle"?null:a.url;u.getAttribute("src")!==f&&(f===null?u.removeAttribute("src"):u.setAttribute("src",f))},[a]),(0,Be.useEffect)(()=>{let u=r.current,f=nd(u,e,Qa,kp(),Hp(e,u,i,n));return o.current=f,()=>{o.current=null,f.dispose()}},[e]);let s=(0,Be.useCallback)(u=>{u!==null&&(n.current=u)},[]),d=(0,Be.useCallback)(()=>{i(u=>u.status==="granted"?{url:u.url,status:"loaded"}:u),o.current?.settle(!0)},[]),m=(0,Be.useCallback)(()=>{o.current?.settle(!1)},[]);return(0,Jt.jsx)("span",{className:"block",children:(0,Jt.jsx)("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":Np[a.status],style:Vl,className:"relative block w-full",children:(0,Jt.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,Jt.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,Jt.jsx)(sd.default,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):(0,Jt.jsx)("img",{ref:s,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:d,onError:m,className:"max-h-full max-w-full opacity-0 motion-safe:transition-opacity motion-safe:duration-200 motion-safe:ease-out [[data-thumbnail-state=loaded]_&]:opacity-100","data-testid":"daily-report-attachment-thumbnail"})})})})});var ie=require("react/jsx-runtime"),cd=1024,ei=["B","KB","MB","GB"],ud="text-slate-500 text-sm line-through dark:text-slate-400",Fp=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=cd&&r<ei.length-1;)t/=cd,r+=1;return r===0?`${t} ${ei[r]}`:`${t.toFixed(1)} ${ei[r]}`},md=({attachment:e,labels:t,className:r})=>(0,ie.jsxs)("span",{className:r,children:[Fp(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),ti=({href:e,children:t,...r})=>{let n=Mr();return(0,ie.jsx)("a",{href:e,...r,tabIndex:n,children:t})},pd=({downloadUrl:e,label:t,fileName:r})=>(0,ie.jsxs)(ti,{href:e,className:g("relative ml-auto shrink-0 rounded-sm text-slate-500 text-xs underline decoration-slate-300 underline-offset-2 after:absolute after:-inset-x-2 after:-inset-y-1 hover:text-slate-700 hover:decoration-current dark:text-slate-400 dark:decoration-slate-600 dark:hover:text-slate-200",ae),"data-testid":"daily-report-attachment-download",children:[t," ",(0,ie.jsx)("span",{className:"sr-only",children:r})]}),Bp=(0,Ot.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=(0,ie.jsx)(dd,{thumbnailUrl:Or(t,e.id,{kind:"thumbnail",variant:qa}),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)(pn,{fileName:e.fileName,className:ud,testId:"daily-report-attachment-name"})]}):(0,ie.jsxs)(ti,{href:Or(t,e.id,{kind:"inline"}),className:g("flex min-w-0 flex-col gap-2 rounded-lg",ae),"data-testid":"daily-report-attachment-link",...ld,children:[n,(0,ie.jsx)(pn,{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:Ul,children:[(0,ie.jsx)(md,{attachment:e,labels:r,className:"truncate"}),!o&&(0,ie.jsx)(pd,{downloadUrl:Or(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})]})}),Vp=(0,Ot.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)(pn,{fileName:e.fileName,className:ud,testId:"daily-report-attachment-name"}):(0,ie.jsx)(ti,{href:Or(t,e.id,{kind:"inline"}),className:g("flex min-w-0 rounded-sm",ae),"data-testid":"daily-report-attachment-link",children:(0,ie.jsx)(pn,{fileName:e.fileName,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),(0,ie.jsx)(md,{attachment:e,labels:r,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!n&&(0,ie.jsx)(pd,{downloadUrl:Or(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})}),Up=({attachments:e,headingId:t,apiBasePath:r,labels:n})=>{let o=(0,Ot.useRef)(null);return(0,ie.jsx)(td,{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)(Bp,{attachment:a,apiBasePath:r,labels:n},a.id))})})})},jo=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=B(),o=(0,Ot.useId)(),{tileAttachments:a,rowAttachments:i}=(0,Ot.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)(et,{level:Qt[n],id:o,className:g("m-0",ar),children:r.attachments}),(0,ie.jsxs)("div",{className:"flex flex-col gap-4",children:[a.length>0&&(0,ie.jsx)(Up,{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)(Vp,{attachment:s,apiBasePath:t,labels:r},s.id))})]})]})};var Sd=require("@aiquants/swipe-overlay"),Ne=require("react");var Mt=require("react");var fd=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Ce("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]},yd=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 Go=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:i,deleteComment:s}=Fe(),{version:d}=Uo(),{labels:m}=B(),u=m.unknownUser,[f,p]=(0,Mt.useState)(null),R=(0,Mt.useCallback)(l=>e&&s(e.reportHubId,l,e.date),[e,s]),y=(0,Mt.useCallback)(l=>e&&t?i(e.reportHubId,l,e.date):Promise.resolve(),[e,t,i]),T=(0,Mt.useRef)([]);return{uiComments:(0,Mt.useMemo)(()=>{if(!e)return[];let l=fd(e.externalComments,e.postedComments,r,u),S=o.current.get(e.reportHubId);S?.size&&(l=l.filter(C=>!S.has(C.id)));let x=n.current.get(e.reportHubId);if(x?.size&&t){let C=new Set(l.map(w=>w.id)),M=fr(t,u);for(let[w,K]of x){if(S?.has(w)||C.has(w))continue;let P=a.current.get(w);P&&C.has(P)||l.some(U=>U.isMine&&U.content===K&&typeof U.id=="number"&&U.id>0)||l.push({id:w,authorName:M,content:K,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1})}}return JSON.stringify(l)===JSON.stringify(T.current)?T.current:(T.current=l,l)},[e,t,r,u,o,n,a,d]),handleAddComment:y,handleDeleteComment:R,pendingDeleteId:f,setPendingDeleteId:p,resolvedIdMap:a.current}};var Yo=require("react/jsx-runtime"),ke=({render:e})=>{let t=Mr();return(0,Yo.jsx)(Yo.Fragment,{children:e(t)})};var bd=xe(require("@heroicons/react/24/outline/TrashIcon.js")),er=require("react");var je=require("react/jsx-runtime"),ri="data-comment-id",qo="data-comment-delete-button",Xo="data-comment-delete-slot",Wp=g(ze,Di),Kp="relative flex h-5 items-center",zp=g(We,"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),$p=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,ni=(0,er.memo)(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:d})=>{let[m,u]=(0,er.useState)(!1),{labels:f}=B(),p=(0,er.useId)(),R=(0,er.useRef)(null),y=$p(e.id,o,d),T=()=>{let l=R.current;l!==null&&s(l),a(null),u(!0),typeof e.id=="number"&&n?.(e.id)},h=l=>{if(!y)return;let S=l.relatedTarget;Se(S)&&l.currentTarget.contains(S)||a(null)};return(0,je.jsxs)("li",{[ri]:e.id,"data-deleted":m?"true":void 0,className:g("relative rounded-xl border border-slate-200 border-solid bg-white p-[11px] dark:border-slate-700 dark:bg-slate-900/70",e.isMine&&"border-blue-200 bg-blue-50 dark:border-blue-800/70 dark:bg-blue-950/40",m&&"hidden",y?"z-50":"z-0 hover:z-10"),children:[(0,je.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,je.jsx)("div",{className:g("font-semibold text-xs",yd(e.color)),children:he(e.authorName)}),(0,je.jsxs)("div",{className:"flex items-center gap-2",children:[e.createdAt&&(0,je.jsx)("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:be(e.createdAt)}),e.isMine&&!e.isLegacy&&(0,je.jsxs)("div",{[Xo]:e.id,className:Kp,onBlur:h,children:[(0,je.jsx)(ke,{render:l=>(0,je.jsx)("button",{ref:R,type:"button",tabIndex:l,className:Wp,title:f.commentDelete,"aria-label":f.commentDelete,"aria-expanded":y,"aria-controls":y?p:void 0,[qo]:e.id,onClick:()=>i(e.id,y),children:(0,je.jsx)(bd.default,{"aria-hidden":"true",className:y?we.deletePending:we.delete})})}),y&&(0,je.jsx)(ke,{render:l=>(0,je.jsx)("button",{id:p,type:"button",tabIndex:l,"data-delete-confirmation":!0,className:zp,onClick:T,children:f.commentDeleteConfirm})})]})]})]}),(0,je.jsx)("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:e.content})]})});ni.displayName="DailyReportPostedComment";var Ae=require("react/jsx-runtime"),jp="data-daily-report-comment-section",Gp="data-daily-report-comment-heading",Yp=g(xt,ae),Ed=(e,t)=>e>0||t,qp=g("h-9 min-w-0 flex-1 rounded-lg border border-slate-300 border-solid bg-slate-50 px-[7px] text-sm focus:bg-white dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200 dark:focus:bg-slate-900",ae),Xp=g("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",ae),Rd=e=>e.querySelector(`[${qo}][aria-expanded="true"]`),Zp=(e,t,r)=>{let n=[...e.querySelectorAll(`[${qo}]`)].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(`[${ri}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return Ed(i,r)?{kind:"heading"}:{kind:"report"}},Qp=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:d,onSectionRemoved:m})=>{let u=(0,Ne.useRef)(null),f=(0,Sd.useOverlayEscapeStack)(),p=(0,Ne.useId)(),R=o!==null,y=(0,Ne.useCallback)(()=>{let l=u.current,S=l===null?null:Rd(l),x=S===null?null:S.closest(`[${Xo}]`),C=l===null?null:$e(l);a(null),S!==null&&x!==null&&C!==null&&x.contains(C)&&S.focus({preventScroll:!0})},[a]);(0,Ne.useEffect)(()=>{if(R)return f({id:p,onEscape:l=>pr(l)?(y(),!0):!1})},[R,f,p,y]),(0,Ne.useEffect)(()=>{let l=u.current;if(!R||l===null)return;let S=l.ownerDocument,x=C=>{let M=Rd(l)?.closest(`[${Xo}]`);M!=null&&Se(C.target)&&M.contains(C.target)||a(null)};return S.addEventListener("pointerdown",x,!0),()=>S.removeEventListener("pointerdown",x,!0)},[R,a]);let T=(0,Ne.useCallback)((l,S)=>{S?y():a(l)},[y,a]),h=(0,Ne.useCallback)(l=>{let S=u.current;if(S===null)return;let x=Zp(S,l,s);if(x.kind==="report"){m();return}let C=x.kind==="trash"?x.button:d.current;if(C===null)throw new Error("[daily-report] the comment section's heading is not attached");C.focus({preventScroll:!0})},[s,d,m]);return e.length===0?null:(0,Ae.jsx)("ul",{ref:u,className:"space-y-2",children:e.map(l=>(0,Ae.jsx)(ni,{comment:l,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:T,onBeforeHide:h,resolvedIdMap:i},l.id))})},gd=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=B(),a=(0,Ne.useRef)(null);return Ed(r.comments.length,r.canComment)?(0,Ae.jsxs)("div",{[jp]:"",className:g("flex flex-col gap-2",e),children:[(0,Ae.jsx)(et,{ref:a,level:Qt[o],tabIndex:-1,[Gp]:"",className:Yp,children:n.comments}),(0,Ae.jsx)(Qp,{...r,headingRef:a}),t]}):null},vd=(0,Ne.memo)(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:i,onDeleteComment:s,pendingDeleteId:d,onPendingDeleteIdChange:m,resolvedIdMap:u})=>{let f=t?(0,Ae.jsx)(Jp,{onAddComment:i}):null,p={comments:a,canComment:t,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:s,pendingDeleteId:d,onPendingDeleteIdChange:m,resolvedIdMap:u,onSectionRemoved:r,className:o};return n==="in-section"?(0,Ae.jsx)(gd,{...p,children:f}):(0,Ae.jsxs)(Ae.Fragment,{children:[(0,Ae.jsx)(gd,{...p}),f&&(0,Ae.jsx)("div",{className:"mt-auto",children:f})]})});vd.displayName="ReportCommentsView";var fn=(0,Ne.memo)(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:i})=>{let{user:s}=Fe(),{uiComments:d,handleAddComment:m,handleDeleteComment:u,pendingDeleteId:f,setPendingDeleteId:p,resolvedIdMap:R}=Go(e,s,t),y=(0,Ne.useCallback)(async T=>{await m(T),n?.()},[m,n]);return(0,Ae.jsx)(vd,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:i,comments:d,onAddComment:y,onDeleteComment:u,pendingDeleteId:f,onPendingDeleteIdChange:p,resolvedIdMap:R})});fn.displayName="ReportComments";var hd="content",Jp=({onAddComment:e})=>{let[t,r]=(0,Ne.useState)(!1),{labels:n}=B();return(0,Ae.jsxs)("form",{className:"flex gap-2",onSubmit:async a=>{a.preventDefault();let i=a.currentTarget,s=i.elements.namedItem(hd);if(!(s instanceof Ke(i).HTMLInputElement))return;let d=s.value.trim();if(d&&e){r(!0),i.reset();try{await e(d)}catch{s.value=d}finally{r(!1)}}},children:[(0,Ae.jsx)(ke,{render:a=>(0,Ae.jsx)("input",{type:"text",name:hd,tabIndex:a,placeholder:n.commentPlaceholder,className:qp,autoComplete:"off"})}),(0,Ae.jsx)(ke,{render:a=>(0,Ae.jsx)("button",{type:"submit",tabIndex:a,className:Xp,disabled:t,children:n.commentSend})})]})};var Od=require("react");var Td=require("@radix-ui/react-slot"),Id=require("class-variance-authority"),xd=xe(require("react"));var Cd=require("react/jsx-runtime"),ef=(0,Id.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"}}),Pt=xd.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>(0,Cd.jsx)(n?Td.Slot:"button",{className:g(ef({variant:t,size:r,className:e})),ref:a,...o}));Pt.displayName="Button";var Ad=require("react/jsx-runtime");function Dd({className:e,type:t,...r}){return(0,Ad.jsx)("input",{type:t,"data-slot":"input",className:g(`flex h-9 w-full min-w-0 rounded-md border border-input border-solid bg-transparent px-[7px] py-[3px] text-base shadow-xs selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive md:text-sm dark:bg-input/30 ${ae}`,e),...r})}var _d=xe(require("@radix-ui/react-label"));var Ld=require("react/jsx-runtime");function yn({className:e,...t}){return(0,Ld.jsx)(_d.Root,{"data-slot":"label",className:g("flex select-none items-center gap-2 font-medium text-sm leading-none [:where(.group)[data-disabled=true]_&]:pointer-events-none [:where(.group)[data-disabled=true]_&]:opacity-50 [:where(.peer):disabled~&]:cursor-not-allowed [:where(.peer):disabled~&]:opacity-50",e),...t})}var Nd=require("react/jsx-runtime");function wd({className:e,...t}){return(0,Nd.jsx)("textarea",{"data-slot":"textarea",className:g(`flex min-h-15 w-full rounded-md border border-input border-solid bg-transparent p-[7px] text-base shadow-xs placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive md:text-sm dark:bg-input/30 ${ae}`,e),...t})}var Oe=require("react/jsx-runtime"),Pr=e=>({title:e.subject??"",content:e.content??""}),tf=e=>{e.preventDefault()},Zo=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=Fe(),{labels:i}=B(),s=Xt(),{title:d,content:m}=Sl(e.reportHubId),[u,f]=(0,Od.useState)(!1),p=async()=>{f(!0);try{await o(e.reportHubId,{title:d,content:m},e.date)}catch{}finally{f(!1)}},R=async()=>{f(!0);try{await o(e.reportHubId,{title:d,content:m},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{f(!1)}},y=`report-title-${e.reportHubId}`,T=`report-content-${e.reportHubId}`;return(0,Oe.jsxs)("form",{className:"space-y-4 p-1",onSubmit:tf,children:[(0,Oe.jsxs)("div",{className:"space-y-2",children:[(0,Oe.jsx)(yn,{htmlFor:y,children:i.formTitle}),(0,Oe.jsx)(ke,{render:h=>(0,Oe.jsx)(Dd,{ref:n,id:y,value:d,onChange:l=>s.setInput(e.reportHubId,{title:l.target.value}),placeholder:i.formTitlePlaceholder,disabled:u,tabIndex:h})})]}),(0,Oe.jsxs)("div",{className:"space-y-2",children:[(0,Oe.jsx)(yn,{htmlFor:T,children:i.formContent}),(0,Oe.jsx)(ke,{render:h=>(0,Oe.jsx)(wd,{id:T,value:m,onChange:l=>s.setInput(e.reportHubId,{content:l.target.value}),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:u,tabIndex:h})})]}),(0,Oe.jsxs)("div",{className:"flex justify-end gap-2",children:[t&&(0,Oe.jsx)(ke,{render:h=>(0,Oe.jsx)(Pt,{type:"button",variant:"outline",onClick:t,disabled:u,tabIndex:h,children:i.formCancel})}),(0,Oe.jsx)(ke,{render:h=>(0,Oe.jsx)(Pt,{type:"button",variant:"secondary",onClick:p,disabled:u,tabIndex:h,children:i.formSave})}),(0,Oe.jsx)(ke,{render:h=>(0,Oe.jsx)(Pt,{type:"button",onClick:R,disabled:u,tabIndex:h,children:i.formPublish})})]})]})};var Fd=xe(require("lucide-react/dist/esm/icons/check.js")),Bd=xe(require("lucide-react/dist/esm/icons/pencil.js")),Vd=xe(require("lucide-react/dist/esm/icons/trash-2.js"));var oi=require("react/jsx-runtime"),Jo=24,Md=2,rf=20,Qo=5,nf=3,of=()=>{let e=Math.cos(2*Math.PI/Qo)/Math.cos(Math.PI/Qo),t=Array.from({length:2*Qo},(p,R)=>{let y=-Math.PI/2+R*Math.PI/Qo,T=R%2===0?1:e;return{x:T*Math.cos(y),y:T*Math.sin(y)}}),r=t.map(p=>p.x),n=t.map(p=>p.y),[o,a,i,s]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],d=(rf-Md)/(a-o),m=Jo/2-d*(o+a)/2,u=Jo/2-d*(i+s)/2,f=p=>String(Number(p.toFixed(nf)));return t.map(p=>`${f(m+d*p.x)},${f(u+d*p.y)}`).join(" ")},af=of(),kr=({filled:e})=>(0,oi.jsx)("svg",{viewBox:`0 0 ${Jo} ${Jo}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:Md,strokeLinejoin:"round",className:e?we.starOn:we.starOff,children:(0,oi.jsx)("polygon",{points:af})});var kt=require("react/jsx-runtime"),Hr=({config:e,id:t,className:r})=>(0,kt.jsx)("span",{id:t,className:g(Li,e.badgeClassName,r),children:e.name===void 0?e.label:(0,kt.jsxs)(kt.Fragment,{children:[(0,kt.jsx)("span",{"aria-hidden":"true",children:(0,kt.jsx)("abbr",{title:e.name,children:e.label})}),(0,kt.jsx)("span",{className:"sr-only",children:e.name})]})});var ai=require("react/jsx-runtime"),ea=24,sf=6,Fr=({className:e})=>(0,ai.jsx)("svg",{viewBox:`0 0 ${ea} ${ea}`,"aria-hidden":"true",className:g(we.read,e),children:(0,ai.jsx)("circle",{cx:ea/2,cy:ea/2,r:sf,fill:"currentColor"})});var Pd=require("react/jsx-runtime"),lf=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/,yr=({text:e})=>lf.test(e)?(0,Pd.jsx)("time",{dateTime:e,children:e}):e;var He=require("react/jsx-runtime"),Ee=({label:e,classNames:t,valueId:r,children:n})=>(0,He.jsxs)("div",{className:t.field,children:[(0,He.jsx)("dt",{className:t.label,children:e}),(0,He.jsx)("dd",{id:r,className:g("m-0",t.value),children:n})]}),tr={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"},kd=({report:e,visitTimeDisplay:t,labels:r})=>{let n=e.category?.trim(),o=e.creationCategory?.trim();return(0,He.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,He.jsx)(Ee,{label:r.author,classNames:tr,children:he(e.author)}),(0,He.jsx)(Ee,{label:r.createdAt,classNames:tr,children:(0,He.jsx)(yr,{text:be(e.createdAt)})}),(0,He.jsx)(Ee,{label:r.updatedBy,classNames:tr,children:he(e.updatedBy)}),(0,He.jsx)(Ee,{label:r.updatedAt,classNames:tr,children:(0,He.jsx)(yr,{text:be(e.updatedAt)})}),(0,He.jsx)(Ee,{label:r.businessDate,classNames:tr,children:(0,He.jsx)(yr,{text:be(e.date)})}),t!==null&&(0,He.jsx)(Ee,{label:r.visitTime,classNames:tr,children:t}),n&&(0,He.jsx)(Ee,{label:r.category,classNames:tr,children:n}),o&&(0,He.jsx)(Ee,{label:r.creationCategory,classNames:tr,children:o})]})};var ce=require("react/jsx-runtime"),ta={field:g(We,"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:""},df={field:g(We,"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:""},Hd={field:g(We,"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:""},Ud=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:d,sourceConfig:m,visitTimeDisplay:u,markerIds:f,labels:p})=>{let R=r?p.starRemove:p.starAdd,y=t?p.markUnread:p.markRead,T=e.category?.trim(),h=e.creationCategory?.trim();return(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[(0,ce.jsx)(Sr,{id:f.attachments,count:e.attachments.length,label:p.attachments}),m?(0,ce.jsx)(Hr,{id:f.source,config:m}):null,(0,ce.jsx)(ke,{render:l=>(0,ce.jsx)("button",{type:"button",onClick:a,tabIndex:l,className:ze,title:R,"aria-label":R,"data-detail-star-button":e.reportHubId,children:(0,ce.jsx)(kr,{filled:r})})}),(0,ce.jsx)(ke,{render:l=>(0,ce.jsx)("button",{type:"button",onClick:o,tabIndex:l,className:ze,title:y,"aria-label":y,"data-detail-read-button":e.reportHubId,children:t?(0,ce.jsx)(Fd.default,{className:we.read}):(0,ce.jsx)(Fr,{})})}),i&&(0,ce.jsx)(ke,{render:l=>(0,ce.jsx)("button",{ref:s,type:"button",onClick:i,tabIndex:l,"data-detail-edit-button":e.reportHubId,className:ze,title:p.edit,"aria-label":p.edit,children:(0,ce.jsx)(Bd.default,{className:we.edit})})}),n&&(0,ce.jsx)(ke,{render:l=>(0,ce.jsx)("button",{type:"button",onClick:d,tabIndex:l,"data-detail-delete-button":e.reportHubId,className:ze,title:p.deleteReport,"aria-label":p.deleteReport,children:(0,ce.jsx)(Vd.default,{className:we.delete})})}),(0,ce.jsxs)("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[(0,ce.jsx)(Ee,{label:p.id,classNames:df,children:e.reportHubId}),(0,ce.jsx)(Ee,{label:p.businessDate,classNames:ta,children:(0,ce.jsx)(yr,{text:be(e.date)})}),(0,ce.jsx)(Ee,{label:p.author,classNames:ta,children:he(e.employeeName)}),(0,ce.jsx)(Ee,{label:p.visitTime,classNames:ta,children:he(u)}),(0,ce.jsx)(Ee,{label:p.updatedAt,classNames:ta,children:(0,ce.jsx)(yr,{text:be(e.updatedAt)})}),T&&(0,ce.jsx)(Ee,{label:p.category,classNames:Hd,children:T}),h&&(0,ce.jsx)(Ee,{label:p.creationCategory,classNames:Hd,children:h})]})]})};var ut=require("react");var N=require("react"),ui=require("react-dom");var Br=e=>({owner:e,focusIndex:null}),ii=Object.freeze({owner:null,focusIndex:null}),Wd=(e,t)=>{if(e.length===0)return ii;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:e[r].reportHubId,index:r},focusIndex:r}},Kd=(e,t)=>{switch(t.kind){case"focusIn":return Br(t.row);case"focusOut":return t.to==="outside"?ii:Br(e);case"pointerPress":return t.at==="outside"?ii:Br(e);case"listChanged":{if(e===null)return Br(e);let r=Te(t.items,e.reportHubId,e.index);return r===-1?Wd(t.items,e.index):Br(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Br(e):Wd(t.items,t.selection.index)}};var cf=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),ra={capture:!0},na=new WeakMap,uf=e=>{let t=o=>{cf.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,ra),e.removeEventListener("pointerdown",r,ra)}};return e.addEventListener("keydown",t,ra),e.addEventListener("pointerdown",r,ra),n},zd=e=>{let t=na.get(e),r=t===void 0?uf(e):t;t===void 0&&na.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),na.delete(e)))}},$d=e=>{let t=na.get(e);return t===void 0?null:t.last};var oa=e=>e.matches(":focus-visible")&&$d(e.ownerDocument)!=="pointer";var mf="data-daily-report-keyboard-focus",rr={capture:!0},jd=e=>{let t=zd(e.ownerDocument),r=s=>{e.toggleAttribute(mf,Se(s)&&oa(s))},n=s=>r(s.target),o=s=>{Se(s.relatedTarget)&&e.contains(s.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,rr),e.addEventListener("keydown",n,rr),e.addEventListener("focusout",o,rr),e.addEventListener("pointerdown",a,rr);let i=$e(e);return r(i!==null&&e.contains(i)?i:null),()=>{e.removeEventListener("focusin",n,rr),e.removeEventListener("keydown",n,rr),e.removeEventListener("focusout",o,rr),e.removeEventListener("pointerdown",a,rr),r(null),t()}};var pf='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',ff=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],yf=ff.map(e=>`[role="${e}"]`).join(", "),bf=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),Rf=new Set(["Enter"," "]),gf=new Map([["Home","exitBefore"],["End","exitAfter"]]),si=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return gf.get(e.key)??null;let r=bf.get(e.key);return r!==void 0?r:Rf.has(e.key)&&t.rowActivation?"activate":null},Gd=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},Yd=(e,t,r)=>{let n=si(e,r);if(n===null||e.defaultPrevented||sn(e)||t===null||!Se(e.target)||!t.contains(e.target))return null;let o=qt(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:Gd(e.target,pf,t)||Gd(e.target,yf,t)?null:n};var aa={kind:"stay"},ia=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},qd=e=>Math.floor(.875*e),nr=(e,t)=>({kind:"move",index:e,align:t}),bn=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",hf=({index:e,count:t,viewport:r,focusedRowTop:n,heightOf:o})=>{let a=o(e),i=n+a,s={index:e+1,top:i};for(let d=e+1;d<t;d++){let m=o(d);if(a+=m,a>r)break;s={index:d,top:i},i+=m}return s},Sf=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>{let o=n(e),a=r,i={index:e-1,top:r-n(e-1)};for(let s=e-1;s>=0;s--){let d=n(s);if(a-=d,o+=d,o>t)break;i={index:s,top:a}}return i},Ef=(e,t,r)=>{let{index:n,count:o,viewport:a,focusedRowTop:i,heightOf:s}=t,d=i+s(n);switch(e){case"previous":{if(n===0)return aa;if(r==="top")return nr(n-1,"top");let m=s(n-1);return nr(n-1,bn(i-m,m,a,-1))}case"next":return n===o-1?aa:r==="top"?nr(n+1,"top"):nr(n+1,bn(d,s(n+1),a,1));case"first":return nr(0,"top");case"last":return nr(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(d>a)return{kind:"reveal",delta:Math.min(d-a,qd(a))};if(n===o-1)return aa;let m=hf(t);return nr(m.index,bn(m.top,s(m.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,qd(a))};if(n===0)return aa;let m=Sf(t);return nr(m.index,bn(m.top,s(m.index),a,-1))}}},vf=({index:e,focusedRowTop:t,heightOf:r},n)=>ec(n,{index:e,offsetPx:-t},r),Qd=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let d=Ef(e,o,n);if(d.kind==="stay")break;d.kind==="reveal"?(i+=d.delta,o={...o,focusedRowTop:o.focusedRowTop-d.delta}):d.align==="none"?o={...o,index:d.index,focusedRowTop:vf(o,d.index)}:(a={index:d.index,align:d.align},i=0,o={...o,index:d.index,focusedRowTop:d.align==="top"?0:o.viewport-o.heightOf(d.index)})}return{index:o.index,alignment:a,scrollDelta:i}},Jd=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>bn(r,n(e),t,1),ec=(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},Rn=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=ia(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:ec(t,s,i),heightOf:i}},Xd=1,tc=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=gn(o,n,t,r);return{start:Math.max(0,o.index-Xd),end:Math.min(t-1,a+Xd)}},gn=(e,t,r,n)=>{let o=ia(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},rc=(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,Zd=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),nc=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(Zd(t,n,o))return t.reportHubId;if(Zd(r,n,o))return r.reportHubId;let a=e[n.visibleStartIndex];return a===void 0?null:a.reportHubId};var di=1,hn=2,li=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?di:0)|(n===t||n===r?hn:0),Tf=e=>{if(Zr(e))return!0;let t=$e(e);return t!==null&&e.contains(t)},If=(e,t)=>{let r=e.closest(`[${Ro}]`);return r!==null&&r!==e&&cr(r)===t&&$e(e)===r},oc={capture:!0},ac=({getContainer:e,initialSelectedId:t})=>{let r={selectedId:t,tabStopId:t,arrivingId:null},n=null,o=null,a=!1,i=null,s=new Map,d=new Map,m=null,u=new Map,f=l=>li(r,l),p=l=>{let S=d.get(l);if(S===void 0)return;let x=(f(l)&hn)!==0?"0":"-1";S.getAttribute("tabindex")!==x&&S.setAttribute("tabindex",x)},R=()=>{if(n===null)return;let l=n;n=null,p(l)},y=(l,S)=>{R();let x={...r};l(r);let C=r,M=new Set([x.selectedId,x.tabStopId,x.arrivingId,C.selectedId,C.tabStopId,C.arrivingId]);for(let w of M){if(w===null)continue;let K=li(x,w),P=li(C,w);if(K===P)continue;((K^P)&hn)!==0&&(w===S?n=w:p(w));let U=s.get(w);if(U!==void 0)for(let G of[...U])G()}},T=l=>{let S=l.ownerDocument,x=n!==null&&!Zr(l);x?S.addEventListener("focusout",R,oc):R(),a=!0;try{l.focus({preventScroll:!0})}finally{a=!1,x&&S.removeEventListener("focusout",R,oc),R()}},h=l=>{let S=e();S!==null&&(o=null,Tf(S)&&T(l))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:f,setTabStopId:l=>{y(S=>{S.tabStopId=l},null)},settleSelection:(l,S)=>{y(x=>{x.selectedId=l,x.tabStopId=S,x.arrivingId=null},null)},arrive:l=>{y(S=>{S.arrivingId=l},l)},subscribe:(l,S)=>{let x=s.get(l)??new Set;return x.add(S),s.set(l,x),()=>{x.delete(S),x.size===0&&s.get(l)===x&&s.delete(l)}},registerFocusTarget:(l,S)=>{if(d.set(l,S),p(l),o===l){h(S);return}i===null||i.reportHubId!==l||(Zr(S)||If(S,l))&&T(S)},unregisterFocusTarget:(l,S)=>{d.get(l)===S&&d.delete(l)},requestFocus:l=>{o=l;let S=d.get(l);S!==void 0&&h(S)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>i,setFocusOwner:l=>{i=l},restoreFocus:l=>{if(i===null||i.reportHubId!==l)return;let S=d.get(l);S===void 0||!Zr(S)||T(S)},holdBodiesOutside:l=>{m=l},isBodyHeldAt:l=>m!==null&&(l<m.start||l>m.end),registerHeldBody:(l,S,x)=>{let C={indexHint:S,release:x};return u.set(l,C),()=>{u.get(l)===C&&u.delete(l)}},releaseHeldBodiesWithin:(l,S)=>{if(l!==null)for(let[x,{indexHint:C,release:M}]of[...u]){let w=S(x,C);w>=l.start&&w<=l.end&&M()}}}};var St={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}},ci=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),xf=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),ic=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),Cf=new Map(Object.values(St).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),sc=e=>{let t=Cf.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},Df=(e,t,r)=>e==="row"||e==="page"?t+r:r,lc=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:sc(e)}),dc=(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",sc(r)):(e.pending=Df(e.axis,e.pending,r.amount),ci)}case"frame":{if(e.fence==="open")return ci;if(e.fence==="immediate")return e.fence="flush",xf;if(e.pending===0)return e.fence="open",ci;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?ic:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return ic}};var Af=Object.freeze({kind:"frame"}),_f=Object.freeze({kind:"keyup"}),Lf=Object.freeze({kind:"cancel"}),wf=Object.freeze({previous:Object.freeze({kind:"repeat",step:St.previous}),next:Object.freeze({kind:"repeat",step:St.next}),pageBackward:Object.freeze({kind:"repeat",step:St.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:St.pageForward}),first:Object.freeze({kind:"repeat",step:St.first}),last:Object.freeze({kind:"repeat",step:St.last}),activate:Object.freeze({kind:"repeat",step:St.activate})}),Nf=(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}},Of=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),Mf=e=>{let t=cr(e),r=Dr(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},sa=(e,t)=>{let r=(0,N.useCallback)(a=>e.subscribe(t,a),[e,t]),n=(0,N.useCallback)(()=>e.rowStateOf(t),[e,t]),o=(0,N.useSyncExternalStore)(r,n,n);return{isCurrent:(o&di)!==0,isTabStop:(o&hn)!==0}},la=(e,t,r)=>{let[n,o]=(0,N.useState)(()=>!e.isBodyHeldAt(r));return(0,N.useLayoutEffect)(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return(0,N.startTransition)(a),i},[e,t,r,n]),n},Pf=e=>e==="first"||e==="last",cc=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:d,rowActivation:m})=>{let[u]=(0,N.useState)(()=>ac({getContainer:()=>n.current,initialSelectedId:t})),f=(0,N.useRef)({items:e,onSelect:r,rowSizing:s,arrowAlign:d,rowActivation:m}),p=(0,N.useRef)(null),R=(0,N.useRef)(null),[y,T]=(0,N.useState)(null),h=(0,N.useRef)(null),l=(0,N.useRef)(null),[S,x]=(0,N.useState)(null),C=(0,N.useRef)(!1),M=(0,N.useRef)(null),[w,K]=(0,N.useState)(0),P=(0,N.useMemo)(()=>({id:t,indexHint:t===null?null:ks(y,t)}),[t,y]),U=(0,N.useRef)(P);(0,N.useLayoutEffect)(()=>{f.current={items:e,onSelect:r,rowSizing:s,arrowAlign:d,rowActivation:m},U.current=P},[e,r,s,d,m,P]);let G=(0,N.useCallback)((c,b)=>{let v=R.current;if(v!==null&&v.items===c&&v.reportHubId===b)return v.index;let E=Te(c,b,v!==null&&v.reportHubId===b?v.index:null);return E!==-1&&(R.current={items:c,reportHubId:b,index:E}),E},[]),k=(0,N.useCallback)((c,b)=>{R.current={items:f.current.items,reportHubId:c,index:b},T(v=>v!==null&&v.reportHubId===c&&v.index===b?v:{reportHubId:c,index:b})},[]),ne=(0,N.useCallback)(c=>{let b=u.getFocusOwner();if(b===null)return null;let v=Te(c,b.reportHubId,b.index);return v===-1?null:{reportHubId:b.reportHubId,index:v}},[u]),H=(0,N.useCallback)(c=>{let b=f.current.items,v=c===null?null:{reportHubId:c,index:G(b,c)};return nc(b,ne(b),v,p.current,M.current)},[G,ne]),ge=(0,N.useCallback)(()=>{u.setTabStopId(H(u.getSelectedId()))},[u,H]),Me=(0,N.useCallback)(c=>{let b=u.getFocusOwner();b===c||b!==null&&c!==null&&b.reportHubId===c.reportHubId&&b.index===c.index||(u.setFocusOwner(c),C.current||ge())},[u,ge]),se=(0,N.useCallback)(c=>{let b=Kd(u.getFocusOwner(),c);Me(b.owner),b.focusIndex!==null&&(h.current=b.focusIndex,u.requestFocus(b.owner.reportHubId))},[u,Me]);(0,N.useLayoutEffect)(()=>{u.settleSelection(t,H(t))},[u,t,e,w,H]),(0,N.useLayoutEffect)(()=>{let c=o.current;if(c!==null)return jd(c)},[o]),(0,N.useLayoutEffect)(()=>{let c=n.current;if(c===null)return;let b=c.ownerDocument,v=E=>{let A=n.current,F=E.target;se({kind:"pointerPress",at:A!==null&&Se(F)&&A.contains(F)?"inside":"outside"})};return b.addEventListener("pointerdown",v,{capture:!0}),()=>b.removeEventListener("pointerdown",v,{capture:!0})},[n,se]),(0,N.useLayoutEffect)(()=>{let c=u.pendingFocusId();c!==null&&Te(e,c,h.current)===-1&&u.cancelFocusRequest(),se({kind:"listChanged",items:e})},[u,e,se]);let Z=(0,N.useCallback)(c=>{se({kind:"removed",reportHubId:c,selection:R.current,items:f.current.items})},[se]),X=(0,N.useCallback)((c,b,v,E)=>{let{items:A,onSelect:F,rowSizing:oe,arrowAlign:j}=f.current,I=a.current;if(F===null||I===null)return null;let D=Te(A,v.reportHubId,v.index);if(D===-1)return null;let W=Rn(I,D,A.length,oe);if(W===null)return null;let Y=Qd(c,b,W,j),pe=A[Y.index],it=Y.index!==D,It=it||E&&Pf(c)&&U.current.id!==pe.reportHubId;if(it){u.arrive(pe.reportHubId),M.current=pe.reportHubId,h.current=Y.index,C.current=!0;try{u.requestFocus(pe.reportHubId)}finally{C.current=!1}}try{(0,ui.flushSync)(()=>{It&&(u.pendingFocusId()===null&&u.settleSelection(pe.reportHubId,pe.reportHubId),F(pe.reportHubId,Y.index)),Y.alignment!==null&&i.toIndex(Y.alignment.index,{align:Y.alignment.align}),Y.scrollDelta!==0&&i.by(Y.scrollDelta),It&&(k(pe.reportHubId,Y.index),K(Sa=>Sa+1));let jr=tc(I,A.length,oe);u.holdBodiesOutside(jr),u.releaseHeldBodiesWithin(jr,(Sa,su)=>Te(A,Sa,su))})}finally{u.holdBodiesOutside(null)}return it?{reportHubId:pe.reportHubId,index:Y.index}:{reportHubId:v.reportHubId,index:D}},[u,a,i,k]),_e=(0,N.useCallback)(c=>{let{items:b,onSelect:v}=f.current;if(v===null)return;let E=Te(b,c.reportHubId,c.index);E!==-1&&(v(c.reportHubId,E),k(c.reportHubId,E))},[k]),Xe=(0,N.useCallback)(c=>{let b=n.current,v=b===null?null:$e(b),E=b!==null&&v!==null&&b.contains(v)?Qr(qt(v,b),f.current.items):null;return E===null?c.origin:E},[n]),Q=(0,N.useCallback)((c,b)=>{let v=Xe(c);if(b.axis==="activate"){_e(v);return}let E=Nf(b.axis,b.amount),A=X(E.command,E.count,v,!1);A!==null&&(c.origin=A)},[Xe,_e,X]),Pe=(0,N.useCallback)(c=>{l.current=null,c.frame!==0&&c.view.cancelAnimationFrame(c.frame),x(null)},[]),yt=(0,N.useCallback)((c,b,v)=>{let{apply:E}=b;E!==null&&(b.flush?(0,ui.flushSync)(()=>Q(c,E)):Q(c,E)),l.current===c&&(b.ended?Pe(c):b.requestFrame&&(c.frame=c.view.requestAnimationFrame(v)))},[Q,Pe]),Le=(0,N.useCallback)((c,b,v)=>{yt(c,dc(c.state,b),v)},[yt]),Ie=(0,N.useCallback)(()=>{let c=l.current;c!==null&&(c.frame=0,Le(c,Af,Ie))},[Le]),bt=(0,N.useCallback)(()=>{let c=l.current;c!==null&&Le(c,_f,Ie)},[Le,Ie]),Rt=(0,N.useCallback)(()=>{let c=l.current;c!==null&&Le(c,Lf,Ie)},[Le,Ie]),Ft=(0,N.useCallback)((c,b,v)=>{x(U.current);let{state:E,effects:A}=lc(St[c]),F={state:E,origin:b,view:v,frame:0};l.current=F,yt(F,A,Ie)},[yt,Ie]);(0,N.useLayoutEffect)(()=>()=>{let c=l.current;l.current=null,c!==null&&c.frame!==0&&c.view.cancelAnimationFrame(c.frame)},[]);let Bt=(0,N.useCallback)(c=>{let b=l.current,v=b!==null&&c.repeat?si(c,f.current):null;if(b!==null&&v!==null&&v!=="exitBefore"&&v!=="exitAfter"&&St[v].axis===b.state.axis){c.preventDefault(),Le(b,wf[v],Ie);return}let{items:E,onSelect:A,rowSizing:F,rowActivation:oe}=f.current,j=n.current,I=A===null?null:Yd(Mo(c),j,{rowActivation:oe});if(u.cancelFocusRequest(),bt(),I===null||j===null)return;if(I==="exitBefore"||I==="exitAfter"){let Y=Wl(j,I==="exitBefore"?"before":"after");if(Y===null)return;c.preventDefault(),Y.focus();return}let D=$e(j),W=Qr(qt(D!==null&&j.contains(D)?D:c.target,j),E);if(W!==null){if(I!=="activate"){let Y=a.current;if(Y===null||Rn(Y,W.index,E.length,F)===null)return}if(c.preventDefault(),c.repeat){Ft(I,W,Ke(j));return}I==="activate"?_e(W):X(I,1,W,!0)}},[u,n,a,Ie,Le,bt,Ft,_e,X]),Vt=(0,N.useCallback)(()=>{bt()},[bt]),ot=(0,N.useCallback)(c=>{let b=n.current,v=c.target,E=qt(v,b);if(se({kind:"focusIn",row:E===null?null:Mf(E)}),u.isMovingFocus())return;let A=a.current;if(b===null||A===null||!Se(v)||!oa(v))return;let F=E===null?null:E.closest('[role="list"]');if(E===null||F===null)return;let oe=F.getBoundingClientRect(),j=E.getBoundingClientRect(),I=j.height<=oe.height?j:Of(v.getBoundingClientRect(),Kt),D=rc(I,oe),W=A.getViewportSize();D===0||!(W>0&&oe.height>0)||i.by(D*W/oe.height)},[u,n,a,i,se]),Ue=(0,N.useCallback)(c=>{let b=n.current,v=c.relatedTarget,E=Se(v)?b?.contains(v)?"view":"outside":"nowhere";E!=="view"&&Rt(),se({kind:"focusOut",to:E})},[n,Rt,se]),Ze=(0,N.useCallback)(()=>{u.cancelFocusRequest(),Rt()},[u,Rt]),Ut=(0,N.useCallback)(c=>{p.current={visibleStartIndex:c.visibleStartIndex,visibleEndIndex:c.visibleEndIndex},M.current=null,ge()},[ge]),at=(0,N.useMemo)(()=>({onKeyDown:Bt,onKeyUp:Vt,onPointerDownCapture:Ze,onWheelCapture:Ze,onTouchStartCapture:Ze,onFocus:ot,onBlur:Ue}),[Bt,Vt,Ze,ot,Ue]);return{cursor:u,containerProps:at,handleRangeChange:Ut,selection:P,settledSelection:S===null?P:S,resolveSelectedIndex:G,rememberSelection:k,focusAfterRemoval:Z}};var da=require("react/jsx-runtime"),kf=g(zt,_n,Ln,An,"h-full"),Hf="h-full w-full",uc=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:d}=sa(a,e),m=(0,ut.useContext)(_t),u=(0,ut.useContext)(At),f=la(a,e,m),p=(0,ut.useRef)(null),R=(0,ut.useRef)(null),y=(0,ut.useCallback)(T=>(p.current=T,a.registerFocusTarget(e,T),()=>{p.current=null,a.unregisterFocusTarget(e,T)}),[a,e]);return(0,ut.useLayoutEffect)(()=>{let T=p.current,h=T===null||!f?null:T.firstElementChild,l=h instanceof HTMLElement?h:null,S=R.current;S!==null&&S.body===l||(S!==null&&S.stop(),R.current=l===null?null:{body:l,stop:o(l)})}),(0,ut.useLayoutEffect)(()=>()=>{R.current?.stop(),R.current=null},[]),(0,ut.useLayoutEffect)(()=>{a.restoreFocus(e)},[a,e,n]),(0,da.jsx)(un.Provider,{value:d,children:(0,da.jsx)("div",{ref:y,className:kf,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":m+1,"aria-setsize":u,"aria-labelledby":f&&t.kind==="card"?t.ids.heading:void 0,"aria-describedby":f&&t.kind==="card"?t.describedBy:void 0,"aria-label":t.kind==="label"?t.label:void 0,"aria-busy":r||!f?!0:void 0,"aria-current":s?"true":void 0,children:f?i:(0,da.jsx)("div",{...Qe,className:Hf})})})};var O=require("react/jsx-runtime"),Ff=g("flex w-full flex-col",Et,On,or),Bf=g(Et,or),Vf=g("rounded-2xl",or),Uf=g("rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-700 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",or),Ve="bg-slate-200 dark:bg-slate-700",Wf=(e,t)=>{let r=he(e.name);return e.affiliation?.trim()?t.interviewerWithAffiliation(r,e.affiliation):r},Kf=()=>(0,O.jsxs)("div",{...Qe,className:Bf,children:[(0,O.jsxs)("div",{className:"mb-4 flex flex-wrap gap-2",children:[(0,O.jsx)("div",{className:g("h-6 w-20 rounded-full",Ve)}),(0,O.jsx)("div",{className:g("h-6 w-24 rounded-full",Ve)}),(0,O.jsx)("div",{className:g("h-6 w-24 rounded-full",Ve)}),(0,O.jsx)("div",{className:g("h-6 w-28 rounded-full",Ve)})]}),(0,O.jsxs)("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,O.jsxs)("div",{className:"space-y-4",children:[(0,O.jsx)("div",{className:g("h-5 w-40 rounded",Ve)}),(0,O.jsx)("div",{className:g("h-5 w-56 rounded",Ve)}),(0,O.jsx)("div",{className:g("h-24 rounded-xl",Ve)})]}),(0,O.jsxs)("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[(0,O.jsx)("div",{className:g("mb-2 h-4 w-24 rounded",Ve)}),(0,O.jsx)("div",{className:g("mb-2 h-4 w-28 rounded",Ve)}),(0,O.jsx)("div",{className:g("h-4 w-32 rounded",Ve)})]})]}),(0,O.jsxs)("div",{className:"space-y-4",children:[(0,O.jsx)("div",{className:g("h-4 w-24 rounded",Ve)}),(0,O.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,O.jsx)("div",{className:g("h-6 w-16 rounded-full",Ve)}),(0,O.jsx)("div",{className:g("h-6 w-16 rounded-full",Ve)}),(0,O.jsx)("div",{className:g("h-6 w-16 rounded-full",Ve)})]}),(0,O.jsxs)("div",{className:"space-y-2",children:[(0,O.jsx)("div",{className:g("h-16 rounded-xl",Ve)}),(0,O.jsx)("div",{className:g("h-16 rounded-xl",Ve)})]})]})]}),zf=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:d}=Yt(e.reportHubId,e.businessDate),{removeStaleItem:m}=Fe(),{draftLabelName:u,sourceTypeConfigs:f}=B(),p=Xt(),R=Oo(e.reportHubId),y=R==="editing"||R==="automatic",T=(0,me.useRef)(!1),h=(0,me.useRef)(!1),l=(0,me.useRef)(!1);(0,me.useEffect)(()=>{if(d){l.current=!0;return}!(a||s||i)&&l.current&&e.reportHubId>0&&m(e.reportHubId)},[a,s,d,i,e.reportHubId,m]);let S=a?.labels.some(X=>X.name===u),x=n&&a?.userId===n,C=(0,me.useMemo)(()=>a===null?void 0:()=>{T.current=!0,p.open(e.reportHubId,Pr(a),!1)},[p,e.reportHubId,a]),M=(0,me.useCallback)(()=>{h.current=!0,p.dismiss(e.reportHubId)},[p,e.reportHubId]),w=(0,me.useCallback)(()=>{h.current=!0,p.discard(e.reportHubId)},[p,e.reportHubId]),K=(0,me.useCallback)(X=>{X===null||!T.current||(T.current=!1,X.focus())},[]),P=(0,me.useCallback)(X=>{X===null||!h.current||(h.current=!1,X.focus())},[]);(0,me.useLayoutEffect)(()=>{y||(h.current=!1)},[y]),(0,me.useEffect)(()=>{a!==null&&(x&&S&&R==="display"?p.open(e.reportHubId,Pr(a),!0):!S&&R==="automatic"&&p.discard(e.reportHubId))},[a,x,S,R,p,e.reportHubId]);let U=(0,me.useCallback)(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),G=(0,me.useId)(),k=(0,me.useMemo)(()=>({heading:`${G}-heading`,state:`${G}-state`,attachments:`${G}-attachments`,source:`${G}-source`}),[G]),ne=a!==null&&a.attachments.length>0,H=a===null?void 0:Gt(a.sourceType,f),ge=[k.state,...ne?[k.attachments]:[],...H!==void 0?[k.source]:[]].join(" "),Me=!i&&a!==null&&!y?{kind:"card",ids:k,describedBy:ge}:{kind:"label",label:be(e.businessDate)},se=!i&&a===null&&s,Z=i?"error":a===null?s?"loading":"missing":y?"editing":"resolved";return(0,O.jsx)(uc,{itemId:e.reportHubId,name:Me,isBusy:se,bodyKind:Z,observeRowHeight:t,cursor:o,children:i?(0,O.jsx)($f,{itemId:e.reportHubId}):a?y?(0,O.jsx)("div",{...Qe,className:Vf,children:(0,O.jsx)(Zo,{report:a,onCancel:M,onPublishSuccess:w,titleInputRef:K})}):(0,O.jsx)(pc,{item:e,report:a,sourceConfig:H,textIds:k,onCommentAdded:r,userId:n,onEdit:x?C:void 0,editButtonRef:P,onCommentSectionRemoved:U}):(0,O.jsx)(Kf,{})})},mc=(0,me.memo)(zf),pc=(0,me.memo)(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:d})=>{let{toggleStar:m,toggleRead:u,pendingStarUpdates:f,pendingReadUpdates:p,deleteReport:R}=Fe(),{labels:y,headingLevel:T}=B(),h=Qt[T],l=Zn(t.sourceType,r),S=(0,me.useCallback)(()=>o?.(e.reportHubId),[o,e.reportHubId]),x=f.current.get(t.reportHubId),C=x===void 0?t.isStarred:x,M=p.current.get(t.reportHubId),w=M===void 0?t.isRead:M,K=!!(a&&t.userId===a),P=async()=>{try{await u(t.reportHubId,!w,t.date)}catch{}},U=async()=>{try{await m(t.reportHubId,!C,t.date)}catch{}},G=async()=>{confirm(y.confirmDelete)&&await R(t.reportHubId,t.date)},k=(0,me.useMemo)(()=>t.content?t.content.replace(/<br\s*\/??\s*>/gi,`
|
|
4
|
-
`).trim():"",[t.content]),ne=(0,me.useMemo)(()=>{let H=t.visitTimeFrom?.trim(),ge=t.visitTimeTo?.trim();return H&&ge?`${H} - ${ge}`:H||ge||null},[t.visitTimeFrom,t.visitTimeTo]);return(0,O.jsxs)("div",{...Qe,onDoubleClick:i,className:Ff,children:[(0,O.jsx)(et,{level:T,id:n.heading,className:"sr-only",children:`${be(t.date)} ${he(t.employeeName)} ${he(t.subject)}`}),(0,O.jsx)("span",{id:n.state,className:"sr-only",children:y.rowState({isRead:w,isStarred:C})}),(0,O.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,O.jsx)(Ud,{report:t,sourceConfig:r,isRead:w,isStarred:C,isMine:K,onToggleRead:P,onToggleStar:U,onEdit:i,editButtonRef:s,onDelete:G,visitTimeDisplay:ne,markerIds:n,labels:y}),(0,O.jsxs)("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,O.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,O.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,O.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,O.jsx)(et,{level:h,className:xt,children:y.customer}),(0,O.jsx)("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:he(t.customerName)})]}),(0,O.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,O.jsx)(et,{level:h,className:xt,children:y.subject}),(0,O.jsx)("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:he(t.subject)})]})]}),k&&(0,O.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,O.jsx)(et,{level:h,className:xt,children:y.content}),(0,O.jsx)("div",{className:g("whitespace-pre-wrap",Nn),children:k})]}),t.interviewers.length>0&&(0,O.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,O.jsx)(et,{level:h,className:xt,children:y.interviewers}),(0,O.jsx)("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map(H=>(0,O.jsx)("li",{className:g(We,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:Wf(H,y)},JSON.stringify([H.name,H.affiliation])))})]}),(0,O.jsx)(jo,{attachments:t.attachments}),(0,O.jsx)(fn,{report:t,userId:a,canComment:l,onCommentAdded:S,onSectionRemoved:d,formPlacement:"after-section"})]}),(0,O.jsx)(kd,{report:t,visitTimeDisplay:ne,labels:y})]})]})]})});pc.displayName="DailyReportResolvedItem";var $f=({itemId:e})=>{let{labels:t}=B();return(0,O.jsx)("div",{...Qe,className:Uf,children:(0,O.jsx)("p",{children:t.reportLoadFailed(e)})})};var Tt=require("react");var tt=require("react");var jf=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e[o]?.reportHubId!==t[o]?.reportHubId)return!0;return!1},Gf=(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}},Yf=(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}},qf=(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"?Gf(e.index,a,n.rowHeight,r.length):Yf(e.index,a,ia(n),r.length);return{reportHubId:r[i].reportHubId,index:i,offsetPx:s,lastVisibleIndex:gn({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},Xf=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=Te(t,e[n].reportHubId,n-1);if(o!==-1)return o}return-1},fc=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=(0,tt.useRef)(null),a=(0,tt.useRef)(e),i=(0,tt.useRef)(r),s=(0,tt.useCallback)(()=>{let u=t.current,f=u===null?-1:u.getScrollPosition(),p=u===null||!(f>0)?null:u.getScrollAnchor(),R=a.current,y=p===null?void 0:R[p.index],T=u===null?0:u.getViewportSize();o.current=p===null||y===void 0||!(T>0)?null:{reportHubId:y.reportHubId,index:p.index,offsetPx:p.offsetPx,lastVisibleIndex:gn(p,T,R.length,i.current),recordedAt:f}},[t]),d=(0,tt.useMemo)(()=>({toIndex:(u,f)=>{let p=t.current;p!==null&&(p.scrollToIndex(u,f),s())},by:u=>{let f=t.current;f!==null&&(f.scrollBy(u),s())},resizeRow:(u,f)=>{let p=t.current;p!==null&&(p.updateItemSize(u,f),s())}}),[t,s]);(0,tt.useLayoutEffect)(()=>{let u=a.current;a.current=e;let f=o.current,p=t.current;if(u===e||f===null||p===null||n())return;let R=qf(f,p.getScrollPosition(),u,i.current,p.getViewportSize());if(R===null){o.current=null;return}let y=Te(e,R.reportHubId,R.index),T=y===-1?Xf(u,e,R):y;if(T===-1){o.current=null;return}if(T===R.index&&!jf(u,e,R.index,R.lastVisibleIndex)){o.current=R;return}p.scrollToIndex(T,{align:"top",offset:-R.offsetPx}),o.current={reportHubId:e[T].reportHubId,index:T,offsetPx:R.offsetPx,lastVisibleIndex:gn({index:T,offsetPx:R.offsetPx},p.getViewportSize(),e.length,r),recordedAt:p.getScrollPosition()}},[e,t,r,n]),(0,tt.useLayoutEffect)(()=>{i.current=r},[r]);let m=(0,tt.useCallback)(u=>{if(u.cause!=="clamp"){s();return}let f=o.current;f!==null&&(o.current={...f,recordedAt:f.recordedAt+u.delta})},[s]);return(0,tt.useMemo)(()=>({handleRangeChange:s,handleScrollAdjust:m,scroller:d}),[s,m,d])};var yc=require("react"),Zf=20,bc=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>(0,yc.useCallback)(a=>{t.current=a;let i=a.querySelector(`[data-testid="${e}"]`);return i!==null&&Object.defineProperty(i,"__virtualScroll",{configurable:!0,get:()=>{let s=r.current;if(s!==null)return{getViewportSize:()=>s.getViewportSize(),getScrollPosition:()=>s.getScrollPosition(),getScrollAnchor:()=>s.getScrollAnchor(),getRange:()=>s.getRange(),getFenwickSize:()=>s.getFenwickSize(),findReportIndex:d=>o.current.findIndex(m=>m.reportHubId===d),getReportItem:d=>o.current[d],getReportIds:(d=Zf)=>o.current.slice(0,d).map(m=>m.reportHubId),revealIndex:(d,m)=>n.toIndex(d,m)}}}),()=>{i!==null&&delete i.__virtualScroll,t.current=null}},[e,t,r,n,o]);var Rc=require("react/jsx-runtime"),ca=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let i=(0,Tt.useRef)(null),s=(0,Tt.useCallback)(C=>(i.current=C,()=>{i.current=null}),[]),{handleRangeChange:d,handleScrollAdjust:m,scroller:u}=fc({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:f,...p}=cc({...a,containerRef:e,handleRef:i,scroller:u}),R=bc({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:u,itemsRef:r}),{labels:y}=B(),T=(0,Tt.useId)(),h=a.onSelect!==null,l=(0,Tt.useCallback)(C=>{f(C),d(),o(C)},[f,d,o]),S=(0,Tt.useMemo)(()=>({role:"list","aria-label":y.title,"aria-describedby":h?T:void 0}),[y.title,h,T]),x=(0,Tt.useMemo)(()=>h?(0,Rc.jsx)("span",{id:T,className:"sr-only",children:y.listKeyboardHelp}):null,[h,T,y.listKeyboardHelp]);return{...p,handleRangeChange:l,handleScrollAdjust:m,attachVirtualScroll:s,handleRef:i,scroller:u,attachScrollContainer:R,contentProps:S,keyboardHelp:x}};var Ge=require("react/jsx-runtime"),Sc={pointerDragInputs:ao,wheelSpeedMultiplier:Jn,inertiaOptions:Ar(!1),enableKeyboardNavigation:!1},Qf={...Sc,inertiaOptions:Ar(!0)},gc="daily-report-detail-list",Jf=g("relative w-full",Vn,Fn),ey=g(st,"relative"),ty=300,ua=e=>{let t=(0,V.useRef)(null),[r,n]=(0,V.useState)(null),o=yo(t),a=_r(r),i=(0,V.useCallback)(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return(0,Ge.jsx)("div",{ref:i,className:kn,children:(0,Ge.jsx)("div",{className:Hn,children:o===null?null:(0,Ge.jsx)(ry,{...e,viewportHeight:o,reducedMotion:a})})})},ry=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:i,reducedMotion:s})=>{let[{initialScrollAnchor:d,restored:m}]=(0,V.useState)(()=>{let I=a?.current;if(!I||I.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!I.topItem)return{initialScrollAnchor:void 0,restored:!0};let D=e.findIndex(W=>W.reportHubId===I.topItem?.reportHubId);return D!==-1?{initialScrollAnchor:{index:D,offsetPx:I.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:I.topItem.index,offsetPx:0},restored:!0}}),u=(0,V.useRef)(m),f=(0,V.useRef)(n??null),p=(0,V.useRef)(a?.current.measuredHeights??new Map),R=(0,V.useRef)(null),y=uo(),T=co(),[h]=(0,V.useState)(So),l=(0,V.useRef)(null),S=(0,V.useRef)(null),x=(0,V.useRef)(e),C=(0,V.useRef)(o);(0,V.useLayoutEffect)(()=>{x.current=e,C.current=o},[e,o]);let M=(0,V.useRef)(null),[w,K]=(0,V.useState)(0),P=(0,V.useRef)(null),U=e.length,G=t===void 0?U:t,k=(0,V.useCallback)(I=>I>=U?to:e[I],[e,U]),ne=(0,V.useCallback)(I=>{let D=p.current.get(k(I).reportHubId);return D===void 0?ps:D},[k]),H=(0,V.useCallback)(I=>k(I).reportHubId,[k]),ge=(0,V.useMemo)(()=>({kind:"measured",heightOf:ne}),[ne]),Me=(0,V.useCallback)((I,D)=>{M.current={reportHubId:I,index:D},K(W=>W+1),C.current?.(I)},[]),se=(0,V.useCallback)((I,D)=>{if(U===0)return;let W=Math.max(0,I),Y=Math.min(U-1,D);if(W>Y)return;let pe=new Set;for(let it=W;it<=Y;it++){let It=k(it);if(It.businessDate&&pe.add(It.businessDate),pe.size>=cs)break}pe.forEach(it=>{T(it)})},[k,U,T]),Z=(0,V.useCallback)(I=>{if(U===0)return;let{renderingStartIndex:D,renderingEndIndex:W,visibleStartIndex:Y}=I,pe=k(Y);pe.businessDate&&h.setLabel(be(pe.businessDate)),se(D,W),se(W+1,W+eo),se(D-eo,D-1)},[k,U,se,h]),X=(0,V.useCallback)(()=>P.current!==null,[]),{cursor:_e,containerProps:Xe,handleRangeChange:Q,handleScrollAdjust:Pe,attachVirtualScroll:yt,handleRef:Le,scroller:Ie,attachScrollContainer:bt,contentProps:Rt,keyboardHelp:Ft,resolveSelectedIndex:Bt,rememberSelection:Vt}=ca({items:e,selectedId:n??null,onSelect:o===void 0?null:Me,containerRef:R,rootRef:R,testId:gc,itemsRef:x,rowSizing:ge,arrowAlign:"top",rowActivation:!0,isViewRevealPending:X,onRangeChange:Z}),ot=(0,V.useCallback)((I,D)=>{if(Le.current===null)return!1;let W=x.current,Y=D!==null&&D.reportHubId===I?Te(W,I,D.index):Bt(W,I);return Y===-1?!1:(u.current&&(u.current=!1,I===f.current)||D!==null&&D.reportHubId===I&&D.index===Y||Ie.toIndex(Y,{align:"top"}),!0)},[Le,Bt,Ie]);(0,V.useEffect)(()=>{let I=M.current;M.current=null,P.current=null,n!=null&&(ot(n,I)||(P.current=n))},[n,ot]),(0,V.useEffect)(()=>{let I=P.current;I!==null&&ot(I,null)&&(P.current=null)},[e,ot]),(0,V.useEffect)(()=>{let I=a?.current;I&&(I.anchorReportHubId=n??null)},[n,a]),(0,V.useEffect)(()=>{M.current=null},[w]);let Ue=(0,V.useRef)(null),Ze=(0,V.useCallback)(()=>{Le.current&&(Ue.current=Le.current);let I=a?.current,D=Ue.current;if(I&&D){let Y=D.getScrollAnchor(),pe=Y?x.current[Y.index]:void 0;Y&&pe&&(I.topItem={reportHubId:pe.reportHubId,index:Y.index,offsetPx:Y.offsetPx})}let W=R.current;W&&(W.toggleAttribute(gr,!0),S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{W.toggleAttribute(gr,!1),S.current=null},150))},[Le,a]),Ut=(0,V.useCallback)(I=>(0,Ge.jsx)(Eo,{...I,store:h}),[h]);(0,V.useEffect)(()=>{let I=R.current;if(!I)return;let D=()=>{h.setWheelScrollActive(!0),l.current&&clearTimeout(l.current),l.current=window.setTimeout(()=>{h.setWheelScrollActive(!1),l.current=null},ro)};return I.addEventListener("wheel",D,{passive:!0}),()=>{I.removeEventListener("wheel",D),l.current&&clearTimeout(l.current)}},[h]);let at=(0,V.useRef)(null),c=(0,V.useCallback)(I=>{for(let D of I){let W=D.target.parentElement,Y=W===null?null:cr(W),pe=W===null?null:Dr(W),it=D.borderBoxSize[0];if(Y===null||pe===null||it===void 0)continue;let It=it.blockSize+2*Kt;if(p.current.get(Y)===It)continue;let jr=Te(x.current,Y,pe-1);jr!==-1&&(p.current.set(Y,It),Ie.resizeRow(jr,It))}},[Ie]),b=(0,V.useCallback)(I=>{at.current===null&&(at.current=new ResizeObserver(c));let D=at.current;return D.observe(I),()=>D.unobserve(I)},[c]);(0,V.useEffect)(()=>()=>{at.current?.disconnect(),at.current=null},[]),(0,V.useEffect)(()=>{U!==0&&se(0,Math.min(U-1,eo))},[U,se]);let v=(0,V.useRef)(null),E=(0,V.useCallback)(I=>{let D=Te(x.current,I,null);D!==-1&&(v.current!==null&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=null;let W=Te(x.current,I,D);W!==-1&&Ie.toIndex(W,{align:"bottom"})},ty))},[Ie]);(0,V.useEffect)(()=>()=>{v.current!==null&&clearTimeout(v.current)},[]);let A=(0,V.useCallback)(I=>{if(!C.current)return;let D=qt(I.target,R.current);if(D===null||Bs(I.target,D))return;let W=Qr(D,x.current);W!==null&&(Vt(W.reportHubId,W.index),Me(W.reportHubId,W.index))},[Me,Vt]),F=(0,V.useCallback)((I,D)=>(0,Ge.jsx)(_t.Provider,{value:D,children:(0,Ge.jsx)(mc,{item:I,observeRowHeight:b,onCommentAdded:E,userId:r,cursor:_e})},I.reportHubId),[b,E,r,_e]),oe=(0,V.useMemo)(()=>({...oo,renderThumbOverlay:Ut}),[Ut]),j=(0,V.useMemo)(()=>(0,Ge.jsx)(At.Provider,{value:G,children:(0,Ge.jsx)(hc.VirtualScroll,{ref:yt,itemCount:U,getItem:k,getItemKey:H,getItemHeight:ne,viewportSize:i,initialScrollAnchor:d,overscanCount:no,scrollBarOptions:oe,behaviorOptions:s?Qf:Sc,onRangeChange:Q,onScrollAdjust:Pe,onScroll:Ze,testId:gc,className:Jf,locale:y.locale,labels:y.labels,contentProps:Rt,children:F})}),[yt,G,U,k,H,ne,i,s,d,oe,Q,Pe,Ze,y.locale,y.labels,Rt,F]);return(0,Ge.jsx)(Ge.Fragment,{children:(0,Ge.jsxs)("div",{ref:bt,className:ey,...Xe,onClick:A,children:[Ft,j]})})};var mi=xe(require("lucide-react/dist/esm/icons/refresh-cw.js")),Vr=require("react");var Sn=require("react/jsx-runtime"),En=e=>10**String(e).length-1,ma=({text:e,widestText:t,ref:r})=>(0,Sn.jsxs)("span",{ref:r,className:Bi,children:[(0,Sn.jsx)("span",{"aria-hidden":"true",className:Vi,children:t}),(0,Sn.jsx)("span",{className:Ui,children:e})]});var rt=require("react/jsx-runtime"),pi=(0,Vr.createContext)(!0),ny="inline-flex outline-none empty:not-focus:hidden",oy=(e,t,r)=>{if(r===null||r===0)return{text:e.streamProgressCount(t),widestText:e.streamProgressCount(En(t))};let n=En(Math.max(t,r));return{text:e.streamProgressRatio(t,r,Math.min(100,Math.round(t/r*100))),widestText:e.streamProgressRatio(n,n,100)}},ay=({labels:e,loadedCount:t,totalCount:r})=>{let{text:n,widestText:o}=oy(e,t,r);return(0,rt.jsxs)("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:g(We,"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,rt.jsx)("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 motion-safe:animate-pulse dark:bg-blue-400"}),(0,rt.jsx)(ma,{text:n,widestText:o})]})},iy=(e,t,r,n)=>e.phase==="streaming"?(0,rt.jsx)(ay,{labels:t,loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?(0,rt.jsxs)("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:g(We,"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,rt.jsx)(mi.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?(0,rt.jsxs)("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:g(We,"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,rt.jsx)("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:n,className:g("inline-flex h-5 items-center rounded-full bg-rose-200 px-2 font-semibold text-rose-900 hover:bg-rose-300 dark:bg-rose-800 dark:text-rose-100 dark:hover:bg-rose-700",ae),children:t.streamRetry})]}):e.isRevalidating?(0,rt.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,rt.jsx)(mi.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null,Ur=()=>{let e=sl(),{labels:t}=B(),r=(0,Vr.useContext)(pi),n=(0,Vr.useRef)(null);return(0,rt.jsx)("span",{ref:n,tabIndex:-1,"data-daily-report-stream-status":"",className:ny,children:iy(e,t,r,()=>{n.current?.focus({preventScroll:!0}),_o()})})};var br=require("@aiquants/resize-panels"),Gc=require("@aiquants/virtualscroll"),te=require("react");var Ec=require("react"),vc="(max-width: 639px)",sy=()=>{},ly=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return sy;let t=window.matchMedia(vc);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},dy=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(vc).matches:!1,cy=()=>!1,Tc=()=>(0,Ec.useSyncExternalStore)(ly,dy,cy);var pt=require("@aiquants/swipe-overlay"),ee=require("react");var pa=require("react");var Ic=Object.freeze({id:null,indexHint:null}),fa=(0,pa.createContext)(Object.freeze({selected:Ic,settled:Ic})),vn=(e,t)=>{let{id:r,indexHint:n}=t;return(0,pa.useMemo)(()=>{if(r===null)return null;let o=Te(e,r,n);return o===-1?null:e[o]},[e,r,n])};var wc=xe(require("lucide-react/dist/esm/icons/check.js")),Nc=xe(require("lucide-react/dist/esm/icons/pencil.js")),Oc=xe(require("lucide-react/dist/esm/icons/trash-2.js")),J=require("react");var Ht=xe(require("@radix-ui/react-tabs")),nt=xe(require("react"));var Wr=require("react/jsx-runtime"),xc=nt.createContext(null),Cc=e=>{let t=nt.useContext(xc);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},Dc=(e,t)=>`${e}-trigger-${t}`,Ac=(e,t)=>`${e}-panel-${t}`,Tn=nt.forwardRef(({value:e,children:t,...r},n)=>{let o=nt.useId(),a=nt.useMemo(()=>({baseId:o,value:e}),[o,e]);return(0,Wr.jsx)(Ht.Root,{ref:n,value:e,...r,children:(0,Wr.jsx)(xc,{value:a,children:t})})});Tn.displayName=Ht.Root.displayName;var In=nt.forwardRef(({className:e,...t},r)=>(0,Wr.jsx)(Ht.List,{ref:r,className:g("inline-flex",e),...t}));In.displayName=Ht.List.displayName;var xn=nt.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=Cc("TabsTrigger");return(0,Wr.jsx)(Ht.Trigger,{ref:n,value:t,...r,id:Dc(o,t),"aria-controls":Ac(o,t),className:g(`${Hi} ${ae}`,e)})});xn.displayName=Ht.Trigger.displayName;var Kr=nt.forwardRef(({className:e,value:t,children:r,...n},o)=>{let{baseId:a,value:i}=Cc("TabsContent"),s=t===i;return(0,Wr.jsx)("div",{ref:o,role:"tabpanel",id:Ac(a,t),"aria-labelledby":Dc(a,t),"data-state":s?"active":"inactive",hidden:!s,tabIndex:0,...n,className:g(`mt-2 data-[state=inactive]:hidden ${ae}`,e),children:s?r:null})});Kr.displayName="TabsContent";var L=require("react/jsx-runtime"),Mc=g(ar,"w-24 shrink-0"),_c={field:"flex items-baseline",label:Mc,value:"flex-1"},uy={field:"flex min-w-0 flex-1 items-baseline",label:Mc,value:"wrap-break-word min-w-0 flex-1"},my={field:"flex flex-col gap-1",label:ar,value:""},py={field:"flex items-center gap-1",label:ar,value:""},Lc=g("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",Ea,Ti,vi),fy=g("flex flex-col gap-1",va),yy=g("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",ae),fi=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)})}},by=(e,t,r,n,o,a)=>{let i=(0,J.useRef)(null),s=e?.reportHubId;(0,J.useLayoutEffect)(()=>{i.current=null},[s]),(0,J.useEffect)(()=>{n||(i.current=null)},[n]);let d=(0,J.useCallback)(async(m,u)=>{u||(i.current=m.reportHubId);try{await a(m.reportHubId,!m.isRead,m.date)}catch{}},[a]);return(0,J.useEffect)(()=>{if(!(r&&e&&!e.isRead&&!t)||i.current===e.reportHubId)return;let m=null,u=()=>{m!==null&&clearTimeout(m),m=o.isDwelling()?setTimeout(()=>d(e,!0),500):null};u();let f=o.subscribe(u);return()=>{f(),m!==null&&clearTimeout(m)}},[e,t,r,d,o]),{handleToggleRead:d}},yi="article",Ry=["article","relations"],gy=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},hy=g("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",Et),Sy=9,Ey=.875,vy=16,Pc=4*Math.ceil((2*Kt+2*wn+2*Ci+Sy*Ey*vy)/4),kc=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=B(),a=(0,J.useId)(),i=(0,J.useId)(),[s,d]=(0,J.useState)(yi),{selected:m,settled:u}=(0,J.useContext)(fa),f=vn(e,m),p=vn(e,(0,J.useDeferredValue)(u)),R=f===null?null:f.reportHubId,T=(p===null?null:p.reportHubId)===R,[h]=(0,J.useState)(()=>fi(T));return(0,J.useLayoutEffect)(()=>{h.set(T)},[h,T]),(0,L.jsx)("aside",{"data-testid":"daily-report-side-pane","data-report-id":f?.reportHubId,"data-displayed-report-id":p?.reportHubId,"aria-busy":T?void 0:!0,className:hy,children:p===null?(0,L.jsx)("div",{className:g("flex h-full flex-1 items-center justify-center text-center",hr),children:(0,L.jsx)("p",{className:Bn,children:o.selectPrompt})}):(0,L.jsx)(ya,{item:p,headingId:a,authorId:i,activeTab:s,onActiveTabChange:d,autoMarkRead:t,isActive:!0,dwell:h,userId:r,onReportDeleted:n},p.reportHubId)})},ya=(0,J.memo)(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:d,onReportDeleted:m})=>{let{draftLabelName:u,labels:f,sourceTypeConfigs:p,headingLevel:R}=B(),{report:y,error:T,isLoading:h}=Yt(e.reportHubId,e.businessDate),l=Xt(),S=Oo(e.reportHubId),x=S==="editing"||S==="automatic",C=(0,J.useRef)(null),M=(0,J.useRef)(null),w=(0,J.useRef)(!1),K=(0,J.useRef)(!1),P=!!(d&&y?.userId===d),U=y?.labels.some(Q=>Q.name===u);(0,J.useEffect)(()=>{y!==null&&(P&&U&&S==="display"?l.open(e.reportHubId,Pr(y),!0):!U&&S==="automatic"&&l.discard(e.reportHubId))},[y,P,U,S,l,e.reportHubId]);let G=(0,J.useMemo)(()=>y===null?void 0:()=>{w.current=!0,l.open(e.reportHubId,Pr(y),!1)},[l,e.reportHubId,y]),k=(0,J.useCallback)(()=>{K.current=!0,l.dismiss(e.reportHubId)},[l,e.reportHubId]),ne=(0,J.useCallback)(()=>{K.current=!0,l.discard(e.reportHubId)},[l,e.reportHubId]),H=(0,J.useCallback)(Q=>{Q===null||!w.current||(w.current=!1,Q.focus())},[]),ge=(0,J.useCallback)(Q=>{Q===null||!K.current||(K.current=!1,Q.focus())},[]),Me=(0,J.useCallback)(()=>{M.current?.focus({preventScroll:!0})},[]);(0,J.useLayoutEffect)(()=>{x||!K.current||(K.current=!1,M.current?.focus())},[x]);let se=(0,J.useCallback)(()=>{setTimeout(()=>{let Q=C.current;Q!==null&&Q.scrollTo({top:Q.scrollHeight,behavior:zs(Q)})},100)},[]),Z=be(e.businessDate),X=y===null?null:he(y.employeeName),_e=h||!y,Xe=y===null?void 0:Gt(y.sourceType,p);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{className:fy,children:[(0,L.jsx)("dl",{className:"m-0",children:(0,L.jsx)(Ee,{label:f.businessDate,classNames:my,children:(0,L.jsx)(et,{ref:M,level:R,id:t,tabIndex:-1,className:yy,children:Z})})}),(0,L.jsxs)("div",{className:"flex min-h-4 items-center gap-1 text-slate-500 text-xs dark:text-slate-300",children:[(0,L.jsx)("dl",{className:"m-0",children:(0,L.jsx)(Ee,{label:f.author,classNames:py,valueId:r,children:_e?(0,L.jsx)("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):X})}),Xe?(0,L.jsx)(Hr,{config:Xe,className:"ml-2"}):null]})]}),(0,L.jsxs)(Tn,{value:n,onValueChange:Q=>o(gy(Q)),className:"flex min-h-0 flex-1 flex-col",children:[(0,L.jsx)("div",{className:va,children:(0,L.jsx)(In,{"aria-label":f.reportTabList,className:g(Pi,"grid grid-cols-2 gap-1"),children:Ry.map(Q=>(0,L.jsx)(xn,{value:Q,children:Q==="article"?f.tabArticle:f.tabRelations},Q))})}),(0,L.jsx)(Kr,{ref:C,value:"article",className:Lc,children:x?y?(0,L.jsx)(Zo,{report:y,onCancel:k,onPublishSuccess:ne,titleInputRef:H}):(0,L.jsx)("p",{className:hr,children:f.loading}):(0,L.jsx)(Ty,{report:y,sourceConfig:Xe,isLoading:h,error:T,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:se,userId:d,onEdit:P?G:void 0,editButtonRef:ge,onReportDeleted:m,onCommentSectionRemoved:Me})}),(0,L.jsx)(Kr,{value:"relations",className:Lc,children:(0,L.jsx)("p",{className:hr,children:f.relationsEmpty})})]})]})});ya.displayName="DailyReportSidePaneContent";var zr=({className:e="w-32"})=>(0,L.jsx)("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),Ty=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:i=!0,dwell:s,onCommentAdded:d,userId:m,onEdit:u,editButtonRef:f,onReportDeleted:p,onCommentSectionRemoved:R})=>{let{toggleStar:y,toggleRead:T,deleteReport:h}=Fe(),{labels:l,headingLevel:S}=B(),x=Qt[S],{handleToggleRead:C}=by(e,r,a,i,s,T),M=e!==null&&Zn(e.sourceType,t),w=(0,J.useMemo)(()=>e?.content?e.content.replace(/<br\s*\/?\s*>/gi,`
|
|
3
|
+
`,a)){let s=n.slice(a,i);o.push(t.length===0?s:[...t,s].join("")),t=[],a=i+1}return a<n.length&&t.push(n.slice(a)),o};return{push:n=>r(e.decode(n,{stream:!0})),end:()=>{let n=r(e.decode()),o=t.join("");return t=[],o===""?n:[...n,o]}}};var Sm=50,gm=32,Ol=0,Em=()=>(Ol+=1,Ol),vm=1e3,Im=3e4,Tm=6,xm=3e4,Wo=Symbol("read-stall"),Dm="/daily_report/api",$r=class{constructor(t={}){this.itemMap=new Map;this.listeners=new Set;this.state={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null};this.streamAnchorRevision=0;this.lastCursor=null;this.lastSnapshot=null;this.consecutiveFailures=0;this.started=!1;this.disposed=!1;this.loopGeneration=0;this.activeAbortController=null;this.activeSeenIds=null;this.externalRemovalTombstones=new Set;this.pendingForceRefresh=!1;this.wakeRetryWait=null;this.handleOnline=()=>this.wakeRetryWait?.();this.publishCoalesceTimer=null;this.lastItemsPublishAt=Number.NEGATIVE_INFINITY;this.pendingItemsChange=hn();this.apiBasePath=t.apiBasePath??Dm,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??xm,this.publishCoalesceMs=t.publishCoalesceMs??Sm,this.now=t.now??(()=>performance.now()),typeof window<"u"&&window.addEventListener("online",this.handleOnline)}getState(){return this.state}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}start(){this.started||this.disposed||(this.started=!0,this.runStreamLoop({revalidate:!1,forceRefresh:!1}))}retry(){this.disposed||this.state.phase!=="failed"||(this.consecutiveFailures=0,this.runStreamLoop({revalidate:this.state.hasCompletedOnce,forceRefresh:!1}))}refresh(t={}){if(!this.disposed){if(this.state.phase==="failed"){this.consecutiveFailures=0,this.runStreamLoop({revalidate:this.state.hasCompletedOnce,forceRefresh:t.forceRefresh??!1});return}if(this.state.phase==="complete"){if(this.state.isRevalidating){t.forceRefresh&&(this.pendingForceRefresh=!0);return}this.lastCursor=null,this.consecutiveFailures=0,this.runStreamLoop({revalidate:!0,forceRefresh:t.forceRefresh??!1})}}}resync(){if(!this.disposed){if(this.state.phase==="streaming"||this.state.phase==="retrying"){this.pendingForceRefresh=!0;return}this.refresh({forceRefresh:!0})}}applyExternalUpsert(t){if(this.disposed||!t||typeof t.reportHubId!="number")return;this.externalRemovalTombstones.delete(t.reportHubId),this.activeSeenIds?.add(t.reportHubId);let r=this.itemMap.get(t.reportHubId),n={reportHubId:t.reportHubId,businessDate:t.businessDate,sourceType:t.sourceType??r?.sourceType};this.putItem(r,n)&&this.schedulePublishItems()}applyExternalRemoval(t){this.disposed||(this.activeSeenIds?.delete(t),this.externalRemovalTombstones.add(t),this.deleteItem(t)&&this.schedulePublishItems())}has(t){return this.itemMap.has(t)}readItems(){let t=Array.from(this.itemMap.values());if(this.pendingItemsChange.isEmpty())return t;let{appended:r,replaced:n,removed:o}=this.pendingItemsChange.build(this.state.itemsRevision,this.state.itemsRevision),a=new Set(r.map(l=>l.reportHubId)),i=new Map(n.map(({previous:l})=>[l.reportHubId,l])),s=[];for(let l of t){if(a.has(l.reportHubId))continue;let u=i.get(l.reportHubId);s.push(u===void 0?l:u)}for(let l of o)s.push(l);return s}dispose(){this.disposed=!0,this.loopGeneration+=1,this.activeAbortController?.abort(),this.cancelScheduledPublishItems(),this.wakeRetryWait?.(),typeof window<"u"&&window.removeEventListener("online",this.handleOnline),this.listeners.clear()}async runStreamLoop(t){let r=++this.loopGeneration;for(this.activeAbortController?.abort(),this.wakeRetryWait?.(),this.lastCursor===null&&(this.activeSeenIds=new Set,this.externalRemovalTombstones.clear(),this.lastSnapshot=null),t.forceRefresh&&(this.pendingForceRefresh=!1),this.publish({phase:t.revalidate?this.state.phase:"streaming",isRevalidating:t.revalidate,error:null});!this.disposed&&r===this.loopGeneration;){let n=await this.streamOnce(t.forceRefresh);if(this.disposed||r!==this.loopGeneration)return;if(n.kind==="complete"){this.pruneUnseenItems(),this.consecutiveFailures=0,this.cancelScheduledPublishItems();let o=this.takePendingItems();this.publish({phase:"complete",isRevalidating:!1,hasCompletedOnce:!0,completedAt:Date.now(),error:null,...o}),this.pendingForceRefresh&&!this.disposed&&(this.pendingForceRefresh=!1,this.lastCursor=null,this.runStreamLoop({revalidate:!0,forceRefresh:!0}));return}if(n.kind==="aborted")return;if(n.kind==="auth-required"){this.publish({phase:"auth-required",isRevalidating:!1});return}if(this.consecutiveFailures+=1,this.consecutiveFailures>=Tm){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(vm*2**(this.consecutiveFailures-1),Im))}}pruneUnseenItems(){let t=this.activeSeenIds;if(this.activeSeenIds=null,!!t)for(let r of Array.from(this.itemMap.keys()))t.has(r)||this.deleteItem(r)}async streamOnce(t){let r=new AbortController;this.activeAbortController=r;try{let n=this.fetchFn(this.buildStreamUrl(t),{signal:r.signal,headers:{Accept:"application/x-ndjson"},cache:"no-store"}),o=null,a=this.readStallTimeoutMs<=0?await n:await Promise.race([n,new Promise(d=>{o=this.setTimeoutFn(()=>d(Wo),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===Wo)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=Nl(),l=!1,u=!1;for(;;){let d=await this.readWithStallGuard(i);if(d===Wo)return r.abort(),i.cancel().catch(()=>{}),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let p=d.done?s.end():s.push(d.value),m=!1;for(let g of p){if(g.trim()==="")continue;let y;try{y=JSON.parse(g)}catch{this.warn("[DailyReportIdsStream] skipped malformed line");continue}let T=vs(y);if(T==="unknown"){this.warn("[DailyReportIdsStream] skipped line of unknown kind");continue}if(T==="error"){l=!0;continue}let v=y;m=this.absorbChunkLine(v)||m,typeof v.total=="number"&&Number.isFinite(v.total)&&v.total!==this.state.totalCount&&this.publish({totalCount:v.total}),v.nextCursor&&(v.nextCursor.businessDate===null||so(v.nextCursor.businessDate))&&(this.lastCursor=v.nextCursor),v.isLast&&(u=!0)}if(m&&(this.consecutiveFailures=0,this.schedulePublishItems()),d.done)break}return l?{kind:"retryable",error:new Error("Stream interrupted by server error")}:u?{kind:"complete"}:{kind:"retryable",error:new Error("Stream ended before completion")}}catch(n){return n instanceof Error&&n.name==="AbortError"?{kind:"aborted"}:{kind:"retryable",error:n instanceof Error?n:new Error(String(n))}}finally{this.activeAbortController===r&&(this.activeAbortController=null)}}async readWithStallGuard(t){if(this.readStallTimeoutMs<=0)return t.read();let r=null,n=new Promise(o=>{r=this.setTimeoutFn(()=>o(Wo),this.readStallTimeoutMs)});try{return await Promise.race([t.read(),n])}finally{r!==null&&this.clearTimeoutFn(r)}}absorbChunkLine(t){t.restarted===!0&&(this.lastCursor=null,this.lastSnapshot=null,this.activeSeenIds=new Set,this.externalRemovalTombstones.clear()),typeof t.snapshot=="string"&&(this.lastSnapshot=t.snapshot),t.streamAnchor!==void 0&&this.absorbStreamAnchor(t.streamAnchor);let r=t.provisional===!0,n=!1;for(let o of t.items)!o||typeof o.reportHubId!="number"||this.externalRemovalTombstones.has(o.reportHubId)||(r||this.activeSeenIds?.add(o.reportHubId),n=this.putItem(this.itemMap.get(o.reportHubId),o)||n);return n}putItem(t,r){return t===void 0?(this.itemMap.set(r.reportHubId,r),this.pendingItemsChange.add(r),!0):t.businessDate===r.businessDate&&t.sourceType===r.sourceType?!1:(this.itemMap.set(r.reportHubId,r),this.pendingItemsChange.change(t,r),!0)}deleteItem(t){let r=this.itemMap.get(t);return r===void 0?!1:(this.itemMap.delete(t),this.pendingItemsChange.remove(r),!0)}absorbStreamAnchor(t){if(t!==null&&!(typeof t=="string"&&co(t))){this.warn(`[DailyReportIdsStream] ids stream carried a malformed streamAnchor: ${String(t)}`);return}this.streamAnchorRevision+=1,this.publish({streamAnchor:{lastEventId:t,revision:this.streamAnchorRevision}})}takePendingItems(){if(this.pendingItemsChange.isEmpty())return{};this.lastItemsPublishAt=this.now();let t=Em(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange=hn(),{loadedCount:this.itemMap.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-gm),r]}}publishItems(){let t=this.takePendingItems();t.itemsRevision!==void 0&&this.publish(t)}schedulePublishItems(){if(this.publishCoalesceMs<=0){this.publishItems();return}let t=this.now()-this.lastItemsPublishAt;if(t>=this.publishCoalesceMs){this.publishItems();return}this.publishCoalesceTimer===null&&(this.publishCoalesceTimer=this.setTimeoutFn(()=>{this.publishCoalesceTimer=null,this.publishItems()},this.publishCoalesceMs-t))}cancelScheduledPublishItems(){this.publishCoalesceTimer!==null&&(this.clearTimeoutFn(this.publishCoalesceTimer),this.publishCoalesceTimer=null)}publish(t){this.state={...this.state,...t};for(let r of this.listeners)r()}buildStreamUrl(t){let r=Ll({cursor:this.lastCursor,snapshot:this.lastCursor===null?null:this.lastSnapshot,forceRefresh:t}).toString();return`${this.apiBasePath}/${ao}${r?`?${r}`:""}`}waitBeforeRetry(t){return new Promise(r=>{let n=null,o=()=>{n!==null&&(this.clearTimeoutFn(n),n=null),this.wakeRetryWait===o&&(this.wakeRetryWait=null),r()};this.wakeRetryWait=o,n=this.setTimeoutFn(o,t)})}};var Cm=6e4,de=null,Ml=!1,Sn=new Set,Ko={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},ui=()=>{for(let e of Sn)e()},kl=()=>{de&&(de.unsubscribe(),de.client.dispose(),de=null,ui())},zr=e=>{if(typeof window>"u")return;let t=e.apiBasePath??Hr.apiBasePath;if(de&&(de.userKey!==e.userKey||de.apiBasePath!==t)&&(de.userKey!==e.userKey&&fn(),kl()),!de){let r=new $r({apiBasePath:t});de={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(ui)},Am(),r.start(),ui();return}zo(de)},zo=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>Cm&&e.client.refresh()},Am=()=>{if(Ml||typeof document>"u"||typeof window>"u")return;Ml=!0;let e=()=>{de&&zo(de)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},jo=e=>{if(!(typeof window>"u")){if(!de){zr(e);return}if(de.userKey!==e.userKey){fn(),kl(),zr(e);return}zo(de)}},Go=()=>{typeof window>"u"||!de||zo(de)},gn=e=>{de?.client.applyExternalUpsert(e)},qo=e=>{de?.client.applyExternalRemoval(e)},Hl=e=>de===null?!1:de.client.has(e),_m=()=>de===null?[]:de.client.readItems(),pi=()=>de===null?0:de.client.getState().itemsRevision,Yo=()=>{de?.client.retry()},En=()=>{de?.client.resync()},vn=(e={})=>{de?.client.refresh(e)},Fl=()=>de?.userKey,In=e=>(Sn.add(e),()=>Sn.delete(e)),$o=()=>de?.client.getState()??Ko,Lm=()=>Ko,Bl=()=>(0,Et.useSyncExternalStore)(In,$o,Lm),Xo=(e,t)=>{let r=Ko,n=e(Ko);return()=>{let o=$o();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},Vl=Xo(({phase:e,isRevalidating:t,error:r,streamAnchor:n,loadedCount:o})=>({phase:e,isRevalidating:t,error:r,streamAnchor:n,hasItems:o>0}),(e,t)=>e.phase===t.phase&&e.isRevalidating===t.isRevalidating&&e.error===t.error&&e.streamAnchor===t.streamAnchor&&e.hasItems===t.hasItems),wm=Vl(),jr=()=>(0,Et.useSyncExternalStore)(In,Vl,()=>wm),Ul=Xo(({phase:e,isRevalidating:t,loadedCount:r,totalCount:n})=>({phase:e,isRevalidating:t,loadedCount:r,totalCount:n}),(e,t)=>e.phase===t.phase&&e.isRevalidating===t.isRevalidating&&e.loadedCount===t.loadedCount&&e.totalCount===t.totalCount),Nm=Ul(),Wl=()=>(0,Et.useSyncExternalStore)(In,Ul,()=>Nm),Kl=Xo(({phase:e,loadedCount:t})=>({phase:e,hasItems:t>0,retryingCount:e==="retrying"?t:null}),(e,t)=>e.phase===t.phase&&e.hasItems===t.hasItems&&e.retryingCount===t.retryingCount),Om=Kl(),$l=()=>(0,Et.useSyncExternalStore)(In,Kl,()=>Om),zl=Xo(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),Mm=zl(),jl=()=>(0,Et.useSyncExternalStore)(In,zl,()=>Mm),Gl=e=>e.phase==="complete"&&!e.isRevalidating,Pl=e=>`${e.itemsRevision}:${Gl(e)}`,ql=()=>{let[,e]=(0,Et.useState)(0),t=$o(),r=Pl(t);return(0,Et.useLayoutEffect)(()=>{let n=r,o=()=>{let a=Pl($o());a!==n&&(n=a,(0,Et.startTransition)(()=>e(i=>i+1)))};return Sn.add(o),o(),()=>{Sn.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readItems:_m,settled:Gl(t)}};var Tr=Mr(1,"daily-report-sse-connection"),Pm=Object.freeze({kind:"resyncing"}),Yl={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},km=1,Zl=ja*3,Hm=Zl+ja,Qo=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=K(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=jr(),[l,u]=(0,At.useState)({generation:0,minAnchorRevision:1,anchored:!1}),d=l.generation>0&&!l.anchored,p=d&&a==="complete"&&!i?s:null,m=(0,At.useRef)(0),g=(0,At.useRef)(null),y=(0,At.useRef)(n);y.current=n;let T=(0,At.useRef)(0);T.current=o===null?0:o.revision,(0,At.useEffect)(()=>{l.anchored||o===null||o.revision<l.minAnchorRevision||(g.current=o.lastEventId,m.current=0,u({...l,anchored:!0}))},[l,o]),(0,At.useEffect)(()=>{if(!e||p===null)return;let{initialDelayMs:c,maxDelayMs:h,multiplier:E}=Yl,S=Tn.systemSseRuntime.random()*Math.min(h,c*E**m.current);Tr.warn(`SSE resync: the ids rescan gave up (${p.message}); rescanning in ${Math.round(S)} ms`);let x=Tn.systemSseRuntime.setTimer(()=>{m.current+=1,En()},S);return()=>Tn.systemSseRuntime.clearTimer(x)},[e,p]);let{status:v}=(0,Ql.useReopeningEventSource)(e&&l.anchored?`${r}#${l.generation}`:null,{resolveUrl:({lastEventId:c})=>c===null?r:`${r}?${As}=${encodeURIComponent(c)}`,initialLastEventId:g.current,withCredentials:!1,createEventSource:Xl.createBrowserEventSource,runtime:Tn.systemSseRuntime,backoff:Yl,healthyOpenMs:Hm,nativeRetryLimit:km,giveUpAfterFailures:"never",terminalEvents:Cs,heartbeat:{staleAfterMs:Zl,onHeartbeat:null},events:{message:c=>{c.lastEventId!==""&&(co(c.lastEventId)?g.current=c.lastEventId:Tr.warn("SSE event carried a malformed id; keeping the previous cursor:",c.lastEventId));try{let h=JSON.parse(c.data),E=_s.safeParse(h);if(!E.success){Tr.error("SSE Validation Error:",E.error.flatten(),"raw message:",h);return}if(E.data.type==="connected"){Tr.info("SSE Subscribe Ready");return}t(E.data)}catch(h){Tr.error("SSE Parse Error",h)}}}});return(0,At.useEffect)(()=>{if(v.kind==="faulted"){Tr.error("SSE connection faulted:",v.error);return}if(v.kind==="terminated")switch(v.terminalEvent){case"auth-required":y.current();return;case"forbidden":Tr.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let c=T.current+1;u(h=>({generation:h.generation+1,minAnchorRevision:c,anchored:!1})),En();return}}},[v]),e&&d?Pm:v};var Ut=require("react"),Jl=()=>{let e=new Map,t=new Map,r=(n,o)=>{o===null?e.delete(n):e.set(n,o);let a=t.get(n);if(a!==void 0)for(let i of[...a])i()};return{modeOf:n=>{let o=e.get(n);return o===void 0?"display":o.mode},inputOf:n=>{let o=e.get(n);return o===void 0||o.mode==="dismissed"?null:o.input},subscribe:(n,o)=>{let a=t.get(n),i=a===void 0?new Set:a;return a===void 0&&t.set(n,i),i.add(o),()=>{i.delete(o),i.size===0&&t.get(n)===i&&t.delete(n)}},open:(n,o,a)=>{let i=e.get(n);i!==void 0&&i.mode!=="dismissed"||r(n,{mode:a?"automatic":"editing",input:o})},setInput:(n,o)=>{let a=e.get(n);a===void 0||a.mode==="dismissed"||r(n,{mode:a.mode,input:{...a.input,...o}})},dismiss:n=>{e.get(n)?.mode!=="dismissed"&&r(n,{mode:"dismissed"})},discard:n=>{e.has(n)&&r(n,null)}}},mi=(0,Ut.createContext)(null),lr=()=>{let e=(0,Ut.useContext)(mi);if(e===null)throw new Error("[daily-report] the draft store is read outside a DailyReportActionProvider");return e},ed=(e,t)=>(0,Ut.useCallback)(r=>e.subscribe(t,r),[e,t]),Zo=e=>{let t=lr(),r=()=>t.modeOf(e);return(0,Ut.useSyncExternalStore)(ed(t,e),r,r)},td=e=>{let t=lr(),r=()=>t.inputOf(e),n=(0,Ut.useSyncExternalStore)(ed(t,e),r,r);if(n===null)throw new Error(`[daily-report] the edit form is rendered for report ${e}, whose editor is not open`);return n};var dd=require("@aiquants/swipe-overlay"),ue=require("react"),yi=require("react-dom");var Fm=Object.freeze({visibilityProperty:!0,opacityProperty:!0}),rd="data-daily-report-view-tabs",nd={[rd]:""},od="data-daily-report-status-panel",ad={[od]:""},Bm=e=>{for(let t of e.getClientRects())if(t.width>0&&t.height>0)return!0;return!1},Vm=e=>e.isConnected&&yn(e)&&Bm(e)&&e.checkVisibility(Fm),Ot=e=>{for(let t of e)if(!(t===null||!Vm(t))&&(t.focus({preventScroll:!0}),ke(t)===t))return t;return null},fi=e=>e.querySelector(`[${rd}] [role="tab"][aria-selected="true"]`),Jo=e=>[Ho(e),fi(e),e.querySelector(`[${od}]`)];var xr=e=>e.isComposing||e.keyCode===229,Gr=e=>({key:e.key,keyCode:e.keyCode,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,defaultPrevented:e.defaultPrevented,isComposing:e.nativeEvent.isComposing,target:e.target});var Um={kind:"hold"},Wm=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),Km=(e,t)=>{let r=e.getAttribute("role");return r!==null&&Wm.has(r)&&e!==t&&e.contains(t)},Wt=e=>e.key==="Escape"&&!e.defaultPrevented&&!xr(e),id=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||xr(e))return null;let r=e.target;if(!(_e(r)&&t.contains(r)))return null;let n=fl(t);if(n.length===0)return Um;let{before:o,within:a,after:i}=No(t,r);return e.shiftKey?o.some(s=>!Km(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};var sd=require("react"),Dr=(e,t,r)=>{let n=(0,sd.useContext)(e);if(n===null)throw new Error(`[daily-report] ${t} must be used within a ${r}`);return n};var at=require("react/jsx-runtime"),$m=I("motion-safe:fade-in motion-safe:slide-in-from-bottom-2 flex w-fit min-w-0 max-w-full items-center gap-2 rounded-lg border border-red-300 border-solid bg-red-600 px-[15px] py-[7px] text-sm text-white shadow-lg motion-safe:animate-in motion-safe:duration-200 dark:border-red-500/60 dark:bg-red-700",tr),zm="flex shrink-0 justify-center p-[8px]",jm=I("flex size-6 shrink-0 items-center justify-center rounded font-bold text-white/90 hover:bg-red-700 hover:text-white dark:hover:bg-red-800",Zi),Gm="data-daily-report-notice-alert",qm={[Gm]:""},cd=(0,ue.createContext)(null),ea=()=>Dr(cd,"useDailyReportErrorSurface","DailyReportErrorProvider"),ld=({notice:e})=>(0,at.jsx)("div",{role:"alert",...qm,className:"sr-only",children:e===null?null:(0,at.jsx)("span",{children:e.info.message},e.occurrence)}),Ym=({notice:e,closeLabel:t,repeatedLabel:r,onDismiss:n})=>{let o=(0,ue.useRef)(null),a=(0,ue.useRef)(null),i=(0,ue.useRef)(null),s=(0,dd.useOverlayEscapeStack)(),l=(0,ue.useId)(),u=(0,ue.useId)(),d=(0,ue.useId)(),p=e.repeat>1?`${u} ${d}`:u,m=(0,ue.useCallback)(()=>{let T=o.current;if(T?.contains(T.ownerDocument.activeElement)){let[v,...c]=Jo(T.ownerDocument);Ot([a.current,v,T.closest("dialog"),...c])}n()},[n]),g=T=>{if(i.current!==null)return;let v=T.relatedTarget;a.current=_e(v)&&!T.currentTarget.contains(v)?v:null,i.current=s({id:l,onEscape:c=>Wt(c)?(m(),!0):!1})},y=T=>{_e(T.relatedTarget)&&T.currentTarget.contains(T.relatedTarget)||(i.current?.(),i.current=null,a.current=null)};return(0,ue.useLayoutEffect)(()=>()=>{i.current?.(),i.current=null},[]),(0,at.jsxs)("div",{ref:o,role:"group","aria-labelledby":p,"data-testid":"daily-report-error-banner",className:$m,onFocus:g,onBlur:y,children:[(0,at.jsx)("span",{id:u,className:"min-w-0 font-medium",children:(0,at.jsx)(ue.Fragment,{children:e.info.message},e.occurrence)}),e.repeat>1&&(0,at.jsx)("span",{id:d,className:"shrink-0 font-normal tabular-nums",children:r(e.repeat)}),(0,at.jsx)("button",{type:"button","aria-label":t,"aria-describedby":p,onClick:m,className:jm,children:"\u2715"})]})},ta=({children:e})=>{let{onError:t,labels:r}=K(),[n,o]=(0,ue.useState)(null),[a,i]=(0,ue.useState)([]),s=(0,ue.useRef)([]),l=(0,ue.useRef)(0),u=(0,ue.useRef)(0),d=(0,ue.useRef)(t);(0,ue.useLayoutEffect)(()=>{d.current=t});let p=(0,ue.useCallback)(h=>{let E=d.current;if(E){E(h);return}u.current+=1;let S=u.current,x=s.current,N=x.length===0?null:x[x.length-1].registration;o(O=>({info:h,occurrence:S,repeat:O!==null&&O.info.message===h.message?O.repeat+1:1,announcedIn:N}))},[]),m=(0,ue.useCallback)(h=>{l.current+=1;let E={element:h,registration:l.current};return s.current=[...s.current,E],i(s.current),()=>{s.current=s.current.filter(S=>S!==E),i(s.current)}},[]),g=(0,ue.useCallback)(()=>o(null),[]),y=(0,ue.useMemo)(()=>({notifyError:p,registerNoticeHost:m}),[p,m]),T=a.at(-1),v=n===null?null:(0,at.jsx)(Ym,{notice:n,closeLabel:r.close,repeatedLabel:r.noticeRepeated,onDismiss:g}),c=h=>n!==null&&n.announcedIn===h?n:null;return(0,at.jsxs)(cd.Provider,{value:y,children:[e,(0,at.jsx)(ld,{notice:c(null)}),a.map(h=>(0,yi.createPortal)((0,at.jsx)(ld,{notice:c(h.registration)}),h.element,String(h.registration))),v!==null&&T!==void 0&&(0,yi.createPortal)(v,T.element),v!==null&&T===void 0&&(0,at.jsx)("div",{"data-daily-report-notice-slot":"",className:zm,children:v})]})};var ud=require("react");var Xm={items:[],held:new Map,revision:null,settled:!1},qr=(e,t)=>{let r=0,n=e.length;for(;r<n;){let o=r+n>>1;hr(e[o],t)<0?r=o+1:n=o}return r<e.length&&e[r].reportHubId===t.reportHubId?r:-1},pd=(e,t,r)=>{let n=r,o=e.length;for(;n<o;){let a=n+o>>1;hr(e[a],t)<=0?n=a+1:o=a}return n},Qm=(e,t)=>e.businessDate===t.businessDate,xn={removals:[],replacements:[],additions:[],insertions:[]},Zm=(e,t)=>{if(t.length===0)return[];if(e.length===0||hr(e[e.length-1],t[0])<0)return new Array(t.length).fill(e.length);let r=[],n=0;for(let o of t)n=pd(e,o,n),r.push(n);return r},ra=(e,t)=>{let{additions:r,insertions:n}=t;if(t.removals.length===0&&t.replacements.length===0&&r.length===0)return e;let o=[...t.removals].sort((g,y)=>g-y),a=[...t.replacements].sort((g,y)=>g.index-y.index),i=e.length,s=new Array(i-o.length+r.length),l=0,u=0,d=0,p=0,m=0;for(;;){let g=Math.min(d<o.length?o[d]:i,p<a.length?a[p].index:i,m<r.length?n[m]:i);for(;u<g;u++)s[l++]=e[u];for(;m<r.length&&n[m]===g;m++)s[l++]=r[m];if(g===i)break;d<o.length&&o[d]===g?(d+=1,u=g+1):p<a.length&&a[p].index===g&&(s[l++]=a[p].item,p+=1,u=g+1)}return s},md=(e,t,r,n)=>{let o=new Set,a=[];for(let s of t.readItems())o.add(s.reportHubId),n.has(s.reportHubId)||a.push(s);let i=new Map;for(let s of e.items){if(o.has(s.reportHubId)||n.has(s.reportHubId))continue;let l=e.held.get(s.reportHubId),u=l===void 0?Number.NEGATIVE_INFINITY:l.since;r&&s.reportHubId>0&&t.itemsRevision>u||(i.set(s.reportHubId,{item:s,since:u}),a.push(s))}return Ka(a)||a.sort(hr),{items:a,held:i,revision:t.itemsRevision,settled:r}},Jm=(e,t,r,n)=>{let o=e.revision;if(o===t.itemsRevision&&e.settled===r)return e;let a=o===null?null:o===t.itemsRevision?[]:wl(t.itemsChanges,o);if(o===null||a===null)return md(e,t,r,n);let i=hn();for(let E of a)i.fold(E);let{appended:s,replaced:l,removed:u}=i.build(o,t.itemsRevision),d=e.items,p=null,m=()=>(p===null&&(p=new Map(e.held)),p),g=[],y=[],T=[];for(let E of u){if(e.held.has(E.reportHubId))continue;let S=qr(d,E);S!==-1&&(r||n.has(E.reportHubId)?g.push(S):m().set(E.reportHubId,{item:E,since:Number.NEGATIVE_INFINITY}))}let v=(E,S)=>{let x=E.reportHubId,N=e.held.get(x);N!==void 0&&m().delete(x);let O=N===void 0?S:N.item,C=O===void 0?-1:qr(d,O);if(n.has(x)){C!==-1&&g.push(C);return}if(C!==-1&&Qm(d[C],E)){d[C].sourceType!==E.sourceType&&y.push({index:C,item:E});return}C!==-1&&g.push(C),T.push(E)};for(let{previous:E,next:S}of l)v(S,E);for(let E of s)v(E,void 0);let c=t.itemsRevision;if(r)for(let[E,S]of p===null?e.held:p){if(E<=0||c<=S.since)continue;let x=qr(d,S.item);x!==-1&&g.push(x),m().delete(E)}return Ka(T)||T.sort(hr),{items:ra(d,{removals:g,replacements:y,additions:T,insertions:Zm(d,T)}),held:p===null?e.held:p,revision:c,settled:r}},fd=(e,t,r)=>{let[n,o]=(0,ud.useState)(()=>md(Xm,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>Jm(a,e,t,r)),[n,o]},ef=(e,t)=>{for(let r=0;r<e.length;r++)if(e[r].reportHubId===t)return!0;return!1},na=(e,t,r)=>{if(e.held.has(t.reportHubId)||qr(e.items,t)!==-1||ef(e.items,t.reportHubId))return e;let n=ra(e.items,{...xn,additions:[t],insertions:[pd(e.items,t,0)]}),o=new Map(e.held);return o.set(t.reportHubId,{item:t,since:r}),{...e,items:n,held:o}},Dn=(e,t)=>{let r=e.held.get(t);if(r===void 0)return e;let n=qr(e.items,r.item),o=new Map(e.held);return o.delete(t),{...e,items:ra(e.items,n===-1?xn:{...xn,removals:[n]}),held:o}},yd=(e,t)=>{let r=e.held.get(t.reportHubId),n=qr(e.items,r===void 0?t:r.item);if(r===void 0&&n===-1)return e;let o=new Map(e.held);return o.delete(t.reportHubId),{...e,items:ra(e.items,n===-1?xn:{...xn,removals:[n]}),held:o}},bd=e=>({...e,revision:null});var bi=(e,t,r)=>{if(!Number.isFinite(e)||e<=0)throw Ye("createExpiringLedger: ttlMs","a finite number greater than 0 (the time to live in ms)",e);let n=new Map,o=()=>{let a=t();for(let[i,s]of n){if(s.deadline>a)return;n.delete(i),r(i,s.value)}};return{add:(a,i)=>{o(),n.delete(a),n.set(a,{value:i,deadline:t()+e})},get:a=>(o(),n.get(a)?.value),remove:a=>{o();let i=n.get(a);if(i!==void 0)return n.delete(a),i.value},drain:()=>{let a=[...n.values()].map(i=>i.value);return n.clear(),a},size:()=>n.size}};var Ri=0,hi=e=>{let t=nr("drawTemporaryId: nowMs",e,1);return Ri=Math.min(-t,Ri-1),Ri};var Yr=require("react/jsx-runtime"),Kt=Mr(1,"daily-report-action-context"),tf=3e4,rf=3e4,nf=1e3,Si=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},of=e=>{let t=bi(tf,e,()=>{});return{add:r=>t.add(r,!0),has:r=>t.get(r)===!0}},af=e=>bi(rf,e,(t,r)=>{r.unsubscribe(),Kt.warn(`[SSE Queue] Expired: reportHubId=${t}, dropped=${r.messages.length} messages`)}),ng=Object.freeze(["delete","deleteComment"]),sf=e=>e.intent==="create"?null:e.reportHubId,lf=(e,t)=>{let r=e;if(r.intent==="clearCache"||r.clientTempId!==t.clientTempId)return!1;let n=sf(t);return n===null||r.reportHubId===n},aa=globalThis.__DailyReportActionsContext??(0,re.createContext)(null);globalThis.__DailyReportActionsContext=aa;var ia=globalThis.__DailyReportActionStateContext??(0,re.createContext)(null);globalThis.__DailyReportActionStateContext=ia;var oa="DailyReportActionProvider",Xe=()=>Dr(aa,"useDailyReportActions",oa),sa=()=>Dr(ia,"useDailyReportActionState",oa),Rd=()=>{let e=Dr(aa,"useDailyReportActionContext",oa),t=Dr(ia,"useDailyReportActionContext",oa);return(0,re.useMemo)(()=>({...e,...t}),[e,t])},Cr=(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},df=()=>({pendingAddCommentIds:{current:new Map},pendingDeleteCommentIds:{current:new Map},pendingStarUpdates:{current:new Map},pendingReadUpdates:{current:new Map},resolvedIdMap:{current:new Map}}),cf=e=>({functions:{toggleSse:()=>e.current.toggleSse(),addComment:(t,r,n)=>e.current.addComment(t,r,n),deleteComment:(t,r,n)=>e.current.deleteComment(t,r,n),toggleStar:(t,r,n)=>e.current.toggleStar(t,r,n),toggleRead:(t,r,n)=>e.current.toggleRead(t,r,n),createReport:t=>e.current.createReport(t),updateReport:(t,r,n)=>e.current.updateReport(t,r,n),publishReport:(t,r)=>e.current.publishReport(t,r),deleteReport:(t,r)=>e.current.deleteReport(t,r),removeStaleItem:t=>e.current.removeStaleItem(t),refetchData:()=>e.current.refetchData(),clearCacheAndRefetch:()=>e.current.clearCacheAndRefetch()},onSseMessage:t=>e.current.handleSseMessage(t)}),uf=Object.freeze({kind:"idle"}),hd=(0,re.memo)(({isSseEnabled:e,onMessage:t,onStatus:r})=>{let n=Qo({isSseEnabled:e,onMessage:t});return(0,re.useLayoutEffect)(()=>{r(n)},[n,r]),null});hd.displayName="DailyReportSseConnectionHost";var la=({children:e,user:t,userId:r})=>{let{apiBasePath:n,draftLabelName:o,labels:a}=K(),{notifyError:i}=ea(),[s]=(0,re.useState)(df),{pendingAddCommentIds:l,pendingDeleteCommentIds:u,pendingStarUpdates:d,pendingReadUpdates:p,resolvedIdMap:m}=s,[g,y]=(0,re.useState)(0),[T,v]=(0,re.useState)(0),[c,h]=(0,re.useState)(0),[E]=(0,re.useState)(Jl),[S,x]=(0,re.useState)(!1),[N,O]=(0,re.useState)(uf),C=(0,re.useRef)(!1),w=(0,re.useRef)(new Map),$=(0,re.useRef)(new Set),F=(0,re.useRef)(new Set),[ie]=(0,re.useState)(()=>of(()=>performance.now())),[U]=(0,re.useState)(()=>af(()=>performance.now())),fe=ql(),[Ee,ee]=fd(fe,fe.settled,$.current),z=Ee.items,X=`${T}:${Ee.settled?Ee.revision:"-"}`,pe=()=>{v(b=>b+1)},Me=(0,re.useCallback)(b=>F.current.has(b),[]),J=(0,re.useCallback)(()=>Fl()===(r??null),[r]),Dt=async()=>{Kt.info("[DailyReportActionProvider] Refetching data without page reload..."),vn(),y(b=>b+1),Y.listeners.forEach(b=>{b(-1)})},nt=async()=>{Kt.info("[DailyReportActionProvider] Clearing client & server/DB cache and refetching data without page reload..."),fn(),$.current.clear(),F.current.clear(),h(b=>b+1),ee(bd);try{sessionStorage.clear()}catch{}try{let b=await fetch(`${n}/${Rt.action}`,{method:"POST",body:ci({intent:"clearCache"})});if(!b.ok){let D=await b.json().catch(()=>null);Kt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",b.status,D)}}catch(b){Kt.warn("[DailyReportActionProvider] Failed to clear server-side cache:",b)}J()&&(vn({forceRefresh:!0}),y(b=>b+1),Y.listeners.forEach(b=>{b(-1)}))},Ce=(b,D)=>{let R=U.get(b);if(R!==void 0){R.messages.push(D);return}let f;f={messages:[D],unsubscribe:rl(b,()=>{if(U.get(b)===f&&St(b,{ignoreExpiry:!0})){U.remove(b),f.unsubscribe(),Kt.info(`[SSE Queue] Replaying ${f.messages.length} messages for reportHubId=${b}`);for(let P of f.messages)se.current.handleSseMessage(P)}})},U.add(b,f)};(0,re.useLayoutEffect)(()=>()=>{for(let b of U.drain())b.unsubscribe()},[U]);let Fe=(0,re.useCallback)((b,D)=>{D!==void 0&&gn({reportHubId:b,businessDate:D})},[]),$e=()=>{r&&(C.current=!0,x(b=>!b))};(0,re.useEffect)(()=>{if(!r)return;let b=setTimeout(()=>{C.current||x(!0)},Ks);return()=>clearTimeout(b)},[r]);let Re=b=>{J()&&($.current.add(b),F.current.add(b),h(D=>D+1),qo(b),ee(D=>Dn(D,b)),E.discard(b))};(0,re.useEffect)(()=>{if(Ee.settled)for(let b of $.current)Hl(b)||$.current.delete(b)},[Ee.settled,Ee.revision]);let Be=b=>{if(J()&&!ie.has(b.clientTempId))switch(b.type!=="status-update"&&pe(),b.type){case"comment-add":{let{comment:D,reportHubId:R}=b,f=St(R,{ignoreExpiry:!0});if(f){if(f.postedComments.some(ae=>ae.id===D.id))return;let _=typeof r=="string"&&D.userId===r,P={...D,userName:D.userName||(_?Cr(t,a.unknownUser):a.unknownUser),createdAt:D.createdAt||new Date().toISOString(),isMine:_},Q={...f,postedComments:[...f.postedComments,P].sort((ae,Te)=>new Date(ae.createdAt||0).getTime()-new Date(Te.createdAt||0).getTime())};Er(R,Q),ri(R),y(ae=>ae+1)}else Ce(R,b);break}case"comment-delete":{let{commentId:D,reportHubId:R}=b,f=St(R,{ignoreExpiry:!0});if(f){let _={...f,postedComments:f.postedComments.filter(P=>P.id!==D)};Er(R,_),ri(R),y(P=>P+1)}else Ce(R,b);break}case"status-update":{let{statusType:D,value:R,reportHubId:f}=b,_=St(f,{ignoreExpiry:!0});if(D==="star")if(d.current.get(f)===R&&d.current.delete(f),_){let P={..._,isStarred:R};Er(f,P),y(Q=>Q+1)}else Ce(f,b);else if(D==="read")if(p.current.get(f)===R&&p.current.delete(f),_){let P={..._,isRead:R};Er(f,P),y(Q=>Q+1)}else Ce(f,b);break}case"report-delete":{let{reportHubId:D}=b;$.current.add(D),F.current.add(D),h(f=>f+1),qo(D),ee(f=>Dn(f,D)),E.discard(D),U.remove(D)?.unsubscribe();let R=St(D,{ignoreExpiry:!0});R?.date&&(ti(D,R.date),y(f=>f+1));break}case"report-create":case"report-update":case"report-publish":{let{report:D}=b;nl(D),(b.type==="report-create"||b.type==="report-publish")&&Fe(D.reportHubId,D.date),y(R=>R+1);break}}},Se=async(b,D,R={})=>{let{intent:f}=b,{onGone:_}=D,{lockedReportHubId:P}=R,Q=P===void 0?null:Js(P);D.onOptimistic?.(),ie.add(b.clientTempId);let ae=()=>{if(!J())throw Kt.warn(`[executeAction] ${f} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${f}`)};try{let Te=await fetch(`${n}/${Rt.action}`,{method:"POST",body:ci(b),headers:{Accept:"application/json"}});if(Te.status===404&&_!==void 0)return ae(),_();if(!Te.ok)throw new Si(f,Te.status);let Zt=_l(f,await Te.json());if("mismatch"in Zt)throw new Error(`[daily-report] ${f} answered a body that is not its result (${Zt.mismatch})`);let{result:Gi}=Zt;if(!lf(Gi,b))throw new Error(`[daily-report] ${f} answered another request`);return ae(),D.onSuccess(Gi)}catch(Te){throw Kt.error(`${f} failed:`,Te),J()&&(D.onFailure?.(),se.current.notifyError({operation:f,message:a.operationFailed(f),cause:Te})),Te}finally{Q?.()}},Ve=(b,D,R)=>({reportHubId:b,clientTempId:R,businessDate:typeof D=="string"?D:null,operationTimestamp:Date.now()}),q={toggleSse:$e,addComment:async(b,D,R)=>{let f=hi(Date.now()),_=Se({...Ve(b,R,String(f)),intent:"addComment",content:D},{onOptimistic:()=>{l.current.has(b)||l.current.set(b,new Map),l.current.get(b)?.set(f,D),y(P=>P+1)},onSuccess:({newComment:P})=>{let Q=P.id;m.current.set(f,Q),l.current.get(b)?.delete(f),pe();let ae=St(b,{ignoreExpiry:!0});return ae&&!ae.postedComments.some(Te=>Te.id===Q)&>(b,{postedComments:[...ae.postedComments,{...P,isMine:!0,userName:Cr(t,a.unknownUser)}]}),Q},onFailure:()=>{l.current.get(b)?.delete(f)}}).finally(()=>w.current.delete(f));w.current.set(f,_),await _},deleteComment:async(b,D,R)=>{u.current.has(b)||u.current.set(b,new Set),u.current.get(b)?.add(D),y(P=>P+1);let f=D;if(D<0){let P=m.current.get(D);if(P!==void 0)f=P;else{let Q=w.current.get(D);if(!Q)return;try{f=await Q}catch{return}}}let _=()=>{let P=St(b,{ignoreExpiry:!0});P&&(gt(b,{postedComments:P.postedComments.filter(Q=>Q.id!==f)}),tl(f)),u.current.get(b)?.delete(D),pe()};await Se({...Ve(b,R,crypto.randomUUID()),intent:"deleteComment",commentId:f},{onSuccess:_,onGone:_,onFailure:()=>{u.current.get(b)?.delete(D)}})},toggleStar:async(b,D,R)=>{await Se({...Ve(b,R,crypto.randomUUID()),intent:"toggleStar",value:D},{onOptimistic:()=>{gt(b,{isStarred:D}),d.current.set(b,D),y(f=>f+1)},onSuccess:({updatedStatus:f})=>{St(b,{ignoreExpiry:!0})&&(gt(b,{isStarred:f.isStarred}),y(_=>_+1)),d.current.delete(b)},onFailure:()=>{gt(b,{isStarred:!D}),d.current.delete(b)}})},toggleRead:async(b,D,R)=>{await Se({...Ve(b,R,crypto.randomUUID()),intent:"toggleRead",value:D},{onOptimistic:()=>{gt(b,{isRead:D}),p.current.set(b,D),y(f=>f+1)},onSuccess:({updatedStatus:f})=>{St(b,{ignoreExpiry:!0})&&(gt(b,{isRead:f.isRead}),y(_=>_+1)),p.current.delete(b)},onFailure:()=>{gt(b,{isRead:!D}),p.current.delete(b)}})},createReport:async b=>{let D=hi(Date.now()),R=new Date().toISOString(),f={reportHubId:D,date:b,createdAt:R,author:Cr(t,a.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:Cr(t,a.unknownUser),updatedBy:Cr(t,a.unknownUser),updatedAt:R,category:null,creationCategory:null,visitTimeFrom:null,visitTimeTo:null,customerName:null,interviewers:[],subject:"",content:"",externalComments:[],isRead:!0,isStarred:!1,labels:[{id:0,name:o,color:"#9ca3af"}],postedComments:[],attachments:[]};Zs(f,Date.now()+3e5,!1),ee(_=>na(_,{reportHubId:D,businessDate:b},Number.NEGATIVE_INFINITY));try{let _=await Se({intent:"create",clientTempId:String(D),businessDate:b,operationTimestamp:Date.now()},{onSuccess:ae=>ae.report}),P=_.reportHubId,Q=pi();return gn({reportHubId:P,businessDate:b}),el(P,nf),Er(P,_),y(ae=>ae+1),pe(),ee(ae=>na(Dn(ae,D),{reportHubId:P,businessDate:b},Q)),P}catch(_){throw Kt.error("[createReport] Failed",_),ee(P=>Dn(P,D)),_}},updateReport:async(b,D,R)=>{await Se({...Ve(b,R,crypto.randomUUID()),intent:"update",changes:{title:D.title,content:D.content}},{onSuccess:()=>{St(b,{ignoreExpiry:!0})&&(gt(b,{subject:D.title,content:D.content}),y(_=>_+1)),pe()}},{lockedReportHubId:b})},publishReport:async(b,D)=>{let R=St(b,{ignoreExpiry:!0});await Se({...Ve(b,D,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{R&&(gt(b,{labels:R.labels.filter(f=>f.name!==o)}),y(f=>f+1))},onSuccess:({report:f})=>{f!==null&&(Er(b,f),y(_=>_+1)),D!==void 0&&gn({reportHubId:b,businessDate:D}),pe()},onFailure:()=>{R&&(gt(b,{labels:R.labels}),y(f=>f+1))}})},deleteReport:async(b,D)=>{let R=z.find(_=>_.reportHubId===b);$.current.add(b),F.current.add(b),h(_=>_+1),qo(b),R!==void 0&&ee(_=>yd(_,R));let f=()=>{ti(b,D),E.discard(b),pe()};try{await Se({...Ve(b,D,crypto.randomUUID()),intent:"delete"},{onSuccess:f,onGone:f},{lockedReportHubId:b})}catch(_){if(!J())return;$.current.delete(b),F.current.delete(b),h(ae=>ae+1);let P=R===void 0?D:R.businessDate,Q=pi();throw P!==void 0&&gn({reportHubId:b,businessDate:P}),R&&ee(ae=>na(ae,R,Q)),_}},removeStaleItem:Re,refetchData:Dt,clearCacheAndRefetch:nt,handleSseMessage:Be,notifyError:i},se=(0,re.useRef)(q);(0,re.useLayoutEffect)(()=>{se.current=q});let[Ie]=(0,re.useState)(()=>cf(se)),Ge=(0,re.useMemo)(()=>({...s,...Ie.functions,user:t}),[s,Ie,t]),Pe=(0,re.useMemo)(()=>({version:g,items:z,isSseEnabled:S,sseStatus:N,searchInvalidation:X,isReportRemoved:Me,removedVersion:c}),[g,z,S,N,X,Me,c]);return(0,Yr.jsx)(mi.Provider,{value:E,children:(0,Yr.jsx)(aa.Provider,{value:Ge,children:(0,Yr.jsxs)(ia.Provider,{value:Pe,children:[(0,Yr.jsx)(hd,{isSseEnabled:S,onMessage:Ie.onSseMessage,onStatus:O}),e]})})})};var Sd=require("react/jsx-runtime"),pf={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},dr=Object.freeze({2:3,3:4,4:5,5:6}),ct=({level:e,...t})=>{let r=pf[e];return(0,Sd.jsx)(r,{...t})};var zt=require("react");var gd=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var Ei="tile",An=gd[Ei],mf=2,Cn=16,Ed=5,vd=An.maxWidth/mf,ff=Ed*(vd+Cn)-Cn,Id=e=>{let t=Math.min(Ed,1+Math.floor((e+Cn)/(vd+Cn)));return Math.floor((Math.min(e,ff)-(t-1)*Cn)/t)},gi=`round(nearest, 100cqi * ${An.maxHeight} / ${An.maxWidth}, 1px)`,Td=Object.freeze({aspectRatio:`${An.maxWidth} / ${An.maxHeight}`,height:gi,contain:"strict"}),yf="--aqdr-lattice-block",xd=Object.freeze({marginBlockEnd:`calc(round(up, ${gi}, var(${yf})) - ${gi})`});var bf="download",Rf="thumbnail",hf="1",Xr=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[bf]:hf})}`;case"thumbnail":return`${n}?${new URLSearchParams({[Rf]:r.variant})}`}};var da=require("react");var _n=(0,da.createContext)(null),Qr=()=>(0,da.useContext)(_n)===!1?-1:void 0,Dd=(e,t)=>{let{before:r,after:n}=No(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};var Mt=require("react"),Nd=require("react-dom");var Cd=require("react-dom");var vi=new WeakMap,Ad=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,Sf=e=>{e.frame=null;let t=[...e.observations.values()].filter(Ad);t.length!==0&&(0,Cd.flushSync)(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},gf=(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=Id(o))}e.frame!==null||![...e.observations.values()].some(Ad)||(e.frame=e.view.requestAnimationFrame(()=>Sf(e)))},Ef=e=>{let t=vi.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=>gf(n,o)),observations:new Map,frame:null};return vi.set(e,n),n},_d=(e,t)=>{let r=e.ownerDocument,n=Ef(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(),vi.delete(r)))}};var $t=require("react/jsx-runtime"),Ln="\u2026",vf=Ln.codePointAt(0),ca="data-attachment-file-name",If=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,Tf=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,Od=(0,Mt.createContext)(null),Md=e=>{let t=e.lastIndexOf(".");return t<=0||t===e.length-1?{stem:e,extension:""}:{stem:e.slice(0,t),extension:e.slice(t)}},Ld=(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("")},xf=(e,t,r)=>{if(r(e)<=t)return e;let{stem:n,extension:o}=Md(e.normalize("NFC")),a=t/2,i=r(o)<=a?o:`${Ld(o,Ln,a,r)}${Ln}`;return r(n+i)<=t?n+i:`${Ld(n,Ln+i,t,r)}${Ln}${i}`},wd=new WeakMap,Pd=e=>{let t=wd.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 wd.set(e,n),n},Df=(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},kd=e=>{let t=new Set;for(let r of e.matchAll(If)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},Cf=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:kd(t.fontFamily),measure:Df(Pd(e.ownerDocument),r)}},Af=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,_f=e=>{let t=new Set([vf]);for(let r of e.querySelectorAll(`[${ca}]`)){let n=r.getAttribute(ca);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},Lf=(e,t)=>{for(let r of e.split(",")){let n=Tf.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},Ii=new WeakMap,Hd=e=>{let t=Ii.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return Ii.set(e,r),r},Fd=(e,t)=>{let r=Cf(e.container.querySelector(`[${ca}]`));e.fitted={trackWidth:t,nameFont:r};let n=Hd(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=Nf(n)),e.applyFit({width:t,measure:r.measure})},wf=(e,t)=>{let r=t.map(o=>({families:kd(o.family),unicodeRange:o.unicodeRange})),n=[];for(let o of e.registrations){let{fitted:a}=o;if(a===null)continue;let i=r.filter(l=>Array.from(l.families).some(u=>a.nameFont.families.has(u)));if(i.length===0)continue;let s=_f(o.container);i.some(l=>Lf(l.unicodeRange,s))&&(Pd(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&(0,Nd.flushSync)(()=>{for(let[o,a]of n)Fd(o,a)})},Nf=e=>{let t=e.document.fonts,r=n=>{wf(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},Of=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=_d(e,a=>Fd(r,a)),o=Hd(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),Ii.delete(o.document))}},Bd=({containerRef:e,children:t})=>{let[r,n]=(0,Mt.useState)(null);return(0,Mt.useLayoutEffect)(()=>{let o=e.current;return Of(o,i=>{n(s=>Af(s,i)?s:i)})},[e]),(0,$t.jsx)(Od,{value:r,children:t})},wn=({fileName:e,className:t,testId:r})=>{let n=(0,Mt.useContext)(Od),o=(0,Mt.useMemo)(()=>n===null?null:xf(e,n.width,n.measure),[e,n]),{stem:a,extension:i}=Md(e);return(0,$t.jsxs)("span",{className:I("block min-w-0",t),title:e,"data-testid":r,[ca]:e,children:[o===null?(0,$t.jsxs)("span",{"aria-hidden":"true",className:"flex min-w-0",children:[(0,$t.jsx)("span",{className:"truncate",children:a}),i!==""&&(0,$t.jsx)("span",{className:"max-w-1/2 shrink-0 truncate",children:i})]}):(0,$t.jsx)("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:o}),(0,$t.jsx)("span",{className:"sr-only",children:e})]})};var zd=we(require("lucide-react/dist/esm/icons/image-off.js")),Qe=require("react");var ua=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),Vd=ua.queueWaitMs+ua.readMs+ua.renderMs+ua.transferMarginMs;var Mf=Object.freeze({kind:"loaded"}),Ud=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",l=null,u=null,d=null,p=null,m=null,g=U=>(U!==null&&n.clearTimeout(U),null),y=()=>{p?.(),p=null},T=()=>{m?.(),m=null},v=U=>U===null||U.kind==="loaded"?0:U.kind==="failing"?U.failedAttempts:i.maxAttempts,c=U=>{s="cooling",d=n.setTimeout(w,U)},h=()=>{o.abortInFlight(),T();let U=v(r.get(t))+1;if(U>=i.maxAttempts){s="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:U,retryAt:n.now()+i.retryDelayMs}),o.reset(),c(i.retryDelayMs)},E=U=>{if(s==="loading"){if(u=g(u),!U){h();return}s="done",r.set(t,Mf),T()}},S=()=>{u=null,E(!1)},x=()=>{s="loading",o.showActivity(!0),y(),u=n.setTimeout(S,i.loadTimeoutMs),o.grant()},N=()=>{l=null,s="queued",m=a.request(x)},O=()=>{l===null&&(l=n.setTimeout(N,i.settleMs))},C=U=>{if(o.showActivity(U),U){s==="watching"&&O();return}if(s==="queued"){T(),s="watching";return}l=g(l)},w=()=>{d=null,s="watching",o.showActivity(!1),p=n.observe(e,C)},$=()=>{let U=s==="loading";s="done",y(),l=g(l),u=g(u),d=g(d),o.showActivity(!1),U&&(o.abortInFlight(),m!==null&&o.reset()),T()},F=r.get(t);if(F?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:E,dispose:$};if(F?.kind==="exhausted"){if(n.now()-F.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:E,dispose:$};r.delete(t)}o.reset();let ie=F?.kind==="failing"?F.retryAt-n.now():0;return ie>0?c(ie):w(),{settle:E,dispose:$}};var Pf=e=>{nr("createLoadSlotLimiter: limit",e,1);let t=0,r=new Set,n=()=>{for(let o of r){r.delete(o),o.onGranted();return}t-=1};return{request:o=>{let a={onGranted:o},i=!1;return t<e?(t+=1,o()):r.add(a),()=>{i||(i=!0,!r.delete(a)&&n())}}}},Wd=Pf(2);var kf=e=>{nr("createThumbnailProgressStore: maxUrls",e,1);let t=new Map,r=(n,o)=>{t.delete(n),t.set(n,o)};return{peek:n=>t.get(n)??null,get:n=>{let o=t.get(n);return o===void 0?null:(r(n,o),o)},set:(n,o)=>{if(r(n,o),t.size<=e)return;let[a]=t.keys();t.delete(a)},delete:n=>{t.delete(n)}}},Ti=kf(1024);var xi=new WeakMap,Hf=e=>{let t=xi.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 xi.set(e,a),a},Kd=(e,t)=>{let r=e.ownerDocument,n=Hf(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(),xi.delete(r)))}};var cr=require("react/jsx-runtime"),Ff={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},Bf="data-thumbnail-active",Vf="data-daily-report-attachment-preview",jd={[Vf]:""},Uf=Object.freeze({settleMs:250,loadTimeoutMs:Vd,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),$d=e=>{let t=Ti.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},Wf=()=>({limiter:Wd,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:Kd,tuning:Uf}),Kf=(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(Bf,o)}}),Gd=(0,Qe.memo)(({thumbnailUrl:e,unavailableLabel:t})=>{let r=(0,Qe.useRef)(null),n=(0,Qe.useRef)(null),o=(0,Qe.useRef)(null),[a,i]=(0,Qe.useState)(()=>$d(e));a.url!==e&&i($d(e)),(0,Qe.useLayoutEffect)(()=>{if(a.status==="failed")return;let d=n.current,p=a.status==="idle"?null:a.url;d.getAttribute("src")!==p&&(p===null?d.removeAttribute("src"):d.setAttribute("src",p))},[a]),(0,Qe.useEffect)(()=>{let d=r.current,p=Ud(d,e,Ti,Wf(),Kf(e,d,i,n));return o.current=p,()=>{o.current=null,p.dispose()}},[e]);let s=(0,Qe.useCallback)(d=>{d!==null&&(n.current=d)},[]),l=(0,Qe.useCallback)(()=>{i(d=>d.status==="granted"?{url:d.url,status:"loaded"}:d),o.current?.settle(!0)},[]),u=(0,Qe.useCallback)(()=>{o.current?.settle(!1)},[]);return(0,cr.jsx)("span",{className:"block",children:(0,cr.jsx)("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":Ff[a.status],style:Td,className:"relative block w-full",children:(0,cr.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,cr.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 ${no}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[(0,cr.jsx)(zd.default,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):(0,cr.jsx)("img",{ref:s,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:l,onError:u,className:"max-h-full max-w-full opacity-0 motion-safe:transition-opacity motion-safe:duration-200 motion-safe:ease-out [[data-thumbnail-state=loaded]_&]:opacity-100","data-testid":"daily-report-attachment-thumbnail"})})})})});var le=require("react/jsx-runtime"),qd=1024,Di=["B","KB","MB","GB"],Yd="text-slate-500 text-sm line-through dark:text-slate-400",$f=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=qd&&r<Di.length-1;)t/=qd,r+=1;return r===0?`${t} ${Di[r]}`:`${t.toFixed(1)} ${Di[r]}`},Xd=({attachment:e,labels:t,className:r})=>(0,le.jsxs)("span",{className:r,children:[$f(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),Ci=({href:e,children:t,...r})=>{let n=Qr();return(0,le.jsx)("a",{href:e,...r,tabIndex:n,children:t})},Qd=({downloadUrl:e,label:t,fileName:r})=>(0,le.jsxs)(Ci,{href:e,className:I("relative ml-auto shrink-0 rounded-sm text-slate-500 text-xs underline decoration-slate-300 underline-offset-2 after:absolute after:-inset-x-2 after:-inset-y-1 hover:text-slate-700 hover:decoration-current dark:text-slate-400 dark:decoration-slate-600 dark:hover:text-slate-200",te),"data-testid":"daily-report-attachment-download",children:[t," ",(0,le.jsx)("span",{className:"sr-only",children:r})]}),zf=(0,zt.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=(0,le.jsx)(Gd,{thumbnailUrl:Xr(t,e.id,{kind:"thumbnail",variant:Ei}),unavailableLabel:r.attachmentThumbnailUnavailable}),o=e.state==="absent";return(0,le.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,le.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[n,(0,le.jsx)(wn,{fileName:e.fileName,className:Yd,testId:"daily-report-attachment-name"})]}):(0,le.jsxs)(Ci,{href:Xr(t,e.id,{kind:"inline"}),className:I("flex min-w-0 flex-col gap-2 rounded-lg",te),"data-testid":"daily-report-attachment-link",...jd,children:[n,(0,le.jsx)(wn,{fileName:e.fileName,className:"text-blue-600 text-sm dark:text-blue-400 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover_&]:underline"})]}),(0,le.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:xd,children:[(0,le.jsx)(Xd,{attachment:e,labels:r,className:"truncate"}),!o&&(0,le.jsx)(Qd,{downloadUrl:Xr(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})]})}),jf=(0,zt.memo)(({attachment:e,apiBasePath:t,labels:r})=>{let n=e.state==="absent";return(0,le.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,le.jsxs)("div",{className:"flex min-w-0 flex-col",children:[n?(0,le.jsx)(wn,{fileName:e.fileName,className:Yd,testId:"daily-report-attachment-name"}):(0,le.jsx)(Ci,{href:Xr(t,e.id,{kind:"inline"}),className:I("flex min-w-0 rounded-sm",te),"data-testid":"daily-report-attachment-link",children:(0,le.jsx)(wn,{fileName:e.fileName,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),(0,le.jsx)(Xd,{attachment:e,labels:r,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!n&&(0,le.jsx)(Qd,{downloadUrl:Xr(t,e.id,{kind:"download"}),label:r.attachmentDownload,fileName:e.fileName})]})}),Gf=({attachments:e,headingId:t,apiBasePath:r,labels:n})=>{let o=(0,zt.useRef)(null);return(0,le.jsx)(Bd,{containerRef:o,children:(0,le.jsx)("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:(0,le.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,le.jsx)(zf,{attachment:a,apiBasePath:r,labels:n},a.id))})})})},pa=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=K(),o=(0,zt.useId)(),{tileAttachments:a,rowAttachments:i}=(0,zt.useMemo)(()=>({tileAttachments:e.filter(s=>s.hasThumbnail),rowAttachments:e.filter(s=>!s.hasThumbnail)}),[e]);return e.length===0?null:(0,le.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[(0,le.jsx)(ct,{level:dr[n],id:o,className:I("m-0",Rr),children:r.attachments}),(0,le.jsxs)("div",{className:"flex flex-col gap-4",children:[a.length>0&&(0,le.jsx)(Gf,{attachments:a,headingId:o,apiBasePath:t,labels:r}),i.length>0&&(0,le.jsx)("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:i.map(s=>(0,le.jsx)(jf,{attachment:s,apiBasePath:t,labels:r},s.id))})]})]})};var oc=require("@aiquants/swipe-overlay"),We=require("react");var jt=require("react");var Zd=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Ye("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]},Jd=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 ma=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:i,deleteComment:s}=Xe(),{version:l}=sa(),{labels:u}=K(),d=u.unknownUser,[p,m]=(0,jt.useState)(null),g=(0,jt.useCallback)(c=>e&&s(e.reportHubId,c,e.date),[e,s]),y=(0,jt.useCallback)(c=>e&&t?i(e.reportHubId,c,e.date):Promise.resolve(),[e,t,i]),T=(0,jt.useRef)([]);return{uiComments:(0,jt.useMemo)(()=>{if(!e)return[];let c=Zd(e.externalComments,e.postedComments,r,d),h=o.current.get(e.reportHubId);h?.size&&(c=c.filter(S=>!h.has(S.id)));let E=n.current.get(e.reportHubId);if(E?.size&&t){let S=new Set(c.map(N=>N.id)),x=Cr(t,d);for(let[N,O]of E){if(h?.has(N)||S.has(N))continue;let C=a.current.get(N);C&&S.has(C)||c.some(w=>w.isMine&&w.content===O&&typeof w.id=="number"&&w.id>0)||c.push({id:N,authorName:x,content:O,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1})}}return JSON.stringify(c)===JSON.stringify(T.current)?T.current:(T.current=c,c)},[e,t,r,d,o,n,a,l]),handleAddComment:y,handleDeleteComment:g,pendingDeleteId:p,setPendingDeleteId:m,resolvedIdMap:a.current}};var fa=require("react/jsx-runtime"),ze=({render:e})=>{let t=Qr();return(0,fa.jsx)(fa.Fragment,{children:e(t)})};var ec=we(require("@heroicons/react/24/outline/TrashIcon.js")),ur=require("react");var it=require("react/jsx-runtime"),Ai="data-comment-id",ya="data-comment-delete-button",ba="data-comment-delete-slot",qf=I(qe,ns),Yf="relative flex h-5 items-center",Xf=I(et,"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",te),Qf=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,_i=(0,ur.memo)(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:l})=>{let[u,d]=(0,ur.useState)(!1),{labels:p}=K(),m=(0,ur.useId)(),g=(0,ur.useRef)(null),y=Qf(e.id,o,l),T=()=>{let c=g.current;c!==null&&s(c),a(null),d(!0),typeof e.id=="number"&&n?.(e.id)},v=c=>{if(!y)return;let h=c.relatedTarget;_e(h)&&c.currentTarget.contains(h)||a(null)};return(0,it.jsxs)("li",{[Ai]:e.id,"data-deleted":u?"true":void 0,className:I("relative rounded-xl border border-slate-200 border-solid bg-white p-[11px] dark:border-slate-700 dark:bg-slate-900/70",e.isMine&&"border-blue-200 bg-blue-50 dark:border-blue-800/70 dark:bg-blue-950/40",u&&"hidden",y?"z-50":"z-0 hover:z-10"),children:[(0,it.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,it.jsx)("div",{className:I("font-semibold text-xs",Jd(e.color)),children:Ae(e.authorName)}),(0,it.jsxs)("div",{className:"flex items-center gap-2",children:[e.createdAt&&(0,it.jsx)("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:xe(e.createdAt)}),e.isMine&&!e.isLegacy&&(0,it.jsxs)("div",{[ba]:e.id,className:Yf,onBlur:v,children:[(0,it.jsx)(ze,{render:c=>(0,it.jsx)("button",{ref:g,type:"button",tabIndex:c,className:qf,title:p.commentDelete,"aria-label":p.commentDelete,"aria-expanded":y,"aria-controls":y?m:void 0,[ya]:e.id,onClick:()=>i(e.id,y),children:(0,it.jsx)(ec.default,{"aria-hidden":"true",className:y?Ue.deletePending:Ue.delete})})}),y&&(0,it.jsx)(ze,{render:c=>(0,it.jsx)("button",{id:m,type:"button",tabIndex:c,"data-delete-confirmation":!0,className:Xf,onClick:T,children:p.commentDeleteConfirm})})]})]})]}),(0,it.jsx)("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:e.content})]})});_i.displayName="DailyReportPostedComment";var He=require("react/jsx-runtime"),Zf="data-daily-report-comment-section",Jf="data-daily-report-comment-heading",ey=I(Ht,te),ac=(e,t)=>e>0||t,ty=I("h-9 min-w-0 flex-1 rounded-lg border border-slate-300 border-solid bg-slate-50 px-[7px] text-sm focus:bg-white dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200 dark:focus:bg-slate-900",te),ry=I("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",te),tc=e=>e.querySelector(`[${ya}][aria-expanded="true"]`),ny=(e,t,r)=>{let n=[...e.querySelectorAll(`[${ya}]`)].filter(s=>s===t||s.closest("[data-deleted]")===null),o=n.indexOf(t),a=n.at(o+1);if(a!==void 0)return{kind:"trash",button:a};if(o>0)return{kind:"trash",button:n[o-1]};let i=[...e.querySelectorAll(`[${Ai}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return ac(i,r)?{kind:"heading"}:{kind:"report"}},oy=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:l,onSectionRemoved:u})=>{let d=(0,We.useRef)(null),p=(0,oc.useOverlayEscapeStack)(),m=(0,We.useId)(),g=o!==null,y=(0,We.useCallback)(()=>{let c=d.current,h=c===null?null:tc(c),E=h===null?null:h.closest(`[${ba}]`),S=c===null?null:ke(c);a(null),h!==null&&E!==null&&S!==null&&E.contains(S)&&h.focus({preventScroll:!0})},[a]);(0,We.useEffect)(()=>{if(g)return p({id:m,onEscape:c=>Wt(c)?(y(),!0):!1})},[g,p,m,y]),(0,We.useEffect)(()=>{let c=d.current;if(!g||c===null)return;let h=c.ownerDocument,E=S=>{let x=tc(c)?.closest(`[${ba}]`);x!=null&&_e(S.target)&&x.contains(S.target)||a(null)};return h.addEventListener("pointerdown",E,!0),()=>h.removeEventListener("pointerdown",E,!0)},[g,a]);let T=(0,We.useCallback)((c,h)=>{h?y():a(c)},[y,a]),v=(0,We.useCallback)(c=>{let h=d.current;if(h===null)return;let E=ny(h,c,s);if(E.kind==="report"){u();return}let S=E.kind==="trash"?E.button:l.current;if(S===null)throw new Error("[daily-report] the comment section's heading is not attached");S.focus({preventScroll:!0})},[s,l,u]);return e.length===0?null:(0,He.jsx)("ul",{ref:d,className:"space-y-2",children:e.map(c=>(0,He.jsx)(_i,{comment:c,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:T,onBeforeHide:v,resolvedIdMap:i},c.id))})},rc=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=K(),a=(0,We.useRef)(null);return ac(r.comments.length,r.canComment)?(0,He.jsxs)("div",{[Zf]:"",className:I("flex flex-col gap-2",e),children:[(0,He.jsx)(ct,{ref:a,level:dr[o],tabIndex:-1,[Jf]:"",className:ey,children:n.comments}),(0,He.jsx)(oy,{...r,headingRef:a}),t]}):null},ic=(0,We.memo)(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:i,onDeleteComment:s,pendingDeleteId:l,onPendingDeleteIdChange:u,resolvedIdMap:d})=>{let p=t?(0,He.jsx)(ay,{onAddComment:i}):null,m={comments:a,canComment:t,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:s,pendingDeleteId:l,onPendingDeleteIdChange:u,resolvedIdMap:d,onSectionRemoved:r,className:o};return n==="in-section"?(0,He.jsx)(rc,{...m,children:p}):(0,He.jsxs)(He.Fragment,{children:[(0,He.jsx)(rc,{...m}),p&&(0,He.jsx)("div",{className:"mt-auto",children:p})]})});ic.displayName="ReportCommentsView";var Nn=(0,We.memo)(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:i})=>{let{user:s}=Xe(),{uiComments:l,handleAddComment:u,handleDeleteComment:d,pendingDeleteId:p,setPendingDeleteId:m,resolvedIdMap:g}=ma(e,s,t),y=(0,We.useCallback)(async T=>{await u(T),n?.()},[u,n]);return(0,He.jsx)(ic,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:i,comments:l,onAddComment:y,onDeleteComment:d,pendingDeleteId:p,onPendingDeleteIdChange:m,resolvedIdMap:g})});Nn.displayName="ReportComments";var nc="content",ay=({onAddComment:e})=>{let[t,r]=(0,We.useState)(!1),{labels:n}=K();return(0,He.jsxs)("form",{className:"flex gap-2",onSubmit:async a=>{a.preventDefault();let i=a.currentTarget,s=i.elements.namedItem(nc);if(!(s instanceof tt(i).HTMLInputElement))return;let l=s.value.trim();if(l&&e){r(!0),i.reset();try{await e(l)}catch{s.value=l}finally{r(!1)}}},children:[(0,He.jsx)(ze,{render:a=>(0,He.jsx)("input",{type:"text",name:nc,tabIndex:a,placeholder:n.commentPlaceholder,className:ty,autoComplete:"off"})}),(0,He.jsx)(ze,{render:a=>(0,He.jsx)("button",{type:"submit",tabIndex:a,className:ry,disabled:t,children:n.commentSend})})]})};var Rc=require("react");var sc=require("@radix-ui/react-slot"),lc=require("class-variance-authority"),dc=we(require("react"));var cc=require("react/jsx-runtime"),iy=(0,lc.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 ${te}`,{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"}}),Gt=dc.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>(0,cc.jsx)(n?sc.Slot:"button",{className:I(iy({variant:t,size:r,className:e})),ref:a,...o}));Gt.displayName="Button";var pc=require("react/jsx-runtime");function uc({className:e,type:t,...r}){return(0,pc.jsx)("input",{type:t,"data-slot":"input",className:I(`flex h-9 w-full min-w-0 rounded-md border border-input border-solid bg-transparent px-[7px] py-[3px] text-base shadow-xs selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive md:text-sm dark:bg-input/30 ${te}`,e),...r})}var mc=we(require("@radix-ui/react-label"));var fc=require("react/jsx-runtime");function On({className:e,...t}){return(0,fc.jsx)(mc.Root,{"data-slot":"label",className:I("flex select-none items-center gap-2 font-medium text-sm leading-none [:where(.group)[data-disabled=true]_&]:pointer-events-none [:where(.group)[data-disabled=true]_&]:opacity-50 [:where(.peer):disabled~&]:cursor-not-allowed [:where(.peer):disabled~&]:opacity-50",e),...t})}var bc=require("react/jsx-runtime");function yc({className:e,...t}){return(0,bc.jsx)("textarea",{"data-slot":"textarea",className:I(`flex min-h-15 w-full rounded-md border border-input border-solid bg-transparent p-[7px] text-base shadow-xs placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive md:text-sm dark:bg-input/30 ${te}`,e),...t})}var Ke=require("react/jsx-runtime"),Zr=e=>({title:e.subject??"",content:e.content??""}),sy=e=>{e.preventDefault()},Ra=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=Xe(),{labels:i}=K(),s=lr(),{title:l,content:u}=td(e.reportHubId),[d,p]=(0,Rc.useState)(!1),m=async()=>{p(!0);try{await o(e.reportHubId,{title:l,content:u},e.date)}catch{}finally{p(!1)}},g=async()=>{p(!0);try{await o(e.reportHubId,{title:l,content:u},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{p(!1)}},y=`report-title-${e.reportHubId}`,T=`report-content-${e.reportHubId}`;return(0,Ke.jsxs)("form",{className:"space-y-4 p-1",onSubmit:sy,children:[(0,Ke.jsxs)("div",{className:"space-y-2",children:[(0,Ke.jsx)(On,{htmlFor:y,children:i.formTitle}),(0,Ke.jsx)(ze,{render:v=>(0,Ke.jsx)(uc,{ref:n,id:y,value:l,onChange:c=>s.setInput(e.reportHubId,{title:c.target.value}),placeholder:i.formTitlePlaceholder,disabled:d,tabIndex:v})})]}),(0,Ke.jsxs)("div",{className:"space-y-2",children:[(0,Ke.jsx)(On,{htmlFor:T,children:i.formContent}),(0,Ke.jsx)(ze,{render:v=>(0,Ke.jsx)(yc,{id:T,value:u,onChange:c=>s.setInput(e.reportHubId,{content:c.target.value}),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:d,tabIndex:v})})]}),(0,Ke.jsxs)("div",{className:"flex justify-end gap-2",children:[t&&(0,Ke.jsx)(ze,{render:v=>(0,Ke.jsx)(Gt,{type:"button",variant:"outline",onClick:t,disabled:d,tabIndex:v,children:i.formCancel})}),(0,Ke.jsx)(ze,{render:v=>(0,Ke.jsx)(Gt,{type:"button",variant:"secondary",onClick:m,disabled:d,tabIndex:v,children:i.formSave})}),(0,Ke.jsx)(ze,{render:v=>(0,Ke.jsx)(Gt,{type:"button",onClick:g,disabled:d,tabIndex:v,children:i.formPublish})})]})]})};var vc=we(require("lucide-react/dist/esm/icons/check.js")),Ic=we(require("lucide-react/dist/esm/icons/pencil.js")),Tc=we(require("lucide-react/dist/esm/icons/trash-2.js"));var Li=require("react/jsx-runtime"),Sa=24,hc=2,ly=20,ha=5,dy=3,cy=()=>{let e=Math.cos(2*Math.PI/ha)/Math.cos(Math.PI/ha),t=Array.from({length:2*ha},(m,g)=>{let y=-Math.PI/2+g*Math.PI/ha,T=g%2===0?1:e;return{x:T*Math.cos(y),y:T*Math.sin(y)}}),r=t.map(m=>m.x),n=t.map(m=>m.y),[o,a,i,s]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],l=(ly-hc)/(a-o),u=Sa/2-l*(o+a)/2,d=Sa/2-l*(i+s)/2,p=m=>String(Number(m.toFixed(dy)));return t.map(m=>`${p(u+l*m.x)},${p(d+l*m.y)}`).join(" ")},uy=cy(),Jr=({filled:e})=>(0,Li.jsx)("svg",{viewBox:`0 0 ${Sa} ${Sa}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:hc,strokeLinejoin:"round",className:e?Ue.starOn:Ue.starOff,children:(0,Li.jsx)("polygon",{points:uy})});var qt=require("react/jsx-runtime"),en=({config:e,id:t,className:r})=>(0,qt.jsx)("span",{id:t,className:I(is,e.badgeClassName,r),children:e.name===void 0?e.label:(0,qt.jsxs)(qt.Fragment,{children:[(0,qt.jsx)("span",{"aria-hidden":"true",children:(0,qt.jsx)("abbr",{title:e.name,children:e.label})}),(0,qt.jsx)("span",{className:"sr-only",children:e.name})]})});var wi=require("react/jsx-runtime"),ga=24,py=6,tn=({className:e})=>(0,wi.jsx)("svg",{viewBox:`0 0 ${ga} ${ga}`,"aria-hidden":"true",className:I(Ue.read,e),children:(0,wi.jsx)("circle",{cx:ga/2,cy:ga/2,r:py,fill:"currentColor"})});var Sc=require("react/jsx-runtime"),my=/^(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}):\d{2})?$/,Ar=({text:e})=>{let t=my.exec(e);if(t===null)return e;let[,r,n]=t;return(0,Sc.jsx)("time",{dateTime:e,children:n===void 0?r:`${r} ${n}`})};var je=require("react/jsx-runtime"),Le=({label:e,classNames:t,valueId:r,children:n})=>(0,je.jsxs)("div",{className:t.field,children:[(0,je.jsx)("dt",{className:t.label,children:e}),(0,je.jsx)("dd",{id:r,className:I("m-0",t.value),children:n})]}),pr={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"},gc=({report:e,visitTimeDisplay:t,labels:r})=>{let n=e.category?.trim(),o=e.creationCategory?.trim();return(0,je.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,je.jsx)(Le,{label:r.author,classNames:pr,children:Ae(e.author)}),(0,je.jsx)(Le,{label:r.createdAt,classNames:pr,children:(0,je.jsx)(Ar,{text:xe(e.createdAt)})}),(0,je.jsx)(Le,{label:r.updatedBy,classNames:pr,children:Ae(e.updatedBy)}),(0,je.jsx)(Le,{label:r.updatedAt,classNames:pr,children:(0,je.jsx)(Ar,{text:xe(e.updatedAt)})}),(0,je.jsx)(Le,{label:r.businessDate,classNames:pr,children:(0,je.jsx)(Ar,{text:xe(e.date)})}),t!==null&&(0,je.jsx)(Le,{label:r.visitTime,classNames:pr,children:t}),n&&(0,je.jsx)(Le,{label:r.category,classNames:pr,children:n}),o&&(0,je.jsx)(Le,{label:r.creationCategory,classNames:pr,children:o})]})};var me=require("react/jsx-runtime"),Ea={field:I(et,"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:""},fy={field:I(et,"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:""},Ec={field:I(et,"gap-1 whitespace-nowrap bg-amber-100 text-amber-900 dark:bg-amber-500/15 dark:text-amber-200"),label:"text-amber-800 text-xs uppercase tracking-wide dark:text-amber-300",value:""},xc=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:l,sourceConfig:u,visitTimeDisplay:d,markerIds:p,labels:m})=>{let g=r?m.starRemove:m.starAdd,y=t?m.markUnread:m.markRead,T=e.category?.trim(),v=e.creationCategory?.trim();return(0,me.jsxs)("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[(0,me.jsx)(Or,{id:p.attachments,count:e.attachments.length,label:m.attachments}),u?(0,me.jsx)(en,{id:p.source,config:u}):null,(0,me.jsx)(ze,{render:c=>(0,me.jsx)("button",{type:"button",onClick:a,tabIndex:c,className:qe,title:g,"aria-label":g,"data-detail-star-button":e.reportHubId,children:(0,me.jsx)(Jr,{filled:r})})}),(0,me.jsx)(ze,{render:c=>(0,me.jsx)("button",{type:"button",onClick:o,tabIndex:c,className:qe,title:y,"aria-label":y,"data-detail-read-button":e.reportHubId,children:t?(0,me.jsx)(vc.default,{className:Ue.read}):(0,me.jsx)(tn,{})})}),i&&(0,me.jsx)(ze,{render:c=>(0,me.jsx)("button",{ref:s,type:"button",onClick:i,tabIndex:c,"data-detail-edit-button":e.reportHubId,className:qe,title:m.edit,"aria-label":m.edit,children:(0,me.jsx)(Ic.default,{className:Ue.edit})})}),n&&(0,me.jsx)(ze,{render:c=>(0,me.jsx)("button",{type:"button",onClick:l,tabIndex:c,"data-detail-delete-button":e.reportHubId,className:qe,title:m.deleteReport,"aria-label":m.deleteReport,children:(0,me.jsx)(Tc.default,{className:Ue.delete})})}),(0,me.jsxs)("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[(0,me.jsx)(Le,{label:m.id,classNames:fy,children:e.reportHubId}),(0,me.jsx)(Le,{label:m.businessDate,classNames:Ea,children:(0,me.jsx)(Ar,{text:xe(e.date)})}),(0,me.jsx)(Le,{label:m.author,classNames:Ea,children:Ae(e.employeeName)}),(0,me.jsx)(Le,{label:m.visitTime,classNames:Ea,children:Ae(d)}),(0,me.jsx)(Le,{label:m.updatedAt,classNames:Ea,children:(0,me.jsx)(Ar,{text:xe(e.updatedAt)})}),T&&(0,me.jsx)(Le,{label:m.category,classNames:Ec,children:T}),v&&(0,me.jsx)(Le,{label:m.creationCategory,classNames:Ec,children:v})]})]})};var vt=require("react");var B=require("react"),Hi=require("react-dom");var rn=e=>({owner:e,focusIndex:null}),Ni=Object.freeze({owner:null,focusIndex:null}),Dc=(e,t)=>{if(e.length===0)return Ni;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:e[r].reportHubId,index:r},focusIndex:r}},Cc=(e,t)=>{switch(t.kind){case"focusIn":return rn(t.row);case"focusOut":return t.to==="outside"?Ni:rn(e);case"pointerPress":return t.at==="outside"?Ni:rn(e);case"listChanged":{if(e===null)return rn(e);let r=Oe(t.items,e.reportHubId,e.index);return r===-1?Dc(t.items,e.index):rn(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?rn(e):Dc(t.items,t.selection.index)}};var yy=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),va={capture:!0},Ia=new WeakMap,by=e=>{let t=o=>{yy.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,va),e.removeEventListener("pointerdown",r,va)}};return e.addEventListener("keydown",t,va),e.addEventListener("pointerdown",r,va),n},Ac=e=>{let t=Ia.get(e),r=t===void 0?by(e):t;t===void 0&&Ia.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),Ia.delete(e)))}},_c=e=>{let t=Ia.get(e);return t===void 0?null:t.last};var Ta=e=>e.matches(":focus-visible")&&_c(e.ownerDocument)!=="pointer";var Ry="data-daily-report-keyboard-focus",mr={capture:!0},Lc=e=>{let t=Ac(e.ownerDocument),r=s=>{e.toggleAttribute(Ry,_e(s)&&Ta(s))},n=s=>r(s.target),o=s=>{_e(s.relatedTarget)&&e.contains(s.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,mr),e.addEventListener("keydown",n,mr),e.addEventListener("focusout",o,mr),e.addEventListener("pointerdown",a,mr);let i=ke(e);return r(i!==null&&e.contains(i)?i:null),()=>{e.removeEventListener("focusin",n,mr),e.removeEventListener("keydown",n,mr),e.removeEventListener("focusout",o,mr),e.removeEventListener("pointerdown",a,mr),r(null),t()}};var hy='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',Sy=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],gy=Sy.map(e=>`[role="${e}"]`).join(", "),Ey=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),vy=new Set(["Enter"," "]),Iy=new Map([["Home","exitBefore"],["End","exitAfter"]]),Oi=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return Iy.get(e.key)??null;let r=Ey.get(e.key);return r!==void 0?r:vy.has(e.key)&&t.rowActivation?"activate":null},wc=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},Nc=(e,t,r)=>{let n=Oi(e,r);if(n===null||e.defaultPrevented||xr(e)||t===null||!_e(e.target)||!t.contains(e.target))return null;let o=ir(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:wc(e.target,hy,t)||wc(e.target,gy,t)?null:n};var xa={kind:"stay"},Da=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},Oc=e=>Math.floor(.875*e),fr=(e,t)=>({kind:"move",index:e,align:t}),Mn=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",Ty=({index:e,count:t,viewport:r,focusedRowTop:n,heightOf:o})=>{let a=o(e),i=n+a,s={index:e+1,top:i};for(let l=e+1;l<t;l++){let u=o(l);if(a+=u,a>r)break;s={index:l,top:i},i+=u}return s},xy=({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},Dy=(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 xa;if(r==="top")return fr(n-1,"top");let u=s(n-1);return fr(n-1,Mn(i-u,u,a,-1))}case"next":return n===o-1?xa:r==="top"?fr(n+1,"top"):fr(n+1,Mn(l,s(n+1),a,1));case"first":return fr(0,"top");case"last":return fr(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(l>a)return{kind:"reveal",delta:Math.min(l-a,Oc(a))};if(n===o-1)return xa;let u=Ty(t);return fr(u.index,Mn(u.top,s(u.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,Oc(a))};if(n===0)return xa;let u=xy(t);return fr(u.index,Mn(u.top,s(u.index),a,-1))}}},Cy=({index:e,focusedRowTop:t,heightOf:r},n)=>Fc(n,{index:e,offsetPx:-t},r),kc=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let l=Dy(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:Cy(o,l.index)}:(a={index:l.index,align:l.align},i=0,o={...o,index:l.index,focusedRowTop:l.align==="top"?0:o.viewport-o.heightOf(l.index)})}return{index:o.index,alignment:a,scrollDelta:i}},Hc=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>Mn(r,n(e),t,1),Fc=(e,t,r)=>{let n=-t.offsetPx;for(let o=t.index;o<e;o++)n+=r(o);for(let o=e;o<t.index;o++)n-=r(o);return n},Pn=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=Da(n);if(n.kind==="uniform")return{index:t,count:r,viewport:o,focusedRowTop:t*n.rowHeight-a,heightOf:i};let s=e.getScrollAnchor();return s===null?null:{index:t,count:r,viewport:o,focusedRowTop:Fc(t,s,i),heightOf:i}},Mc=1,Bc=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=kn(o,n,t,r);return{start:Math.max(0,o.index-Mc),end:Math.min(t-1,a+Mc)}},kn=(e,t,r,n)=>{let o=Da(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},Vc=(e,t)=>e.top<t.top?e.top-t.top:e.bottom>t.bottom?Math.min(e.bottom-t.bottom,e.top-t.top):0,Pc=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),Uc=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(Pc(t,n,o))return t.reportHubId;if(Pc(r,n,o))return r.reportHubId;let a=e[n.visibleStartIndex];return a===void 0?null:a.reportHubId};var Pi=1,Hn=2,Mi=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?Pi:0)|(n===t||n===r?Hn:0),Ay=e=>{if(Ft(e))return!0;let t=ke(e);return t!==null&&e.contains(t)},_y=(e,t)=>{let r=e.closest(`[${ko}]`);return r!==null&&r!==e&&vr(r)===t&&ke(e)===r},Wc={capture:!0},Kc=({getContainer:e,initialSelectedId:t})=>{let r={selectedId:t,tabStopId:t,arrivingId:null},n=null,o=null,a=!1,i=null,s=new Map,l=new Map,u=null,d=new Map,p=c=>Mi(r,c),m=c=>{let h=l.get(c);if(h===void 0)return;let E=(p(c)&Hn)!==0?"0":"-1";h.getAttribute("tabindex")!==E&&h.setAttribute("tabindex",E)},g=()=>{if(n===null)return;let c=n;n=null,m(c)},y=(c,h)=>{g();let E={...r};c(r);let S=r,x=new Set([E.selectedId,E.tabStopId,E.arrivingId,S.selectedId,S.tabStopId,S.arrivingId]);for(let N of x){if(N===null)continue;let O=Mi(E,N),C=Mi(S,N);if(O===C)continue;((O^C)&Hn)!==0&&(N===h?n=N:m(N));let w=s.get(N);if(w!==void 0)for(let $ of[...w])$()}},T=c=>{let h=c.ownerDocument,E=n!==null&&!Ft(c);E?h.addEventListener("focusout",g,Wc):g(),a=!0;try{c.focus({preventScroll:!0})}finally{a=!1,E&&h.removeEventListener("focusout",g,Wc),g()}},v=c=>{let h=e();h!==null&&(o=null,Ay(h)&&T(c))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:p,setTabStopId:c=>{y(h=>{h.tabStopId=c},null)},settleSelection:(c,h)=>{y(E=>{E.selectedId=c,E.tabStopId=h,E.arrivingId=null},null)},arrive:c=>{y(h=>{h.arrivingId=c},c)},subscribe:(c,h)=>{let E=s.get(c)??new Set;return E.add(h),s.set(c,E),()=>{E.delete(h),E.size===0&&s.get(c)===E&&s.delete(c)}},registerFocusTarget:(c,h)=>{if(l.set(c,h),m(c),o===c){v(h);return}i===null||i.reportHubId!==c||(Ft(h)||_y(h,c))&&T(h)},unregisterFocusTarget:(c,h)=>{l.get(c)===h&&l.delete(c)},requestFocus:c=>{o=c;let h=l.get(c);h!==void 0&&v(h)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>i,setFocusOwner:c=>{i=c},restoreFocus:c=>{if(i===null||i.reportHubId!==c)return;let h=l.get(c);h===void 0||!Ft(h)||T(h)},holdBodiesOutside:c=>{u=c},isBodyHeldAt:c=>u!==null&&(c<u.start||c>u.end),registerHeldBody:(c,h,E)=>{let S={indexHint:h,release:E};return d.set(c,S),()=>{d.get(c)===S&&d.delete(c)}},releaseHeldBodiesWithin:(c,h)=>{if(c!==null)for(let[E,{indexHint:S,release:x}]of[...d]){let N=h(E,S);N>=c.start&&N<=c.end&&x()}}}};var _t={previous:{axis:"row",amount:-1},next:{axis:"row",amount:1},pageBackward:{axis:"page",amount:-1},pageForward:{axis:"page",amount:1},first:{axis:"first",amount:1},last:{axis:"last",amount:1},activate:{axis:"activate",amount:1}},ki=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),Ly=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),$c=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),wy=new Map(Object.values(_t).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),zc=e=>{let t=wy.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},Ny=(e,t,r)=>e==="row"||e==="page"?t+r:r,jc=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:zc(e)}),Gc=(e,t)=>{switch(t.kind){case"repeat":{let{step:r}=t;if(e.axis!==r.axis)throw new Error(`[daily-report] a ${r.axis} repeat cannot continue a ${e.axis} stream`);return e.fence==="open"?(e.fence="immediate",zc(r)):(e.pending=Ny(e.axis,e.pending,r.amount),ki)}case"frame":{if(e.fence==="open")return ki;if(e.fence==="immediate")return e.fence="flush",Ly;if(e.pending===0)return e.fence="open",ki;let r=e.pending;return e.pending=0,{apply:{axis:e.axis,amount:r},flush:!0,requestFrame:!0,ended:!1}}case"keyup":return e.pending===0?$c:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return $c}};var Oy=Object.freeze({kind:"frame"}),My=Object.freeze({kind:"keyup"}),Py=Object.freeze({kind:"cancel"}),ky=Object.freeze({previous:Object.freeze({kind:"repeat",step:_t.previous}),next:Object.freeze({kind:"repeat",step:_t.next}),pageBackward:Object.freeze({kind:"repeat",step:_t.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:_t.pageForward}),first:Object.freeze({kind:"repeat",step:_t.first}),last:Object.freeze({kind:"repeat",step:_t.last}),activate:Object.freeze({kind:"repeat",step:_t.activate})}),Hy=(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}},Fy=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),By=e=>{let t=vr(e),r=Ur(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},Ca=(e,t)=>{let r=(0,B.useCallback)(a=>e.subscribe(t,a),[e,t]),n=(0,B.useCallback)(()=>e.rowStateOf(t),[e,t]),o=(0,B.useSyncExternalStore)(r,n,n);return{isCurrent:(o&Pi)!==0,isTabStop:(o&Hn)!==0}},Aa=(e,t,r)=>{let[n,o]=(0,B.useState)(()=>!e.isBodyHeldAt(r));return(0,B.useLayoutEffect)(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return(0,B.startTransition)(a),i},[e,t,r,n]),n},Vy=e=>e==="first"||e==="last",qc=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:l,rowActivation:u})=>{let[d]=(0,B.useState)(()=>Kc({getContainer:()=>n.current,initialSelectedId:t})),p=(0,B.useRef)({items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:u}),m=(0,B.useRef)(null),g=(0,B.useRef)(null),[y,T]=(0,B.useState)(null),v=(0,B.useRef)(null),c=(0,B.useRef)(null),[h,E]=(0,B.useState)(null),S=(0,B.useRef)(!1),x=(0,B.useRef)(null),[N,O]=(0,B.useState)(0),C=(0,B.useMemo)(()=>({id:t,indexHint:t===null?null:Rl(y,t)}),[t,y]),w=(0,B.useRef)(C);(0,B.useLayoutEffect)(()=>{p.current={items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:u},w.current=C},[e,r,s,l,u,C]);let $=(0,B.useCallback)((A,L)=>{let H=g.current;if(H!==null&&H.items===A&&H.reportHubId===L)return H.index;let q=Oe(A,L,H!==null&&H.reportHubId===L?H.index:null);return q!==-1&&(g.current={items:A,reportHubId:L,index:q}),q},[]),F=(0,B.useCallback)((A,L)=>{g.current={items:p.current.items,reportHubId:A,index:L},T(H=>H!==null&&H.reportHubId===A&&H.index===L?H:{reportHubId:A,index:L})},[]),ie=(0,B.useCallback)(A=>{let L=d.getFocusOwner();if(L===null)return null;let H=Oe(A,L.reportHubId,L.index);return H===-1?null:{reportHubId:L.reportHubId,index:H}},[d]),U=(0,B.useCallback)(A=>{let L=p.current.items,H=A===null?null:{reportHubId:A,index:$(L,A)};return Uc(L,ie(L),H,m.current,x.current)},[$,ie]),fe=(0,B.useCallback)(()=>{d.setTabStopId(U(d.getSelectedId()))},[d,U]),Ee=(0,B.useCallback)(A=>{let L=d.getFocusOwner();L===A||L!==null&&A!==null&&L.reportHubId===A.reportHubId&&L.index===A.index||(d.setFocusOwner(A),S.current||fe())},[d,fe]),ee=(0,B.useCallback)(A=>{let L=Cc(d.getFocusOwner(),A);Ee(L.owner),L.focusIndex!==null&&(v.current=L.focusIndex,d.requestFocus(L.owner.reportHubId))},[d,Ee]);(0,B.useLayoutEffect)(()=>{d.settleSelection(t,U(t))},[d,t,e,N,U]),(0,B.useLayoutEffect)(()=>{let A=o.current;if(A!==null)return Lc(A)},[o]),(0,B.useLayoutEffect)(()=>{let A=n.current;if(A===null)return;let L=A.ownerDocument,H=q=>{let se=n.current,Ie=q.target;ee({kind:"pointerPress",at:se!==null&&_e(Ie)&&se.contains(Ie)?"inside":"outside"})};return L.addEventListener("pointerdown",H,{capture:!0}),()=>L.removeEventListener("pointerdown",H,{capture:!0})},[n,ee]),(0,B.useLayoutEffect)(()=>{let A=d.pendingFocusId();A!==null&&Oe(e,A,v.current)===-1&&d.cancelFocusRequest(),ee({kind:"listChanged",items:e})},[d,e,ee]);let z=(0,B.useCallback)(A=>{ee({kind:"removed",reportHubId:A,selection:g.current,items:p.current.items})},[ee]),X=(0,B.useCallback)((A,L,H,q)=>{let{items:se,onSelect:Ie,rowSizing:Ge,arrowAlign:Pe}=p.current,b=a.current;if(Ie===null||b===null)return null;let D=Oe(se,H.reportHubId,H.index);if(D===-1)return null;let R=Pn(b,D,se.length,Ge);if(R===null)return null;let f=kc(A,L,R,Pe),_=se[f.index],P=f.index!==D,Q=P||q&&Vy(A)&&w.current.id!==_.reportHubId;if(P){d.arrive(_.reportHubId),x.current=_.reportHubId,v.current=f.index,S.current=!0;try{d.requestFocus(_.reportHubId)}finally{S.current=!1}}try{(0,Hi.flushSync)(()=>{Q&&(d.pendingFocusId()===null&&d.settleSelection(_.reportHubId,_.reportHubId),Ie(_.reportHubId,f.index)),f.alignment!==null&&i.toIndex(f.alignment.index,{align:f.alignment.align}),f.scrollDelta!==0&&i.by(f.scrollDelta),Q&&(F(_.reportHubId,f.index),O(Te=>Te+1));let ae=Bc(b,se.length,Ge);d.holdBodiesOutside(ae),d.releaseHeldBodiesWithin(ae,(Te,Zt)=>Oe(se,Te,Zt))})}finally{d.holdBodiesOutside(null)}return P?{reportHubId:_.reportHubId,index:f.index}:{reportHubId:H.reportHubId,index:D}},[d,a,i,F]),pe=(0,B.useCallback)(A=>{let{items:L,onSelect:H}=p.current;if(H===null)return;let q=Oe(L,A.reportHubId,A.index);q!==-1&&(H(A.reportHubId,q),F(A.reportHubId,q))},[F]),Me=(0,B.useCallback)(A=>{let L=n.current,H=L===null?null:ke(L),q=L!==null&&H!==null&&L.contains(H)?bn(ir(H,L),p.current.items):null;return q===null?A.origin:q},[n]),J=(0,B.useCallback)((A,L)=>{let H=Me(A);if(L.axis==="activate"){pe(H);return}let q=Hy(L.axis,L.amount),se=X(q.command,q.count,H,!1);se!==null&&(A.origin=se)},[Me,pe,X]),Dt=(0,B.useCallback)(A=>{c.current=null,A.frame!==0&&A.view.cancelAnimationFrame(A.frame),E(null)},[]),nt=(0,B.useCallback)((A,L,H)=>{let{apply:q}=L;q!==null&&(L.flush?(0,Hi.flushSync)(()=>J(A,q)):J(A,q)),c.current===A&&(L.ended?Dt(A):L.requestFrame&&(A.frame=A.view.requestAnimationFrame(H)))},[J,Dt]),Ce=(0,B.useCallback)((A,L,H)=>{nt(A,Gc(A.state,L),H)},[nt]),Fe=(0,B.useCallback)(()=>{let A=c.current;A!==null&&(A.frame=0,Ce(A,Oy,Fe))},[Ce]),$e=(0,B.useCallback)(()=>{let A=c.current;A!==null&&Ce(A,My,Fe)},[Ce,Fe]),Re=(0,B.useCallback)(()=>{let A=c.current;A!==null&&Ce(A,Py,Fe)},[Ce,Fe]),Be=(0,B.useCallback)((A,L,H)=>{E(w.current);let{state:q,effects:se}=jc(_t[A]),Ie={state:q,origin:L,view:H,frame:0};c.current=Ie,nt(Ie,se,Fe)},[nt,Fe]);(0,B.useLayoutEffect)(()=>()=>{let A=c.current;c.current=null,A!==null&&A.frame!==0&&A.view.cancelAnimationFrame(A.frame)},[]);let Se=(0,B.useCallback)(A=>{let L=c.current,H=L!==null&&A.repeat?Oi(A,p.current):null;if(L!==null&&H!==null&&H!=="exitBefore"&&H!=="exitAfter"&&_t[H].axis===L.state.axis){A.preventDefault(),Ce(L,ky[H],Fe);return}let{items:q,onSelect:se,rowSizing:Ie,rowActivation:Ge}=p.current,Pe=n.current,b=se===null?null:Nc(Gr(A),Pe,{rowActivation:Ge});if(d.cancelFocusRequest(),$e(),b===null||Pe===null)return;if(b==="exitBefore"||b==="exitAfter"){let f=Dd(Pe,b==="exitBefore"?"before":"after");if(f===null)return;A.preventDefault(),f.focus();return}let D=ke(Pe),R=bn(ir(D!==null&&Pe.contains(D)?D:A.target,Pe),q);if(R!==null){if(b!=="activate"){let f=a.current;if(f===null||Pn(f,R.index,q.length,Ie)===null)return}if(A.preventDefault(),A.repeat){Be(b,R,tt(Pe));return}b==="activate"?pe(R):X(b,1,R,!0)}},[d,n,a,Fe,Ce,$e,Be,pe,X]),Ve=(0,B.useCallback)(()=>{$e()},[$e]),Xt=(0,B.useCallback)(A=>{let L=n.current,H=A.target,q=ir(H,L);if(ee({kind:"focusIn",row:q===null?null:By(q)}),d.isMovingFocus())return;let se=a.current;if(L===null||se===null||!_e(H)||!Ta(H))return;let Ie=q===null?null:q.closest('[role="list"]');if(q===null||Ie===null)return;let Ge=Ie.getBoundingClientRect(),Pe=q.getBoundingClientRect(),b=Pe.height<=Ge.height?Pe:Fy(H.getBoundingClientRect(),er),D=Vc(b,Ge),R=se.getViewportSize();D===0||!(R>0&&Ge.height>0)||i.by(D*R/Ge.height)},[d,n,a,i,ee]),Qt=(0,B.useCallback)(A=>{let L=n.current,H=A.relatedTarget,q=_e(H)?L?.contains(H)?"view":"outside":"nowhere";q!=="view"&&Re(),ee({kind:"focusOut",to:q})},[n,Re,ee]),yt=(0,B.useCallback)(()=>{d.cancelFocusRequest(),Re()},[d,Re]),Lt=(0,B.useCallback)(A=>{m.current={visibleStartIndex:A.visibleStartIndex,visibleEndIndex:A.visibleEndIndex},x.current=null,fe()},[fe]),br=(0,B.useMemo)(()=>({onKeyDown:Se,onKeyUp:Ve,onPointerDownCapture:yt,onWheelCapture:yt,onTouchStartCapture:yt,onFocus:Xt,onBlur:Qt}),[Se,Ve,yt,Xt,Qt]);return{cursor:d,containerProps:br,handleRangeChange:Lt,selection:C,settledSelection:h===null?C:h,resolveSelectedIndex:$,rememberSelection:F,focusAfterRemoval:z}};var _a=require("react/jsx-runtime"),Uy=I(rr,Gn,qn,jn,"h-full"),Wy="h-full w-full",Yc=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:l}=Ca(a,e),u=(0,vt.useContext)(Vt),d=(0,vt.useContext)(Bt),p=Aa(a,e,u),m=(0,vt.useRef)(null),g=(0,vt.useRef)(null),y=(0,vt.useCallback)(T=>(m.current=T,a.registerFocusTarget(e,T),()=>{m.current=null,a.unregisterFocusTarget(e,T)}),[a,e]);return(0,vt.useLayoutEffect)(()=>{let T=m.current,v=T===null||!p?null:T.firstElementChild,c=v instanceof HTMLElement?v:null,h=g.current;h!==null&&h.body===c||(h!==null&&h.stop(),g.current=c===null?null:{body:c,stop:o(c)})}),(0,vt.useLayoutEffect)(()=>()=>{g.current?.stop(),g.current=null},[]),(0,vt.useLayoutEffect)(()=>{a.restoreFocus(e)},[a,e,n]),(0,_a.jsx)(_n.Provider,{value:l,children:(0,_a.jsx)("div",{ref:y,className:Uy,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":u+1,"aria-setsize":d,"aria-labelledby":p&&t.kind==="card"?t.ids.heading:void 0,"aria-describedby":p&&t.kind==="card"?t.describedBy:void 0,"aria-label":t.kind==="label"?t.label:void 0,"aria-busy":r||!p?!0:void 0,"aria-current":s?"true":void 0,children:p?i:(0,_a.jsx)("div",{...lt,className:Wy})})})};var V=require("react/jsx-runtime"),Ky=I("flex w-full flex-col",wt,Qn,tr),$y=I(wt,tr),zy=I("rounded-2xl",tr),jy=I("rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-700 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",tr),Ze="bg-slate-200 dark:bg-slate-700",Gy=(e,t)=>{let r=Ae(e.name);return e.affiliation?.trim()?t.interviewerWithAffiliation(r,e.affiliation):r},qy=()=>(0,V.jsxs)("div",{...lt,className:$y,children:[(0,V.jsxs)("div",{className:"mb-4 flex flex-wrap gap-2",children:[(0,V.jsx)("div",{className:I("h-6 w-20 rounded-full",Ze)}),(0,V.jsx)("div",{className:I("h-6 w-24 rounded-full",Ze)}),(0,V.jsx)("div",{className:I("h-6 w-24 rounded-full",Ze)}),(0,V.jsx)("div",{className:I("h-6 w-28 rounded-full",Ze)})]}),(0,V.jsxs)("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,V.jsxs)("div",{className:"space-y-4",children:[(0,V.jsx)("div",{className:I("h-5 w-40 rounded",Ze)}),(0,V.jsx)("div",{className:I("h-5 w-56 rounded",Ze)}),(0,V.jsx)("div",{className:I("h-24 rounded-xl",Ze)})]}),(0,V.jsxs)("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[(0,V.jsx)("div",{className:I("mb-2 h-4 w-24 rounded",Ze)}),(0,V.jsx)("div",{className:I("mb-2 h-4 w-28 rounded",Ze)}),(0,V.jsx)("div",{className:I("h-4 w-32 rounded",Ze)})]})]}),(0,V.jsxs)("div",{className:"space-y-4",children:[(0,V.jsx)("div",{className:I("h-4 w-24 rounded",Ze)}),(0,V.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,V.jsx)("div",{className:I("h-6 w-16 rounded-full",Ze)}),(0,V.jsx)("div",{className:I("h-6 w-16 rounded-full",Ze)}),(0,V.jsx)("div",{className:I("h-6 w-16 rounded-full",Ze)})]}),(0,V.jsxs)("div",{className:"space-y-2",children:[(0,V.jsx)("div",{className:I("h-16 rounded-xl",Ze)}),(0,V.jsx)("div",{className:I("h-16 rounded-xl",Ze)})]})]})]}),Yy=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:l}=ar(e.reportHubId,e.businessDate),{removeStaleItem:u}=Xe(),{draftLabelName:d,sourceTypeConfigs:p}=K(),m=lr(),g=Zo(e.reportHubId),y=g==="editing"||g==="automatic",T=(0,he.useRef)(!1),v=(0,he.useRef)(!1),c=(0,he.useRef)(!1);(0,he.useEffect)(()=>{if(l){c.current=!0;return}!(a||s||i)&&c.current&&e.reportHubId>0&&u(e.reportHubId)},[a,s,l,i,e.reportHubId,u]);let h=a?.labels.some(X=>X.name===d),E=n&&a?.userId===n,S=(0,he.useMemo)(()=>a===null?void 0:()=>{T.current=!0,m.open(e.reportHubId,Zr(a),!1)},[m,e.reportHubId,a]),x=(0,he.useCallback)(()=>{v.current=!0,m.dismiss(e.reportHubId)},[m,e.reportHubId]),N=(0,he.useCallback)(()=>{v.current=!0,m.discard(e.reportHubId)},[m,e.reportHubId]),O=(0,he.useCallback)(X=>{X===null||!T.current||(T.current=!1,X.focus())},[]),C=(0,he.useCallback)(X=>{X===null||!v.current||(v.current=!1,X.focus())},[]);(0,he.useLayoutEffect)(()=>{y||(v.current=!1)},[y]),(0,he.useEffect)(()=>{a!==null&&(E&&h&&g==="display"?m.open(e.reportHubId,Zr(a),!0):!h&&g==="automatic"&&m.discard(e.reportHubId))},[a,E,h,g,m,e.reportHubId]);let w=(0,he.useCallback)(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),$=(0,he.useId)(),F=(0,he.useMemo)(()=>({heading:`${$}-heading`,state:`${$}-state`,attachments:`${$}-attachments`,source:`${$}-source`}),[$]),ie=a!==null&&a.attachments.length>0,U=a===null?void 0:or(a.sourceType,p),fe=[F.state,...ie?[F.attachments]:[],...U!==void 0?[F.source]:[]].join(" "),Ee=!i&&a!==null&&!y?{kind:"card",ids:F,describedBy:fe}:{kind:"label",label:xe(e.businessDate)},ee=!i&&a===null&&s,z=i?"error":a===null?s?"loading":"missing":y?"editing":"resolved";return(0,V.jsx)(Yc,{itemId:e.reportHubId,name:Ee,isBusy:ee,bodyKind:z,observeRowHeight:t,cursor:o,children:i?(0,V.jsx)(Xy,{itemId:e.reportHubId}):a?y?(0,V.jsx)("div",{...lt,className:zy,children:(0,V.jsx)(Ra,{report:a,onCancel:x,onPublishSuccess:N,titleInputRef:O})}):(0,V.jsx)(Qc,{item:e,report:a,sourceConfig:U,textIds:F,onCommentAdded:r,userId:n,onEdit:E?S:void 0,editButtonRef:C,onCommentSectionRemoved:w}):(0,V.jsx)(qy,{})})},Xc=(0,he.memo)(Yy),Qc=(0,he.memo)(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:l})=>{let{toggleStar:u,toggleRead:d,pendingStarUpdates:p,pendingReadUpdates:m,deleteReport:g}=Xe(),{labels:y,headingLevel:T}=K(),v=dr[T],c=bo(t.sourceType,r),h=(0,he.useCallback)(()=>o?.(e.reportHubId),[o,e.reportHubId]),E=p.current.get(t.reportHubId),S=E===void 0?t.isStarred:E,x=m.current.get(t.reportHubId),N=x===void 0?t.isRead:x,O=!!(a&&t.userId===a),C=async()=>{try{await d(t.reportHubId,!N,t.date)}catch{}},w=async()=>{try{await u(t.reportHubId,!S,t.date)}catch{}},$=async()=>{if(confirm(y.confirmDelete))try{await g(t.reportHubId,t.date)}catch{}},F=(0,he.useMemo)(()=>t.content?t.content.replace(/<br\s*\/??\s*>/gi,`
|
|
4
|
+
`).trim():"",[t.content]),ie=(0,he.useMemo)(()=>{let U=t.visitTimeFrom?.trim(),fe=t.visitTimeTo?.trim();return U&&fe?`${U} - ${fe}`:U||fe||null},[t.visitTimeFrom,t.visitTimeTo]);return(0,V.jsxs)("div",{...lt,onDoubleClick:i,className:Ky,children:[(0,V.jsx)(ct,{level:T,id:n.heading,className:"sr-only",children:`${xe(t.date)} ${Ae(t.employeeName)} ${Ae(t.subject)}`}),(0,V.jsx)("span",{id:n.state,className:"sr-only",children:y.rowState({isRead:N,isStarred:S})}),(0,V.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,V.jsx)(xc,{report:t,sourceConfig:r,isRead:N,isStarred:S,isMine:O,onToggleRead:C,onToggleStar:w,onEdit:i,editButtonRef:s,onDelete:$,visitTimeDisplay:ie,markerIds:n,labels:y}),(0,V.jsxs)("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[(0,V.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,V.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,V.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,V.jsx)(ct,{level:v,className:Ht,children:y.customer}),(0,V.jsx)("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:Ae(t.customerName)})]}),(0,V.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,V.jsx)(ct,{level:v,className:Ht,children:y.subject}),(0,V.jsx)("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:Ae(t.subject)})]})]}),F&&(0,V.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,V.jsx)(ct,{level:v,className:Ht,children:y.content}),(0,V.jsx)("div",{className:I("whitespace-pre-wrap",Xn),children:F})]}),t.interviewers.length>0&&(0,V.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,V.jsx)(ct,{level:v,className:Ht,children:y.interviewers}),(0,V.jsx)("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map(U=>(0,V.jsx)("li",{className:I(et,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:Gy(U,y)},JSON.stringify([U.name,U.affiliation])))})]}),(0,V.jsx)(pa,{attachments:t.attachments}),(0,V.jsx)(Nn,{report:t,userId:a,canComment:c,onCommentAdded:h,onSectionRemoved:l,formPlacement:"after-section"})]}),(0,V.jsx)(gc,{report:t,visitTimeDisplay:ie,labels:y})]})]})]})});Qc.displayName="DailyReportResolvedItem";var Xy=({itemId:e})=>{let{labels:t}=K();return(0,V.jsx)("div",{...lt,className:jy,children:(0,V.jsx)("p",{children:t.reportLoadFailed(e)})})};var Pt=require("react");var nn=require("react");var Zc=()=>{let e=!1;return{request:()=>{e=!0},isPending:()=>e,take:()=>{let t=e;return e=!1,t}}},Fi=(0,nn.createContext)(null),Jc=(e,t)=>{let r=(0,nn.useContext)(Fi);(0,nn.useLayoutEffect)(()=>{let n=e.current;if(r===null||!r.isPending()||n===null)return;let o=Ho(n);o===null&&!t||(r.take(),Ft(n)&&Ot([o===null?fi(n.ownerDocument):o]))})};var ut=require("react");var Qy=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e[o]?.reportHubId!==t[o]?.reportHubId)return!0;return!1},Zy=(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}},Jy=(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}},eb=(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"?Zy(e.index,a,n.rowHeight,r.length):Jy(e.index,a,Da(n),r.length);return{reportHubId:r[i].reportHubId,index:i,offsetPx:s,lastVisibleIndex:kn({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},tb=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=Oe(t,e[n].reportHubId,n-1);if(o!==-1)return o}return-1},eu=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=(0,ut.useRef)(null),a=(0,ut.useRef)(e),i=(0,ut.useRef)(r),s=(0,ut.useCallback)(()=>{let d=t.current,p=d===null?-1:d.getScrollPosition(),m=d===null||!(p>0)?null:d.getScrollAnchor(),g=a.current,y=m===null?void 0:g[m.index],T=d===null?0:d.getViewportSize();o.current=m===null||y===void 0||!(T>0)?null:{reportHubId:y.reportHubId,index:m.index,offsetPx:m.offsetPx,lastVisibleIndex:kn(m,T,g.length,i.current),recordedAt:p}},[t]),l=(0,ut.useMemo)(()=>({toIndex:(d,p)=>{let m=t.current;m!==null&&(m.scrollToIndex(d,p),s())},by:d=>{let p=t.current;p!==null&&(p.scrollBy(d),s())},resizeRow:(d,p)=>{let m=t.current;m!==null&&(m.updateItemSize(d,p),s())}}),[t,s]);(0,ut.useLayoutEffect)(()=>{let d=a.current;a.current=e;let p=o.current,m=t.current;if(d===e||p===null||m===null||n())return;let g=eb(p,m.getScrollPosition(),d,i.current,m.getViewportSize());if(g===null){o.current=null;return}let y=Oe(e,g.reportHubId,g.index),T=y===-1?tb(d,e,g):y;if(T===-1){o.current=null;return}if(T===g.index&&!Qy(d,e,g.index,g.lastVisibleIndex)){o.current=g;return}m.scrollToIndex(T,{align:"top",offset:-g.offsetPx}),o.current={reportHubId:e[T].reportHubId,index:T,offsetPx:g.offsetPx,lastVisibleIndex:kn({index:T,offsetPx:g.offsetPx},m.getViewportSize(),e.length,r),recordedAt:m.getScrollPosition()}},[e,t,r,n]),(0,ut.useLayoutEffect)(()=>{i.current=r},[r]);let u=(0,ut.useCallback)(d=>{if(d.cause!=="clamp"){s();return}let p=o.current;p!==null&&(o.current={...p,recordedAt:p.recordedAt+d.delta})},[s]);return(0,ut.useMemo)(()=>({handleRangeChange:s,handleScrollAdjust:u,scroller:l}),[s,u,l])};var tu=require("react"),rb=20,ru=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>(0,tu.useCallback)(a=>{t.current=a;let i=a.querySelector(`[data-testid="${e}"]`);return i!==null&&Object.defineProperty(i,"__virtualScroll",{configurable:!0,get:()=>{let s=r.current;if(s!==null)return{getViewportSize:()=>s.getViewportSize(),getScrollPosition:()=>s.getScrollPosition(),getScrollAnchor:()=>s.getScrollAnchor(),getRange:()=>s.getRange(),getFenwickSize:()=>s.getFenwickSize(),findReportIndex:l=>o.current.findIndex(u=>u.reportHubId===l),getReportItem:l=>o.current[l],getReportIds:(l=rb)=>o.current.slice(0,l).map(u=>u.reportHubId),revealIndex:(l,u)=>n.toIndex(l,u)}}}),()=>{i!==null&&delete i.__virtualScroll,t.current=null}},[e,t,r,n,o]);var nu=require("react/jsx-runtime"),La=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let i=(0,Pt.useRef)(null),s=(0,Pt.useCallback)(S=>(i.current=S,()=>{i.current=null}),[]),{handleRangeChange:l,handleScrollAdjust:u,scroller:d}=eu({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:p,...m}=qc({...a,containerRef:e,handleRef:i,scroller:d}),g=ru({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:d,itemsRef:r});Jc(e,a.items.length===0);let{labels:y}=K(),T=(0,Pt.useId)(),v=a.onSelect!==null,c=(0,Pt.useCallback)(S=>{p(S),l(),o(S)},[p,l,o]),h=(0,Pt.useMemo)(()=>({role:"list","aria-label":y.title,"aria-describedby":v?T:void 0}),[y.title,v,T]),E=(0,Pt.useMemo)(()=>v?(0,nu.jsx)("span",{id:T,className:"sr-only",children:y.listKeyboardHelp}):null,[v,T,y.listKeyboardHelp]);return{...m,handleRangeChange:c,handleScrollAdjust:u,attachVirtualScroll:s,handleRef:i,scroller:d,attachScrollContainer:g,contentProps:h,keyboardHelp:E}};var st=require("react/jsx-runtime"),iu={pointerDragInputs:To,wheelSpeedMultiplier:ho,inertiaOptions:Wr(!1),enableKeyboardNavigation:!1},nb={...iu,inertiaOptions:Wr(!0)},ou="daily-report-detail-list",ob=I("relative w-full",oo,ro),ab=I(bt,"relative"),ib=300,wa=e=>{let t=(0,W.useRef)(null),[r,n]=(0,W.useState)(null),o=Mo(t),a=Kr(r),i=(0,W.useCallback)(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return(0,st.jsx)("div",{ref:i,className:eo,children:(0,st.jsx)("div",{className:to,children:o===null?null:(0,st.jsx)(sb,{...e,viewportHeight:o,reducedMotion:a})})})},sb=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:i,reducedMotion:s})=>{let[{initialScrollAnchor:l,restored:u}]=(0,W.useState)(()=>{let R=a?.current;if(!R||R.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!R.topItem)return{initialScrollAnchor:void 0,restored:!0};let f=e.findIndex(_=>_.reportHubId===R.topItem?.reportHubId);return f!==-1?{initialScrollAnchor:{index:f,offsetPx:R.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:R.topItem.index,offsetPx:0},restored:!0}}),d=(0,W.useRef)(u),p=(0,W.useRef)(n??null),m=(0,W.useRef)(a?.current.measuredHeights??new Map),g=(0,W.useRef)(null),y=Lo(),T=_o(),[v]=(0,W.useState)(Bo),c=(0,W.useRef)(null),h=(0,W.useRef)(null),E=(0,W.useRef)(e),S=(0,W.useRef)(o);(0,W.useLayoutEffect)(()=>{E.current=e,S.current=o},[e,o]);let x=(0,W.useRef)(null),[N,O]=(0,W.useState)(0),C=(0,W.useRef)(null),w=e.length,$=t===void 0?w:t,F=(0,W.useCallback)(R=>R>=w?go:e[R],[e,w]),ie=(0,W.useCallback)(R=>{let f=m.current.get(F(R).reportHubId);return f===void 0?Gs:f},[F]),U=(0,W.useCallback)(R=>F(R).reportHubId,[F]),fe=(0,W.useMemo)(()=>({kind:"measured",heightOf:ie}),[ie]),Ee=(0,W.useCallback)((R,f)=>{x.current={reportHubId:R,index:f},O(_=>_+1),S.current?.(R)},[]),ee=(0,W.useCallback)((R,f)=>{if(w===0)return;let _=Math.max(0,R),P=Math.min(w-1,f);if(_>P)return;let Q=new Set;for(let ae=_;ae<=P;ae++){let Te=F(ae);if(Te.businessDate&&Q.add(Te.businessDate),Q.size>=$s)break}Q.forEach(ae=>{T(ae)})},[F,w,T]),z=(0,W.useRef)(null),X=(0,W.useCallback)(()=>z.current,[]),pe=(0,W.useCallback)(R=>{if(w===0)return;let{renderingStartIndex:f,renderingEndIndex:_,visibleStartIndex:P}=R,Q=F(P);Q.reportHubId>0&&(z.current=Q.reportHubId),Q.businessDate&&v.setLabel(xe(Q.businessDate)),ee(f,_),ee(_+1,_+So),ee(f-So,f-1)},[F,w,ee,v]),Me=(0,W.useCallback)(()=>C.current!==null,[]),{cursor:J,containerProps:Dt,handleRangeChange:nt,handleScrollAdjust:Ce,attachVirtualScroll:Fe,handleRef:$e,scroller:Re,attachScrollContainer:Be,contentProps:Se,keyboardHelp:Ve,resolveSelectedIndex:Xt,rememberSelection:Qt}=La({items:e,selectedId:n??null,onSelect:o===void 0?null:Ee,containerRef:g,rootRef:g,testId:ou,itemsRef:E,rowSizing:fe,arrowAlign:"top",rowActivation:!0,isViewRevealPending:Me,onRangeChange:pe});Uo({items:e,scroller:Re,readTopReportId:X});let yt=(0,W.useCallback)((R,f)=>{if($e.current===null)return!1;let _=E.current,P=f!==null&&f.reportHubId===R?Oe(_,R,f.index):Xt(_,R);return P===-1?!1:(d.current&&(d.current=!1,R===p.current)||f!==null&&f.reportHubId===R&&f.index===P||Re.toIndex(P,{align:"top"}),!0)},[$e,Xt,Re]);(0,W.useEffect)(()=>{let R=x.current;x.current=null,C.current=null,n!=null&&(yt(n,R)||(C.current=n))},[n,yt]),(0,W.useEffect)(()=>{let R=C.current;R!==null&&yt(R,null)&&(C.current=null)},[e,yt]),(0,W.useEffect)(()=>{let R=a?.current;R&&(R.anchorReportHubId=n??null)},[n,a]),(0,W.useEffect)(()=>{x.current=null},[N]);let Lt=(0,W.useRef)(null),br=(0,W.useCallback)(()=>{$e.current&&(Lt.current=$e.current);let R=a?.current,f=Lt.current;if(R&&f){let P=f.getScrollAnchor(),Q=P?E.current[P.index]:void 0;P&&Q&&(R.topItem={reportHubId:Q.reportHubId,index:P.index,offsetPx:P.offsetPx})}let _=g.current;_&&(_.toggleAttribute(wr,!0),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{_.toggleAttribute(wr,!1),h.current=null},150))},[$e,a]),A=(0,W.useCallback)(R=>(0,st.jsx)(Vo,{...R,store:v}),[v]);(0,W.useEffect)(()=>{let R=g.current;if(!R)return;let f=()=>{v.setWheelScrollActive(!0),c.current&&clearTimeout(c.current),c.current=window.setTimeout(()=>{v.setWheelScrollActive(!1),c.current=null},Eo)};return R.addEventListener("wheel",f,{passive:!0}),()=>{R.removeEventListener("wheel",f),c.current&&clearTimeout(c.current)}},[v]);let L=(0,W.useRef)(null),H=(0,W.useCallback)(R=>{for(let f of R){let _=f.target.parentElement,P=_===null?null:vr(_),Q=_===null?null:Ur(_),ae=f.borderBoxSize[0];if(P===null||Q===null||ae===void 0)continue;let Te=ae.blockSize+2*er;if(m.current.get(P)===Te)continue;let Zt=Oe(E.current,P,Q-1);Zt!==-1&&(m.current.set(P,Te),Re.resizeRow(Zt,Te))}},[Re]),q=(0,W.useCallback)(R=>{L.current===null&&(L.current=new ResizeObserver(H));let f=L.current;return f.observe(R),()=>f.unobserve(R)},[H]);(0,W.useEffect)(()=>()=>{L.current?.disconnect(),L.current=null},[]),(0,W.useEffect)(()=>{w!==0&&ee(0,Math.min(w-1,So))},[w,ee]);let se=(0,W.useRef)(null),Ie=(0,W.useCallback)(R=>{let f=Oe(E.current,R,null);f!==-1&&(se.current!==null&&clearTimeout(se.current),se.current=setTimeout(()=>{se.current=null;let _=Oe(E.current,R,f);_!==-1&&Re.toIndex(_,{align:"bottom"})},ib))},[Re]);(0,W.useEffect)(()=>()=>{se.current!==null&&clearTimeout(se.current)},[]);let Ge=(0,W.useCallback)(R=>{if(!S.current)return;let f=ir(R.target,g.current);if(f===null||gl(R.target,f))return;let _=bn(f,E.current);_!==null&&(Qt(_.reportHubId,_.index),Ee(_.reportHubId,_.index))},[Ee,Qt]),Pe=(0,W.useCallback)((R,f)=>(0,st.jsx)(Vt.Provider,{value:f,children:(0,st.jsx)(Xc,{item:R,observeRowHeight:q,onCommentAdded:Ie,userId:r,cursor:J})},R.reportHubId),[q,Ie,r,J]),b=(0,W.useMemo)(()=>({...Io,renderThumbOverlay:A}),[A]),D=(0,W.useMemo)(()=>(0,st.jsx)(Bt.Provider,{value:$,children:(0,st.jsx)(au.VirtualScroll,{ref:Fe,itemCount:w,getItem:F,getItemKey:U,getItemHeight:ie,viewportSize:i,initialScrollAnchor:l,overscanCount:vo,scrollBarOptions:b,behaviorOptions:s?nb:iu,onRangeChange:nt,onScrollAdjust:Ce,onScroll:br,testId:ou,className:ob,locale:y.locale,labels:y.labels,contentProps:Se,children:Pe})}),[Fe,$,w,F,U,ie,i,s,l,b,nt,Ce,br,y.locale,y.labels,Se,Pe]);return(0,st.jsx)(st.Fragment,{children:(0,st.jsxs)("div",{ref:Be,className:ab,...Dt,onClick:Ge,children:[Ve,D]})})};var Bi=we(require("lucide-react/dist/esm/icons/refresh-cw.js")),yr=require("react");var Fn=require("react/jsx-runtime"),Bn=e=>10**String(e).length-1,Na=({text:e,widestText:t,ref:r})=>(0,Fn.jsxs)("span",{ref:r,className:bs,children:[(0,Fn.jsx)("span",{"aria-hidden":"true",className:Rs,children:t}),(0,Fn.jsx)("span",{className:hs,children:e})]});var pt=require("react/jsx-runtime"),Vi=(0,yr.createContext)(!0),lb=`inline-flex rounded-full empty:not-focus:hidden ${te}`,db=(e,t,r)=>{if(r===null||r===0)return{text:e.streamProgressCount(t),widestText:e.streamProgressCount(Bn(t))};let n=Bn(Math.max(t,r));return{text:e.streamProgressRatio(t,r,Math.min(100,Math.round(t/r*100))),widestText:e.streamProgressRatio(n,n,100)}},cb=({labels:e,loadedCount:t,totalCount:r})=>{let{text:n,widestText:o}=db(e,t,r);return(0,pt.jsxs)("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:I(et,"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,pt.jsx)("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 motion-safe:animate-pulse dark:bg-blue-400"}),(0,pt.jsx)(Na,{text:n,widestText:o})]})},ub=(e,t,r,n)=>e.phase==="streaming"?(0,pt.jsx)(cb,{labels:t,loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?(0,pt.jsxs)("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:I(et,"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,pt.jsx)(Bi.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?(0,pt.jsxs)("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:I(et,"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,pt.jsx)("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:n,className:I("inline-flex h-5 items-center rounded-full bg-rose-200 px-2 font-semibold text-rose-900 hover:bg-rose-300 dark:bg-rose-800 dark:text-rose-100 dark:hover:bg-rose-700",te),children:t.streamRetry})]}):e.isRevalidating?(0,pt.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,pt.jsx)(Bi.default,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null,on=()=>{let e=Wl(),{labels:t}=K(),r=(0,yr.useContext)(Vi),n=(0,yr.useRef)(null),a=ub(e,t,r,()=>{Ot([n.current]),Yo()}),i=a===null;return(0,yr.useLayoutEffect)(()=>{let s=n.current;!i||s===null||!s.contains(ke(s))||Ot(Jo(s.ownerDocument))},[i]),(0,pt.jsx)("span",{ref:n,tabIndex:-1,"data-daily-report-stream-status":"",className:lb,children:a})};var _r=require("@aiquants/resize-panels"),Ou=require("@aiquants/virtualscroll"),Z=require("react");var su=require("react"),lu="(max-width: 639px)",pb=()=>{},mb=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return pb;let t=window.matchMedia(lu);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},fb=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(lu).matches:!1,yb=()=>!1,du=()=>(0,su.useSyncExternalStore)(mb,fb,yb);var Tt=require("@aiquants/swipe-overlay"),oe=require("react");var Oa=require("react");var cu=Object.freeze({id:null,indexHint:null}),Ma=(0,Oa.createContext)(Object.freeze({selected:cu,settled:cu})),Vn=(e,t)=>{let{id:r,indexHint:n}=t;return(0,Oa.useMemo)(()=>{if(r===null)return null;let o=Oe(e,r,n);return o===-1?null:e[o]},[e,r,n])};var Ru=we(require("lucide-react/dist/esm/icons/check.js")),hu=we(require("lucide-react/dist/esm/icons/pencil.js")),Su=we(require("lucide-react/dist/esm/icons/trash-2.js")),ne=require("react");var Yt=we(require("@radix-ui/react-tabs")),mt=we(require("react"));var an=require("react/jsx-runtime"),uu=mt.createContext(null),pu=e=>{let t=mt.useContext(uu);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},mu=(e,t)=>`${e}-trigger-${t}`,fu=(e,t)=>`${e}-panel-${t}`,Un=mt.forwardRef(({value:e,children:t,...r},n)=>{let o=mt.useId(),a=mt.useMemo(()=>({baseId:o,value:e}),[o,e]);return(0,an.jsx)(Yt.Root,{ref:n,value:e,...r,children:(0,an.jsx)(uu,{value:a,children:t})})});Un.displayName=Yt.Root.displayName;var Wn=mt.forwardRef(({className:e,...t},r)=>(0,an.jsx)(Yt.List,{ref:r,className:I("inline-flex",e),...t}));Wn.displayName=Yt.List.displayName;var Kn=mt.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=pu("TabsTrigger");return(0,an.jsx)(Yt.Trigger,{ref:n,value:t,...r,id:mu(o,t),"aria-controls":fu(o,t),className:I(`${ms} ${te}`,e)})});Kn.displayName=Yt.Trigger.displayName;var sn=mt.forwardRef(({className:e,value:t,children:r,...n},o)=>{let{baseId:a,value:i}=pu("TabsContent"),s=t===i;return(0,an.jsx)("div",{ref:o,role:"tabpanel",id:fu(a,t),"aria-labelledby":mu(a,t),"data-state":s?"active":"inactive",hidden:!s,tabIndex:0,...n,className:I(`mt-2 data-[state=inactive]:hidden ${te}`,e),children:s?r:null})});sn.displayName="TabsContent";var k=require("react/jsx-runtime"),gu=I(Rr,"w-24 shrink-0"),yu={field:"flex items-baseline",label:gu,value:"flex-1"},bb={field:"flex min-w-0 flex-1 items-baseline",label:gu,value:"wrap-break-word min-w-0 flex-1"},Rb={field:"flex flex-col gap-1",label:Rr,value:""},hb={field:"flex items-center gap-1",label:Rr,value:""},bu=I("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",Ua,Qi,Xi),Sb=I("flex flex-col gap-1",Wa),gb=I("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",te),Ui=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)})}},Eb=(e,t,r,n,o,a)=>{let i=(0,ne.useRef)(null),s=e?.reportHubId;(0,ne.useLayoutEffect)(()=>{i.current=null},[s]),(0,ne.useEffect)(()=>{n||(i.current=null)},[n]);let l=(0,ne.useCallback)(async(u,d)=>{d||(i.current=u.reportHubId);try{await a(u.reportHubId,!u.isRead,u.date)}catch{}},[a]);return(0,ne.useEffect)(()=>{if(!(r&&e&&!e.isRead&&!t)||i.current===e.reportHubId)return;let u=null,d=()=>{u!==null&&clearTimeout(u),u=o.isDwelling()?setTimeout(()=>l(e,!0),500):null};d();let p=o.subscribe(d);return()=>{p(),u!==null&&clearTimeout(u)}},[e,t,r,l,o]),{handleToggleRead:l}},Wi="article",vb=["article","relations"],Ib=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},Tb=I("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",wt),xb=9,Db=.875,Cb=16,Eu=4*Math.ceil((2*er+2*Yn+2*es+xb*Db*Cb)/4),vu=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=K(),a=(0,ne.useId)(),i=(0,ne.useId)(),[s,l]=(0,ne.useState)(Wi),{selected:u,settled:d}=(0,ne.useContext)(Ma),p=Vn(e,u),m=Vn(e,(0,ne.useDeferredValue)(d)),g=p===null?null:p.reportHubId,T=(m===null?null:m.reportHubId)===g,[v]=(0,ne.useState)(()=>Ui(T));return(0,ne.useLayoutEffect)(()=>{v.set(T)},[v,T]),(0,k.jsx)("aside",{"data-testid":"daily-report-side-pane","data-report-id":p?.reportHubId,"data-displayed-report-id":m?.reportHubId,"aria-busy":T?void 0:!0,className:Tb,children:m===null?(0,k.jsx)("div",{className:I("flex h-full flex-1 items-center justify-center text-center",Nr),children:(0,k.jsx)("p",{className:no,children:o.selectPrompt})}):(0,k.jsx)(ka,{item:m,headingId:a,authorId:i,activeTab:s,onActiveTabChange:l,autoMarkRead:t,isActive:!0,dwell:v,userId:r,onReportDeleted:n},m.reportHubId)})},ka=(0,ne.memo)(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:l,onReportDeleted:u})=>{let{draftLabelName:d,labels:p,sourceTypeConfigs:m,headingLevel:g}=K(),{report:y,error:T,isLoading:v}=ar(e.reportHubId,e.businessDate),c=lr(),h=Zo(e.reportHubId),E=h==="editing"||h==="automatic",S=(0,ne.useRef)(null),x=(0,ne.useRef)(null),N=(0,ne.useRef)(!1),O=(0,ne.useRef)(!1),C=!!(l&&y?.userId===l),w=y?.labels.some(J=>J.name===d);(0,ne.useEffect)(()=>{y!==null&&(C&&w&&h==="display"?c.open(e.reportHubId,Zr(y),!0):!w&&h==="automatic"&&c.discard(e.reportHubId))},[y,C,w,h,c,e.reportHubId]);let $=(0,ne.useMemo)(()=>y===null?void 0:()=>{N.current=!0,c.open(e.reportHubId,Zr(y),!1)},[c,e.reportHubId,y]),F=(0,ne.useCallback)(()=>{O.current=!0,c.dismiss(e.reportHubId)},[c,e.reportHubId]),ie=(0,ne.useCallback)(()=>{O.current=!0,c.discard(e.reportHubId)},[c,e.reportHubId]),U=(0,ne.useCallback)(J=>{J===null||!N.current||(N.current=!1,J.focus())},[]),fe=(0,ne.useCallback)(J=>{J===null||!O.current||(O.current=!1,J.focus())},[]),Ee=(0,ne.useCallback)(()=>{x.current?.focus({preventScroll:!0})},[]);(0,ne.useLayoutEffect)(()=>{E||!O.current||(O.current=!1,x.current?.focus())},[E]);let ee=(0,ne.useCallback)(()=>{setTimeout(()=>{let J=S.current;J!==null&&J.scrollTo({top:J.scrollHeight,behavior:xl(J)})},100)},[]),z=xe(e.businessDate),X=y===null?null:Ae(y.employeeName),pe=v||!y,Me=y===null?void 0:or(y.sourceType,m);return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)("div",{className:Sb,children:[(0,k.jsx)("dl",{className:"m-0",children:(0,k.jsx)(Le,{label:p.businessDate,classNames:Rb,children:(0,k.jsx)(ct,{ref:x,level:g,id:t,tabIndex:-1,className:gb,children:z})})}),(0,k.jsxs)("div",{className:"flex min-h-4 items-center gap-1 text-slate-500 text-xs dark:text-slate-300",children:[(0,k.jsx)("dl",{className:"m-0",children:(0,k.jsx)(Le,{label:p.author,classNames:hb,valueId:r,children:pe?(0,k.jsx)("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):X})}),Me?(0,k.jsx)(en,{config:Me,className:"ml-2"}):null]})]}),(0,k.jsxs)(Un,{value:n,onValueChange:J=>o(Ib(J)),className:"flex min-h-0 flex-1 flex-col",children:[(0,k.jsx)("div",{className:Wa,children:(0,k.jsx)(Wn,{"aria-label":p.reportTabList,className:I(us,"grid grid-cols-2 gap-1"),children:vb.map(J=>(0,k.jsx)(Kn,{value:J,children:J==="article"?p.tabArticle:p.tabRelations},J))})}),(0,k.jsx)(sn,{ref:S,value:"article",className:bu,children:E?y?(0,k.jsx)(Ra,{report:y,onCancel:F,onPublishSuccess:ie,titleInputRef:U}):(0,k.jsx)("p",{className:Nr,children:p.loading}):(0,k.jsx)(_b,{report:y,sourceConfig:Me,isLoading:v,error:T,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:ee,userId:l,onEdit:C?$:void 0,editButtonRef:fe,onReportDeleted:u,onCommentSectionRemoved:Ee})}),(0,k.jsx)(sn,{value:"relations",className:bu,children:(0,k.jsx)("p",{className:Nr,children:p.relationsEmpty})})]})]})});ka.displayName="DailyReportSidePaneContent";var Pa=({className:e="w-32"})=>(0,k.jsx)("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),Ab=["w-full","w-11/12","w-4/5"],_b=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:i=!0,dwell:s,onCommentAdded:l,userId:u,onEdit:d,editButtonRef:p,onReportDeleted:m,onCommentSectionRemoved:g})=>{let{toggleStar:y,toggleRead:T,deleteReport:v}=Xe(),{labels:c,headingLevel:h}=K(),E=dr[h],{handleToggleRead:S}=Eb(e,r,a,i,s,T),x=e!==null&&bo(e.sourceType,t),N=(0,ne.useMemo)(()=>e?.content?e.content.replace(/<br\s*\/?\s*>/gi,`
|
|
5
5
|
`).replace(/<\/p>/gi,`
|
|
6
|
-
`).replace(/<[^>]+>/g,""):null,[e]),K=async k=>{try{await y(k.reportHubId,!k.isStarred,k.date)}catch{}},P=async k=>{if(confirm(l.confirmDelete)){try{await h(k.reportHubId,k.date)}catch{alert(l.deleteFailed);return}p(k.reportHubId)}};if(n)return(0,L.jsx)("p",{className:Gr,children:l.reportLoadFailed(o.reportHubId)});let U=!e,G=!!(m&&e?.userId===m);return(0,L.jsxs)("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:u,children:[(0,L.jsxs)("div",{className:"flex items-start gap-2",children:[(0,L.jsx)("dl",{className:"m-0 flex min-w-0 flex-1",children:(0,L.jsx)(Ee,{label:l.subject,classNames:uy,children:U?(0,L.jsx)(zr,{className:"w-3/4"}):(0,L.jsx)("span",{className:"text-sm",children:he(e?.subject)})})}),!U&&e&&(0,L.jsxs)("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[(0,L.jsx)("button",{type:"button",onClick:()=>K(e),className:ze,title:e.isStarred?l.starRemove:l.starAdd,"aria-label":e.isStarred?l.starRemove:l.starAdd,"data-detail-star-button":e.reportHubId,children:(0,L.jsx)(kr,{filled:e.isStarred})}),(0,L.jsx)("button",{type:"button",onClick:()=>C(e,!1),className:ze,title:e.isRead?l.markUnread:l.markRead,"aria-label":e.isRead?l.markUnread:l.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?(0,L.jsx)(wc.default,{className:we.read}):(0,L.jsx)(Fr,{})}),u&&(0,L.jsx)("button",{ref:f,type:"button",onClick:u,"data-detail-edit-button":e.reportHubId,className:ze,title:l.edit,"aria-label":l.edit,children:(0,L.jsx)(Nc.default,{className:we.edit})}),G&&(0,L.jsx)("button",{type:"button",onClick:()=>P(e),"data-detail-delete-button":e.reportHubId,className:ze,title:l.deleteReport,"aria-label":l.deleteReport,children:(0,L.jsx)(Oc.default,{className:we.delete})})]})]}),(0,L.jsx)("dl",{className:"m-0",children:(0,L.jsx)(Ee,{label:l.customer,classNames:_c,children:U?(0,L.jsx)(zr,{className:"w-1/2"}):(0,L.jsx)("span",{className:"text-sm",children:he(e?.customerName)})})}),(0,L.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,L.jsx)(et,{level:x,className:xt,children:l.content}),(0,L.jsx)("div",{className:g("min-h-22",Nn),children:U?(0,L.jsxs)("div",{className:"space-y-2",children:[(0,L.jsx)(zr,{className:"w-full"}),(0,L.jsx)(zr,{className:"w-11/12"}),(0,L.jsx)(zr,{className:"w-4/5"})]}):w?(0,L.jsx)("div",{className:"whitespace-pre-wrap",children:w}):(0,L.jsx)("p",{className:"text-slate-500 dark:text-slate-400",children:l.contentEmpty})})]}),(0,L.jsx)("dl",{className:"m-0",children:(0,L.jsx)(Ee,{label:l.visitTime,classNames:_c,children:U?(0,L.jsx)(zr,{className:"w-1/3"}):(0,L.jsxs)("span",{className:"text-sm",children:[he(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",he(e?.visitTimeTo)]})})}),e&&(0,L.jsx)(jo,{attachments:e.attachments}),e&&(0,L.jsx)(fn,{report:e,userId:m,canComment:M,onCommentAdded:d,onSectionRemoved:R,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};var mt=require("react/jsx-runtime"),Iy="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]",xy={right:"var(--aqdr-overlay-right, 0px)"},Cy="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",Dy=g("relative ml-auto flex h-full w-full max-w-full touch-none shadow-xl motion-safe:transition-[transform] motion-safe:duration-200 motion-safe:ease-out",Fi),Ay=g("inline-flex h-9 touch-manipulation items-center rounded-full border border-slate-300 border-solid px-[15px] font-medium text-slate-600 text-sm shadow-sm hover:bg-slate-100 dark:border-slate-600 dark:text-slate-200 dark:hover:bg-slate-800",ae),_y="flex shrink-0 justify-center empty:hidden",Ly=50,Hc=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=(0,ee.useState)(!1),[d,m]=(0,ee.useState)(!1),u=(0,ee.useRef)(null),f=(0,ee.useRef)(null),p=(0,ee.useRef)(null),R=(0,ee.useRef)(e),y=(0,ee.useRef)(!0),T=vn(r,t),h=(0,ee.useCallback)(()=>{let C=o.current;if(C===null)return;let M=C.ownerDocument.body;p.current={body:M,overflow:M.style.overflow},M.style.overflow="hidden"},[o]),l=(0,ee.useCallback)(()=>{let C=p.current;C!==null&&(C.body.style.overflow=C.overflow,p.current=null)},[]);(0,ee.useEffect)(()=>{if(y.current){y.current=!1,R.current=e;return}let C=!R.current;R.current=e,C&&e&&a!==null?s(!0):!e&&i&&(f.current=a,s(!1),l())},[e,a,i,l]);let S=e&&i&&T!==null;(0,ee.useEffect)(()=>{if(S)m(!0);else{let C=setTimeout(()=>m(!1),300);return()=>clearTimeout(C)}},[S]),(0,ee.useEffect)(()=>{if(e&&i&&a!==null&&!u.current){let C=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:C},"",window.location.href),u.current=C}else!(e&&i)&&u.current&&(u.current=null);return e&&i?h():l(),l},[e,i,a,h,l]),(0,ee.useEffect)(()=>{let C=()=>{u.current&&(f.current=a,u.current=null,s(!1),n(null))};return window.addEventListener("popstate",C),()=>window.removeEventListener("popstate",C)},[a,n]);let x=(0,ee.useCallback)(()=>{e&&(f.current=a,s(!1),n(null),u.current&&(u.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:i,setIsMobileDetailOpen:s,isOverlayMounted:d,shouldShowOverlay:S,handleOverlayClose:x,lastClosedItemIdRef:f,selectedItem:T}},Fc=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=B(),{registerNoticeHost:s}=Po(),d=(0,ee.useRef)(null),m=(0,ee.useRef)(null),u=(0,ee.useId)(),f=(0,ee.useId)(),[p,R]=(0,ee.useState)(yi),y=(0,pt.useOverlayEscapeStack)(),T=(0,ee.useId)(),h=(0,ee.useRef)(!1),l=(0,ee.useRef)(e),S=(0,ee.useRef)(null),[x]=(0,ee.useState)(()=>fi(e)),{isBlocked:C,requestBlock:M,reset:w}=(0,pt.useSwipeGuardState)(),K=(0,pt.useTransitionDisplay)(e,t),{overlayRef:P,overlayStyle:U,attemptClose:G,isSwiping:k}=(0,pt.useSwipeToDismissOverlay)({isOpen:e,onClose:r,isCloseBlocked:(0,ee.useCallback)(()=>C,[C]),skipWhenTextSelected:!0}),ne=(0,ee.useRef)(G);(0,ee.useLayoutEffect)(()=>{ne.current=G,l.current=e,x.set(e)},[G,e,x]),(0,ee.useEffect)(()=>{if(e)return y({id:T,onEscape:Z=>pr(Z)&&ne.current()})},[e,y,T]),(0,ee.useLayoutEffect)(()=>{let Z=d.current;if(Z===null)return;if(e){if(h.current)return;Z.showModal(),h.current=!0,Z.ownerDocument.getElementById(u)?.focus();return}if(!h.current)return;h.current=!1;let X=$e(Z);X!==null&&Z.contains(X)&&Xr(X)&&X.blur(),Z.close()},[e,u]),(0,ee.useLayoutEffect)(()=>{let Z=m.current;if(!(!e||Z===null))return s(Z)},[e,s]),(0,ee.useEffect)(()=>{e||w()},[e,w]);let H=(0,pt.useTapClick)(()=>G()),ge=Z=>{let X=Mo(Z);if(pr(X)){G()&&Z.preventDefault();return}if(X.key==="Escape"){S.current=Z.timeStamp;return}let _e=El(X,Z.currentTarget);_e!==null&&(Z.preventDefault(),_e.kind==="wrap"&&_e.element.focus())},Me=Z=>{Z.preventDefault();let X=S.current;S.current=null,!(X!==null&&Z.timeStamp-X<=Ly)&&ne.current()},se=Z=>{let X=Z.currentTarget;X.open||!l.current||(h.current=!1,!ne.current()&&(X.showModal(),h.current=!0))};return K?(0,mt.jsxs)("dialog",{ref:d,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${u} ${f}`,tabIndex:-1,className:g(Iy,e&&!k?"pointer-events-auto":"pointer-events-none"),style:xy,inert:!e,onKeyDown:ge,onCancel:Me,onClose:se,children:[(0,mt.jsx)("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:g(Cy,e?"opacity-100":"opacity-0"),...H}),(0,mt.jsx)("div",{ref:P,"data-daily-report-overlay-panel":"",className:g(Dy,e?"pointer-events-auto":"pointer-events-none"),style:U,children:(0,mt.jsxs)("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[(0,mt.jsx)(pt.SwipeCloseGuardContext.Provider,{value:{isBlocked:C,requestBlock:M},children:(0,mt.jsx)("div",{"data-testid":"daily-report-side-pane","data-report-id":K.reportHubId,"data-displayed-report-id":K.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:(0,mt.jsx)(ya,{item:K,headingId:u,authorId:f,activeTab:p,onActiveTabChange:R,autoMarkRead:n,isActive:e,dwell:x,userId:o,onReportDeleted:a},K.reportHubId)})}),(0,mt.jsx)("div",{ref:m,"data-daily-report-notice-slot":"","data-overlay-interactive":"true",className:_y}),(0,mt.jsx)("div",{className:"flex justify-start",children:(0,mt.jsx)("button",{type:"button","data-overlay-interactive":"true",className:Ay,onClick:()=>G(),children:i.close})})]})})]}):null};var Kc=xe(require("lucide-react/dist/esm/icons/check.js")),ue=require("react");var ft=require("react");var wy=6.75,Ny=4,Oy=1e-6,My=e=>4*Math.ceil((2*Kt+2*wn+Ny+wy*e-Oy)/4),ba=(0,ft.createContext)(null),Py="data-daily-report-root-font-size-probe",ky={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},Hy=e=>{let t=Ke(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])},Bc=()=>{let e=(0,ft.useRef)(null),[t,r]=(0,ft.useState)(null);(0,ft.useLayoutEffect)(()=>{let o=e.current;if(o===null)throw new Error("[daily-report] useListRowSlotHeight needs the List to render remProbe");let a=null,i=()=>{let d=My(Hy(o));d!==a&&(a=d,r(d))};i();let s=new ResizeObserver(i);return s.observe(o),()=>s.disconnect()},[]);let n=(0,ft.useMemo)(()=>(0,ft.createElement)("div",{ref:e,"aria-hidden":!0,[Py]:"",style:ky}),[]);return{rowSlotHeight:t,remProbe:n}};var z=require("react/jsx-runtime"),Fy=g(zt,_n,Ln,An),By=g("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",Et,On,xi),Vy="min-w-24",Uy="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",Wy={touchAction:"manipulation"},Ky=g("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",Vy),zy=g("relative z-10",ze),$y=g("flex h-full",Et),jy="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",$r="h-4 rounded bg-slate-200 dark:bg-slate-700",Gy=()=>(0,z.jsx)("div",{"data-skeleton":!0,...Qe,className:$y,children:(0,z.jsxs)("div",{className:jy,children:[(0,z.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,z.jsx)("div",{className:g($r,"w-24")}),(0,z.jsx)("div",{className:g($r,"w-24")}),(0,z.jsx)("div",{className:g($r,"w-24")})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("div",{className:g($r,"w-full")}),(0,z.jsx)("div",{className:g($r,"w-11/12")}),(0,z.jsx)("div",{className:g($r,"w-5/6")})]})]})}),Yy=e=>{e.target===e.currentTarget&&e.preventDefault()},qy="h-full w-full",zc=(0,ue.createContext)(!1),Vc=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=(0,ue.useContext)(_t),a=(0,ue.useContext)(At),i=(0,ue.useContext)(ba);if(i===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let s=(0,ue.useMemo)(()=>({height:i}),[i]),{isCurrent:d,isTabStop:m}=sa(t,e),u=la(t,e,o);return(0,z.jsx)(un.Provider,{value:m,children:(0,z.jsx)(zc.Provider,{value:d,children:(0,z.jsx)("div",{ref:r?.focusTargetRef,role:"listitem","data-daily-report-row":e,"aria-posinset":o+1,"aria-setsize":a,"aria-label":r?.label,"aria-busy":r?.isBusy||!u?!0:void 0,"aria-current":r!==null&&d?"true":void 0,tabIndex:r===null?-1:void 0,className:Fy,style:s,onMouseDown:Yy,children:u?n:(0,z.jsx)("div",{...Qe,className:qy})})})})},Xy=/(<br\s*\/?\s*>|<\/p>|\r?\n)|<[^>]+>/gi,Zy=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(Xy))if(r+=e.slice(n,a.index),n=a.index+a[0].length,a[1]!==void 0&&(o(),t.length===ms))return t;return r+=e.slice(n),o(),t},Qy=({id:e})=>{let{labels:t}=B(),r=(0,ue.useContext)(_t),n=(0,ue.useContext)(At);return(0,z.jsx)("span",{id:e,hidden:!0,children:n===Jr?t.listRowPositionInUnknownTotal(r+1):t.listRowPosition(r+1,n)})},Jy=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=(0,ue.useContext)(zc);return(0,z.jsx)("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:Ky,children:o})},Uc=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=Mr();return(0,z.jsx)("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:zy,children:n})},$c=(0,ue.memo)(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=B(),{toggleStar:i,toggleRead:s}=Fe(),d=(0,ue.useId)(),m=(0,ue.useId)(),u=(0,ue.useId)(),f=(0,ue.useId)(),p=(0,ue.useId)(),R=(0,ue.useMemo)(()=>Zy(t.content??null),[t.content]),y=he(t.employeeName),T=be(e.businessDate),h=K=>{K.currentTarget.focus({preventScroll:!0});let P=Fs(K.currentTarget);P!==null&&r(e.reportHubId,P)},l=async()=>{let K=!t.isStarred;try{await i(t.reportHubId,K,t.date)}catch{}},S=async()=>{let K=!t.isRead;try{await s(t.reportHubId,K,t.date)}catch{}},x=t.isStarred?o.starRemove:o.starAdd,C=t.isRead?o.markUnread:o.markRead,M=Gt(t.sourceType,a),w=[d,u,...t.attachments.length>0?[f]:[],...M===void 0?[]:[p],m].join(" ");return(0,z.jsxs)("div",{"data-daily-report-card":!0,...Qe,style:Wy,className:By,children:[(0,z.jsx)(Qy,{id:d}),(0,z.jsx)("span",{id:u,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),(0,z.jsxs)(Jy,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:w,onClick:h,children:[(0,z.jsx)("span",{className:g(We,"shrink-0 bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:(0,z.jsx)("span",{className:"whitespace-nowrap font-medium text-slate-900 dark:text-slate-100",children:T})})," ",(0,z.jsx)("span",{className:g(We,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:(0,z.jsx)("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:y})})]}),(0,z.jsxs)("div",{className:g(Ai,"ml-auto"),children:[(0,z.jsx)(Sr,{id:f,count:t.attachments.length,label:o.attachments}),M?(0,z.jsx)(Hr,{id:p,config:M}):null,(0,z.jsx)(Uc,{label:x,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:l,children:(0,z.jsx)(kr,{filled:t.isStarred})}),(0,z.jsx)(Uc,{label:C,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:S,children:t.isRead?(0,z.jsx)(Kc.default,{className:we.read}):(0,z.jsx)(Fr,{})})]}),(0,z.jsx)("div",{id:m,className:Uy,children:R.length>0?R.map((K,P)=>(0,z.jsx)("p",{className:"wrap-break-word line-clamp-1",children:K},P)):(0,z.jsx)("p",{children:o.contentEmptyPreview})})]})});$c.displayName="ListReportCard";var Wc=(e,t)=>(0,ue.useCallback)(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),bi=(0,ue.memo)(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=B(),{removeStaleItem:o}=Fe(),{report:a,error:i,isLoading:s,isRefetching:d}=Yt(e.reportHubId,e.businessDate),m=(0,ue.useRef)(!1);(0,ue.useEffect)(()=>{if(d){m.current=!0;return}!(a||s||i)&&m.current&&e.reportHubId>0&&o(e.reportHubId)},[a,s,d,i,e.reportHubId,o]);let u=Wc(r,e.reportHubId),f=Wc(r,e.reportHubId),p=(R,y)=>(0,z.jsx)(Vc,{reportHubId:e.reportHubId,cursor:r,cardless:{label:be(e.businessDate),isBusy:y,focusTargetRef:u},children:R});return i?p((0,z.jsx)("div",{...Qe,className:"flex h-full items-center justify-center rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-700 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",children:(0,z.jsx)("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?p((0,z.jsx)(Gy,{}),!0):a?(0,z.jsx)(Vc,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:(0,z.jsx)($c,{item:e,report:a,onSelect:t,focusTargetRef:f})}):p((0,z.jsx)("div",{...Qe,className:"flex h-full items-center justify-center rounded-2xl border border-slate-200 border-solid bg-slate-50 p-[15px] text-slate-500 text-sm dark:border-slate-700 dark:bg-slate-900/40 dark:text-slate-400",children:(0,z.jsx)("p",{children:n.reportNotFound})}),!1)});bi.displayName="ListReportItem";var Re=require("react/jsx-runtime"),Yc={pointerDragInputs:ao,inertiaOptions:Ar(!1),wheelSpeedMultiplier:Jn,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},eb={...Yc,inertiaOptions:Ar(!0)},tb=Object.freeze({value:360,unit:"pixels"}),rb=Object.freeze({value:160,unit:"pixels"}),nb=Object.freeze({value:Pc,unit:"pixels"}),ob=Object.freeze({value:520,unit:"pixels"}),ab=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),ib=g("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",ae),sb=g("relative w-full",Vn,Fn),lb=g(st,"relative isolate overflow-hidden"),jc="daily-report-list",db=()=>!1,cb=e=>{let[t,r]=(0,te.useState)(!1);return(0,te.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<us)},a=new(Ke(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},Ra=e=>{let t=(0,te.useRef)(null),[r,n]=(0,te.useState)(null),o=yo(t),a=cb(t),{rowSlotHeight:i,remProbe:s}=Bc(),d=_r(r),m=(0,te.useCallback)(u=>(t.current=u,n(u),()=>{t.current=null,n(null)}),[]);return(0,Re.jsxs)("div",{ref:m,className:kn,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:(0,Re.jsx)(ub,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:d})]})},ub=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:i,rootRef:s,viewportHeight:d,rowSlotHeight:m,isContainerNarrow:u,reducedMotion:f})=>{let[p]=(0,te.useState)(()=>i?.current??0),R=(0,te.useRef)(null),{labels:y}=B(),T=uo(),[h]=(0,te.useState)(So),S=Tc()||u,x=(0,te.useRef)(null),C=e.length,M=t===void 0?C:t,w=(0,te.useRef)(null),K=(0,te.useCallback)(I=>o(I),[o]),P=(0,te.useCallback)(I=>I<C?e[I]:to,[e,C]),U=(0,te.useCallback)(I=>{let D=P(I.visibleStartIndex);D.reportHubId>0&&h.setLabel(be(D.businessDate))},[P,h]),G=(0,te.useMemo)(()=>({kind:"uniform",rowHeight:m}),[m]),k=(0,te.useRef)(e);(0,te.useLayoutEffect)(()=>{k.current=e},[e]);let{cursor:ne,containerProps:H,handleRangeChange:ge,handleScrollAdjust:Me,attachVirtualScroll:se,handleRef:Z,scroller:X,attachScrollContainer:_e,contentProps:Xe,keyboardHelp:Q,selection:Pe,settledSelection:yt,resolveSelectedIndex:Le,rememberSelection:Ie,focusAfterRemoval:bt}=ca({items:e,selectedId:n,onSelect:K,containerRef:R,rootRef:s,testId:jc,itemsRef:k,rowSizing:G,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:db,onRangeChange:U}),{isMobileDetailOpen:Rt,setIsMobileDetailOpen:Ft,isOverlayMounted:Bt,shouldShowOverlay:Vt,handleOverlayClose:ot,lastClosedItemIdRef:Ue,selectedItem:Ze}=Hc({isMobileLayout:S,selection:Pe,dailyReportItems:e,onSelectItem:o,rootRef:s}),Ut=(0,te.useMemo)(()=>({selected:Pe,settled:yt}),[Pe,yt]);(0,te.useEffect)(()=>{let I=R.current,D=()=>{h.setWheelScrollActive(!0),x.current&&clearTimeout(x.current),x.current=window.setTimeout(()=>{h.setWheelScrollActive(!1),x.current=null},ro)};return I?.addEventListener("wheel",D,{passive:!0}),()=>{I?.removeEventListener("wheel",D),x.current&&clearTimeout(x.current)}},[h]),(0,te.useEffect)(()=>{!C&&n!==null&&o(null)},[C,n,o]),(0,te.useEffect)(()=>{if(Rt||Ue.current===null)return;let I=Ue.current;Ue.current=null;let D=Le(e,I);if(D===-1)return;let W=Z.current;if(W!==null){let Y=Rn(W,D,e.length,G),pe=Y===null?"none":Jd(Y);pe!=="none"&&X.toIndex(D,{align:pe})}ne.requestFocus(I)},[Rt,e,Ue,ne,Le,Z,G,X]),(0,te.useEffect)(()=>{C>0&&h.setLabel(be(e[0].businessDate))},[e,C,h]);let at=(0,te.useCallback)((I,D)=>{I<=0||(Ie(I,D),o(I),S&&Ft(!0))},[S,o,Ft,Ie]),c=(0,te.useCallback)(()=>m,[m]),b=(0,te.useRef)(m);(0,te.useLayoutEffect)(()=>{let I=b.current;b.current=m;let D=Z.current;if(I===m||D===null)return;let W=D.getScrollPosition();W>0&&X.by(W*m/I-W)},[Z,m,X]);let v=(0,te.useCallback)(I=>P(I).reportHubId,[P]),E=(0,te.useCallback)((I,D)=>(0,Re.jsx)(_t.Provider,{value:D,children:(0,Re.jsx)(bi,{item:I,onSelect:at,cursor:ne})},I.reportHubId),[at,ne]),A=(0,te.useCallback)(I=>{i&&(i.current=I);let D=R.current;D&&(D.toggleAttribute(gr,!0),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{D.toggleAttribute(gr,!1),w.current=null},150))},[i]),F=(0,te.useCallback)(I=>(0,Re.jsx)(Eo,{...I,store:h}),[h]),oe=(0,te.useMemo)(()=>(0,Re.jsxs)("div",{ref:_e,className:lb,...H,children:[Q,(0,Re.jsx)(At.Provider,{value:M,children:(0,Re.jsx)(ba.Provider,{value:m,children:(0,Re.jsx)(Gc.VirtualScroll,{ref:se,itemCount:C,getItem:P,getItemKey:v,getItemHeight:c,viewportSize:d,initialScrollOffset:p,overscanCount:no,scrollBarOptions:{...oo,renderThumbOverlay:F},behaviorOptions:f?eb:Yc,onRangeChange:ge,onScrollAdjust:Me,onScroll:A,testId:jc,className:sb,locale:T.locale,labels:T.labels,contentProps:Xe,children:E})})})]}),[_e,se,H,M,C,P,v,c,d,m,f,p,F,ge,Me,A,Q,Xe,T.locale,T.labels,E]),j=(0,te.useMemo)(()=>(0,Re.jsxs)(br.PanelGroup,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[(0,Re.jsx)(br.Panel,{id:"daily-report-list-panel",defaultSize:tb,minSize:rb,maxSize:ob,contentOverflow:"hidden",className:mb,children:oe}),(0,Re.jsx)(br.PanelResizeHandle,{id:"daily-report-list-handle",thickness:10,indicator:ab,className:ib,"aria-label":y.resizeHandle}),(0,Re.jsx)(br.Panel,{id:"daily-report-detail-panel",minSize:nb,contentOverflow:"hidden",className:pb,children:(0,Re.jsx)(kc,{dailyReportItems:e,autoMarkRead:r,userId:a,onReportDeleted:bt})})]}),[oe,y.resizeHandle,e,r,a,bt]);return(0,Re.jsxs)(Re.Fragment,{children:[(0,Re.jsx)("div",{className:Hn,children:S?(0,Re.jsx)("div",{className:st,children:oe}):(0,Re.jsx)(fa.Provider,{value:Ut,children:j})}),Bt&&(0,Re.jsx)(Fc,{isOpen:Vt,selectedItem:Ze,onClose:ot,autoMarkRead:S&&r,userId:a,onReportDeleted:bt})]})},mb=g("flex min-h-0",Ei),pb=g("flex min-h-0 flex-1",zt);var qe=require("react");var eu=xe(require("lucide-react/dist/esm/icons/plus.js")),tu=xe(require("lucide-react/dist/esm/icons/refresh-cw.js")),ru=xe(require("lucide-react/dist/esm/icons/rotate-cw.js")),Ye=require("react"),nu=require("react-router");var Rr=require("react");var qc=(e,t,r=250)=>{let n=_r(t),[o,a]=(0,Rr.useState)(e),i=(0,Rr.useRef)(e),s=(0,Rr.useRef)(!0);return(0,Rr.useEffect)(()=>{if(s.current){s.current=!1,i.current=e,a(e);return}let d=i.current;if(d===e)return;if(n||t===null){i.current=e,a(e);return}let m=Ke(t),u=0,f=null,p=R=>{f===null&&(f=R);let y=Math.min(1,Math.max(0,(R-f)/r)),T=1-(1-y)**3,h=Math.round(d+(e-d)*T);i.current=h,a(h),y<1&&(u=m.requestAnimationFrame(p))};return u=m.requestAnimationFrame(p),()=>m.cancelAnimationFrame(u)},[e,r,n,t]),n?e:o};var Cn=xe(require("@radix-ui/react-switch")),Xc=xe(require("react"));var Ri=require("react/jsx-runtime"),ga=Xc.forwardRef(({className:e,...t},r)=>(0,Ri.jsx)(Cn.Root,{className:g(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${wi} ${Oi} ${ae}`,e),...t,ref:r,children:(0,Ri.jsx)(Cn.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${Ni} ${Mi}`})}));ga.displayName=Cn.Root.displayName;var Zc=require("react"),Qc=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)})}},gi=e=>(0,Zc.useSyncExternalStore)(e.subscribe,e.get,e.get);var q=require("react/jsx-runtime"),fb="list",yb=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},bb=g(ki,Wi,"ml-[8px] flex flex-wrap items-center gap-2"),Jc="relative h-4 w-4 p-0 after:absolute after:-inset-1",Rb="flex items-center gap-2",gb=({count:e})=>{let{labels:t}=B(),[r,n]=(0,Ye.useState)(null),o=qc(e,r);return(0,q.jsx)(ma,{ref:n,text:t.totalCount(o),widestText:t.totalCount(En(Math.max(e,o)))})},hb=({setSize:e})=>{let{labels:t}=B();return e===Jr?(0,q.jsx)("span",{children:t.totalCountLoading}):(0,q.jsx)(gb,{count:e})},Sb=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let i=gi(e);return(0,q.jsx)(Ra,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:i,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},Eb=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=gi(e);return(0,q.jsx)(ua,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},vb=({tabItems:e,actions:t})=>{let[r,n]=(0,Ye.useState)(fb),{labels:o}=B();return(0,q.jsxs)(Tn,{value:r,onValueChange:a=>n(yb(a)),className:g("@container/views",st),children:[(0,q.jsxs)("div",{className:g(bb,Ki[r]),children:[(0,q.jsx)(In,{"aria-label":o.viewTabList,className:"flex flex-wrap gap-1",children:e.map(({value:a,label:i})=>(0,q.jsx)(xn,{value:a,children:i},a))}),t]}),e.map(({value:a,content:i})=>(0,q.jsx)(Kr,{value:a,className:g("mt-0",st),children:i},a))]})},ha=({userId:e})=>{let[t,r]=(0,Ye.useState)(!1),{labels:n,renderHeader:o,showDevControls:a}=B(),{toggleSse:i,createReport:s,refetchData:d,clearCacheAndRefetch:m}=Fe(),{isSseEnabled:u,items:f}=Uo(),[p]=(0,nu.useSearchParams)(),R=Vs(f.length,ul()),y=(0,Ye.useRef)(0),T=(0,Ye.useRef)({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[h]=(0,Ye.useState)(()=>Qc(f.length===0?null:f[0].reportHubId)),l=(0,Ye.useRef)(!1);(0,Ye.useEffect)(()=>{!l.current&&f.length>0&&(l.current=!0,h.get()===null&&h.set(f[0].reportHubId))},[f,h]);let S=async()=>{await d()},x=async()=>{await m()},C=async()=>{let P=p.get("businessDate")||Ia(),U=await s(P);h.set(U)};(0,Ye.useEffect)(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let M=K=>{r(K),localStorage.setItem("daily-report-auto-read",String(K))},w=(0,Ye.useMemo)(()=>[{value:"list",label:n.tabList,content:(0,q.jsx)(Sb,{selectionStore:h,dailyReportItems:f,rowSetSize:R,autoMarkRead:t,userId:e,scrollOffsetRef:y})},{value:"tree",label:n.tabTree,content:(0,q.jsx)("div",{className:g("flex flex-1 items-center justify-center",hr),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:(0,q.jsx)(Eb,{selectionStore:h,dailyReportItems:f,rowSetSize:R,userId:e,scrollRestoreRef:T})}],[f,R,t,e,n,h]);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)(Ur,{}),(0,q.jsx)(hb,{setSize:R}),(0,q.jsx)("span",{children:n.debounce(xr)})]})}),(0,q.jsx)("div",{className:Mn,children:(0,q.jsx)("div",{className:Pn,children:(0,q.jsx)(vb,{tabItems:w,actions:(0,q.jsxs)("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[(0,q.jsxs)(Pt,{size:"sm",onClick:C,className:"flex h-6 items-center gap-1 rounded-lg bg-amber-700 px-2 font-medium text-white text-xs shadow-xs hover:bg-amber-800 dark:bg-amber-700 dark:hover:bg-amber-800",title:n.createReportTitle,children:[(0,q.jsx)(eu.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)(ga,{id:"sse-mode","aria-label":n.devSseToggle,title:n.devSseToggle,checked:u,onCheckedChange:i}),(0,q.jsxs)("div",{className:Rb,"data-testid":"dev-icon-buttons",children:[(0,q.jsx)(Pt,{variant:"ghost",size:"icon",onClick:S,className:g(Jc,"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)(ru.default,{className:"size-3"})}),(0,q.jsx)(Pt,{variant:"ghost",size:"icon",onClick:x,className:g(Jc,"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)(tu.default,{className:"size-3"})})]})]}),(0,q.jsxs)("div",{className:"flex items-center gap-1 pl-1",title:n.autoReadTitle,children:[(0,q.jsx)(ga,{id:"auto-read-mode",checked:t,onCheckedChange:M}),(0,q.jsx)(yn,{htmlFor:"auto-read-mode",className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:n.autoRead})]})]})})})})]})};var de=require("react/jsx-runtime"),Tb=g(st,zt),Ib=g("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 outline-none dark:text-slate-300",Et),xb=({isFailed:e,panelRef:t,onLeaveWithFocus:r})=>{let{labels:n,renderHeader:o}=B();(0,qe.useLayoutEffect)(()=>()=>{let i=t.current;i?.contains(i.ownerDocument.activeElement)&&r()},[t,r]);let a=()=>{t.current?.focus({preventScroll:!0}),_o()};return(0,de.jsxs)(de.Fragment,{children:[o({title:n.title,annotation:e?(0,de.jsx)("span",{className:g("font-bold",Gr),children:n.loadErrorBadge}):(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[(0,de.jsx)(Ur,{}),(0,de.jsx)("span",{children:n.totalCountLoading}),(0,de.jsx)("span",{children:n.debounce(xr)})]})}),(0,de.jsx)("div",{className:Mn,children:(0,de.jsx)("div",{className:Pn,children:(0,de.jsx)("div",{className:Tb,children:(0,de.jsx)("div",{ref:t,tabIndex:-1,"data-testid":"daily-report-status-panel","data-phase":e?"failed":"loading",className:g(Ib,e&&"border-red-200 dark:border-red-900"),children:e?(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)("p",{className:g("font-medium",Gr),children:n.loadError}),(0,de.jsx)("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:a,className:g("rounded bg-slate-100 px-4 py-2 text-slate-700 text-sm hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-300 dark:hover:bg-slate-700",ae),children:n.reload})]}):(0,de.jsx)("p",{children:n.loadingIds})})})})})]})},Cb=(e,t)=>e.retryingCount!==null?{status:t.streamRetrying(e.retryingCount),alert:""}:e.phase==="failed"?{status:"",alert:e.hasItems?t.streamFailed:t.loadError}:!e.hasItems&&(e.phase==="idle"||e.phase==="streaming")?{status:t.loadingIds,alert:""}:{status:"",alert:""},Db=({regionRef:e})=>{let{labels:t}=B(),{status:r,alert:n}=Cb(dl(),t);return(0,de.jsxs)("div",{ref:e,tabIndex:-1,"data-testid":"daily-report-stream-announcer",className:"sr-only",children:[(0,de.jsx)("p",{role:"status",children:r}),(0,de.jsx)("p",{role:"alert",children:n})]})},Ab=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=B(),o=wo(),a=(0,qe.useRef)(null),i=(0,qe.useRef)(null),s=(0,qe.useRef)(!1),d=(0,qe.useCallback)(()=>{s.current=!0},[]),m=(0,qe.useRef)(n);(0,qe.useLayoutEffect)(()=>{m.current=n}),(0,qe.useEffect)(()=>{wr({apiBasePath:r,userKey:t??null})},[r,t]),(0,qe.useEffect)(()=>{o.phase==="auth-required"&&m.current()},[o.phase]);let u=o.hasItems||o.phase==="complete";return(0,qe.useLayoutEffect)(()=>{if(!s.current)return;s.current=!1;let f=i.current;if(!u||f===null)return;let p=go(f.ownerDocument);p===null?f.focus({preventScroll:!0}):p.focus({preventScroll:!0})}),(0,de.jsxs)(ko,{children:[(0,de.jsx)(Db,{regionRef:i}),(0,de.jsx)(pi.Provider,{value:!1,children:(0,de.jsx)(Wo,{user:e,userId:t,children:u?(0,de.jsx)(ha,{userId:t}):(0,de.jsx)(xb,{isFailed:o.phase==="failed",panelRef:a,onLeaveWithFocus:d})},t??"anonymous")})]})},ou=({config:e,...t})=>(0,de.jsx)(Xn,{config:e,children:(0,de.jsx)(Ab,{...t})});var _b=new Set(Gs.filter(e=>e!=="clearCache")),au=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:i,formMethod:s,json:d,nextUrl:m,text:u})=>{if(!n)return!1;if(!(r.pathname===m.pathname&&r.search===m.search&&r.hash===m.hash))return n;if(a){let R=a.get(Je.intent);if(typeof R=="string"&&_b.has(R))return!1}return e!==void 0||t!==void 0||o!==void 0||a!==void 0||i!==void 0||s!==void 0||d!==void 0||u!==void 0?n:!1},iu=e=>{let t=async r=>{Do();let n=await r.serverLoader(),o=n.userId;return Co({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};0&&(module.exports={DAILY_REPORT_LABEL_CATALOGS,DAILY_REPORT_LABEL_KEYS,DAILY_REPORT_LAYOUT_LATTICE_PX,DailyReportActionProvider,DailyReportAttachmentIndicator,DailyReportConfigProvider,DailyReportDetailList,DailyReportErrorProvider,DailyReportIdsStreamClient,DailyReportIdsStreamStatus,DailyReportList,DailyReportPage,DailyReportResolvedContent,bootstrapDailyReportIdsStreamSession,createDailyReportClientLoader,dailyReportShouldRevalidate,defaultDailyReportClientConfig,ensureDailyReportIdsStreamSession,primeDailyReportIdsStreamSession,resolveDailyReportLabels,resolveSourceTypeConfig,resyncDailyReportIdsStream,useDailyReportActionContext,useDailyReportComments,useDailyReportConfig,useDailyReportDetail,useDailyReportIdsStream,useDailyReportPrefetch,useDailyReportSseConnection});
|
|
6
|
+
`).replace(/<[^>]+>/g,""):null,[e]),O=async F=>{try{await y(F.reportHubId,!F.isStarred,F.date)}catch{}},C=async F=>{if(confirm(c.confirmDelete)){try{await v(F.reportHubId,F.date)}catch{alert(c.deleteFailed);return}m(F.reportHubId)}};if(n)return(0,k.jsx)("p",{className:cn,children:c.reportLoadFailed(o.reportHubId)});let w=!e,$=!!(u&&e?.userId===u);return(0,k.jsxs)("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:d,children:[(0,k.jsxs)("div",{className:"flex items-start gap-2",children:[(0,k.jsx)("dl",{className:"m-0 flex min-w-0 flex-1",children:(0,k.jsx)(Le,{label:c.subject,classNames:bb,children:w?(0,k.jsx)(Pa,{className:"w-3/4"}):(0,k.jsx)("span",{className:"text-sm",children:Ae(e?.subject)})})}),!w&&e&&(0,k.jsxs)("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[(0,k.jsx)("button",{type:"button",onClick:()=>O(e),className:qe,title:e.isStarred?c.starRemove:c.starAdd,"aria-label":e.isStarred?c.starRemove:c.starAdd,"data-detail-star-button":e.reportHubId,children:(0,k.jsx)(Jr,{filled:e.isStarred})}),(0,k.jsx)("button",{type:"button",onClick:()=>S(e,!1),className:qe,title:e.isRead?c.markUnread:c.markRead,"aria-label":e.isRead?c.markUnread:c.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?(0,k.jsx)(Ru.default,{className:Ue.read}):(0,k.jsx)(tn,{})}),d&&(0,k.jsx)("button",{ref:p,type:"button",onClick:d,"data-detail-edit-button":e.reportHubId,className:qe,title:c.edit,"aria-label":c.edit,children:(0,k.jsx)(hu.default,{className:Ue.edit})}),$&&(0,k.jsx)("button",{type:"button",onClick:()=>C(e),"data-detail-delete-button":e.reportHubId,className:qe,title:c.deleteReport,"aria-label":c.deleteReport,children:(0,k.jsx)(Su.default,{className:Ue.delete})})]})]}),(0,k.jsx)("dl",{className:"m-0",children:(0,k.jsx)(Le,{label:c.customer,classNames:yu,children:w?(0,k.jsx)(Pa,{className:"w-1/2"}):(0,k.jsx)("span",{className:"text-sm",children:Ae(e?.customerName)})})}),(0,k.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,k.jsx)(ct,{level:E,className:Ht,children:c.content}),(0,k.jsx)("div",{className:I(ts,Xn),children:w?Ab.map(F=>(0,k.jsx)("div",{className:rs,children:(0,k.jsx)(Pa,{className:F})},F)):N?(0,k.jsx)("div",{className:"whitespace-pre-wrap",children:N}):(0,k.jsx)("p",{className:"text-slate-500 dark:text-slate-400",children:c.contentEmpty})})]}),(0,k.jsx)("dl",{className:"m-0",children:(0,k.jsx)(Le,{label:c.visitTime,classNames:yu,children:w?(0,k.jsx)(Pa,{className:"w-1/3"}):(0,k.jsxs)("span",{className:"text-sm",children:[Ae(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",Ae(e?.visitTimeTo)]})})}),e&&(0,k.jsx)(pa,{attachments:e.attachments}),e&&(0,k.jsx)(Nn,{report:e,userId:u,canComment:x,onCommentAdded:l,onSectionRemoved:g,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};var It=require("react/jsx-runtime"),Lb="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]",wb={right:"var(--aqdr-overlay-right, 0px)"},Nb="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",Ob=I("relative ml-auto flex h-full w-full max-w-full touch-none shadow-xl motion-safe:transition-[transform] motion-safe:duration-200 motion-safe:ease-out",ys),Mb=I("inline-flex h-9 touch-manipulation items-center rounded-full border border-slate-300 border-solid px-[15px] font-medium text-slate-600 text-sm shadow-sm hover:bg-slate-100 dark:border-slate-600 dark:text-slate-200 dark:hover:bg-slate-800",te),Pb="flex shrink-0 justify-center empty:hidden",kb=50,Iu=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=(0,oe.useState)(!1),[l,u]=(0,oe.useState)(!1),d=(0,oe.useRef)(null),p=(0,oe.useRef)(null),m=(0,oe.useRef)(null),g=(0,oe.useRef)(e),y=(0,oe.useRef)(!0),T=Vn(r,t),v=(0,oe.useCallback)(()=>{let S=o.current;if(S===null)return;let x=S.ownerDocument.body;m.current={body:x,overflow:x.style.overflow},x.style.overflow="hidden"},[o]),c=(0,oe.useCallback)(()=>{let S=m.current;S!==null&&(S.body.style.overflow=S.overflow,m.current=null)},[]);(0,oe.useEffect)(()=>{if(y.current){y.current=!1,g.current=e;return}let S=!g.current;g.current=e,S&&e&&a!==null?s(!0):!e&&i&&(p.current=a,s(!1),c())},[e,a,i,c]);let h=e&&i&&T!==null;(0,oe.useEffect)(()=>{if(h)u(!0);else{let S=setTimeout(()=>u(!1),300);return()=>clearTimeout(S)}},[h]),(0,oe.useEffect)(()=>{if(e&&i&&a!==null&&!d.current){let S=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:S},"",window.location.href),d.current=S}else!(e&&i)&&d.current&&(d.current=null);return e&&i?v():c(),c},[e,i,a,v,c]),(0,oe.useEffect)(()=>{let S=()=>{d.current&&(p.current=a,d.current=null,s(!1),n(null))};return window.addEventListener("popstate",S),()=>window.removeEventListener("popstate",S)},[a,n]);let E=(0,oe.useCallback)(()=>{e&&(p.current=a,s(!1),n(null),d.current&&(d.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:i,setIsMobileDetailOpen:s,isOverlayMounted:l,shouldShowOverlay:h,handleOverlayClose:E,lastClosedItemIdRef:p,selectedItem:T}},Tu=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=K(),{registerNoticeHost:s}=ea(),l=(0,oe.useRef)(null),u=(0,oe.useRef)(null),d=(0,oe.useId)(),p=(0,oe.useId)(),[m,g]=(0,oe.useState)(Wi),y=(0,Tt.useOverlayEscapeStack)(),T=(0,oe.useId)(),v=(0,oe.useRef)(!1),c=(0,oe.useRef)(e),h=(0,oe.useRef)(null),[E]=(0,oe.useState)(()=>Ui(e)),{isBlocked:S,requestBlock:x,reset:N}=(0,Tt.useSwipeGuardState)(),O=(0,Tt.useTransitionDisplay)(e,t),{overlayRef:C,overlayStyle:w,attemptClose:$,isSwiping:F}=(0,Tt.useSwipeToDismissOverlay)({isOpen:e,onClose:r,isCloseBlocked:(0,oe.useCallback)(()=>S,[S]),skipWhenTextSelected:!0}),ie=(0,oe.useRef)($);(0,oe.useLayoutEffect)(()=>{ie.current=$,c.current=e,E.set(e)},[$,e,E]),(0,oe.useEffect)(()=>{if(e)return y({id:T,onEscape:z=>Wt(z)&&ie.current()})},[e,y,T]),(0,oe.useLayoutEffect)(()=>{let z=l.current;if(z===null)return;if(e){if(v.current)return;z.showModal(),v.current=!0,z.ownerDocument.getElementById(d)?.focus();return}if(!v.current)return;v.current=!1;let X=ke(z);X!==null&&z.contains(X)&&yn(X)&&X.blur(),z.close()},[e,d]),(0,oe.useLayoutEffect)(()=>{let z=u.current;if(!(!e||z===null))return s(z)},[e,s]),(0,oe.useEffect)(()=>{e||N()},[e,N]);let U=(0,Tt.useTapClick)(()=>$()),fe=z=>{let X=Gr(z);if(Wt(X)){$()&&z.preventDefault();return}if(X.key==="Escape"){h.current=z.timeStamp;return}let pe=id(X,z.currentTarget);pe!==null&&(z.preventDefault(),pe.kind==="wrap"&&pe.element.focus())},Ee=z=>{z.preventDefault();let X=h.current;h.current=null,!(X!==null&&z.timeStamp-X<=kb)&&ie.current()},ee=z=>{let X=z.currentTarget;X.open||!c.current||(v.current=!1,!ie.current()&&(X.showModal(),v.current=!0))};return O?(0,It.jsxs)("dialog",{ref:l,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${d} ${p}`,tabIndex:-1,className:I(Lb,e&&!F?"pointer-events-auto":"pointer-events-none"),style:wb,inert:!e,onKeyDown:fe,onCancel:Ee,onClose:ee,children:[(0,It.jsx)("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:I(Nb,e?"opacity-100":"opacity-0"),...U}),(0,It.jsx)("div",{ref:C,"data-daily-report-overlay-panel":"",className:I(Ob,e?"pointer-events-auto":"pointer-events-none"),style:w,children:(0,It.jsxs)("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[(0,It.jsx)(Tt.SwipeCloseGuardContext.Provider,{value:{isBlocked:S,requestBlock:x},children:(0,It.jsx)("div",{"data-testid":"daily-report-side-pane","data-report-id":O.reportHubId,"data-displayed-report-id":O.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:(0,It.jsx)(ka,{item:O,headingId:d,authorId:p,activeTab:m,onActiveTabChange:g,autoMarkRead:n,isActive:e,dwell:E,userId:o,onReportDeleted:a},O.reportHubId)})}),(0,It.jsx)("div",{ref:u,"data-daily-report-notice-slot":"","data-overlay-interactive":"true",className:Pb}),(0,It.jsx)("div",{className:"flex justify-start",children:(0,It.jsx)("button",{type:"button","data-overlay-interactive":"true",className:Mb,onClick:()=>$(),children:i.close})})]})})]}):null};var _u=we(require("lucide-react/dist/esm/icons/check.js")),ye=require("react");var xt=require("react");var Hb=6.75,Fb=4,Bb=1e-6,Vb=e=>4*Math.ceil((2*er+2*Yn+Fb+Hb*e-Bb)/4),Ha=(0,xt.createContext)(null),Ub="data-daily-report-root-font-size-probe",Wb={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},Kb=e=>{let t=tt(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])},xu=()=>{let e=(0,xt.useRef)(null),[t,r]=(0,xt.useState)(null);(0,xt.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=Vb(Kb(o));l!==a&&(a=l,r(l))};i();let s=new ResizeObserver(i);return s.observe(o),()=>s.disconnect()},[]);let n=(0,xt.useMemo)(()=>(0,xt.createElement)("div",{ref:e,"aria-hidden":!0,[Ub]:"",style:Wb}),[]);return{rowSlotHeight:t,remProbe:n}};var j=require("react/jsx-runtime"),$b=I(rr,Gn,qn,jn),zb=I("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",wt,Qn,Ji),jb="min-w-24",Gb="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",qb={touchAction:"manipulation"},Yb=I("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",jb),Xb=I("relative z-10",qe),Qb=I("flex h-full",wt),Zb="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",ln="h-4 rounded bg-slate-200 dark:bg-slate-700",Jb=()=>(0,j.jsx)("div",{"data-skeleton":!0,...lt,className:Qb,children:(0,j.jsxs)("div",{className:Zb,children:[(0,j.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,j.jsx)("div",{className:I(ln,"w-24")}),(0,j.jsx)("div",{className:I(ln,"w-24")}),(0,j.jsx)("div",{className:I(ln,"w-24")})]}),(0,j.jsxs)("div",{className:"space-y-2",children:[(0,j.jsx)("div",{className:I(ln,"w-full")}),(0,j.jsx)("div",{className:I(ln,"w-11/12")}),(0,j.jsx)("div",{className:I(ln,"w-5/6")})]})]})}),eR=e=>{e.target===e.currentTarget&&e.preventDefault()},tR="h-full w-full",Lu=(0,ye.createContext)(!1),Du=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=(0,ye.useContext)(Vt),a=(0,ye.useContext)(Bt),i=(0,ye.useContext)(Ha);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,ye.useMemo)(()=>({height:i}),[i]),{isCurrent:l,isTabStop:u}=Ca(t,e),d=Aa(t,e,o);return(0,j.jsx)(_n.Provider,{value:u,children:(0,j.jsx)(Lu.Provider,{value:l,children:(0,j.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:$b,style:s,onMouseDown:eR,children:d?n:(0,j.jsx)("div",{...lt,className:tR})})})})},rR=/(<br\s*\/?\s*>|<\/p>|\r?\n)|<[^>]+>/gi,nR=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(rR))if(r+=e.slice(n,a.index),n=a.index+a[0].length,a[1]!==void 0&&(o(),t.length===js))return t;return r+=e.slice(n),o(),t},oR=({id:e})=>{let{labels:t}=K(),r=(0,ye.useContext)(Vt),n=(0,ye.useContext)(Bt);return(0,j.jsx)("span",{id:e,hidden:!0,children:n===Rn?t.listRowPositionInUnknownTotal(r+1):t.listRowPosition(r+1,n)})},aR=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=(0,ye.useContext)(Lu);return(0,j.jsx)("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:Yb,children:o})},Cu=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=Qr();return(0,j.jsx)("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:Xb,children:n})},wu=(0,ye.memo)(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=K(),{toggleStar:i,toggleRead:s}=Xe(),l=(0,ye.useId)(),u=(0,ye.useId)(),d=(0,ye.useId)(),p=(0,ye.useId)(),m=(0,ye.useId)(),g=(0,ye.useMemo)(()=>nR(t.content??null),[t.content]),y=Ae(t.employeeName),T=xe(e.businessDate),v=O=>{O.currentTarget.focus({preventScroll:!0});let C=Sl(O.currentTarget);C!==null&&r(e.reportHubId,C)},c=async()=>{let O=!t.isStarred;try{await i(t.reportHubId,O,t.date)}catch{}},h=async()=>{let O=!t.isRead;try{await s(t.reportHubId,O,t.date)}catch{}},E=t.isStarred?o.starRemove:o.starAdd,S=t.isRead?o.markUnread:o.markRead,x=or(t.sourceType,a),N=[l,d,...t.attachments.length>0?[p]:[],...x===void 0?[]:[m],u].join(" ");return(0,j.jsxs)("div",{"data-daily-report-card":!0,...lt,style:qb,className:zb,children:[(0,j.jsx)(oR,{id:l}),(0,j.jsx)("span",{id:d,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),(0,j.jsxs)(aR,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:N,onClick:v,children:[(0,j.jsx)("span",{className:I(et,"shrink-0 bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:(0,j.jsx)("span",{className:"whitespace-nowrap font-medium text-slate-900 dark:text-slate-100",children:T})})," ",(0,j.jsx)("span",{className:I(et,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:(0,j.jsx)("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:y})})]}),(0,j.jsxs)("div",{className:I(os,"ml-auto"),children:[(0,j.jsx)(Or,{id:p,count:t.attachments.length,label:o.attachments}),x?(0,j.jsx)(en,{id:m,config:x}):null,(0,j.jsx)(Cu,{label:E,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:c,children:(0,j.jsx)(Jr,{filled:t.isStarred})}),(0,j.jsx)(Cu,{label:S,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:h,children:t.isRead?(0,j.jsx)(_u.default,{className:Ue.read}):(0,j.jsx)(tn,{})})]}),(0,j.jsx)("div",{id:u,className:Gb,children:g.length>0?g.map((O,C)=>(0,j.jsx)("p",{className:"wrap-break-word line-clamp-1",children:O},C)):(0,j.jsx)("p",{children:o.contentEmptyPreview})})]})});wu.displayName="ListReportCard";var Au=(e,t)=>(0,ye.useCallback)(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),Ki=(0,ye.memo)(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=K(),{removeStaleItem:o}=Xe(),{report:a,error:i,isLoading:s,isRefetching:l}=ar(e.reportHubId,e.businessDate),u=(0,ye.useRef)(!1);(0,ye.useEffect)(()=>{if(l){u.current=!0;return}!(a||s||i)&&u.current&&e.reportHubId>0&&o(e.reportHubId)},[a,s,l,i,e.reportHubId,o]);let d=Au(r,e.reportHubId),p=Au(r,e.reportHubId),m=(g,y)=>(0,j.jsx)(Du,{reportHubId:e.reportHubId,cursor:r,cardless:{label:xe(e.businessDate),isBusy:y,focusTargetRef:d},children:g});return i?m((0,j.jsx)("div",{...lt,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,j.jsx)("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?m((0,j.jsx)(Jb,{}),!0):a?(0,j.jsx)(Du,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:(0,j.jsx)(wu,{item:e,report:a,onSelect:t,focusTargetRef:p})}):m((0,j.jsx)("div",{...lt,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,j.jsx)("p",{children:n.reportNotFound})}),!1)});Ki.displayName="ListReportItem";var De=require("react/jsx-runtime"),Mu={pointerDragInputs:To,inertiaOptions:Wr(!1),wheelSpeedMultiplier:ho,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},iR={...Mu,inertiaOptions:Wr(!0)},sR=Object.freeze({value:360,unit:"pixels"}),lR=Object.freeze({value:160,unit:"pixels"}),dR=Object.freeze({value:Eu,unit:"pixels"}),cR=Object.freeze({value:520,unit:"pixels"}),uR=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),pR=I("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",te),mR=I("relative w-full",oo,ro),fR=I(bt,"relative isolate overflow-hidden"),Nu="daily-report-list",yR=()=>!1,bR=e=>{let[t,r]=(0,Z.useState)(!1);return(0,Z.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<zs)},a=new(tt(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},Fa=e=>{let t=(0,Z.useRef)(null),[r,n]=(0,Z.useState)(null),o=Mo(t),a=bR(t),{rowSlotHeight:i,remProbe:s}=xu(),l=Kr(r),u=(0,Z.useCallback)(d=>(t.current=d,n(d),()=>{t.current=null,n(null)}),[]);return(0,De.jsxs)("div",{ref:u,className:eo,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:(0,De.jsx)(RR,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:l})]})},RR=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:i,rootRef:s,viewportHeight:l,rowSlotHeight:u,isContainerNarrow:d,reducedMotion:p})=>{let[m]=(0,Z.useState)(()=>i?.current??0),g=(0,Z.useRef)(null),{labels:y}=K(),T=Lo(),[v]=(0,Z.useState)(Bo),h=du()||d,E=(0,Z.useRef)(null),S=e.length,x=t===void 0?S:t,N=(0,Z.useRef)(null),O=(0,Z.useCallback)(R=>o(R),[o]),C=(0,Z.useCallback)(R=>R<S?e[R]:go,[e,S]),w=(0,Z.useRef)(null),$=(0,Z.useCallback)(R=>{let f=C(R.visibleStartIndex);f.reportHubId>0&&(v.setLabel(xe(f.businessDate)),w.current=f.reportHubId)},[C,v]),F=(0,Z.useCallback)(()=>w.current,[]),ie=(0,Z.useMemo)(()=>({kind:"uniform",rowHeight:u}),[u]),U=(0,Z.useRef)(e);(0,Z.useLayoutEffect)(()=>{U.current=e},[e]);let{cursor:fe,containerProps:Ee,handleRangeChange:ee,handleScrollAdjust:z,attachVirtualScroll:X,handleRef:pe,scroller:Me,attachScrollContainer:J,contentProps:Dt,keyboardHelp:nt,selection:Ce,settledSelection:Fe,resolveSelectedIndex:$e,rememberSelection:Re,focusAfterRemoval:Be}=La({items:e,selectedId:n,onSelect:O,containerRef:g,rootRef:s,testId:Nu,itemsRef:U,rowSizing:ie,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:yR,onRangeChange:$});Uo({items:e,scroller:Me,readTopReportId:F});let{isMobileDetailOpen:Se,setIsMobileDetailOpen:Ve,isOverlayMounted:Xt,shouldShowOverlay:Qt,handleOverlayClose:yt,lastClosedItemIdRef:Lt,selectedItem:br}=Iu({isMobileLayout:h,selection:Ce,dailyReportItems:e,onSelectItem:o,rootRef:s}),A=(0,Z.useMemo)(()=>({selected:Ce,settled:Fe}),[Ce,Fe]);(0,Z.useEffect)(()=>{let R=g.current,f=()=>{v.setWheelScrollActive(!0),E.current&&clearTimeout(E.current),E.current=window.setTimeout(()=>{v.setWheelScrollActive(!1),E.current=null},Eo)};return R?.addEventListener("wheel",f,{passive:!0}),()=>{R?.removeEventListener("wheel",f),E.current&&clearTimeout(E.current)}},[v]),(0,Z.useEffect)(()=>{!S&&n!==null&&o(null)},[S,n,o]),(0,Z.useEffect)(()=>{if(Se||Lt.current===null)return;let R=Lt.current;Lt.current=null;let f=$e(e,R);if(f===-1)return;let _=pe.current;if(_!==null){let P=Pn(_,f,e.length,ie),Q=P===null?"none":Hc(P);Q!=="none"&&Me.toIndex(f,{align:Q})}fe.requestFocus(R)},[Se,e,Lt,fe,$e,pe,ie,Me]),(0,Z.useEffect)(()=>{S>0&&v.setLabel(xe(e[0].businessDate))},[e,S,v]);let L=(0,Z.useCallback)((R,f)=>{R<=0||(Re(R,f),o(R),h&&Ve(!0))},[h,o,Ve,Re]),H=(0,Z.useCallback)(()=>u,[u]),q=(0,Z.useRef)(u);(0,Z.useLayoutEffect)(()=>{let R=q.current;q.current=u;let f=pe.current;if(R===u||f===null)return;let _=f.getScrollPosition();_>0&&Me.by(_*u/R-_)},[pe,u,Me]);let se=(0,Z.useCallback)(R=>C(R).reportHubId,[C]),Ie=(0,Z.useCallback)((R,f)=>(0,De.jsx)(Vt.Provider,{value:f,children:(0,De.jsx)(Ki,{item:R,onSelect:L,cursor:fe})},R.reportHubId),[L,fe]),Ge=(0,Z.useCallback)(R=>{i&&(i.current=R);let f=g.current;f&&(f.toggleAttribute(wr,!0),N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{f.toggleAttribute(wr,!1),N.current=null},150))},[i]),Pe=(0,Z.useCallback)(R=>(0,De.jsx)(Vo,{...R,store:v}),[v]),b=(0,Z.useMemo)(()=>(0,De.jsxs)("div",{ref:J,className:fR,...Ee,children:[nt,(0,De.jsx)(Bt.Provider,{value:x,children:(0,De.jsx)(Ha.Provider,{value:u,children:(0,De.jsx)(Ou.VirtualScroll,{ref:X,itemCount:S,getItem:C,getItemKey:se,getItemHeight:H,viewportSize:l,initialScrollOffset:m,overscanCount:vo,scrollBarOptions:{...Io,renderThumbOverlay:Pe},behaviorOptions:p?iR:Mu,onRangeChange:ee,onScrollAdjust:z,onScroll:Ge,testId:Nu,className:mR,locale:T.locale,labels:T.labels,contentProps:Dt,children:Ie})})})]}),[J,X,Ee,x,S,C,se,H,l,u,p,m,Pe,ee,z,Ge,nt,Dt,T.locale,T.labels,Ie]),D=(0,Z.useMemo)(()=>(0,De.jsxs)(_r.PanelGroup,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[(0,De.jsx)(_r.Panel,{id:"daily-report-list-panel",defaultSize:sR,minSize:lR,maxSize:cR,contentOverflow:"hidden",className:hR,children:b}),(0,De.jsx)(_r.PanelResizeHandle,{id:"daily-report-list-handle",thickness:10,indicator:uR,className:pR,"aria-label":y.resizeHandle}),(0,De.jsx)(_r.Panel,{id:"daily-report-detail-panel",minSize:dR,contentOverflow:"hidden",className:SR,children:(0,De.jsx)(vu,{dailyReportItems:e,autoMarkRead:r,userId:a,onReportDeleted:Be})})]}),[b,y.resizeHandle,e,r,a,Be]);return(0,De.jsxs)(De.Fragment,{children:[(0,De.jsx)("div",{className:to,children:h?(0,De.jsx)("div",{className:bt,children:b}):(0,De.jsx)(Ma.Provider,{value:A,children:D})}),Xt&&(0,De.jsx)(Tu,{isOpen:Qt,selectedItem:br,onClose:yt,autoMarkRead:h&&r,userId:a,onReportDeleted:Be})]})},hR=I("flex min-h-0",Yi),SR=I("flex min-h-0 flex-1",rr);var rt=require("react");var Gu=we(require("lucide-react/dist/esm/icons/plus.js")),qu=we(require("lucide-react/dist/esm/icons/refresh-cw.js")),Yu=we(require("lucide-react/dist/esm/icons/rotate-cw.js")),be=require("react"),Xu=require("react-router");var Lr=require("react");var Pu=(e,t,r=250)=>{let n=Kr(t),[o,a]=(0,Lr.useState)(e),i=(0,Lr.useRef)(e),s=(0,Lr.useRef)(!0);return(0,Lr.useEffect)(()=>{if(s.current){s.current=!1,i.current=e,a(e);return}let l=i.current;if(l===e)return;if(n||t===null){i.current=e,a(e);return}let u=tt(t),d=0,p=null,m=g=>{p===null&&(p=g);let y=Math.min(1,Math.max(0,(g-p)/r)),T=1-(1-y)**3,v=Math.round(l+(e-l)*T);i.current=v,a(v),y<1&&(d=u.requestAnimationFrame(m))};return d=u.requestAnimationFrame(m),()=>u.cancelAnimationFrame(d)},[e,r,n,t]),n?e:o};var Hu=we(require("lucide-react/dist/esm/icons/x.js")),Je=require("react");var kt=require("react/jsx-runtime"),ku=e=>e.trim().length===0,gR=(e,t)=>t.status==="searching"?e.searching:t.status==="failed"&&t.failure!==null?e.searchFailed(t.failure):t.status==="done"&&t.items!==null?t.items.length===0?e.searchNoHits:e.searchHitCount(t.items.length):"";function Fu({labels:e,debounceMs:t,search:r,onCommit:n,onCombineChange:o,onRelease:a,clearSignal:i}){let[s,l]=(0,Je.useState)(""),u=(0,Je.useRef)(null),d=(0,Je.useRef)(null),p=(0,Je.useRef)(!1),m=(0,Je.useRef)(i),g=(0,Je.useId)(),y=(0,Je.useId)(),T=(0,Je.useRef)({search:r,onCommit:n,onRelease:a});(0,Je.useLayoutEffect)(()=>{T.current={search:r,onCommit:n,onRelease:a}});let v=()=>{d.current!==null&&clearTimeout(d.current),d.current=null},c=C=>{v();let w=T.current;ku(C)?w.search.committed!==null&&w.onRelease():w.onCommit(C,w.search.combine)},h=C=>{t===null||p.current||(v(),d.current=setTimeout(()=>c(C),t))},E=()=>{v(),l(""),a(),u.current?.focus()},S=C=>{l(C.target.value),h(C.target.value)},x=C=>{let w=Gr(C);if(C.key==="Enter"&&!xr(w)){C.preventDefault(),c(s);return}Wt(w)&&(s.length>0||r.committed!==null)&&(C.preventDefault(),E())},N=()=>{v();let C=r.combine==="union"?"intersection":"union";ku(s)?o(C):n(s,C),u.current?.focus()};(0,Je.useEffect)(()=>{m.current!==i&&(m.current=i,d.current!==null&&clearTimeout(d.current),d.current=null,l(""))},[i]),(0,Je.useEffect)(()=>()=>{d.current!==null&&clearTimeout(d.current)},[]);let O=r.combine==="intersection";return(0,kt.jsxs)("search",{"data-testid":"daily-report-search",className:"flex h-8 min-w-0 items-center gap-2 px-[8px]",children:[(0,kt.jsx)("button",{type:"button","data-testid":"daily-report-search-combine","aria-describedby":g,title:O?e.searchCombineAndTitle:e.searchCombineOrTitle,onClick:N,className:I("inline-flex h-6 shrink-0 items-center rounded-full border border-solid px-[11px] font-semibold text-xs",O?"border-blue-700 bg-blue-700 text-white":"border-slate-400 bg-white text-slate-800 dark:bg-slate-900 dark:text-slate-100",te),children:O?e.searchCombineAnd:e.searchCombineOr}),(0,kt.jsx)("input",{ref:u,type:"text","data-testid":"daily-report-search-input","aria-label":e.searchInputLabel,"aria-describedby":y,title:e.searchSyntaxHelp,placeholder:e.searchPlaceholder,value:s,onChange:S,onKeyDown:x,onCompositionStart:()=>{p.current=!0,v()},onCompositionEnd:C=>{p.current=!1,h(C.currentTarget.value)},className:I("h-6 min-w-0 flex-1 rounded-md border border-slate-300 border-solid bg-white px-[7px] text-slate-900 text-sm placeholder:text-slate-500 dark:border-slate-600 dark:bg-slate-900 dark:text-slate-100",te)}),s.length>0||r.committed!==null?(0,kt.jsx)("button",{type:"button","data-testid":"daily-report-search-clear","aria-label":e.searchClear,title:e.searchClear,onClick:E,className:qe,children:(0,kt.jsx)(Hu.default,{"aria-hidden":"true",className:"size-4"})}):null,(0,kt.jsx)("span",{id:g,hidden:!0,children:O?e.searchCombineAndTitle:e.searchCombineOrTitle}),(0,kt.jsx)("span",{id:y,hidden:!0,children:e.searchSyntaxHelp}),(0,kt.jsx)("span",{"data-testid":"daily-report-search-status","aria-live":"polite",className:"h-6 w-[8rem] shrink-0 truncate text-slate-600 text-xs leading-6 dark:text-slate-300",children:gR(e,r)})]})}var Bu=(e,t,r)=>{if(t.length===0)return null;let n=e.findIndex(o=>o.reportHubId===r);if(n!==-1){let o=new Set(t.map(a=>a.reportHubId));for(let a=1;n+a<e.length||n-a>=0;a++){let i=e[n+a];if(i!==void 0&&o.has(i.reportHubId))return i.reportHubId;let s=e[n-a];if(s!==void 0&&o.has(s.reportHubId))return s.reportHubId}}return t[0].reportHubId},$i=(e,t,r,n)=>r===null?n&&t.length>0?t[0].reportHubId:null:t.some(o=>o.reportHubId===r)?r:Bu(e,t,r),Vu=(e,t,r)=>e.selected===null?r!==null&&t.some(n=>n.reportHubId===r)?r:null:t.some(n=>n.reportHubId===e.selected)?e.selected:Bu(e.items,t,e.selected);var ft=require("react");var ER=1e3,vR=5e3,IR={combine:"union",committed:null,generation:0,status:"idle",failure:null,items:null},TR=e=>e===400?"invalid":e===404?"unavailable":e===429?"busy":"failed",Uu=e=>{let t=IR,r=new Set,n=null,o=null,a=null,i=null,s=null,l=null,u=S=>{t=S;for(let x of r)x()},d=()=>{i!==null&&clearTimeout(i),s!==null&&clearTimeout(s),i=null,s=null},p=S=>{let x=new URLSearchParams({[ht.searchQuery]:S.text,[ht.searchCombine]:S.combine});return`${e.apiBasePath}/${Rt.search}?${x.toString()}`},m=(S,x,N,O)=>{if(!N){u({...t,status:"failed",failure:S});return}l!==O&&(l=O,s=setTimeout(()=>{s=null,y(x,!0)},vR))},g=async(S,x,N)=>{let O=new AbortController;n={controller:O};let C={Accept:"application/json"};N&&a!==null&&a.generation===x&&(C["If-None-Match"]=a.value);try{let w=await e.fetch(p(S),{headers:C,cache:"no-store",signal:O.signal});if(O.signal.aborted||x!==t.generation)return;if(w.status===304){t.status!=="done"&&u({...t,status:"done",failure:null});return}if(w.status===401||w.status===403){e.onSessionExpired(),m("failed",S,!1,x);return}if(!w.ok){m(TR(w.status),S,N,x);return}let $=Ds(await w.json());if(O.signal.aborted||x!==t.generation)return;if($===null){m("failed",S,N,x);return}let F=w.headers.get("ETag");a=F===null?null:{generation:x,value:F},l=null,u({...t,status:"done",failure:null,items:$})}catch{if(O.signal.aborted||x!==t.generation)return;m("failed",S,N,x)}finally{if(n!==null&&n.controller===O&&(n=null),n===null&&o!==null){let w=o;o=null,y(w.query,w.background)}}},y=(S,x)=>{if(n!==null){o={query:S,background:(o===null||o.background)&&x};return}g(S,t.generation,x)};return{getSnapshot:()=>t,subscribe:S=>(r.add(S),()=>{r.delete(S)}),commit:(S,x)=>{d();let N=t.committed,O=N!==null&&N.text===S&&N.combine===x,C={text:S,combine:x};u({...t,combine:x,committed:C,generation:O?t.generation:t.generation+1,status:"searching",failure:null}),y(C,!1)},setCombine:S=>{S!==t.combine&&u({...t,combine:S})},release:()=>{d(),n?.controller.abort(),n=null,o=null,t.committed!==null&&u({combine:t.combine,committed:null,generation:t.generation+1,status:"idle",failure:null,items:null})},invalidate:()=>{let S=t.committed;S!==null&&(i!==null&&clearTimeout(i),i=setTimeout(()=>{i=null,y(S,!0)},ER))},dispose:()=>{d(),n?.controller.abort(),n=null,o=null}}};var Wu=({apiBasePath:e,invalidation:t,onSessionExpired:r})=>{let n=(0,ft.useRef)(r);(0,ft.useLayoutEffect)(()=>{n.current=r});let o=(0,ft.useMemo)(()=>Uu({apiBasePath:e,onSessionExpired:()=>n.current(),fetch:(s,l)=>fetch(s,l)}),[e]);(0,ft.useEffect)(()=>()=>o.dispose(),[o]);let a=(0,ft.useRef)(t);(0,ft.useEffect)(()=>{a.current!==t&&(a.current=t,o.invalidate())},[t,o]);let i=(0,ft.useSyncExternalStore)(o.subscribe,o.getSnapshot,o.getSnapshot);return(0,ft.useMemo)(()=>({...i,commit:o.commit,setCombine:o.setCombine,release:o.release}),[i,o])};var $n=we(require("@radix-ui/react-switch")),Ku=we(require("react"));var zi=require("react/jsx-runtime"),Ba=Ku.forwardRef(({className:e,...t},r)=>(0,zi.jsx)($n.Root,{className:I(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${ss} ${ds} ${te}`,e),...t,ref:r,children:(0,zi.jsx)($n.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${ls} ${cs}`})}));Ba.displayName=$n.Root.displayName;var $u=require("react"),zu=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)})}},ji=e=>(0,$u.useSyncExternalStore)(e.subscribe,e.get,e.get);var G=require("react/jsx-runtime"),xR="list",DR=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},CR=I(ps,Ss,"ml-[8px] flex flex-wrap items-center gap-2"),ju="relative h-4 w-4 p-0 after:absolute after:-inset-1",AR="flex items-center gap-2",_R=({count:e})=>{let{labels:t}=K(),[r,n]=(0,be.useState)(null),o=Pu(e,r);return(0,G.jsx)(Na,{ref:n,text:t.totalCount(o),widestText:t.totalCount(Bn(Math.max(e,o)))})},LR=({setSize:e,isSearchAnswer:t})=>{let{labels:r}=K();return t?(0,G.jsx)("span",{children:r.searchHitCount(e)}):e===Rn?(0,G.jsx)("span",{children:r.totalCountLoading}):(0,G.jsx)(_R,{count:e})},wR=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let i=ji(e);return(0,G.jsx)(Fa,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:i,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},NR=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=ji(e);return(0,G.jsx)(wa,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},OR=({tabItems:e,actions:t,searchRow:r})=>{let[n,o]=(0,be.useState)(xR),{labels:a}=K();return(0,G.jsxs)(Un,{value:n,onValueChange:i=>o(DR(i)),className:I("@container/views",bt),children:[(0,G.jsxs)("div",{className:fs,children:[(0,G.jsxs)("div",{className:I(CR,gs[n]),children:[(0,G.jsx)(Wn,{"aria-label":a.viewTabList,className:"flex flex-wrap gap-1",...nd,children:e.map(({value:i,label:s})=>(0,G.jsx)(Kn,{value:i,children:s},i))}),t]}),r]}),e.map(({value:i,content:s})=>(0,G.jsx)(sn,{value:i,className:I("mt-0",bt),children:s},i))]})},MR=Object.freeze({items:null,generation:0,revision:0,change:"none",scrollRequest:null,restoreOnRelease:!0}),PR=(e,t,r)=>{let n="update";t===null?n=e.restoreOnRelease?"restore":"release":e.items===null?n="enter":e.generation!==r&&(n="start");let o=n==="enter"||n==="start"||n==="restore"?n:null,a=o===null?e.scrollRequest:{seq:e.scrollRequest===null?1:e.scrollRequest.seq+1,kind:o};return{items:t,generation:r,revision:e.revision+1,change:n,scrollRequest:a,restoreOnRelease:t===null||n==="enter"?!0:e.restoreOnRelease}},kR=(e,t,r)=>{if(e===null)return{items:t,hasAnswerOnlyItems:!1};let n=new Map(t.map(i=>[i.reportHubId,i])),o=[],a=!1;for(let i of e){let s=n.get(i.reportHubId);s!==void 0?o.push(s):r(i.reportHubId)||(o.push(i),a=!0)}return{items:o,hasAnswerOnlyItems:a}},HR=({answer:e,hasAnswerOnlyItems:t})=>{let{phase:r,isRevalidating:n}=jr(),o=r==="complete"&&!n,a=(0,be.useRef)(null);return(0,be.useEffect)(()=>{!(o&&t)||a.current===e||(a.current=e,vn())},[o,t,e]),null},Va=({userId:e})=>{let[t,r]=(0,be.useState)(!1),{labels:n,renderHeader:o,showDevControls:a,apiBasePath:i,onSessionExpired:s,search:l}=K(),{toggleSse:u,createReport:d,refetchData:p,clearCacheAndRefetch:m}=Xe(),{isSseEnabled:g,items:y,searchInvalidation:T,isReportRemoved:v,removedVersion:c}=sa(),[h]=(0,Xu.useSearchParams)(),E=Wu({apiBasePath:i,invalidation:T,onSessionExpired:s}),S=l===null||E.committed===null?null:E.items,[x,N]=(0,be.useState)(MR);x.items!==S&&N(PR(x,S,E.generation));let O=(0,be.useMemo)(()=>kR(S,y,v),[S,y,v,c]),C=O.items,w=El(y.length,jl()),$=S===null?w:C.length,[F,ie]=(0,be.useState)(0),[U]=(0,be.useState)(()=>({preSearchTopReportId:null})),fe=(0,be.useMemo)(()=>({request:x.scrollRequest,slot:U}),[x.scrollRequest,U]),Ee=(0,be.useRef)(0),ee=(0,be.useRef)({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[z]=(0,be.useState)(()=>zu(C.length===0?null:C[0].reportHubId)),X=(0,be.useRef)(null),pe=(0,be.useRef)(C),Me=(0,be.useRef)(x.revision);(0,be.useLayoutEffect)(()=>{if(Me.current===x.revision)return;Me.current=x.revision;let Re=pe.current,Be=z.get(),Se=Be;x.change==="enter"?(X.current={selected:Be,items:Re},Se=$i(Re,C,Be,!0)):x.change==="start"||x.change==="update"?Se=$i(Re,C,Be,x.change==="start"):x.change==="restore"&&X.current!==null&&(Se=Vu(X.current,C,Be)),(x.change==="restore"||x.change==="release")&&(X.current=null),Se!==Be&&z.set(Se)},[x,C,z]),(0,be.useLayoutEffect)(()=>{pe.current=C},[C]);let J=(0,be.useRef)(!1);(0,be.useEffect)(()=>{!J.current&&C.length>0&&(J.current=!0,z.get()===null&&z.set(C[0].reportHubId))},[C,z]);let Dt=async()=>{await p()},nt=async()=>{await m()},Ce=async()=>{let Be=h.get("businessDate")||$a();E.committed!==null&&(N(Ve=>({...Ve,restoreOnRelease:!1})),ie(Ve=>Ve+1),E.release());let Se=await d(Be);z.set(Se)};(0,be.useEffect)(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let Fe=Re=>{r(Re),localStorage.setItem("daily-report-auto-read",String(Re))},$e=(0,be.useMemo)(()=>[{value:"list",label:n.tabList,content:(0,G.jsx)(wR,{selectionStore:z,dailyReportItems:C,rowSetSize:$,autoMarkRead:t,userId:e,scrollOffsetRef:Ee})},{value:"tree",label:n.tabTree,content:(0,G.jsx)("div",{className:I("flex flex-1 items-center justify-center",Nr),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:(0,G.jsx)(NR,{selectionStore:z,dailyReportItems:C,rowSetSize:$,userId:e,scrollRestoreRef:ee})}],[C,$,t,e,n,z]);return(0,G.jsxs)(G.Fragment,{children:[o({title:n.title,annotation:(0,G.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[(0,G.jsx)(on,{}),(0,G.jsx)(LR,{setSize:$,isSearchAnswer:S!==null}),(0,G.jsx)("span",{children:n.debounce(Fr)})]})}),(0,G.jsx)("div",{className:Zn,children:(0,G.jsxs)("div",{className:Jn,children:[S!==null&&(0,G.jsx)(HR,{answer:S,hasAnswerOnlyItems:O.hasAnswerOnlyItems}),(0,G.jsx)(Ao.Provider,{value:S===null?"date":"ids",children:(0,G.jsx)(li.Provider,{value:fe,children:(0,G.jsx)(OR,{tabItems:$e,searchRow:l===null?null:(0,G.jsx)(Fu,{labels:n,debounceMs:l.debounceMs,search:E,onCommit:E.commit,onCombineChange:E.setCombine,onRelease:E.release,clearSignal:F}),actions:(0,G.jsxs)("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[(0,G.jsxs)(Gt,{size:"sm",onClick:Ce,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,G.jsx)(Gu.default,{className:"h-3 w-3"}),(0,G.jsx)("span",{children:n.createReport})]}),a&&(0,G.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,G.jsx)("span",{className:"select-none font-bold font-mono text-amber-800 text-xs uppercase dark:text-amber-200",children:"dev"}),(0,G.jsx)(Ba,{id:"sse-mode","aria-label":n.devSseToggle,title:n.devSseToggle,checked:g,onCheckedChange:u}),(0,G.jsxs)("div",{className:AR,"data-testid":"dev-icon-buttons",children:[(0,G.jsx)(Gt,{variant:"ghost",size:"icon",onClick:Dt,className:I(ju,"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,G.jsx)(Yu.default,{className:"size-3"})}),(0,G.jsx)(Gt,{variant:"ghost",size:"icon",onClick:nt,className:I(ju,"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,G.jsx)(qu.default,{className:"size-3"})})]})]}),(0,G.jsxs)("div",{className:"flex items-center gap-1 pl-1",title:n.autoReadTitle,children:[(0,G.jsx)(Ba,{id:"auto-read-mode",checked:t,onCheckedChange:Fe}),(0,G.jsx)(On,{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"),FR=I(bt,rr),BR=I("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",wt,te),VR=({isFailed:e,handOver:t})=>{let{labels:r,renderHeader:n}=K(),o=(0,rt.useRef)(null),a=(0,rt.useCallback)(s=>(o.current=s,t.take()&&Ft(s)&&Ot([s]),()=>{o.current=null,s.contains(ke(s))&&t.request()}),[t]),i=()=>{Ot([o.current]),Yo()};return(0,ce.jsxs)(ce.Fragment,{children:[n({title:r.title,annotation:e?(0,ce.jsx)("span",{className:I("font-bold",cn),children:r.loadErrorBadge}):(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[(0,ce.jsx)(on,{}),(0,ce.jsx)("span",{children:r.totalCountLoading}),(0,ce.jsx)("span",{children:r.debounce(Fr)})]})}),(0,ce.jsx)("div",{className:Zn,children:(0,ce.jsx)("div",{className:Jn,children:(0,ce.jsx)("div",{className:FR,children:(0,ce.jsx)("div",{ref:a,tabIndex:-1,...ad,"data-testid":"daily-report-status-panel","data-phase":e?"failed":"loading",className:I(BR,e&&"border-red-200 dark:border-red-900"),children:e?(0,ce.jsxs)(ce.Fragment,{children:[(0,ce.jsx)("p",{className:I("font-medium",cn),children:r.loadError}),(0,ce.jsx)("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:i,className:I("rounded bg-slate-100 px-4 py-2 text-slate-700 text-sm hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-300 dark:hover:bg-slate-700",te),children:r.reload})]}):(0,ce.jsx)("p",{children:r.loadingIds})})})})})]})},UR=(e,t)=>e.retryingCount!==null?{status:t.streamRetrying(e.retryingCount),alert:""}:e.phase==="failed"?{status:"",alert:e.hasItems?t.streamFailed:t.loadError}:!e.hasItems&&(e.phase==="idle"||e.phase==="streaming")?{status:t.loadingIds,alert:""}:{status:"",alert:""},WR=Object.freeze({status:"",alert:""}),KR=()=>{let{labels:e}=K(),t=UR($l(),e),[r]=(0,rt.useState)(t),[n,o]=(0,rt.useState)(!1),a=n||t.status!==r.status||t.alert!==r.alert;(0,rt.useLayoutEffect)(()=>{a&&!n&&o(!0)},[a,n]);let{status:i,alert:s}=a?t:WR;return(0,ce.jsxs)("div",{"data-testid":"daily-report-stream-announcer",className:"sr-only",children:[(0,ce.jsx)("p",{role:"status",children:i}),(0,ce.jsx)("p",{role:"alert",children:s})]})},$R=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=K(),o=jr(),[a]=(0,rt.useState)(Zc),i=(0,rt.useRef)(n);(0,rt.useLayoutEffect)(()=>{i.current=n}),(0,rt.useEffect)(()=>{zr({apiBasePath:r,userKey:t??null})},[r,t]),(0,rt.useEffect)(()=>{o.phase==="auth-required"&&i.current()},[o.phase]);let s=o.hasItems||o.phase==="complete";return(0,ce.jsxs)(ta,{children:[(0,ce.jsx)(KR,{}),(0,ce.jsx)(Vi.Provider,{value:!1,children:(0,ce.jsx)(Fi.Provider,{value:a,children:(0,ce.jsx)(la,{user:e,userId:t,children:s?(0,ce.jsx)(Va,{userId:t}):(0,ce.jsx)(VR,{isFailed:o.phase==="failed",handOver:a})},t??"anonymous")})})]})},Qu=({config:e,...t})=>(0,ce.jsx)(yo,{config:e,children:(0,ce.jsx)($R,{...t})});var zR=new Set(Al.filter(e=>e!=="clearCache")),Zu=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:i,formMethod:s,json:l,nextUrl:u,text:d})=>{if(!n)return!1;if(!(r.pathname===u.pathname&&r.search===u.search&&r.hash===u.hash))return n;if(a){let g=a.get(dt.intent);if(typeof g=="string"&&zR.has(g))return!1}return e!==void 0||t!==void 0||o!==void 0||a!==void 0||i!==void 0||s!==void 0||l!==void 0||d!==void 0?n:!1},Ju=e=>{let t=async r=>{Go();let n=await r.serverLoader(),o=n.userId;return jo({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_LATTICE_BLOCK_QUANTUM_CLASS_NAME,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});
|