@aiquants/daily-report 0.37.0 → 0.38.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 +43 -0
- package/README.md +83 -26
- package/dist/client.d.mts +33 -4
- package/dist/client.d.ts +33 -4
- package/dist/client.js +6 -6
- package/dist/client.mjs +6 -6
- package/dist/{comment-adapter-_h3W1duG.d.mts → comment-adapter-BsbOiHmX.d.mts} +1 -1
- package/dist/{comment-adapter-DOUwSlKf.d.ts → comment-adapter-CldlCy1v.d.ts} +1 -1
- package/dist/index.d.mts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/search-filters-wire-5MWi6GWu.d.mts +12 -0
- package/dist/search-filters-wire-5MWi6GWu.d.ts +12 -0
- package/dist/server.d.mts +78 -22
- package/dist/server.d.ts +78 -22
- package/dist/server.js +9 -9
- package/dist/server.mjs +9 -9
- package/dist/styles/daily-report.standalone.css +1 -1
- package/package.json +1 -1
- package/dist/{sse-schema-getLS62T.d.mts → sse-schema-byewDmZK.d.mts} +52 -52
- package/dist/{sse-schema-getLS62T.d.ts → sse-schema-byewDmZK.d.ts} +52 -52
package/dist/client.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import Zm from"lucide-react/dist/esm/icons/paperclip.js";var Ym="data-daily-report-row-surface",qe={[Ym]:""},_r="data-daily-report-scrolling",Vt=8;var no="[--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]",Kt=`${no} h-[calc-size(auto,round(up,size,var(--aqdr-lattice-block)))]`,Wt="p-[8px]",el="pr-[8px]",oo="contain-size contain-layout contain-style",tl="contain-strict",Dt="pointer-events-none absolute size-px whitespace-nowrap opacity-0 select-none",ee="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",At="border-slate-500 placeholder:text-slate-500 dark:border-slate-500 dark:placeholder:text-slate-400",rl="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",ns="scrollbar-thin [scrollbar-gutter:stable]",os=`-m-[4px] overflow-hidden p-[4px] ${ns}`,nl="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",ao="rounded-[calc(var(--radius-2xl)+8px)]",so="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]",ol="[: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",Rt="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",io=16,wr="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",al=12,lo="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200";var sl="min-h-24",il="flex h-6 items-center",co="[--aqdr-hover-lift:2px] [@media(resolution:1.125dppx)]:[--aqdr-hover-lift:calc(2px/1.125)] [@media(resolution:1.25dppx)]:[--aqdr-hover-lift:calc(2px/1.25)] [@media(resolution:1.375dppx)]:[--aqdr-hover-lift:calc(2px/1.375)] [@media(resolution:1.625dppx)]:[--aqdr-hover-lift:calc(3px/1.625)] [@media(resolution:1.75dppx)]:[--aqdr-hover-lift:calc(3px/1.75)] [@media(resolution:1.875dppx)]:[--aqdr-hover-lift:calc(3px/1.875)] [@media(resolution:2.125dppx)]:[--aqdr-hover-lift:calc(4px/2.125)] [@media(resolution:2.25dppx)]:[--aqdr-hover-lift:calc(4px/2.25)] [@media(resolution:2.375dppx)]:[--aqdr-hover-lift:calc(4px/2.375)] [@media(resolution:2.625dppx)]:[--aqdr-hover-lift:calc(5px/2.625)] [@media(resolution:2.75dppx)]:[--aqdr-hover-lift:calc(5px/2.75)] [@media(resolution:2.875dppx)]:[--aqdr-hover-lift:calc(5px/2.875)] motion-safe:transition-[translate] motion-safe:duration-200 hover:border-blue-300 hover:shadow-lg motion-safe:hover:translate-y-[calc(-1*var(--aqdr-hover-lift))] [[data-daily-report-scrolling]_&]:transition-none [[data-daily-report-scrolling]_&]:hover:translate-none [[data-daily-report-scrolling]_&]:hover:shadow-sm",Pe=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${ee}`,ll="-mx-1",dl="flex items-center gap-1",Ke="inline-flex h-6 items-center rounded-full px-3",cl="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",ul="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",Ut="size-4",Ce={starOff:`${Ut} text-slate-500 dark:text-slate-400 forced-colors:text-[CanvasText]`,starOn:`${Ut} fill-yellow-400 text-yellow-700 dark:text-yellow-400 forced-colors:fill-[Highlight] forced-colors:text-[Highlight]`,read:`${Ut} text-blue-600 dark:text-blue-400`,delete:`${Ut} text-slate-500 hover:text-red-600 dark:text-slate-400 dark:hover:text-red-400`,deletePending:`${Ut} text-red-600 dark:text-red-400`,edit:`${Ut} text-slate-500 dark:text-slate-400`},pl="h-6 w-10 border-4 border-solid",ml="size-4 data-[state=checked]:translate-x-4",fl="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]",yl="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var bl="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",Rl="rounded-xl border border-solid p-[3px]",hl="relative inline-flex h-6 items-center justify-center whitespace-nowrap rounded-lg px-2 font-medium text-slate-600 text-xs dark:text-slate-300 data-[state=active]:bg-white data-[state=active]:text-slate-900 dark:data-[state=active]:bg-slate-950 dark:data-[state=active]:text-slate-100 after:pointer-events-none after:absolute after:right-[var(--radius-lg)] after:bottom-0 after:left-[var(--radius-lg)] after:h-[2px] after:rounded-full after:forced-color-adjust-none data-[state=active]:after:bg-blue-600 dark:data-[state=active]:after:bg-blue-400 forced-colors:data-[state=active]:after:bg-[Highlight] disabled:pointer-events-none disabled:opacity-50",Xm="supports-[margin-left:round(down,1px,1px)]:ml-[max(0px,round(down,calc((100%-72rem)/2),var(--aqdr-lattice-block)))]",Qm="bg-slate-50 dark:bg-slate-950",rt="flex min-h-0 flex-1 flex-col",uo=`${rt} ${Qm}`,po=`${rt} mx-auto w-full max-w-6xl ${no} px-[var(--aqdr-lattice-block)] pt-[var(--aqdr-lattice-block)] ${Xm}`,Sl=`relative z-[1] shrink-0 ${Kt}`,gl="flex min-h-8 min-w-0 items-end",El="m-0 border-0 p-0 [font:inherit] bg-yellow-200 text-slate-900 underline decoration-1 underline-offset-2 data-[daily-report-search-mark=reading]:decoration-dotted dark:bg-yellow-800 dark:text-yellow-50 forced-colors:forced-color-adjust-none forced-colors:bg-[Mark] forced-colors:text-[MarkText]",an="text-red-700 dark:text-red-400",xl="bg-white dark:bg-slate-900",mo=`min-h-0 flex-1 overflow-clip contain-size ${no}`,fo="flex h-full flex-col contain-size contain-layout contain-style",Il="relative inline-block whitespace-nowrap tabular-nums",Tl="invisible",vl="absolute inset-0 contain-size contain-layout contain-style",yo="[&_.aqvs-no-items-text]:py-4 [&_.aqvs-no-items-text]:text-slate-500 dark:[&_.aqvs-no-items-text]:text-slate-400",Dl="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",Al="ml-[8px]",Cl={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",Ct=`m-0 ${ar}`,Lr="text-balance wrap-anywhere [word-break:auto-phrase]",bo="[&_.aqvs-scrollbar]:bg-slate-100 [&_.aqvs-scrollbar-track]:bg-slate-100 [&_.aqvs-scrollbar-thumb]:bg-slate-500 [&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-600 [&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-700 [&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 [&_.aqvs-scrollbar-arrow-button]:bg-slate-100 [&_.aqvs-scrollbar-arrow-button]:text-slate-600 [&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-200 dark:[&_.aqvs-scrollbar]:bg-slate-900 dark:[&_.aqvs-scrollbar-track]:bg-slate-900 dark:[&_.aqvs-scrollbar-thumb]:bg-slate-500 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-400 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-300 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 dark:[&_.aqvs-scrollbar-arrow-button]:bg-slate-900 dark:[&_.aqvs-scrollbar-arrow-button]:text-slate-400 dark:[&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-800 forced-colors:[&_.aqvs-scrollbar-thumb]:bg-[CanvasText] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-[GrayText] forced-colors:[&_.aqvs-scrollbar-track]:outline-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-solid forced-colors:[&_.aqvs-scrollbar-track]:-outline-offset-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-[CanvasText]";import{jsx as _l,jsxs as ef}from"react/jsx-runtime";var Jm=2,sn=({id:e,count:t,label:r})=>t<=0?null:ef("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:[_l(Zm,{className:Ut,"aria-hidden":"true"}),t>=Jm&&_l("span",{className:"font-semibold text-xs leading-4",children:t})]});import{VirtualScroll as kg}from"@aiquants/virtualscroll";import{useCallback as Oe,useEffect as rr,useLayoutEffect as Pg,useMemo as Oi,useRef as $e,useState as Ka}from"react";var sr=Object.freeze({text:"",runs:Object.freeze([])}),nt=e=>e.length===0?sr:{text:e,runs:[{displayStart:0,displayEnd:e.length,sourceStart:0,sourceEnd:e.length}]},wl=(e,t,r)=>t>=r?sr:{text:e.slice(t,r),runs:[{displayStart:0,displayEnd:r-t,sourceStart:t,sourceEnd:r}]},as=(e,t,r,n)=>{let o=t-e;return o!==n-r||o===1?[{displayStart:e,displayEnd:t,sourceStart:r,sourceEnd:n}]:Array.from({length:o},(a,s)=>({displayStart:e+s,displayEnd:e+s+1,sourceStart:r,sourceEnd:n}))},ss=e=>e.displayEnd-e.displayStart===e.sourceEnd-e.sourceStart,ln=(e,t,r)=>{if(t>=r)return sr;if(t===0&&r===e.text.length)return e;let n=[];for(let o of e.runs){let a=Math.max(o.displayStart,t),s=Math.min(o.displayEnd,r);if(!(a>=s))if(ss(o)){let i=o.sourceStart+(a-o.displayStart);n.push({displayStart:a-t,displayEnd:s-t,sourceStart:i,sourceEnd:i+(s-a)})}else n.push(...as(a-t,s-t,o.sourceStart,o.sourceEnd))}return{text:e.text.slice(t,r),runs:n}},dn=e=>{if(e.length===1)return e[0];let t="",r=[];for(let n of e){let o=t.length;for(let a of n.runs)r.push({...a,displayStart:a.displayStart+o,displayEnd:a.displayEnd+o});t+=n.text}return t.length===0?sr:{text:t,runs:r}},is=e=>{let t=e.text.trimEnd().length,r=Math.min(t,e.text.length-e.text.trimStart().length);return ln(e,r,t)},$t=e=>typeof e=="string"?is(nt(e)):sr,Ro=(e,t,r)=>{if(r.includes("$"))throw new Error(`[daily-report] replaceDisplayText: the replacement must be literal text without "$"; got ${JSON.stringify(r)}`);let n=t.global?[...e.text.matchAll(t)]:[t.exec(e.text)].filter(c=>c!==null);if(n.length===0)return e;let o="",a=[],s=0,i=(c,d)=>{if(c>=d)return;let p=o.length-c;for(;s<e.runs.length&&e.runs[s].displayEnd<=c;)s+=1;for(let m=s;m<e.runs.length&&e.runs[m].displayStart<d;m++){let f=e.runs[m],y=Math.max(f.displayStart,c),b=Math.min(f.displayEnd,d);if(!(y>=b))if(ss(f)){let I=f.sourceStart+(y-f.displayStart);a.push({displayStart:y+p,displayEnd:b+p,sourceStart:I,sourceEnd:I+(b-y)})}else a.push(...as(y+p,b+p,f.sourceStart,f.sourceEnd))}o+=e.text.slice(c,d)},l=0;for(let c of n)i(l,c.index),o+=r,l=c.index+c[0].length;return i(l,e.text.length),o.length===0?sr:{text:o,runs:a}},tf=e=>{let t=[],r=0,n="",o=0;for(let a of e){let s=o+a.length;if(o===r)n=a.normalize("NFC");else{let i=e.slice(r,s).normalize("NFC"),l=i.slice(n.length);i.startsWith(n)&&(l===a||l===a.normalize("NFC"))?(t.push({start:r,end:o,shown:n}),r=o,n=l):n=i}o=s}return t.push({start:r,end:o,shown:n}),t},rf=e=>{let t=[],r=0;for(let a of e)t.push(r),r+=a.length;t.push(e.length);let n=[],o=0;for(;o<t.length-1;){let a=t[o],s=e.slice(a).normalize("NFC"),i=o+1;for(;i<t.length-1;){let c=e.slice(a,t[i]).normalize("NFC");if(s.startsWith(c)&&c+e.slice(t[i]).normalize("NFC")===s)break;i+=1}let l=t[i];n.push({start:a,end:l,shown:e.slice(a,l).normalize("NFC")}),o=i}return n},Ll=e=>{let t=e.normalize("NFC");if(t===e)return nt(e);let r=tf(e),n=r.map(s=>s.shown).join("")===t?r:rf(e),o=[],a=0;for(let{start:s,end:i,shown:l}of n){let c=a+l.length;l===e.slice(s,i)?o.push({displayStart:a,displayEnd:c,sourceStart:s,sourceEnd:i}):o.push(...as(a,c,s,i)),a=c}return{text:t,runs:o}},Nl=(e,t)=>{let r=[],n=(a,s,i)=>{let l=r.length-3;l>=0&&r[l+1]===a&&r[l+2]===i?r[l+1]=s:r.push(a,s,i)},o=t.length/3;for(let a of e.runs){let s=0,i=o;for(;s<i;){let c=s+i>>>1;t[c*3+1]<=a.sourceStart?s=c+1:i=c}if(ss(a)){for(let c=s;c<o&&t[c*3]<a.sourceEnd;c++){let d=Math.max(t[c*3],a.sourceStart),p=Math.min(t[c*3+1],a.sourceEnd);n(a.displayStart+(d-a.sourceStart),a.displayStart+(p-a.sourceStart),t[c*3+2])}continue}let l=Number.POSITIVE_INFINITY;for(let c=s;c<o&&t[c*3]<a.sourceEnd;c++)l=Math.min(l,t[c*3+2]);l!==Number.POSITIVE_INFINITY&&n(a.displayStart,a.displayEnd,l)}return r},Ml=String.raw`<br\s*\/?\s*>`,Ol=String.raw`<\/p>`,kl="<[^>]+>",nf=new RegExp(String.raw`(${Ml}|${Ol}|\r?\n)|${kl}`,"gi"),Pl=new RegExp(Ml,"gi"),of=new RegExp(Ol,"gi"),af=new RegExp(kl,"g"),Hl=(e,t)=>{if(!e)return[];let r=[],n=[],o=0,a=()=>{let s=dn(n);n=[];let i=is({text:s.text.replace(/ /g," "),runs:s.runs});i.text.length>0&&r.push(i)};for(let s of e.matchAll(nf))if(n.push(wl(e,o,s.index)),o=s.index+s[0].length,s[1]!==void 0&&(a(),r.length===t))return r;return n.push(wl(e,o,e.length)),a(),r},Fl=e=>Ro(Ro(Ro(nt(e),Pl,`
|
|
2
|
-
`),
|
|
3
|
-
`),
|
|
4
|
-
`)):sr;var sf=Object.freeze({text:"-",runs:Object.freeze([])}),_e=e=>{let t=$t(e);return t.text===""?sf:t},zt=e=>_e(e).text,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"),s=String(n.getDate()).padStart(2,"0");if(t.includes(":")||t.includes("T")){let l=String(n.getHours()).padStart(2,"0"),c=String(n.getMinutes()).padStart(2,"0"),d=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${s}T${l}:${c}:${d}`}return`${o}-${a}-${s}`};import{createContext as ty,useCallback as ry,useContext as md,useEffect as ud,useRef as ny,useState as oy}from"react";import{z as yn}from"zod";var ho="ids-stream",Ul=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,ls=e=>{for(let t=1;t<e.length;t++)if(ir(e[t-1],e[t])>0)return!1;return!0};var Ge=Object.freeze({businessDate:"business-date",idsStream:ho,report:"report",search:"search",reports:"reports",searchMarks:"search-marks",action:"action"}),He=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 lf=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var So=e=>e<10?`0${e}`:`${e}`,df=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=So(e.getMonth()+1),n=So(e.getDate());return`${t}-${r}-${n}`},Vl=e=>{let t=lf.exec(e);if(t===null)return null;let[,r,,n,o]=t,a=Number(r),s=Number(n),i=Number(o);if(a<1)return null;let l=new Date(0);return l.setUTCFullYear(a,s-1,i),l.getUTCFullYear()!==a||l.getUTCMonth()!==s-1||l.getUTCDate()!==i?null:`${r}-${n}-${o}`},go=e=>Vl(e)===e,ds=(e=new Date)=>Number.isNaN(e.getTime())?ds(new Date):`${e.getFullYear()}-${So(e.getMonth()+1)}-${So(e.getDate())}`,lr=e=>e==null?null:e instanceof Date?df(e):Vl(e);var Kl=(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)}}},qI=Object.freeze(["API","Action","Attachment","ExternalSource","Isolation","Reads","Refresh","Search","SSE","SseReader","Server","Service","Streams","Visibility","ActionProvider","DetailLoader","IdsStream","SseConnection"]),Wl=e=>`[DailyReport${e}]`,jt=(e,t,r)=>e===void 0?Kl(t,Wl(r)):Kl(0,Wl(r),e);import{z as cf}from"zod";var Nr=e=>Number.isSafeInteger(e)&&e>0,Ee=cf.number().int().positive().max(Number.MAX_SAFE_INTEGER);var ht=Object.freeze({maxQueryLength:500,maxSets:16,maxWordsPerSet:16,maxWords:32,maxWordLength:100,maxDetailIds:100}),uf=2,cn=2,Mr=Object.freeze({word:0,reading:1}),un=e=>e===Mr.word||e===Mr.reading;var dr=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},pf=2*(1+uf),mf=e=>{if(!Array.isArray(e)||e.length===0||e.length>pf)return null;let t=[],r=new Set;for(let n of e){if(!dr(n))return null;let{text:o,tier:a}=n;if(typeof o!="string"||o.length===0||o.length>ht.maxWordLength||r.has(o)||!un(a)||(t.length===0?a!==Mr.word:a<t[t.length-1].tier))return null;r.add(o),t.push({text:o,tier:a})}return t},ff=e=>{if(!Array.isArray(e)||e.length===0||e.length>ht.maxSets)return null;let t=[],r=0;for(let n of e){if(!Array.isArray(n)||n.length===0||n.length>ht.maxWordsPerSet||(r+=n.length,r>ht.maxWords))return null;let o=[];for(let a of n){let s=mf(a);if(s===null)return null;o.push(s)}t.push(o)}return t},$l=e=>{if(!dr(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=ff(e.words);if(o===null)return null;let a=[];for(let s=0;s<t.length;s++){let i=t[s],l=r[s],c=n[s];if(typeof i!="number"||!Nr(i)||l!==null&&(typeof l!="string"||!go(l))||typeof c!="string"||c.length===0)return null;a.push({reportHubId:i,businessDate:l,sourceType:c})}return{items:a,words:o}};import{z as H}from"zod";var Eo=/^(?:[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 zl=["auth-required","forbidden","resync-required"],cs=15e3,jl="lastEventId",yf=/^\d{1,15}-\d{1,15}$/,xo=e=>yf.test(e),bf=H.object({name:H.string().nullish(),affiliation:H.string().nullish()}),Rf=H.object({name:H.string().nullish(),text:H.string().nullish(),color:H.string().nullish()}),hf=H.object({id:Ee,name:H.string().nullish(),color:H.string().nullish()}),Io=H.object({id:Ee,userId:H.string().nullish(),userName:H.string().nullish(),content:H.string().nullish(),createdAt:H.string().nullish(),isMine:H.boolean()}),Sf=H.object({id:H.string(),fileName:H.string(),fileType:H.string().nullable(),fileSize:H.number().nullable(),createdAt:H.string().nullable(),state:H.enum(["present","absent","unknown"]),hasThumbnail:H.boolean().default(!1)}),St=H.object({reportHubId:Ee,date:H.string().nullish(),createdAt:H.string().nullish(),author:H.string().nullish(),userId:H.string().nullish(),sourceType:H.string().nullish(),employeeName:H.string().nullish(),updatedBy:H.string().nullish(),updatedAt:H.string().nullish(),category:H.string().nullish(),creationCategory:H.string().nullish(),visitTimeFrom:H.string().nullish(),visitTimeTo:H.string().nullish(),customerName:H.string().nullish(),interviewers:H.array(bf),subject:H.string().nullish(),content:H.string().nullish(),externalComments:H.array(Rf),isRead:H.boolean(),isStarred:H.boolean(),labels:H.array(hf),postedComments:H.array(Io),attachments:H.array(Sf).default([])}),cr=H.string().regex(Eo),gf=H.object({type:H.literal("connected")}),Ef=H.object({type:H.literal("status-update"),reportHubId:Ee,statusType:H.enum(["star","read"]),value:H.boolean(),clientTempId:cr,recipientRawUserId:Ee.optional()}),us=H.string().optional(),xf=H.object({type:H.literal("comment-add"),reportHubId:Ee,comment:Io,clientTempId:cr,recipientRawUserId:Ee.optional(),sourceType:us}),If=H.object({type:H.literal("comment-delete"),reportHubId:Ee,commentId:Ee,clientTempId:cr,recipientRawUserId:Ee.optional(),sourceType:us}),Tf=H.object({type:H.literal("report-create"),reportHubId:Ee,report:St,clientTempId:cr,recipientRawUserId:Ee.optional()}),vf=H.object({type:H.literal("report-update"),reportHubId:Ee,report:St,clientTempId:cr,recipientRawUserId:Ee.optional()}),Df=H.object({type:H.literal("report-publish"),reportHubId:Ee,report:St,clientTempId:cr,recipientRawUserId:Ee.optional()}),Af=H.object({type:H.literal("report-delete"),reportHubId:Ee,clientTempId:cr,sourceType:us}),Gl=H.discriminatedUnion("type",[gf,Ef,xf,If,Tf,vf,Df,Af]);var To=e=>e.issues.map(t=>`${t.path.length===0?"(root)":t.path.join(".")}: ${t.code}`).join("; ");import{resolveVirtualScrollLocale as Ff}from"@aiquants/virtualscroll";import{createContext as Bf,useMemo as Uf}from"react";var Cf=e=>typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"||e===null||e===void 0?String(e):Array.isArray(e)?"array":typeof e,Fe=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${Cf(r)}`),ql=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),pn=(e,t,r)=>Fe(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t),dt=(e,t,r,n)=>{if(typeof t=="number"&&Number.isSafeInteger(t)&&t>=r&&(n===void 0||t<=n))return t;throw Fe(e,n===void 0?`an integer >= ${r}`:`an integer from ${r} to ${n}`,t)};import{useContext as _f}from"react";var ct=(e,t,r)=>{let n=_f(e);if(n===null)throw new Error(`[daily-report] ${t} must be used within a ${r}`);return n};import{resolveVirtualScrollLabels as wf,resolveVirtualScrollLocale as Lf,VIRTUAL_SCROLL_LABEL_CATALOGS as Yl,VIRTUAL_SCROLL_LABEL_KEYS as fs}from"@aiquants/virtualscroll";var Zl=["id","businessDate","author","visitTime","createdAt","updatedAt","updatedBy","category","creationCategory","customer","subject","content","interviewers","comments","attachments","attachmentMissing","attachmentDownload","attachmentThumbnailUnavailable","tabArticle","tabRelations","reportTabList","relationsEmpty","title","listKeyboardHelp","tabList","tabTree","tabDetailList","viewTabList","treeComingSoon","totalCountLoading","createReport","createReportTitle","devControls","devSseToggle","devReload","devClearCache","autoRead","autoReadTitle","loadErrorBadge","loadError","reload","loadingIds","streamFailed","streamRetry","streamRevalidating","selectPrompt","loading","reportNotFound","contentEmpty","contentEmptyPreview","confirmDelete","starAdd","starRemove","markRead","markUnread","deleteReport","edit","resizeHandle","close","formTitle","formTitlePlaceholder","formContent","formContentPlaceholder","formCancel","formSave","formPublish","commentPlaceholder","commentSend","commentDelete","commentDeleteConfirm","unknownUser","sourceInternal","searchInputLabel","searchPlaceholder","searchCombineAnd","searchCombineOr","searchCombineAndTitle","searchCombineOrTitle","searchClear","searching","searchNoHits","searchSyntaxHelp","searchMatchOutsideView","searchMatchOutsideViewDescription","searchReadingMarkDescription"],Jl=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","noticeRepeated","rowState","listRowPosition","listRowPositionInUnknownTotal","searchHitCount","searchFailed","searchMatchedKeywords","searchMatchedKeywordsDescription"],ps=[...fs,...Zl,...Jl];var Xl=Object.freeze({en:"en-US",ja:"ja-JP"}),Nf=Object.freeze({en:new Intl.NumberFormat(Xl.en),ja:new Intl.NumberFormat(Xl.ja)}),fe=(e,t)=>Nf[e].format(t),Mf=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"}),Of=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"}),kf=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"}),Pf=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"}),ms=Object.freeze({en:Object.freeze({id:"ID",businessDate:"Business date",author:"Author",visitTime:"Visit time",createdAt:"Created at",updatedAt:"Updated at",updatedBy:"Updated by",category:"Category",creationCategory:"Creation category",customer:"Customer",subject:"Subject",content:"Content",interviewers:"Attendees",comments:"Comments",attachments:"Attachments",attachmentMissing:"File is missing",attachmentDownload:"Download",attachmentThumbnailUnavailable:"Preview unavailable",tabArticle:"Overview",tabRelations:"Related",reportTabList:"Report sections",relationsEmpty:"No related view configured yet.",title:"Daily Reports",listKeyboardHelp:"Up and Down arrows: previous or next report. Home and End: first or last report. Page Up and Page Down: move by a page. Enter or Space on a report row: make it current. Control+Home and Control+End: move to the nearest control before or after the list, when there is one.",tabList:"\u{1F4C4} List",tabTree:"\u{1F333} Tree",tabDetailList:"\u{1F4CB} DetailList",viewTabList:"Views",treeComingSoon:"The tree view is coming soon",totalCountLoading:"Total: loading...",createReport:"New report",createReportTitle:"Create a daily report",devControls:"Development-only controls",devSseToggle:"Toggle SSE real-time sync",devReload:"Reload data",devClearCache:"Clear the cache and reload",autoRead:"Auto-read",autoReadTitle:"Mark reports as read automatically while viewing them",loadErrorBadge:"Error",loadError:"Failed to load the daily reports.",reload:"Reload",loadingIds:"Loading report IDs...",streamFailed:"Failed to load",streamRetry:"Retry",streamRevalidating:"Refreshing",selectPrompt:"Select a report from the list on the left.",loading:"Loading...",reportNotFound:"Report not found",contentEmpty:"No content has been entered.",contentEmptyPreview:"No content has been entered",confirmDelete:"Are you sure you want to delete this report?",starAdd:"Add star",starRemove:"Remove star",markRead:"Mark as read",markUnread:"Mark as unread",deleteReport:"Delete",edit:"Edit",resizeHandle:"Resize the border between the report list and the detail pane",close:"Close",formTitle:"Title",formTitlePlaceholder:"Enter the report title",formContent:"Content",formContentPlaceholder:"Enter the report content",formCancel:"Cancel",formSave:"Save",formPublish:"Publish",commentPlaceholder:"Add a comment...",commentSend:"Send",commentDelete:"Delete comment",commentDeleteConfirm:"Delete",unknownUser:"Unknown",sourceInternal:"Original",searchInputLabel:"Search reports",searchPlaceholder:"Search reports",searchCombineAnd:"AND",searchCombineOr:"OR",searchCombineAndTitle:"Show the reports that contain every keyword",searchCombineOrTitle:"Show the reports that contain any keyword",searchClear:"Clear the search",searching:"Searching...",searchNoHits:"No report matches",searchSyntaxHelp:"Separate keywords with spaces. Words in double quotes form one keyword that needs every word. A word in Latin letters also finds its kana reading (denpun finds \u3067\u3093\u3077\u3093); text found through a reading is underlined with dots. Enter searches, Esc clears.",searchMatchOutsideView:"Hidden match",searchMatchOutsideViewDescription:"Matched in fields this view does not show, such as labels or details",searchReadingMarkDescription:"Matched by its romaji reading",totalCount:e=>`Total: ${fe("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${fe("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${fe("en",e)} / ${fe("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${fe("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${fe("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${fe("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${Of[e]}. Please try again later.`,noticeRepeated:e=>`(${fe("en",e)} times)`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${fe("en",e)} of ${fe("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${fe("en",e)}`,searchHitCount:e=>`${fe("en",e)} ${e===1?"hit":"hits"}`,searchFailed:e=>Pf[e],searchMatchedKeywords:(e,t)=>`Match ${e}/${t}`,searchMatchedKeywordsDescription:(e,t)=>`Matches ${e} of ${t} keywords`}),ja:Object.freeze({id:"ID",businessDate:"\u55B6\u696D\u65E5",author:"\u4F5C\u6210\u8005",visitTime:"\u8A2A\u554F\u6642\u9593",createdAt:"\u4F5C\u6210\u65E5\u6642",updatedAt:"\u66F4\u65B0\u65E5\u6642",updatedBy:"\u66F4\u65B0\u8005",category:"\u533A\u5206",creationCategory:"\u4F5C\u6210\u533A\u5206",customer:"\u9867\u5BA2",subject:"\u4EF6\u540D",content:"\u5185\u5BB9",interviewers:"\u9762\u8AC7\u8005",comments:"\u30B3\u30E1\u30F3\u30C8",attachments:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB",attachmentMissing:"\u5B9F\u4F53\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",attachmentDownload:"\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9",attachmentThumbnailUnavailable:"\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u8868\u793A\u3067\u304D\u307E\u305B\u3093",tabArticle:"\u6982\u8981",tabRelations:"\u95A2\u9023",reportTabList:"\u65E5\u5831\u306E\u8868\u793A\u306E\u5207\u308A\u66FF\u3048",relationsEmpty:"\u95A2\u9023\u30D3\u30E5\u30FC\u306F\u307E\u3060\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",title:"\u65E5\u5831",listKeyboardHelp:"\u2191\u2193 \u3067\u524D\u5F8C\u306E\u65E5\u5831\u3001Home / End \u3067\u5148\u982D\u30FB\u672B\u5C3E\u3001PageUp / PageDown \u3067\u30DA\u30FC\u30B8\u79FB\u52D5\u3001\u65E5\u5831\u306E\u884C\u3067 Enter \u307E\u305F\u306F Space \u3092\u62BC\u3059\u3068\u9078\u629E\u3001Ctrl+Home / Ctrl+End \u3067\u4E00\u89A7\u306E\u76F4\u524D\u30FB\u76F4\u5F8C\u306E\u64CD\u4F5C\u90E8\u54C1\u304C\u3042\u308C\u3070\u305D\u3053\u3078\u79FB\u308A\u307E\u3059\u3002",tabList:"\u{1F4C4} \u4E00\u89A7",tabTree:"\u{1F333} \u30C4\u30EA\u30FC",tabDetailList:"\u{1F4CB} \u8A73\u7D30\u4E00\u89A7",viewTabList:"\u8868\u793A\u306E\u5207\u308A\u66FF\u3048",treeComingSoon:"\u30C4\u30EA\u30FC\u306F\u73FE\u5728\u6E96\u5099\u4E2D\u3067\u3059",totalCountLoading:"\u7DCF\u4EF6\u6570: \u8AAD\u307F\u8FBC\u307F\u4E2D...",createReport:"\u65E5\u5831\u4F5C\u6210",createReportTitle:"\u65E5\u5831\u3092\u4F5C\u6210",devControls:"\u958B\u767A\u74B0\u5883\u9650\u5B9A\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB",devSseToggle:"SSE \u30EA\u30A2\u30EB\u30BF\u30A4\u30E0\u540C\u671F\u5207\u66FF",devReload:"\u30C7\u30FC\u30BF\u518D\u53D6\u5F97 (\u30EA\u30ED\u30FC\u30C9)",devClearCache:"\u30AD\u30E3\u30C3\u30B7\u30E5\u7834\u68C4 & \u518D\u53D6\u5F97",autoRead:"\u81EA\u52D5\u65E2\u8AAD",autoReadTitle:"\u65E5\u5831\u95B2\u89A7\u6642\u306E\u81EA\u52D5\u65E2\u8AAD\u51E6\u7406\u5207\u66FF",loadErrorBadge:"\u30A8\u30E9\u30FC",loadError:"\u65E5\u5831\u30C7\u30FC\u30BF\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002",reload:"\u518D\u8AAD\u307F\u8FBC\u307F",loadingIds:"\u65E5\u5831 ID \u3092\u8AAD\u307F\u8FBC\u307F\u4E2D\u3067\u3059...",streamFailed:"\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F",streamRetry:"\u518D\u8A66\u884C",streamRevalidating:"\u6700\u65B0\u5316\u4E2D",selectPrompt:"\u5DE6\u5074\u306E\u4E00\u89A7\u304B\u3089\u65E5\u5831\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",loading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",reportNotFound:"\u65E5\u5831\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",contentEmpty:"\u5185\u5BB9\u306F\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",contentEmptyPreview:"\u5185\u5BB9\u306F\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093",confirmDelete:"\u672C\u5F53\u306B\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F",starAdd:"\u30B9\u30BF\u30FC\u3092\u4ED8\u3051\u308B",starRemove:"\u30B9\u30BF\u30FC\u3092\u5916\u3059",markRead:"\u65E2\u8AAD\u306B\u3059\u308B",markUnread:"\u672A\u8AAD\u306B\u3059\u308B",deleteReport:"\u524A\u9664\u3059\u308B",edit:"\u7DE8\u96C6",resizeHandle:"\u65E5\u5831\u4E00\u89A7\u3068\u8A73\u7D30\u30DA\u30A4\u30F3\u306E\u5883\u754C\u306E\u30B5\u30A4\u30BA\u5909\u66F4\u30CF\u30F3\u30C9\u30EB",close:"\u9589\u3058\u308B",formTitle:"\u30BF\u30A4\u30C8\u30EB",formTitlePlaceholder:"\u65E5\u5831\u306E\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B",formContent:"\u5185\u5BB9",formContentPlaceholder:"\u65E5\u5831\u306E\u5185\u5BB9\u3092\u5165\u529B",formCancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",formSave:"\u4FDD\u5B58",formPublish:"\u516C\u958B",commentPlaceholder:"\u30B3\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0...",commentSend:"\u9001\u4FE1",commentDelete:"\u524A\u9664",commentDeleteConfirm:"\u524A\u9664\u3059\u308B",unknownUser:"\u4E0D\u660E\u306A\u30E6\u30FC\u30B6\u30FC",sourceInternal:"\u30AA\u30EA\u30B8\u30CA\u30EB",searchInputLabel:"\u65E5\u5831\u3092\u691C\u7D22",searchPlaceholder:"\u65E5\u5831\u3092\u691C\u7D22",searchCombineAnd:"AND",searchCombineOr:"OR",searchCombineAndTitle:"\u3059\u3079\u3066\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u542B\u3080\u65E5\u5831\u3092\u51FA\u3059",searchCombineOrTitle:"\u3069\u308C\u304B\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u542B\u3080\u65E5\u5831\u3092\u51FA\u3059",searchClear:"\u691C\u7D22\u3092\u6D88\u3059",searching:"\u691C\u7D22\u4E2D...",searchNoHits:"\u5F53\u305F\u308B\u65E5\u5831\u306F\u3042\u308A\u307E\u305B\u3093",searchSyntaxHelp:"\u30AD\u30FC\u30EF\u30FC\u30C9\u306F\u7A7A\u767D\u3067\u533A\u5207\u308A\u307E\u3059\u3002\u4E8C\u91CD\u5F15\u7528\u7B26\u3067\u56F2\u3093\u3060\u8A9E\u306F\u3001\u3059\u3079\u3066\u306E\u8A9E\u3092\u542B\u3080 1 \u3064\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u306B\u306A\u308A\u307E\u3059\u3002\u82F1\u5B57\u306E\u8A9E\u306F\u30ED\u30FC\u30DE\u5B57\u306E\u8AAD\u307F\u3067\u3082\u4EEE\u540D\u3092\u63A2\u3057\u307E\u3059 (denpun \u2192 \u3067\u3093\u3077\u3093)\u3002\u8AAD\u307F\u3067\u5F53\u305F\u3063\u305F\u6240\u306F\u70B9\u7DDA\u306E\u4E0B\u7DDA\u3067\u793A\u3057\u307E\u3059\u3002Enter \u3067\u691C\u7D22\u3001Esc \u3067\u6D88\u53BB\u3057\u307E\u3059\u3002",searchMatchOutsideView:"\u8868\u793A\u5916\u3067\u4E00\u81F4",searchMatchOutsideViewDescription:"\u3053\u306E\u753B\u9762\u306B\u51FA\u3057\u3066\u3044\u306A\u3044\u9805\u76EE (\u30E9\u30D9\u30EB\u30FB\u660E\u7D30\u306A\u3069) \u3067\u4E00\u81F4\u3057\u307E\u3057\u305F",searchReadingMarkDescription:"\u30ED\u30FC\u30DE\u5B57\u306E\u8AAD\u307F\u3067\u4E00\u81F4",totalCount:e=>`\u7DCF\u4EF6\u6570: ${fe("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${fe("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${fe("ja",e)} / ${fe("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${fe("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${fe("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${fe("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${Mf[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=>`(${fe("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 ${fe("ja",t)} \u4EF6\u4E2D ${fe("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${fe("ja",e)} \u4EF6\u76EE`,searchHitCount:e=>`${fe("ja",e)} \u4EF6\u30D2\u30C3\u30C8`,searchFailed:e=>kf[e],searchMatchedKeywords:(e,t)=>`\u4E00\u81F4 ${e}/${t}`,searchMatchedKeywordsDescription:(e,t)=>`\u30AD\u30FC\u30EF\u30FC\u30C9 ${t} \u500B\u306E\u3046\u3061 ${e} \u500B\u306B\u4E00\u81F4`})}),ed=Object.freeze({en:Object.freeze({...Yl.en,...ms.en}),ja:Object.freeze({...Yl.ja,...ms.ja})}),Hf=e=>{let t={},r=!1;for(let n of fs){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},Ql=(e,t,r)=>{e[t]=r},ys=(e,t)=>{let r=Lf(e);if(t===void 0)return ed[r];if(t===null||typeof t!="object")throw Fe("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Fe("labels","a plain object (prototype Object.prototype or null)",t);for(let s of Object.keys(t))if(!ps.includes(s))throw pn("labels key",s,ps);let a={...wf(r,Hf(t)),...ms[r]};for(let s of Zl){let i=Object.hasOwn(t,s)?t[s]:void 0;if(i!==void 0){if(typeof i!="string"||i.trim()==="")throw Fe(`labels.${s}`,"a non-blank string",i);Ql(a,s,i)}}for(let s of Jl){let i=Object.hasOwn(t,s)?t[s]:void 0;if(i!==void 0){if(typeof i!="function")throw Fe(`labels.${s}`,"a function",i);Ql(a,s,i)}}return Object.freeze(a)},td=e=>{let t={};for(let r of fs)t[r]=e[r];return Object.freeze(t)};import{jsx as bs,jsxs as Xf}from"react/jsx-runtime";var Vf=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),Kf=({title:e,annotation:t})=>Xf("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[bs("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?bs("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),mn=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:Kf,showDevControls:!1,headingLevel:3}),rd=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired","search"];var Wf=e=>{for(let t of Object.keys(e))if(!rd.includes(t))throw pn("config key",t,rd)},nd=[2,3,4,5],$f=e=>{if(e===void 0)return mn.headingLevel;let t=nd.find(r=>r===e);if(t===void 0)throw Fe("config.headingLevel",`one of ${nd.join(", ")} (the level of each report's heading)`,e);return t},od=["debounceMs"],zf=Object.freeze({min:300,max:5e3}),jf=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},Gf=e=>{if(e===void 0)return null;if(!jf(e))throw Fe("config.search","a plain object ({} for Enter only, or { debounceMs })",e);for(let o of Object.keys(e))if(!od.includes(o))throw pn("config.search key",o,od);let t=e.debounceMs;if(t===void 0)return{debounceMs:null};let{min:r,max:n}=zf;return{debounceMs:dt("config.search.debounceMs",t,r,n)}},qf=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Fe(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},Yf=e=>{Wf(e);let t=e.onSessionExpired;if(t===void 0)throw ql("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Fe("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=Ff(e.locale),n=ys(r,e.labels),o=mn;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?Vf(n):qf(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:$f(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired,search:Gf(e.search)}},ad=Bf(null),Rs=({config:e,children:t})=>{let r=Uf(()=>Yf(e),[e]);return bs(ad.Provider,{value:r,children:t})},K=()=>ct(ad,"useDailyReportConfig","DailyReportConfigProvider"),ur=(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},vo=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";import{tapScrollCircleSampleVisual as Zf}from"@aiquants/virtualscroll";var Qf=4;var Or=120,sd=1e3,Ao=.8,hs={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},Co=20,id=6,_o={reportHubId:-1,businessDate:null},wo=240,Lo=15,Jf=8,ld=460,dd=3,cd=352,ey={enabled:!0,renderVisual:Zf,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},No={width:Jf,tapScrollCircleOptions:ey,enableArrowButtonTabStops:!1},Mo=["pen","touch"];var fd=jt(void 0,1,"DetailLoader"),yd=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},Is=yd("__DAILY_REPORT_CACHE_TTL__",3e5),ay=yd("__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=lr(e.date),o=n?this.lists.get(n):null;if(o&&n){let s=o.data.some(i=>i.reportHubId===e.reportHubId)?o.data.map(i=>i.reportHubId===e.reportHubId?e:i):[e,...o.data];this.lists.set(n,{...o,data:s})}}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()){fd.warn(`Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+ay))}},delete(e,t){this.reports.delete(e);let r=lr(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,s)=>new Date(a.createdAt||0).getTime()-new Date(s.createdAt||0).getTime())})}return r},cacheMany(e,t,r){this.prune();let n=Date.now(),o=n+Is;for(let[s,i]of this.recentDeletes)n-i>1e4&&this.recentDeletes.delete(s);let a=e.map(s=>{if(this.isLocked(s.reportHubId))return s;let i=this.lastMutations.get(s.reportHubId);if(i&&r>0&&i>r)return this.reports.get(s.reportHubId)?.data??s;let l=this.reports.get(s.reportHubId)?.data,c=this.merge(s,l);return this.set(c,o,!1),c});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},bd=(e,t,r=!0)=>Y.set(e,t,r),ot=(e,t)=>Y.getReport(e,t?.ignoreExpiry),at=(e,t)=>Y.update(e,t),Ts=(e,t)=>Y.delete(e,t),bn=()=>{Y.clear(),Oo.clear(),fn.clear()},ko=(e,t)=>{let r=Y.lastMutations.get(e);(r===void 0||r<t)&&Y.lastMutations.set(e,t)},vs=e=>{ko(e,Date.now())},Rd=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),ko(e,Date.now()),()=>{let n=Y.lockHolders.get(e);n===void 0||!n.delete(t)||(n.size===0&&Y.lockHolders.delete(e),ko(e,Date.now()))}},hd=(e,t)=>{let r=performance.now()+t,n=Y.lockHolds.get(e);(n===void 0||n<r)&&Y.lockHolds.set(e,r),ko(e,Date.now()+t)},Sd=e=>Y.recentDeletes.set(e,Date.now()),gd=(e,t)=>{let r=n=>{n===e&&t()};return Y.listeners.add(r),()=>{Y.listeners.delete(r)}},pr=(e,t)=>{Y.prune(),Y.set(t,Date.now()+Is)},Ed=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()+Is)},sy=yn.object({report:St}),iy=yn.object({reports:yn.array(St)}),Ds=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 (${To(n.error)})`);return n.data},ly=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({[He.reportHubId]:String(t)}),s=fetch(`${e}/${Ge.report}?${a}`,{cache:"no-cache"}).then(i=>Ds(i,sy,Ge.report)).then(({report:i})=>Y.cacheMany([i],null,o)[0]).finally(()=>Y.pendingReports.delete(t));return Y.pendingReports.set(t,s),s},Oo=new Map,dy=1e4,cy=(e,t)=>{let r=Oo.get(t),n=Date.now();if(r&&n-r.at<dy)return r.inFlight;let o=As(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return Oo.set(t,a),o.finally(()=>{Oo.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},As=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(),s=new URLSearchParams({[He.businessDate]:t}),i=fetch(`${e}/${Ge.businessDate}?${s}`,{cache:"no-cache"}).then(l=>Ds(l,iy,Ge.businessDate)).then(({reports:l})=>Y.cacheMany(l,t,a)).finally(()=>Y.pendingLists.delete(t));return Y.pendingLists.set(t,i),i},uy=yn.object({reports:yn.array(St)}),Po=new Map,fn=new Map,xd=[],Ss=0,gs=!1,Id=()=>{for(;Ss<cn;){let e=xd.shift();if(e===void 0)return;Ss+=1,e().finally(()=>{Ss-=1,Id()})}},py=()=>{gs=!1;for(let[e,t]of Po){Po.delete(e);let r=[...t];for(let n=0;n<r.length;n+=ht.maxDetailIds){let o=r.slice(n,n+ht.maxDetailIds);xd.push(async()=>{let a=Date.now(),s=new URLSearchParams({[He.reportIds]:o.map(([i])=>i).join(",")});try{let i=await fetch(`${e}/${Ge.reports}?${s}`,{cache:"no-cache"}),{reports:l}=await Ds(i,uy,Ge.reports),c=new Map(Y.cacheMany(l,null,a).map(d=>[d.reportHubId,d]));for(let[d,p]of o)p.resolve(c.get(d)??null)}catch(i){for(let[,l]of o)l.reject(i)}})}}Id()},my=(e,t)=>{let r=fn.get(t);if(r!==void 0)return r;let n=new Promise((o,a)=>{let s=Po.get(e);s===void 0&&(s=new Map,Po.set(e,s)),s.set(t,{resolve:o,reject:a})}).finally(()=>{fn.get(t)===n&&fn.delete(t)});return fn.set(t,n),gs||(gs=!0,queueMicrotask(py)),n},Ho=ty("date"),Es=(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)}},pd=(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}=Es(e,lr(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},kr=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,mr=(e,t)=>{let{apiBasePath:r}=K(),n=md(Ho),[o,a]=oy(()=>pd(e,t)),s=ny(0),i=o;return o.id!==e&&(i=pd(e,t),a(i)),ud(()=>{let l=lr(t),c=d=>{d===e&&a(kr(e,{report:Es(e,l).report}))};return Y.listeners.add(c),()=>{Y.listeners.delete(c)}},[e,t]),ud(()=>{let l=lr(t);s.current+=1;let c=s.current,d=()=>{s.current+=1};if(e<=0)return d;let{report:p,isStale:m}=Es(e,l);if(p&&!m)return a(kr(e,{report:p,error:null,isLoading:!1,isRefetching:!1})),d;a(kr(e,{report:p,isLoading:!p,isRefetching:!0}));let f=async()=>{try{let b=null;if(n==="ids")b=await my(r,e);else if(l){let I=Y.getList(l)!==null;if(b=(await As(r,l)).find(R=>R.reportHubId===e)??null,!b&&I){let R=await cy(r,l);R&&(b=R.find(T=>T.reportHubId===e)??null)}}else b=await ly(r,e);s.current===c&&a(kr(e,{report:b,error:null}))}catch(b){s.current===c&&a(kr(e,{error:b instanceof Error?b:new Error("Load failed")}))}finally{s.current===c&&a(kr(e,{isLoading:!1,isRefetching:!1}))}};if(p===null)return f(),d;let y=setTimeout(f,Or);return()=>{clearTimeout(y),d()}},[e,t,r,n]),{report:i.report,error:i.error,isLoading:i.isLoading,isRefetching:i.isRefetching}},Cs=()=>{let{apiBasePath:e}=K(),t=md(Ho);return ry(r=>{if(t==="ids")return;let n=lr(r);n&&!Y.getList(n)&&As(e,n).catch(o=>fd.warn("Prefetch error",n,o))},[e,t])};import{VIRTUAL_SCROLL_LABEL_KEYS as fy}from"@aiquants/virtualscroll";import{useRef as yy}from"react";var Fo=()=>{let{locale:e,labels:t}=K(),r=td(t),n=yy(null),o=n.current;return o!==null&&fy.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};import{useLayoutEffect as vy,useState as Dy}from"react";import{flushSync as Ay}from"react-dom";var Dd=Object.freeze({visibilityProperty:!0}),Td=new Set(["auto","scroll"]),vd=new Set(["","true","plaintext-only"]),Ad=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=Ld(n)?n.host:null}return!1},by=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(Dd))return!0;return!1},Cd=e=>e.localName==="area"?by(e):e.checkVisibility(Dd),Ry=e=>{let t=e.getAttribute("contenteditable");if(t===null||!vd.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(vd.has(o))return!1;if(o==="false")return!0}return!0},hy=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&&Cd(n)&&(r=n)}return r===e},Sy=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&&Td.has(a.overflowX)||n&&Td.has(a.overflowY)},gy=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 Ry(e)}},Ey=/^[\t\n\f\r ]*[+-]?\d/,xy=e=>{let t=e.getAttribute("tabindex");return t!==null&&Ey.test(t)?e.tabIndex:null},_d=(e,t)=>{for(let r of ws(e))if(t(r)||_d(r,t))return!0;return!1},Bo=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=Iy(e,t);return t.set(e,n),n},Iy=(e,t)=>{if(!Rn(e))return"none";let r=xy(e),n=r===null&&gy(e),o=r===null&&!n&&Sy(e);return!(r!==null||n||o)||e.matches(":disabled")||Ad(e)||!Cd(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?hy(e)?"sequential":"programmatic":"sequential":_d(e,a=>Bo(a,t)==="sequential")?"none":"sequential"},_s=(e,t)=>{for(let r of ws(e))t(r),_s(r,t)},ws=e=>{if(Re(e)){let t=e;if(t.shadowRoot!==null)return t.shadowRoot.children;if(t.localName==="slot"){let r=t.assignedElements();if(r.length>0)return r}}return e.children};var Uo=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return _s(e,l=>{Bo(l,a)==="sequential"&&n.push(l)}),{before:r,within:n,after:o};let s=!1,i=(l,c)=>{for(let d of ws(l)){let p=d===t;!p&&Bo(d,a)==="sequential"&&(c?n.push(d):s?o.push(d):r.push(d)),i(d,c||p),p&&(s=!0)}};return i(e,!1),{before:r,within:n,after:o}},wd=e=>{let t=[],r=new Map;return _s(e,n=>{Bo(n,r)==="sequential"&&t.push(n)}),t},Re=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,Rn=e=>"focus"in e&&"blur"in e,Ty=e=>e.nodeType===e.DOCUMENT_NODE,Ld=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,Te=e=>{let t=e.getRootNode();if(Ld(t)){let r=t.activeElement;return r===null?Te(t.host):r}return Ty(t)?t.activeElement:null},_t=e=>{let t=Te(e);return t===null||t===t.ownerDocument.body||Ad(t)},We=e=>{let t=e.ownerDocument.defaultView;if(t===null)throw new Error("[daily-report] the element belongs to a document without a window");return t};var Vo=e=>{let[t,r]=Dy(null);return vy(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] useViewBoxHeight needs viewRef attached to the view's root");let o=null,a=l=>{if(l===o)return;let c=o===null;o=l,c?Ay(()=>r(l)):r(l)},s=l=>{for(let c of l)a(c.borderBoxSize[0].blockSize)},i=new(We(n)).ResizeObserver(s);return i.observe(n,{box:"border-box"}),()=>i.disconnect()},[e]),t};var wt=class{constructor(t,r){this.chunks=t,this.length=r}at(t){let r=Number.isNaN(t)?0:Math.trunc(t),n=r<0?r+this.length:r;if(!(n<0||n>=this.length))return this.chunks[n>>>10][n&1023]}[Symbol.iterator](){let{chunks:t}=this,r=0,n=0;return{next:()=>{for(;r<t.length;){let o=t[r];if(n<o.length){let a=o[n];return n+=1,{done:!1,value:a}}r+=1,n=0}return{done:!0,value:void 0}}}}},Ko=new wt([],0),Gt=(e,t)=>e.chunks[t>>>10][t&1023],Nd=e=>{if(e.length===0)return Ko;let t=[];for(let r=0;r<e.length;r+=1024)t.push(e.slice(r,r+1024));return new wt(t,e.length)},fr={removals:[],replacements:[],additions:[],insertions:[]},Cy=e=>{let t=[];for(let r=0;r<e.length;r++)t.push(e[r]);return t},_y=(e,t)=>{let r=e.chunks.slice(),n=new Map;for(let{index:o,item:a}of t){let s=o>>>10,i=n.get(s);i===void 0&&(i=Cy(e.chunks[s]),n.set(s,i),r[s]=i),i[o&1023]=a}return new wt(r,e.length)},Pr=(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((h,v)=>h-v),a=[...t.replacements].sort((h,v)=>h.index-v.index);if(o.length===0&&r.length===0)return _y(e,a);let s=e.length,i=s-o.length+r.length;if(i===0)return Ko;let c=Math.min(o.length===0?s:o[0],a.length===0?s:a[0].index,r.length===0?s:n[0])>>>10,d=e.chunks.slice(0,c),p=c<<10,m=new Array(Math.min(1024,i-p)),f=0,y=()=>{if(f===m.length){if(p===i)throw new Error(`[daily-report] Edits of a list of ${s} rows write more than the ${i} rows they leave`);d.push(m),m=new Array(Math.min(1024,i-p)),f=0}return m.length-f},b=h=>{y(),m[f]=h,f+=1,p+=1},I=(h,v)=>{for(let E=h;E<v;){let _=e.chunks[E>>>10],D=E&1023,O=Math.min(v-E,1024-D,y());for(let M=0;M<O;M++)m[f+M]=_[D+M];f+=O,p+=O,E+=O}},u=c<<10,R=0,T=0,A=0;for(;;){let h=Math.min(R<o.length?o[R]:s,T<a.length?a[T].index:s,A<r.length?n[A]:s);for(I(u,h),u=h;A<r.length&&n[A]===h;A++)b(r[A]);if(h===s)break;R<o.length&&o[R]===h?(R+=1,u=h+1):T<a.length&&a[T].index===h&&(b(a[T].item),T+=1,u=h+1)}return m.length>0&&d.push(m),new wt(d,p)},Ls=(e,t)=>{let{chunks:r}=e;for(let n=0;n<r.length;n++){let o=r[n];for(let a=0;a<o.length;a++)if(o[a].reportHubId===t)return(n<<10)+a}return-1},Wo=(e,t)=>{let r=Ls(e,t);return r===-1?void 0:Gt(e,r)},Md=(e,t,r)=>{let n=[];if(!(e instanceof wt)){for(let o of e)r(o)&&n.push(o);return n}for(let o of e.chunks){let a=t.get(o);if(a===void 0){let s=[];for(let i=0;i<o.length;i++)r(o[i])&&s.push(o[i]);a=s,t.set(o,a)}for(let s=0;s<a.length;s++)n.push(a[s])}return n};var wy=16,Od=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,xe=(e,t,r)=>{if(r!==null&&Number.isInteger(r)&&r>=0&&r<e.length){if(e.at(r)?.reportHubId===t)return r;for(let n=1;n<=wy;n++){let o=r+n;if(o<e.length&&e.at(o)?.reportHubId===t)return o;let a=r-n;if(a>=0&&e.at(a)?.reportHubId===t)return a}}return st(e,t)},st=(e,t)=>{if(e instanceof wt)return Ls(e,t);let r=0;for(let n of e){if(n.reportHubId===t)return r;r+=1}return-1},Ns=e=>{let t=e.at(0);return t===void 0?null:t.reportHubId},kd=(e,t)=>{let r=[];for(let n of e){if(r.length>=t)break;r.push(n.reportHubId)}return r},gt=(e,t)=>{let r=t>=0?e.at(t):void 0;if(r===void 0)throw new Error(`[daily-report] No report at index ${t} of a list of ${e.length}`);return r};var zo="data-daily-report-row",$o=`[role="listitem"][${zo}]`,Ly='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',Ny=/^[1-9]\d*$/,Pd=e=>{if(e===null||!Ny.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},My=`${$o}[tabindex="0"], ${$o} [tabindex="0"]`,jo=e=>e.querySelector(My),qt=(e,t)=>{if(t===null||!Re(e))return null;let r=e.closest($o);return r===null||r===t||!t.contains(r)?null:r},yr=e=>Pd(e.getAttribute(zo)),Hr=e=>Pd(e.getAttribute("aria-posinset")),Hd=e=>{let t=e.closest($o),r=t===null?null:Hr(t);return r===null?null:r-1},hn=(e,t)=>{if(e===null)return null;let r=yr(e);if(r===null)return null;let n=Hr(e),o=xe(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},Fd=(e,t)=>{if(!Re(e))return!1;let r=e.closest(Ly);return r!==null&&r!==t&&t.contains(r)};import{createContext as Bd}from"react";var Lt=Bd(0),Sn=-1,Ud=(e,t)=>t.phase==="complete"?e:t.totalCount===null?Sn:Math.max(e,t.totalCount),Nt=Bd(-1);import{clsx as Oy}from"clsx";import{twMerge as ky}from"tailwind-merge";function x(...e){return ky(Oy(e))}import{useCallback as Vd,useMemo as Py,useSyncExternalStore as Hy}from"react";var Kd="(prefers-reduced-motion: reduce)",Wd=e=>We(e).matchMedia(Kd).matches?"instant":"smooth",Fy=Object.freeze({...hs,startVelocityThreshold:Number.POSITIVE_INFINITY}),Fr=e=>e?Fy:hs,By=()=>!1,Uy=()=>{},Br=e=>{let t=Py(()=>e===null?null:We(e).matchMedia(Kd),[e]),r=Vd(o=>t===null?Uy:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=Vd(()=>t===null?!1:t.matches,[t]);return Hy(r,n,By)};import{useSyncExternalStore as Vy}from"react";import{jsx as Ms}from"react/jsx-runtime";var Go=()=>{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)})}},$d=16,Ky=(e,t)=>e==="vertical"?{top:0,left:-$d,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-$d,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},qo=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:s}=Vy(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||s)?Ms("div",{className:"pointer-events-none absolute flex items-center",style:Ky(e,t),children:Ms("div",{className:x(cl,"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:Ms("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};import{createContext as Wy,useContext as $y,useLayoutEffect as zy,useRef as jy}from"react";var Os=Wy(null),Yo=({items:e,scroller:t,readTopReportId:r})=>{let n=$y(Os),o=n===null?null:n.request,a=jy(o===null?0:o.seq);zy(()=>{if(!(n===null||o===null||o.seq===a.current)){if(a.current=o.seq,o.kind==="restore"){let s=n.slot.preSearchTopReportId;n.slot.preSearchTopReportId=null;let i=s===null?-1:st(e,s);i!==-1&&t.toIndex(i,{align:"top"});return}o.kind==="enter"&&(n.slot.preSearchTopReportId=r()),e.length>0&&t.toIndex(0,{align:"top"})}},[n,o,e,t,r])};import{memo as Ap,useCallback as Zr,useContext as ug,useEffect as Dp,useId as pg,useLayoutEffect as mg,useMemo as xr,useRef as Li}from"react";var Xo="legacy-",Gy=e=>`${Xo}${e}`,zd=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Fe("mergeComments: unknownAuthorName","a non-blank string",n);let o=e.map((s,i)=>({id:Gy(i),authorName:s.name||n,content:s.text||"",isMine:!1,color:s.color||void 0,isLegacy:!0,isAuthorUnknown:!s.name})),a=t.map(s=>({id:s.id,authorName:s.userName||n,content:s.content??"",createdAt:s.createdAt??"",isMine:r?s.userId===r:s.isMine,isLegacy:!1,isAuthorUnknown:!s.userName}));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 qy=/^[1-9][0-9]*$/,Yy=/^(?:0|[1-9][0-9]*)$/,Gd=e=>{if(e===null||!qy.test(e))return null;let t=Number(e);return Nr(t)?t:null},Ur=e=>{if(e===null||!Yy.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null};var Xy=Object.freeze(["subject","content","author","employeeName","updatedBy","category","creationCategory","customerName"]),le=Object.freeze({field:e=>e,interviewer:(e,t)=>`interviewer:${e}:${t}`,attachment:e=>`attachment:${e}`,comment:(e,t)=>`comment:${e}:${t}`}),Qy=e=>e.startsWith(Xo)?Ur(e.slice(Xo.length))!==null:Gd(e)!==null,Qo=e=>{if(Xy.includes(e))return!0;let t=e.split(":");switch(t[0]){case"interviewer":return t.length===3&&Ur(t[1])!==null&&(t[2]==="name"||t[2]==="affiliation");case"attachment":return t.length===2&&Ur(t[1])!==null;case"comment":return t.length===3&&Qy(t[1])&&(t[2]==="author"||t[2]==="content");default:return!1}},Zy=2166136261,Jy=16777619,ks=e=>{let t=Zy;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,Jy);return t>>>0},eb=String.fromCodePoint(3),tb=String.fromCodePoint(2),rb=String.fromCodePoint(1),qd=e=>ks(e.map(t=>t.map(r=>r.map(n=>`${n.tier}${n.text}`).join(eb)).join(tb)).join(rb));import{createContext as Fc,memo as nR,useCallback as ei,useEffect as Hc,useLayoutEffect as ni,useMemo as oi,useRef as _n,useState as It}from"react";import{z as ye}from"zod";var Yd=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var Ye=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),Hs=e=>{let t=new FormData;if(t.append(Ye.intent,e.intent),e.intent==="clearCache"||(t.append(Ye.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(Ye.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(Ye.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(Ye.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(Ye.title,e.changes.title),e.changes.content!==void 0&&t.append(Ye.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(Ye.isStarred,String(e.value)),t;case"toggleRead":return t.append(Ye.isRead,String(e.value)),t;case"addComment":return t.append(Ye.content,e.content),t;case"deleteComment":return t.append(Ye.commentId,String(e.commentId)),t}},nb=()=>{let e=Ee,t=ye.string().regex(Eo),r=ye.literal("OK"),n=ye.object({isStarred:ye.boolean(),isRead:ye.boolean()}),o=ye.number().int().nonnegative().nullable();return{create:ye.object({status:r,intent:ye.literal("create"),reportHubId:e,clientTempId:t,report:St}),update:ye.object({status:r,intent:ye.literal("update"),reportHubId:e,clientTempId:t}),publish:ye.object({status:r,intent:ye.literal("publish"),reportHubId:e,clientTempId:t,report:St.nullable()}),delete:ye.object({status:r,intent:ye.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:ye.object({status:r,intent:ye.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:ye.object({status:r,intent:ye.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:ye.object({status:r,intent:ye.literal("addComment"),reportHubId:e,clientTempId:t,newComment:Io}),deleteComment:ye.object({status:r,intent:ye.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:Ee}),clearCache:ye.object({status:r,intent:ye.literal("clearCache")})}},Ps=null,ob=()=>(Ps===null&&(Ps=nb()),Ps),Xd=(e,t)=>{let r=ob()[e].safeParse(t);return r.success?{result:r.data}:{mismatch:To(r.error)}};import{systemSseRuntime as aa}from"@aiquants/sse";import{createBrowserEventSource as Ab}from"@aiquants/sse/client";import{useReopeningEventSource as Cb}from"@aiquants/sse/react";import{useEffect as Ws,useRef as sa,useState as _b}from"react";import{startTransition as yb,useLayoutEffect as bb,useState as Rb,useSyncExternalStore as Tn}from"react";var Qd=e=>{let t=new URLSearchParams;return e.cursor!==null&&(t.set(He.cursorReportHubId,String(e.cursor.reportHubId)),e.cursor.businessDate!==null&&t.set(He.cursorBusinessDate,e.cursor.businessDate)),e.snapshot!==null&&t.set(He.cursorSnapshot,e.snapshot),e.forceRefresh&&t.set(He.forceRefresh,"true"),t};var gn=()=>{let e=new Map,t=new Map,r=new Map,n=s=>{let i=r.get(s.reportHubId);if(i===void 0){e.set(s.reportHubId,s);return}r.delete(s.reportHubId),t.set(s.reportHubId,{previous:i,next:s})},o=(s,i)=>{if(e.has(i.reportHubId)){e.set(i.reportHubId,i);return}let l=t.get(i.reportHubId);t.set(i.reportHubId,{previous:l===void 0?s:l.previous,next:i})},a=s=>{if(e.delete(s.reportHubId))return;let i=t.get(s.reportHubId);i!==void 0&&t.delete(s.reportHubId),r.set(s.reportHubId,i===void 0?s:i.previous)};return{add:n,change:o,remove:a,fold:s=>{for(let i of s.removed)a(i);for(let{previous:i,next:l}of s.replaced)o(i,l);for(let i of s.appended)n(i)},isEmpty:()=>e.size===0&&t.size===0&&r.size===0,build:(s,i)=>({base:s,revision:i,appended:[...e.values()],replaced:[...t.values()],removed:[...r.values()]})}},Zd=(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 Jd=()=>{let e=new TextDecoder,t=[],r=n=>{let o=[],a=0;for(let s=n.indexOf(`
|
|
5
|
-
`);
|
|
6
|
-
`,a)){let i=n.slice(a,s);o.push(t.length===0?i:[...t,i].join("")),t=[],a=s+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 ab=jt(void 0,1,"IdsStream"),sb=50,ib=32,ec=0,lb=()=>(ec+=1,ec),db=1e3,cb=3e4,ub=6,pb=3e4,tc=Symbol("read-stall"),mb=Object.freeze({reading:()=>{},stalled:()=>!1,stop:()=>{}}),fb="/daily_report/api",En=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=gn();this.apiBasePath=t.apiBasePath??fb,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??ab.warn,this.readStallTimeoutMs=t.readStallTimeoutMs??pb,this.publishCoalesceMs=t.publishCoalesceMs??sb,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)),s=new Map(n.map(({previous:l})=>[l.reportHubId,l])),i=[];for(let l of t){if(a.has(l.reportHubId))continue;let c=s.get(l.reportHubId);i.push(c===void 0?l:c)}for(let l of o)i.push(l);return i}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>=ub){t.revalidate&&this.state.hasCompletedOnce?(this.warn("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(db*2**(this.consecutiveFailures-1),cb))}}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(p=>{o=this.setTimeoutFn(()=>p(tc),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===tc)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 s=a.body.getReader(),i=Jd(),l=this.watchReadSilence(s),c=!1,d=!1;try{for(;;){l.reading();let p=await s.read();if(l.stalled())return r.abort(),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let m=p.done?i.end():i.push(p.value),f=!1;for(let y of m){if(y.trim()==="")continue;let b;try{b=JSON.parse(y)}catch{this.warn("skipped malformed line");continue}let I=Ul(b);if(I==="unknown"){this.warn("skipped line of unknown kind");continue}if(I==="error"){c=!0;continue}let u=b;f=this.absorbChunkLine(u)||f,typeof u.total=="number"&&Number.isFinite(u.total)&&u.total!==this.state.totalCount&&this.publish({totalCount:u.total}),u.nextCursor&&(u.nextCursor.businessDate===null||go(u.nextCursor.businessDate))&&(this.lastCursor=u.nextCursor),u.isLast&&(d=!0)}if(f&&(this.consecutiveFailures=0,this.schedulePublishItems()),p.done)break}}finally{l.stop()}return c?{kind:"retryable",error:new Error("Stream interrupted by server error")}:d?{kind:"complete"}:{kind:"retryable",error:new Error("Stream ended before completion")}}catch(n){return n instanceof Error&&n.name==="AbortError"?{kind:"aborted"}:{kind:"retryable",error:n instanceof Error?n:new Error(String(n))}}finally{this.activeAbortController===r&&(this.activeAbortController=null)}}watchReadSilence(t){if(this.readStallTimeoutMs<=0)return mb;let r=this.readStallTimeoutMs,n=this.now(),o=!1,a=!1,s=null,i=()=>{if(s=null,a)return;let l=this.now()-n;if(l<r){s=this.setTimeoutFn(i,r-l);return}o=!0,t.cancel().catch(()=>{})};return s=this.setTimeoutFn(i,r),{reading:()=>{n=this.now()},stalled:()=>o,stop:()=>{a=!0,s!==null&&this.clearTimeoutFn(s),s=null}}}absorbChunkLine(t){t.restarted===!0&&(this.lastCursor=null,this.lastSnapshot=null,this.activeSeenIds=new Set,this.externalRemovalTombstones.clear()),typeof t.snapshot=="string"&&(this.lastSnapshot=t.snapshot),t.streamAnchor!==void 0&&this.absorbStreamAnchor(t.streamAnchor);let r=t.provisional===!0,n=!1;for(let o of t.items)!o||typeof o.reportHubId!="number"||this.externalRemovalTombstones.has(o.reportHubId)||(r||this.activeSeenIds?.add(o.reportHubId),n=this.putItem(this.itemMap.get(o.reportHubId),o)||n);return n}putItem(t,r){return t===void 0?(this.itemMap.set(r.reportHubId,r),this.pendingItemsChange.add(r),!0):t.businessDate===r.businessDate&&t.sourceType===r.sourceType?!1:(this.itemMap.set(r.reportHubId,r),this.pendingItemsChange.change(t,r),!0)}deleteItem(t){let r=this.itemMap.get(t);return r===void 0?!1:(this.itemMap.delete(t),this.pendingItemsChange.remove(r),!0)}absorbStreamAnchor(t){if(t!==null&&!(typeof t=="string"&&xo(t))){this.warn(`skipped 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=lb(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange=gn(),{loadedCount:this.itemMap.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-ib),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=Qd({cursor:this.lastCursor,snapshot:this.lastCursor===null?null:this.lastSnapshot,forceRefresh:t}).toString();return`${this.apiBasePath}/${ho}${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 hb=6e4,oe=null,rc=!1,xn=new Set,Zo={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},Fs=()=>{for(let e of xn)e()},Bs=()=>{oe&&(oe.unsubscribe(),oe.client.dispose(),oe=null,Fs())},In=e=>{if(typeof window>"u")return;let t=e.apiBasePath??mn.apiBasePath;if(oe&&(oe.userKey!==e.userKey||oe.apiBasePath!==t)&&(oe.userKey!==e.userKey&&bn(),Bs()),!oe){let r=new En({apiBasePath:t});oe={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe(Fs)},Sb(),r.start(),Fs();return}ea(oe)},ea=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>hb&&e.client.refresh()},Sb=()=>{if(rc||typeof document>"u"||typeof window>"u")return;rc=!0;let e=()=>{oe&&ea(oe)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},Us=e=>{if(!(typeof window>"u")){if(!oe){In(e);return}if(oe.userKey!==e.userKey){bn(),Bs(),In(e);return}ea(oe)}},Vs=()=>{typeof window>"u"||!oe||ea(oe)},vn=e=>{oe?.client.applyExternalUpsert(e)},ta=e=>{oe?.client.applyExternalRemoval(e)},oc=e=>oe===null?!1:oe.client.has(e),gb=()=>oe===null?[]:oe.client.readItems(),Ks=()=>oe===null?0:oe.client.getState().itemsRevision,ra=()=>{oe?.client.retry()},na=()=>{oe?.client.resync()},Dn=(e={})=>{oe?.client.refresh(e)},ac=()=>oe?.userKey,An=e=>(xn.add(e),()=>xn.delete(e)),Jo=()=>oe?.client.getState()??Zo,Eb=()=>Zo,xb=()=>Tn(An,Jo,Eb),oa=(e,t)=>{let r=Zo,n=e(Zo);return()=>{let o=Jo();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},sc=oa(({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),Ib=sc(),Vr=()=>Tn(An,sc,()=>Ib),ic=oa(({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),Tb=ic(),lc=()=>Tn(An,ic,()=>Tb),dc=oa(({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),vb=dc(),cc=()=>Tn(An,dc,()=>vb),uc=oa(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),Db=uc(),pc=()=>Tn(An,uc,()=>Db),mc=e=>e.phase==="complete"&&!e.isRevalidating,nc=e=>`${e.itemsRevision}:${mc(e)}`,fc=()=>{let[,e]=Rb(0),t=Jo(),r=nc(t);return bb(()=>{let n=r,o=()=>{let a=nc(Jo());a!==n&&(n=a,yb(()=>e(s=>s+1)))};return xn.add(o),o(),()=>{xn.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readItems:gb,settled:mc(t)}};import.meta.hot?.dispose(Bs);var br=jt(void 0,1,"SseConnection"),wb=Object.freeze({kind:"resyncing"}),yc={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},Lb=1,bc=cs*3,Nb=bc+cs,$s=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=K(),{streamAnchor:o,phase:a,isRevalidating:s,error:i}=Vr(),[l,c]=_b({generation:0,minAnchorRevision:1,anchored:!1}),d=l.generation>0&&!l.anchored,p=d&&a==="complete"&&!s?i:null,m=sa(0),f=sa(null),y=sa(n);y.current=n;let b=sa(0);b.current=o===null?0:o.revision,Ws(()=>{l.anchored||o===null||o.revision<l.minAnchorRevision||(f.current=o.lastEventId,m.current=0,c({...l,anchored:!0}))},[l,o]),Ws(()=>{if(!e||p===null)return;let{initialDelayMs:u,maxDelayMs:R,multiplier:T}=yc,A=aa.random()*Math.min(R,u*T**m.current);br.warn(`SSE resync: the ids rescan gave up (${p.message}); rescanning in ${Math.round(A)} ms`);let h=aa.setTimer(()=>{m.current+=1,na()},A);return()=>aa.clearTimer(h)},[e,p]);let{status:I}=Cb(e&&l.anchored?`${r}#${l.generation}`:null,{resolveUrl:({lastEventId:u})=>u===null?r:`${r}?${jl}=${encodeURIComponent(u)}`,initialLastEventId:f.current,withCredentials:!1,createEventSource:Ab,runtime:aa,backoff:yc,healthyOpenMs:Nb,nativeRetryLimit:Lb,giveUpAfterFailures:"never",terminalEvents:zl,heartbeat:{staleAfterMs:bc,onHeartbeat:null},events:{message:u=>{u.lastEventId!==""&&(xo(u.lastEventId)?f.current=u.lastEventId:br.warn("SSE event carried a malformed id; keeping the previous cursor:",u.lastEventId));try{let R=JSON.parse(u.data),T=Gl.safeParse(R);if(!T.success){br.error("SSE Validation Error:",T.error.flatten(),"raw message:",R);return}if(T.data.type==="connected"){br.info("SSE Subscribe Ready");return}t(T.data)}catch(R){br.error("SSE Parse Error",R)}}}});return Ws(()=>{if(I.kind==="faulted"){br.error("SSE connection faulted:",I.error);return}if(I.kind==="terminated")switch(I.terminalEvent){case"auth-required":y.current();return;case"forbidden":br.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let u=b.current+1;c(R=>({generation:R.generation+1,minAnchorRevision:u,anchored:!1})),na();return}}},[I]),e&&d?wb:I};import{createContext as Mb,useCallback as Ob,useSyncExternalStore as Rc}from"react";var hc=()=>{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 s of[...a])s()};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),s=a===void 0?new Set:a;return a===void 0&&t.set(n,s),s.add(o),()=>{s.delete(o),s.size===0&&t.get(n)===s&&t.delete(n)}},open:(n,o,a)=>{let s=e.get(n);s!==void 0&&s.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)}}},zs=Mb(null),Yt=()=>ct(zs,"useDailyReportDraftStore","DailyReportActionProvider"),Sc=(e,t)=>Ob(r=>e.subscribe(t,r),[e,t]),ia=e=>{let t=Yt(),r=()=>t.modeOf(e);return Rc(Sc(t,e),r,r)},gc=e=>{let t=Yt(),r=()=>t.inputOf(e),n=Rc(Sc(t,e),r,r);if(n===null)throw new Error(`[daily-report] the edit form is rendered for report ${e}, whose editor is not open`);return n};import{useOverlayEscapeStack as Vb}from"@aiquants/swipe-overlay";import{createContext as Kb,Fragment as Wb,useCallback as da,useId as Gs,useLayoutEffect as _c,useMemo as $b,useRef as hr,useState as Dc}from"react";import{createPortal as Ac}from"react-dom";var kb=Object.freeze({visibilityProperty:!0,opacityProperty:!0}),Ec="data-daily-report-view-tabs",xc={[Ec]:""},Ic="data-daily-report-status-panel",Tc={[Ic]:""},Pb=e=>{for(let t of e.getClientRects())if(t.width>0&&t.height>0)return!0;return!1},Hb=e=>e.isConnected&&Rn(e)&&Pb(e)&&e.checkVisibility(kb),Et=e=>{for(let t of e)if(!(t===null||!Hb(t))&&(t.focus({preventScroll:!0}),Te(t)===t))return t;return null},js=e=>e.querySelector(`[${Ec}] [role="tab"][aria-selected="true"]`),la=e=>[jo(e),js(e),e.querySelector(`[${Ic}]`)];var Rr=e=>e.isComposing||e.keyCode===229,Kr=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 Fb={kind:"hold"},Bb=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),Ub=(e,t)=>{let r=e.getAttribute("role");return r!==null&&Bb.has(r)&&e!==t&&e.contains(t)},Mt=e=>e.key==="Escape"&&!e.defaultPrevented&&!Rr(e),vc=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||Rr(e))return null;let r=e.target;if(!(Re(r)&&t.contains(r)))return null;let n=wd(t);if(n.length===0)return Fb;let{before:o,within:a,after:s}=Uo(t,r);return e.shiftKey?o.some(i=>!Ub(i,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||s.length>0?null:{kind:"wrap",element:n[0]}};import{jsx as xt,jsxs as Lc}from"react/jsx-runtime";var zb=x("motion-safe:fade-in motion-safe:slide-in-from-bottom-2 flex w-fit min-w-0 max-w-full items-center gap-2 rounded-lg border border-red-300 border-solid bg-red-600 px-[15px] py-[7px] text-sm text-white shadow-lg motion-safe:animate-in motion-safe:duration-200 dark:border-red-500/60 dark:bg-red-700",Kt),jb="flex shrink-0 justify-center p-[8px]",Gb=x("flex size-6 shrink-0 items-center justify-center rounded font-bold text-white/90 hover:bg-red-700 hover:text-white dark:hover:bg-red-800",nl),qb="data-daily-report-notice-alert",Yb={[qb]:""},wc=Kb(null),ca=()=>ct(wc,"useDailyReportErrorSurface","DailyReportErrorProvider"),Cc=({notice:e})=>xt("div",{role:"alert",...Yb,className:"sr-only",children:e===null?null:xt("span",{children:e.info.message},e.occurrence)}),Xb=({notice:e,closeLabel:t,repeatedLabel:r,onDismiss:n})=>{let o=hr(null),a=hr(null),s=hr(null),i=Vb(),l=Gs(),c=Gs(),d=Gs(),p=e.repeat>1?`${c} ${d}`:c,m=da(()=>{let b=o.current;if(b?.contains(b.ownerDocument.activeElement)){let[I,...u]=la(b.ownerDocument);Et([a.current,I,b.closest("dialog"),...u])}n()},[n]),f=b=>{if(s.current!==null)return;let I=b.relatedTarget;a.current=Re(I)&&!b.currentTarget.contains(I)?I:null,s.current=i({id:l,onEscape:u=>Mt(u)?(m(),!0):!1})},y=b=>{Re(b.relatedTarget)&&b.currentTarget.contains(b.relatedTarget)||(s.current?.(),s.current=null,a.current=null)};return _c(()=>()=>{s.current?.(),s.current=null},[]),Lc("div",{ref:o,role:"group","aria-labelledby":p,"data-testid":"daily-report-error-banner",className:zb,onFocus:f,onBlur:y,children:[xt("span",{id:c,className:"min-w-0 font-medium",children:xt(Wb,{children:e.info.message},e.occurrence)}),e.repeat>1&&xt("span",{id:d,className:"shrink-0 font-normal tabular-nums",children:r(e.repeat)}),xt("button",{type:"button","aria-label":t,"aria-describedby":p,onClick:m,className:Gb,children:"\u2715"})]})},qs=({children:e})=>{let{onError:t,labels:r}=K(),[n,o]=Dc(null),[a,s]=Dc([]),i=hr([]),l=hr(0),c=hr(0),d=hr(t);_c(()=>{d.current=t});let p=da(R=>{let T=d.current;if(T){T(R);return}c.current+=1;let A=c.current,h=i.current,v=h.length===0?null:h[h.length-1].registration;o(E=>({info:R,occurrence:A,repeat:E!==null&&E.info.message===R.message?E.repeat+1:1,announcedIn:v}))},[]),m=da(R=>{l.current+=1;let T={element:R,registration:l.current};return i.current=[...i.current,T],s(i.current),()=>{i.current=i.current.filter(A=>A!==T),s(i.current)}},[]),f=da(()=>o(null),[]),y=$b(()=>({notifyError:p,registerNoticeHost:m}),[p,m]),b=a.at(-1),I=n===null?null:xt(Xb,{notice:n,closeLabel:r.close,repeatedLabel:r.noticeRepeated,onDismiss:f}),u=R=>n!==null&&n.announcedIn===R?n:null;return Lc(wc.Provider,{value:y,children:[e,xt(Cc,{notice:u(null)}),a.map(R=>Ac(xt(Cc,{notice:u(R.registration)}),R.element,String(R.registration))),I!==null&&b!==void 0&&Ac(I,b.element),I!==null&&b===void 0&&xt("div",{"data-daily-report-notice-slot":"",className:jb,children:I})]})};import{useState as Qb}from"react";var Zb={items:Ko,held:new Map,hidden:new Map,revision:null,settled:!1},Wr=(e,t)=>{let r=0,n=e.length;for(;r<n;){let o=r+n>>1;ir(Gt(e,o),t)<0?r=o+1:n=o}return r<e.length&&Gt(e,r).reportHubId===t.reportHubId?r:-1},Ys=(e,t,r)=>{let n=r,o=e.length;for(;n<o;){let a=n+o>>1;ir(Gt(e,a),t)<=0?n=a+1:o=a}return n},Jb=(e,t)=>e.businessDate===t.businessDate,eR=(e,t)=>{if(t.length===0)return[];if(e.length===0||ir(Gt(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=Ys(e,o,n),r.push(n);return r},Mc=(e,t,r,n)=>{let o=new Set,a=[],s=new Map;for(let l of t.readItems())o.add(l.reportHubId),n.has(l.reportHubId)?s.set(l.reportHubId,l):a.push(l);let i=new Map;for(let l of e.items){if(o.has(l.reportHubId)||n.has(l.reportHubId))continue;let c=e.held.get(l.reportHubId),d=c===void 0?Number.NEGATIVE_INFINITY:c.since;r&&l.reportHubId>0&&t.itemsRevision>d||(i.set(l.reportHubId,{item:l,since:d}),a.push(l))}return ls(a)||a.sort(ir),{items:Nd(a),held:i,hidden:s,revision:t.itemsRevision,settled:r}},tR=(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?[]:Zd(t.itemsChanges,o);if(o===null||a===null)return Mc(e,t,r,n);let s=gn();for(let h of a)s.fold(h);let{appended:i,replaced:l,removed:c}=s.build(o,t.itemsRevision),d=e.items,p=null,m=()=>(p===null&&(p=new Map(e.held)),p),f=null,y=()=>(f===null&&(f=new Map(e.hidden)),f),b=[],I=[],u=[];for(let h of c){if(e.hidden.has(h.reportHubId)&&y().delete(h.reportHubId),e.held.has(h.reportHubId))continue;let v=Wr(d,h);v!==-1&&(r||n.has(h.reportHubId)?b.push(v):m().set(h.reportHubId,{item:h,since:Number.NEGATIVE_INFINITY}))}let R=(h,v)=>{let E=h.reportHubId,_=e.held.get(E);_!==void 0&&m().delete(E);let D=_===void 0?v:_.item,O=D===void 0?-1:Wr(d,D);if(n.has(E)){O!==-1&&b.push(O),y().set(E,h);return}if((f===null?e.hidden:f).has(E)&&y().delete(E),O!==-1&&Jb(Gt(d,O),h)){Gt(d,O).sourceType!==h.sourceType&&I.push({index:O,item:h});return}O!==-1&&b.push(O),u.push(h)};for(let{previous:h,next:v}of l)R(v,h);for(let h of i)R(h,void 0);let T=t.itemsRevision;if(r)for(let[h,v]of p===null?e.held:p){if(h<=0||T<=v.since)continue;let E=Wr(d,v.item);E!==-1&&b.push(E),m().delete(h)}return ls(u)||u.sort(ir),{items:Pr(d,{removals:b,replacements:I,additions:u,insertions:eR(d,u)}),held:p===null?e.held:p,hidden:f===null?e.hidden:f,revision:T,settled:r}},Nc=new WeakMap,rR=(e,t,r,n)=>{let o=Nc.get(e);if(o!==void 0&&o.revision===t.itemsRevision&&o.changes===t.itemsChanges&&o.settled===r&&o.tombstones===n)return o.rows;let a=tR(e,t,r,n);return Nc.set(e,{revision:t.itemsRevision,changes:t.itemsChanges,settled:r,tombstones:n,rows:a}),a},Oc=(e,t,r)=>{let[n,o]=Qb(()=>Mc(Zb,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>rR(a,e,t,r)),[n,o]},ua=(e,t,r)=>{if(e.hidden.has(t.reportHubId))return Xs(e,t.reportHubId);if(e.held.has(t.reportHubId)||Wr(e.items,t)!==-1||Wo(e.items,t.reportHubId)!==void 0)return e;let n=Pr(e.items,{...fr,additions:[t],insertions:[Ys(e.items,t,0)]}),o=new Map(e.held);return o.set(t.reportHubId,{item:t,since:r}),{...e,items:n,held:o}},Xs=(e,t)=>{let r=e.hidden.get(t);if(r===void 0)return e;let n=new Map(e.hidden);return n.delete(t),{...e,items:Pr(e.items,{...fr,additions:[r],insertions:[Ys(e.items,r,0)]}),hidden:n}},Cn=(e,t)=>{let r=e.held.get(t);if(r===void 0)return e;let n=Wr(e.items,r.item),o=new Map(e.held);return o.delete(t),{...e,items:Pr(e.items,n===-1?fr:{...fr,removals:[n]}),held:o}},kc=(e,t)=>{let r=e.held.get(t.reportHubId),n=Wr(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:Pr(e.items,n===-1?fr:{...fr,removals:[n]}),held:o}},Pc=e=>({...e,revision:null});var Qs=(e,t,r)=>{if(!Number.isFinite(e)||e<=0)throw Fe("createExpiringLedger: ttlMs","a finite number greater than 0 (the time to live in ms)",e);let n=new Map,o=()=>{let a=t();for(let[s,i]of n){if(i.deadline>a)return;n.delete(s),r(s,i.value)}};return{add:(a,s)=>{o(),n.delete(a),n.set(a,{value:s,deadline:t()+e})},get:a=>(o(),n.get(a)?.value),remove:a=>{o();let s=n.get(a);if(s!==void 0)return n.delete(a),s.value},drain:()=>{let a=[...n.values()].map(s=>s.value);return n.clear(),a},size:()=>n.size}};var Zs=0,Js=e=>{let t=dt("drawTemporaryId: nowMs",e,1);return Zs=Math.min(-t,Zs-1),Zs};import{jsx as ri,jsxs as bR}from"react/jsx-runtime";var Ot=jt(void 0,1,"ActionProvider"),oR=3e4,aR=3e4,sR=1e3,ai=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},iR=e=>{let t=Qs(oR,e,()=>{});return{add:r=>t.add(r,!0),has:r=>t.get(r)===!0}},lR=e=>Qs(aR,e,(t,r)=>{r.unsubscribe(),Ot.warn(`[SSE Queue] Expired: reportHubId=${t}, dropped=${r.messages.length} messages`)}),zD=Object.freeze(["delete","deleteComment"]),dR=e=>e.intent==="create"?null:e.reportHubId,cR=(e,t)=>{let r=e;if(r.intent==="clearCache"||r.clientTempId!==t.clientTempId)return!1;let n=dR(t);return n===null||r.reportHubId===n},ma=globalThis.__DailyReportActionsContext??Fc(null);globalThis.__DailyReportActionsContext=ma;var fa=globalThis.__DailyReportActionStateContext??Fc(null);globalThis.__DailyReportActionStateContext=fa;var pa="DailyReportActionProvider",Be=()=>ct(ma,"useDailyReportActions",pa),ya=()=>ct(fa,"useDailyReportActionState",pa),uR=()=>{let e=ct(ma,"useDailyReportActionContext",pa),t=ct(fa,"useDailyReportActionContext",pa);return oi(()=>({...e,...t}),[e,t])},Sr=(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},ti=(e,t)=>e.has(t)?e:new Set(e).add(t),pR=(e,t)=>{if(!e.has(t))return e;let r=new Set(e);return r.delete(t),r},mR=e=>{let t={pendingAddCommentIds:new Map,pendingDeleteCommentIds:new Map,pendingStarUpdates:new Map,pendingReadUpdates:new Map,resolvedIdMap:new Map};return{ledgers:Object.freeze({pendingAddCommentIds:Object.freeze({current:t.pendingAddCommentIds}),pendingDeleteCommentIds:Object.freeze({current:t.pendingDeleteCommentIds}),pendingStarUpdates:Object.freeze({current:t.pendingStarUpdates}),pendingReadUpdates:Object.freeze({current:t.pendingReadUpdates}),resolvedIdMap:Object.freeze({current:t.resolvedIdMap})}),write:r=>{try{r(t)}finally{e()}}}},fR=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)}),yR=Object.freeze({kind:"idle"}),Bc=nR(({isSseEnabled:e,onMessage:t,onStatus:r})=>{let n=$s({isSseEnabled:e,onMessage:t});return ni(()=>{r(n)},[n,r]),null});Bc.displayName="DailyReportSseConnectionHost";var si=({children:e,user:t,userId:r})=>{let{apiBasePath:n,draftLabelName:o,labels:a}=K(),{notifyError:s}=ca(),[i,l]=It(0),[{ledgers:c,write:d}]=It(()=>mR(()=>l(S=>S+1))),[p,m]=It(0),[f,y]=It(0),[b]=It(hc),[I,u]=It(!1),[R,T]=It(yR),A=_n(!1),h=_n(new Map),v=_n(new Set),E=_n(new Set),[_]=It(()=>iR(()=>performance.now())),[D]=It(()=>lR(()=>performance.now())),O=fc(),[M,V]=Oc(O,O.settled,v.current),U=M.items,ie=`${p}:${M.settled?M.revision:"-"}`,re=()=>{m(S=>S+1)},z=()=>{l(S=>S+1)},Q=ei(S=>E.current.has(S),[]),Z=ei(()=>ac()===(r??null),[r]),J=async()=>{Ot.info("Refetching data without page reload..."),Dn(),z(),Y.listeners.forEach(S=>{S(-1)})},Se=async()=>{Ot.info("Clearing client & server/DB cache and refetching data without page reload..."),bn(),v.current=new Set,E.current.clear(),y(S=>S+1),V(Pc);try{sessionStorage.clear()}catch{}try{let S=await fetch(`${n}/${Ge.action}`,{method:"POST",body:Hs({intent:"clearCache"})});if(!S.ok){let w=await S.json().catch(()=>null);Ot.warn("Failed to clear server-side cache:",S.status,w)}}catch(S){Ot.warn("Failed to clear server-side cache:",S)}Z()&&(Dn({forceRefresh:!0}),z(),Y.listeners.forEach(S=>{S(-1)}))},te=(S,w)=>{let P=D.get(S);if(P!==void 0){P.messages.push(w);return}let N;N={messages:[w],unsubscribe:gd(S,()=>{if(D.get(S)===N&&ot(S,{ignoreExpiry:!0})){D.remove(S),N.unsubscribe(),Ot.info(`[SSE Queue] Replaying ${N.messages.length} messages for reportHubId=${S}`);for(let g of N.messages)k.current.handleSseMessage(g)}})},D.add(S,N)};ni(()=>()=>{for(let S of D.drain())S.unsubscribe()},[D]);let Je=ei((S,w)=>{w!==void 0&&vn({reportHubId:S,businessDate:w})},[]),Ve=()=>{r&&(A.current=!0,u(S=>!S))};Hc(()=>{if(!r)return;let S=setTimeout(()=>{A.current||u(!0)},sd);return()=>clearTimeout(S)},[r]);let De=S=>{Z()&&(v.current=ti(v.current,S),E.current.add(S),y(w=>w+1),ta(S),V(w=>Cn(w,S)),b.discard(S))};Hc(()=>{if(!M.settled)return;let S=new Set;for(let w of v.current)oc(w)&&S.add(w);S.size!==v.current.size&&(v.current=S)},[M.settled,M.revision]);let Ae=S=>{if(Z()&&!_.has(S.clientTempId))switch(S.type!=="status-update"&&re(),S.type){case"comment-add":{let{comment:w,reportHubId:P}=S,N=ot(P,{ignoreExpiry:!0});if(N){if(N.postedComments.some(F=>F.id===w.id))return;let $=typeof r=="string"&&w.userId===r,g={...w,userName:w.userName||($?Sr(t,a.unknownUser):a.unknownUser),createdAt:w.createdAt||new Date().toISOString(),isMine:$},C={...N,postedComments:[...N.postedComments,g].sort((F,q)=>new Date(F.createdAt||0).getTime()-new Date(q.createdAt||0).getTime())};pr(P,C),vs(P),z()}else te(P,S);break}case"comment-delete":{let{commentId:w,reportHubId:P}=S,N=ot(P,{ignoreExpiry:!0});if(N){let $={...N,postedComments:N.postedComments.filter(g=>g.id!==w)};pr(P,$),vs(P),z()}else te(P,S);break}case"status-update":{let{statusType:w,value:P,reportHubId:N}=S,$=ot(N,{ignoreExpiry:!0});if(w==="star")if(c.pendingStarUpdates.current.get(N)===P&&d(({pendingStarUpdates:g})=>g.delete(N)),$){let g={...$,isStarred:P};pr(N,g),z()}else te(N,S);else if(w==="read")if(c.pendingReadUpdates.current.get(N)===P&&d(({pendingReadUpdates:g})=>g.delete(N)),$){let g={...$,isRead:P};pr(N,g),z()}else te(N,S);break}case"report-delete":{let{reportHubId:w}=S;v.current=ti(v.current,w),E.current.add(w),y(N=>N+1),ta(w),V(N=>Cn(N,w)),b.discard(w),D.remove(w)?.unsubscribe();let P=ot(w,{ignoreExpiry:!0});P?.date&&(Ts(w,P.date),z());break}case"report-create":case"report-update":case"report-publish":{let{report:w}=S;Ed(w),(S.type==="report-create"||S.type==="report-publish")&&Je(w.reportHubId,w.date),z();break}}},me=async(S,w,P={})=>{let{intent:N}=S,{onGone:$}=w,{lockedReportHubId:g}=P,C=g===void 0?null:Rd(g);w.onOptimistic?.(),_.add(S.clientTempId);let F=()=>{if(!Z())throw Ot.warn(`[executeAction] ${N} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${N}`)};try{let q=await fetch(`${n}/${Ge.action}`,{method:"POST",body:Hs(S),headers:{Accept:"application/json"}});if(q.status===404&&$!==void 0)return F(),$();if(!q.ok)throw new ai(N,q.status);let ue=Xd(N,await q.json());if("mismatch"in ue)throw new Error(`[daily-report] ${N} answered a body that is not its result (${ue.mismatch})`);let{result:je}=ue;if(!cR(je,S))throw new Error(`[daily-report] ${N} answered another request`);return F(),w.onSuccess(je)}catch(q){throw Ot.error(`${N} failed:`,q),Z()&&(w.onFailure?.(),k.current.notifyError({operation:N,message:a.operationFailed(N),cause:q})),q}finally{C?.()}},pe=(S,w,P)=>({reportHubId:S,clientTempId:P,businessDate:typeof w=="string"?w:null,operationTimestamp:Date.now()}),L={toggleSse:Ve,addComment:async(S,w,P)=>{let N=Js(Date.now()),$=me({...pe(S,P,String(N)),intent:"addComment",content:w},{onOptimistic:()=>{d(({pendingAddCommentIds:g})=>{let C=g.get(S);C===void 0?g.set(S,new Map([[N,w]])):C.set(N,w)})},onSuccess:({newComment:g})=>{let C=g.id;d(({resolvedIdMap:q,pendingAddCommentIds:ue})=>{q.set(N,C),ue.get(S)?.delete(N)}),re();let F=ot(S,{ignoreExpiry:!0});return F&&!F.postedComments.some(q=>q.id===C)&&at(S,{postedComments:[...F.postedComments,{...g,isMine:!0,userName:Sr(t,a.unknownUser)}]}),C},onFailure:()=>{d(({pendingAddCommentIds:g})=>g.get(S)?.delete(N))}}).finally(()=>h.current.delete(N));h.current.set(N,$),await $},deleteComment:async(S,w,P)=>{d(({pendingDeleteCommentIds:g})=>{let C=g.get(S);C===void 0?g.set(S,new Set([w])):C.add(w)});let N=w;if(w<0){let g=c.resolvedIdMap.current.get(w);if(g!==void 0)N=g;else{let C=h.current.get(w);if(!C)return;try{N=await C}catch{return}}}let $=()=>{let g=ot(S,{ignoreExpiry:!0});g&&(at(S,{postedComments:g.postedComments.filter(C=>C.id!==N)}),Sd(N)),d(({pendingDeleteCommentIds:C})=>C.get(S)?.delete(w)),re()};await me({...pe(S,P,crypto.randomUUID()),intent:"deleteComment",commentId:N},{onSuccess:$,onGone:$,onFailure:()=>{d(({pendingDeleteCommentIds:g})=>g.get(S)?.delete(w))}})},toggleStar:async(S,w,P)=>{await me({...pe(S,P,crypto.randomUUID()),intent:"toggleStar",value:w},{onOptimistic:()=>{at(S,{isStarred:w}),d(({pendingStarUpdates:N})=>N.set(S,w))},onSuccess:({updatedStatus:N})=>{ot(S,{ignoreExpiry:!0})&&(at(S,{isStarred:N.isStarred}),z()),d(({pendingStarUpdates:$})=>$.delete(S))},onFailure:()=>{at(S,{isStarred:!w}),d(({pendingStarUpdates:N})=>N.delete(S))}})},toggleRead:async(S,w,P)=>{await me({...pe(S,P,crypto.randomUUID()),intent:"toggleRead",value:w},{onOptimistic:()=>{at(S,{isRead:w}),d(({pendingReadUpdates:N})=>N.set(S,w))},onSuccess:({updatedStatus:N})=>{ot(S,{ignoreExpiry:!0})&&(at(S,{isRead:N.isRead}),z()),d(({pendingReadUpdates:$})=>$.delete(S))},onFailure:()=>{at(S,{isRead:!w}),d(({pendingReadUpdates:N})=>N.delete(S))}})},createReport:async S=>{let w=Js(Date.now()),P=new Date().toISOString(),N={reportHubId:w,date:S,createdAt:P,author:Sr(t,a.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:Sr(t,a.unknownUser),updatedBy:Sr(t,a.unknownUser),updatedAt:P,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:[]};bd(N,Date.now()+3e5,!1),V($=>ua($,{reportHubId:w,businessDate:S},Number.NEGATIVE_INFINITY));try{let $=await me({intent:"create",clientTempId:String(w),businessDate:S,operationTimestamp:Date.now()},{onSuccess:F=>F.report}),g=$.reportHubId,C=Ks();return vn({reportHubId:g,businessDate:S}),hd(g,sR),pr(g,$),z(),re(),V(F=>ua(Cn(F,w),{reportHubId:g,businessDate:S},C)),g}catch($){throw Ot.error("[createReport] Failed",$),V(g=>Cn(g,w)),$}},updateReport:async(S,w,P)=>{await me({...pe(S,P,crypto.randomUUID()),intent:"update",changes:{title:w.title,content:w.content}},{onSuccess:()=>{ot(S,{ignoreExpiry:!0})&&(at(S,{subject:w.title,content:w.content}),z()),re()}},{lockedReportHubId:S})},publishReport:async(S,w)=>{let P=ot(S,{ignoreExpiry:!0});await me({...pe(S,w,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{P&&(at(S,{labels:P.labels.filter(N=>N.name!==o)}),z())},onSuccess:({report:N})=>{N!==null&&(pr(S,N),z()),w!==void 0&&vn({reportHubId:S,businessDate:w}),re()},onFailure:()=>{P&&(at(S,{labels:P.labels}),z())}})},deleteReport:async(S,w)=>{let P=Wo(U,S);v.current=ti(v.current,S),E.current.add(S),y($=>$+1),ta(S),P!==void 0&&V($=>kc($,P));let N=()=>{Ts(S,w),b.discard(S),re()};try{await me({...pe(S,w,crypto.randomUUID()),intent:"delete"},{onSuccess:N,onGone:N},{lockedReportHubId:S})}catch($){if(!Z())return;v.current=pR(v.current,S),E.current.delete(S),y(F=>F+1);let g=P===void 0?w:P.businessDate,C=Ks();throw g!==void 0&&vn({reportHubId:S,businessDate:g}),V(F=>{let q=Xs(F,S);return P===void 0?q:ua(q,P,C)}),$}},removeStaleItem:De,refetchData:J,clearCacheAndRefetch:Se,handleSseMessage:Ae,notifyError:s},k=_n(L);ni(()=>{k.current=L});let[B]=It(()=>fR(k)),G=oi(()=>({...c,...B.functions,user:t}),[c,B,t]),ae=oi(()=>({version:i,items:U,isSseEnabled:I,sseStatus:R,searchInvalidation:ie,isReportRemoved:Q,removedVersion:f}),[i,U,I,R,ie,Q,f]);return ri(zs.Provider,{value:b,children:ri(ma.Provider,{value:G,children:bR(fa.Provider,{value:ae,children:[ri(Bc,{isSseEnabled:I,onMessage:B.onSseMessage,onStatus:T}),e]})})})};var Uc=(e,t)=>e.split(t).length-1,Vc=(e,t,r)=>{let n=e("\uE000","\uE001");if(Uc(n,"\uE000")!==1||Uc(n,"\uE001")!==1)return null;let o=n.indexOf("\uE000"),a=n.indexOf("\uE001"),s=[{at:o,part:{kind:"name"}},{at:a,part:{kind:"affiliation"}}];s.sort((d,p)=>d.at-p.at);let i=[],l=0;for(let{at:d,part:p}of s)d>l&&i.push({kind:"text",text:n.slice(l,d)}),i.push(p),l=d+1;return l<n.length&&i.push({kind:"text",text:n.slice(l)}),i.map(d=>d.kind==="text"?d.text:d.kind==="name"?t:r).join("")===e(t,r)?i:null};import{useContext as jc,useEffect as IR,useId as TR,useLayoutEffect as Gc,useMemo as qc}from"react";import{createContext as ii,createElement as Wc,useCallback as $c,useContext as zc,useDeferredValue as RR,useLayoutEffect as hR,useMemo as ba,useSyncExternalStore as SR}from"react";var Kc=()=>{let e=new Map,t=new Set,r=null,n=0,o=0,a=Object.freeze({entry:r,isCurrent:!0,count:n}),s=c=>!c.isCurrent||c.entry!==r,i=()=>{let c=o===0;if(!(a.entry===r&&a.isCurrent===c&&a.count===n)){a=Object.freeze({entry:r,isCurrent:c,count:n});for(let d of[...t])d()}},l=c=>{n-=c.count,s(c)&&(o-=1)};return{register:(c,d,p,m)=>{let f=e.get(c);f!==void 0&&l(f);let y={entry:d,isCurrent:p,count:m};e.set(c,y),n+=m,s(y)&&(o+=1),i()},unregister:c=>{let d=e.get(c);d!==void 0&&(l(d),e.delete(c),i())},settle:c=>{if(c!==r){r=c,o=0;for(let d of e.values())s(d)&&(o+=1);i()}},subscribe:c=>(t.add(c),()=>{t.delete(c)}),getSnapshot:()=>a}};var Xt=ii(null),wn=ii(null),Ln=ii(null),gR=()=>{},ER=()=>gR,xR=e=>{let t=zc(Xt),r=$c(l=>t===null?ER():t.subscribe(e,l),[t,e]),n=$c(()=>{let l=t===null?void 0:t.read(e);return l===void 0?null:l},[t,e]),o=SR(r,n,n),a=ba(()=>t===null||o===null?null:{store:t,entry:o},[t,o]),s=RR(a,a===null?void 0:null),i=s!==null&&s.store===t?s.entry:null;return ba(()=>t===null?null:{entry:i,revalidate:(l,c)=>t.revalidate(e,l,c)},[t,e,i])},$r=({reportHubId:e,children:t})=>{let r=zc(Xt),{labels:n}=K(),o=xR(e),a=ba(()=>r===null?null:Kc(),[r]),s=ba(()=>a===null?null:{tally:a,labels:n},[a,n]),i=o===null?null:o.entry;return hR(()=>{a!==null&&a.settle(i)},[a,i]),Wc(wn.Provider,{value:o},Wc(Ln.Provider,{value:s},t))};import{jsx as _R}from"react/jsx-runtime";var vR="data-daily-report-search-mark",DR=Object.freeze({[Mr.word]:Object.freeze({attribute:"word",description:null}),[Mr.reading]:Object.freeze({attribute:"reading",description:"searchReadingMarkDescription"})}),AR=e=>{if(!un(e))throw new Error(`[daily-report] A search mark carries an unknown tier: ${e}`);return DR[e]},CR=(e,t,r)=>{let n=[],o=0;for(let a=0;a<t.length;a+=3){let s=t[a],i=t[a+1],l=AR(t[a+2]);s>o&&n.push(e.slice(o,s)),n.push(_R("mark",{[vR]:l.attribute,"aria-description":r===null||l.description===null?void 0:r[l.description],className:El,children:e.slice(s,i)},`m${s}`)),o=i}return o<e.length&&n.push(e.slice(o)),n},se=({fieldKey:e,raw:t,display:r})=>{let n=jc(wn),o=jc(Ln),a=TR(),s=n===null?null:n.entry,i=typeof t=="string"?t:"",l=qc(()=>s===null||i.length===0?null:ks(i),[s,i]),c=s===null?void 0:s.fields[e],d=c!==void 0&&l!==null&&c.fingerprint===l,p=qc(()=>d&&c!==void 0?Nl(r,c.ranges):null,[d,c,r]),m=n!==null&&l!==null&&!d,f=p===null?0:p.length/3,y=o===null?null:o.tally,b=i.length===0;return IR(()=>{m&&n!==null&&l!==null&&n.revalidate(e,l)},[m,n,e,l]),Gc(()=>{if(y!==null)return()=>y.unregister(a)},[y,a]),Gc(()=>{y!==null&&(b?y.unregister(a):y.register(a,s,!m,f))},[y,a,b,s,m,f]),p===null||p.length===0?r.text:CR(r.text,p,o===null?null:o.labels)};import{jsx as LR}from"react/jsx-runtime";var wR={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},Qt=Object.freeze({2:3,3:4,4:5,5:6}),Xe=({level:e,...t})=>{let r=wR[e];return LR(r,{...t})};import{memo as Tu,useId as Th,useMemo as vh,useRef as Dh}from"react";var Yc=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var di="tile",Mn=Yc[di],NR=2,Nn=16,Xc=5,Qc=Mn.maxWidth/NR,MR=Xc*(Qc+Nn)-Nn,Zc=e=>{let t=Math.min(Xc,1+Math.floor((e+Nn)/(Qc+Nn)));return Math.floor((Math.min(e,MR)-(t-1)*Nn)/t)},li=`round(nearest, 100cqi * ${Mn.maxHeight} / ${Mn.maxWidth}, 1px)`,Jc=Object.freeze({aspectRatio:`${Mn.maxWidth} / ${Mn.maxHeight}`,height:li,contain:"strict"}),OR="--aqdr-lattice-block",eu=Object.freeze({marginBlockEnd:`calc(round(up, ${li}, var(${OR})) - ${li})`});var kR="download",PR="thumbnail",HR="1",zr=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[kR]:HR})}`;case"thumbnail":return`${n}?${new URLSearchParams({[PR]:r.variant})}`}};import{createContext as FR,useContext as BR}from"react";var On=FR(null),jr=()=>BR(On)===!1?-1:void 0,tu=(e,t)=>{let{before:r,after:n}=Uo(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};import{createContext as $R,useContext as zR,useLayoutEffect as jR,useMemo as ou,useState as GR}from"react";import{flushSync as qR}from"react-dom";import{flushSync as UR}from"react-dom";var ci=new WeakMap,ru=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,VR=e=>{e.frame=null;let t=[...e.observations.values()].filter(ru);t.length!==0&&UR(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},KR=(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=Zc(o))}e.frame!==null||![...e.observations.values()].some(ru)||(e.frame=e.view.requestAnimationFrame(()=>VR(e)))},WR=e=>{let t=ci.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=>KR(n,o)),observations:new Map,frame:null};return ci.set(e,n),n},nu=(e,t)=>{let r=e.ownerDocument,n=WR(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(),ci.delete(r)))}};import{jsx as kt,jsxs as lu}from"react/jsx-runtime";var Ra="\u2026",YR=Ra.codePointAt(0),au=Object.freeze({text:Ra,runs:Object.freeze([])}),ha="data-attachment-file-name",XR=x(Dt,"contain-layout"),pi=({fileName:e})=>kt("span",{className:XR,children:e}),QR=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,ZR=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,du=$R(null),cu=e=>{let t=e.text.lastIndexOf(".");return t<=0||t===e.text.length-1?{stem:e,extension:nt("")}:{stem:ln(e,0,t),extension:ln(e,t,e.text.length)}},su=(e,t,r,n)=>{let o=Array.from(e.text),a=0,s=o.length-1;for(;a<s;){let i=Math.ceil((a+s)/2);n(o.slice(0,i).join("")+t)<=r?a=i:s=i-1}return ln(e,0,o.slice(0,a).join("").length)},JR=(e,t,r)=>{if(r(e)<=t)return nt(e);let{stem:n,extension:o}=cu(Ll(e)),a=t/2,s=r(o.text)<=a?o:dn([su(o,Ra,a,r),au]);return r(n.text+s.text)<=t?dn([n,s]):dn([su(n,Ra+s.text,t,r),au,s])},iu=new WeakMap,uu=e=>{let t=iu.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 iu.set(e,n),n},eh=(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},pu=e=>{let t=new Set;for(let r of e.matchAll(QR)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},th=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:pu(t.fontFamily),measure:eh(uu(e.ownerDocument),r)}},rh=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,nh=e=>{let t=new Set([YR]);for(let r of e.querySelectorAll(`[${ha}]`)){let n=r.getAttribute(ha);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},oh=(e,t)=>{for(let r of e.split(",")){let n=ZR.exec(r.trim());if(n===null)return!0;let[,o,a]=n,s=Number.parseInt(o.replaceAll("?","0"),16),i=a===void 0?Number.parseInt(o.replaceAll("?","F"),16):Number.parseInt(a,16);for(let l of t)if(l>=s&&l<=i)return!0}return!1},ui=new WeakMap,mu=e=>{let t=ui.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return ui.set(e,r),r},fu=(e,t)=>{let r=th(e.container.querySelector(`[${ha}]`));e.fitted={trackWidth:t,nameFont:r};let n=mu(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=sh(n)),e.applyFit({width:t,measure:r.measure})},ah=(e,t)=>{let r=t.map(o=>({families:pu(o.family),unicodeRange:o.unicodeRange})),n=[];for(let o of e.registrations){let{fitted:a}=o;if(a===null)continue;let s=r.filter(l=>Array.from(l.families).some(c=>a.nameFont.families.has(c)));if(s.length===0)continue;let i=nh(o.container);s.some(l=>oh(l.unicodeRange,i))&&(uu(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&qR(()=>{for(let[o,a]of n)fu(o,a)})},sh=e=>{let t=e.document.fonts,r=n=>{ah(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},ih=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=nu(e,a=>fu(r,a)),o=mu(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),ui.delete(o.document))}},yu=({containerRef:e,children:t})=>{let[r,n]=GR(null);return jR(()=>{let o=e.current;return ih(o,s=>{n(i=>rh(i,s)?i:s)})},[e]),kt(du,{value:r,children:t})},kn=({fileName:e,attachmentIndex:t,className:r,testId:n})=>{let o=zR(du),a=ou(()=>o===null?null:JR(e,o.width,o.measure),[e,o]),{stem:s,extension:i}=ou(()=>cu(nt(e)),[e]),l=le.attachment(t);return lu("span",{className:x("block min-w-0",r),title:e,"data-testid":n,[ha]:e,children:[a===null?lu("span",{"aria-hidden":"true",className:"flex min-w-0",children:[kt("span",{className:"truncate",children:kt(se,{fieldKey:l,raw:e,display:s})}),i.text!==""&&kt("span",{className:"max-w-1/2 shrink-0 truncate",children:kt(se,{fieldKey:l,raw:e,display:i})})]}):kt("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:kt(se,{fieldKey:l,raw:e,display:a})}),kt(pi,{fileName:e})]})};import ph from"lucide-react/dist/esm/icons/image-off.js";import{memo as mh,useCallback as yi,useEffect as fh,useLayoutEffect as yh,useRef as bi,useState as bh}from"react";var Sa=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),bu=Sa.queueWaitMs+Sa.readMs+Sa.renderMs+Sa.transferMarginMs;var lh=Object.freeze({kind:"loaded"}),Ru=(e,t,r,n,o)=>{let{limiter:a,tuning:s}=n,i="watching",l=null,c=null,d=null,p=null,m=null,f=U=>(U!==null&&n.clearTimeout(U),null),y=()=>{p?.(),p=null},b=()=>{m?.(),m=null},I=U=>U===null||U.kind==="loaded"?0:U.kind==="failing"?U.failedAttempts:s.maxAttempts,u=U=>{i="cooling",d=n.setTimeout(D,U)},R=()=>{o.abortInFlight(),b();let U=I(r.get(t))+1;if(U>=s.maxAttempts){i="done",r.set(t,{kind:"exhausted",failedAt:n.now()}),o.exhausted();return}r.set(t,{kind:"failing",failedAttempts:U,retryAt:n.now()+s.retryDelayMs}),o.reset(),u(s.retryDelayMs)},T=U=>{if(i==="loading"){if(c=f(c),!U){R();return}i="done",r.set(t,lh),b()}},A=()=>{c=null,T(!1)},h=()=>{i="loading",o.showActivity(!0),y(),c=n.setTimeout(A,s.loadTimeoutMs),o.grant()},v=()=>{l=null,i="queued",m=a.request(h)},E=()=>{l===null&&(l=n.setTimeout(v,s.settleMs))},_=U=>{if(o.showActivity(U),U){i==="watching"&&E();return}if(i==="queued"){b(),i="watching";return}l=f(l)},D=()=>{d=null,i="watching",o.showActivity(!1),p=n.observe(e,_)},O=()=>{let U=i==="loading";i="done",y(),l=f(l),c=f(c),d=f(d),o.showActivity(!1),U&&(o.abortInFlight(),m!==null&&o.reset()),b()},M=r.get(t);if(M?.kind==="loaded")return i=o.shows()?"done":"loading",o.grant(),{settle:T,dispose:O};if(M?.kind==="exhausted"){if(n.now()-M.failedAt<s.failureMemoryMs)return i="done",o.exhausted(),{settle:T,dispose:O};r.delete(t)}o.reset();let V=M?.kind==="failing"?M.retryAt-n.now():0;return V>0?u(V):D(),{settle:T,dispose:O}};var dh=e=>{dt("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},s=!1;return t<e?(t+=1,o()):r.add(a),()=>{s||(s=!0,!r.delete(a)&&n())}}}},hu=dh(2);var ch=e=>{dt("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)}}},mi=ch(1024);var fi=new WeakMap,uh=e=>{let t=fi.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(s=>{for(let i of s)n.get(i.target)?.onChange(i.isIntersecting)}),observations:n,observed:0};return fi.set(e,a),a},Su=(e,t)=>{let r=e.ownerDocument,n=uh(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(),fi.delete(r)))}};import{jsx as Pn,jsxs as Ih}from"react/jsx-runtime";var Rh={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},hh="data-thumbnail-active",Sh="data-daily-report-attachment-preview",Eu={[Sh]:""},gh=Object.freeze({settleMs:250,loadTimeoutMs:bu,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),gu=e=>{let t=mi.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},Eh=()=>({limiter:hu,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:Su,tuning:gh}),xh=(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(hh,o)}}),xu=mh(({thumbnailUrl:e,unavailableLabel:t})=>{let r=bi(null),n=bi(null),o=bi(null),[a,s]=bh(()=>gu(e));a.url!==e&&s(gu(e)),yh(()=>{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]),fh(()=>{let d=r.current,p=Ru(d,e,mi,Eh(),xh(e,d,s,n));return o.current=p,()=>{o.current=null,p.dispose()}},[e]);let i=yi(d=>{d!==null&&(n.current=d)},[]),l=yi(()=>{s(d=>d.status==="granted"?{url:d.url,status:"loaded"}:d),o.current?.settle(!0)},[]),c=yi(()=>{o.current?.settle(!1)},[]);return Pn("span",{className:"block",children:Pn("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":Rh[a.status],style:Jc,className:"relative block w-full",children:Pn("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"?Ih("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 ${Lr}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[Pn(ph,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):Pn("img",{ref:i,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:l,onError:c,className:"max-h-full max-w-full opacity-0 motion-safe:transition-opacity motion-safe:duration-200 motion-safe:ease-out [[data-thumbnail-state=loaded]_&]:opacity-100","data-testid":"daily-report-attachment-thumbnail"})})})})});import{jsx as ve,jsxs as Tt}from"react/jsx-runtime";var Iu=1024,Ri=["B","KB","MB","GB"],vu="text-slate-500 text-sm line-through dark:text-slate-400",Ah=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=Iu&&r<Ri.length-1;)t/=Iu,r+=1;return r===0?`${t} ${Ri[r]}`:`${t.toFixed(1)} ${Ri[r]}`},Ch=e=>{let t=[],r=[];for(let[n,o]of e.entries())o.hasThumbnail?t.push({attachment:o,index:n}):r.push({attachment:o,index:n});return{tiles:t,rows:r}},Du=({attachment:e,labels:t,className:r})=>Tt("span",{className:r,children:[Ah(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),hi=({href:e,children:t,...r})=>{let n=jr();return ve("a",{href:e,...r,tabIndex:n,children:t})},Au=({downloadUrl:e,label:t,fileName:r})=>Tt(hi,{href:e,className:x("relative ml-auto shrink-0 rounded-sm text-slate-500 text-xs underline decoration-slate-300 underline-offset-2 after:absolute after:-inset-x-2 after:-inset-y-1 hover:text-slate-700 hover:decoration-current dark:text-slate-400 dark:decoration-slate-600 dark:hover:text-slate-200",ee),"data-testid":"daily-report-attachment-download",children:[t," ",ve(pi,{fileName:r})]}),_h=Tu(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=ve(xu,{thumbnailUrl:zr(r,e.id,{kind:"thumbnail",variant:di}),unavailableLabel:n.attachmentThumbnailUnavailable}),a=e.state==="absent";return Tt("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[a?Tt("div",{className:"flex min-w-0 flex-col gap-2",children:[o,ve(kn,{fileName:e.fileName,attachmentIndex:t,className:vu,testId:"daily-report-attachment-name"})]}):Tt(hi,{href:zr(r,e.id,{kind:"inline"}),className:x("flex min-w-0 flex-col gap-2 rounded-lg",ee),"data-testid":"daily-report-attachment-link",...Eu,children:[o,ve(kn,{fileName:e.fileName,attachmentIndex:t,className:"text-blue-600 text-sm dark:text-blue-400 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover_&]:underline"})]}),Tt("div",{className:"flex h-4 min-w-0 items-center gap-2 text-slate-500 text-xs tabular-nums dark:text-slate-400",style:eu,children:[ve(Du,{attachment:e,labels:n,className:"truncate"}),!a&&ve(Au,{downloadUrl:zr(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})]})}),wh=Tu(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=e.state==="absent";return Tt("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:[Tt("div",{className:"flex min-w-0 flex-col",children:[o?ve(kn,{fileName:e.fileName,attachmentIndex:t,className:vu,testId:"daily-report-attachment-name"}):ve(hi,{href:zr(r,e.id,{kind:"inline"}),className:x("flex min-w-0 rounded-sm",ee),"data-testid":"daily-report-attachment-link",children:ve(kn,{fileName:e.fileName,attachmentIndex:t,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),ve(Du,{attachment:e,labels:n,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!o&&ve(Au,{downloadUrl:zr(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})}),Lh=({entries:e,headingId:t,apiBasePath:r,labels:n})=>{let o=Dh(null);return ve(yu,{containerRef:o,children:ve("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:ve("ul",{"aria-labelledby":t,className:"grid @min-[1008px]:w-[calc(round(down,100%-64px,5px)+64px)] @min-[240px]:w-[calc(round(down,100%-16px,2px)+16px)] @min-[496px]:w-[calc(round(down,100%-32px,3px)+32px)] @min-[752px]:w-[calc(round(down,100%-48px,4px)+48px)] w-[round(down,100%,1px)] max-w-[1264px] @min-[1008px]:grid-cols-5 @min-[240px]:grid-cols-2 @min-[496px]:grid-cols-3 @min-[752px]:grid-cols-4 grid-cols-1 gap-[16px]","data-testid":"daily-report-attachment-grid",children:e.map(({attachment:a,index:s})=>ve(_h,{attachment:a,attachmentIndex:s,apiBasePath:r,labels:n},a.id))})})})},ga=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=K(),o=Th(),{tiles:a,rows:s}=vh(()=>Ch(e),[e]);return e.length===0?null:Tt("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[ve(Xe,{level:Qt[n],id:o,className:x("m-0",ar),children:r.attachments}),Tt("div",{className:"flex flex-col gap-4",children:[a.length>0&&ve(Lh,{entries:a,headingId:o,apiBasePath:t,labels:r}),s.length>0&&ve("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:s.map(({attachment:i,index:l})=>ve(wh,{attachment:i,attachmentIndex:l,apiBasePath:t,labels:r},i.id))})]})]})};import{useOverlayEscapeStack as jh}from"@aiquants/swipe-overlay";import{memo as Ou,useCallback as Ta,useEffect as wu,useId as Gh,useRef as ku,useState as qh}from"react";import{useCallback as Cu,useMemo as Nh,useRef as Mh,useState as Oh}from"react";var Si=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:s,deleteComment:i}=Be(),{version:l}=ya(),{labels:c}=K(),d=c.unknownUser,[p,m]=Oh(null),f=Cu(u=>e&&i(e.reportHubId,u,e.date),[e,i]),y=Cu(u=>e&&t?s(e.reportHubId,u,e.date):Promise.resolve(),[e,t,s]),b=Mh([]);return{uiComments:Nh(()=>{if(!e)return[];let u=zd(e.externalComments,e.postedComments,r,d),R=o.current.get(e.reportHubId);R?.size&&(u=u.filter(A=>!R.has(A.id)));let T=n.current.get(e.reportHubId);if(T?.size&&t){let A=new Set(u.map(_=>_.id)),h=Sr(t,""),v=h==="",E=v?d:h;for(let[_,D]of T){if(R?.has(_)||A.has(_))continue;let O=a.current.get(_);O&&A.has(O)||u.some(M=>M.isMine&&M.content===D&&typeof M.id=="number"&&M.id>0)||u.push({id:_,authorName:E,content:D,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1,isAuthorUnknown:v})}}return JSON.stringify(u)===JSON.stringify(b.current)?b.current:(b.current=u,u)},[e,t,r,d,o,n,a,l]),handleAddComment:y,handleDeleteComment:f,pendingDeleteId:p,setPendingDeleteId:m,resolvedIdMap:a.current}};import{Fragment as kh,jsx as Ph}from"react/jsx-runtime";var Le=({render:e})=>{let t=jr();return Ph(kh,{children:e(t)})};import Hh from"@heroicons/react/24/outline/TrashIcon.js";import{memo as Fh,useId as Bh,useMemo as _u,useRef as Uh,useState as Vh}from"react";import{jsx as vt,jsxs as Ea}from"react/jsx-runtime";var gi="data-comment-id",xa="data-comment-delete-button",Ia="data-comment-delete-slot",Kh=x(Pe,ll),Wh="relative flex h-5 items-center",$h=x(Ke,"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",ee),zh=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,Ei=Fh(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:s,onBeforeHide:i,resolvedIdMap:l})=>{let[c,d]=Vh(!1),{labels:p}=K(),m=Bh(),f=Uh(null),y=zh(e.id,o,l),b=_u(()=>_e(e.authorName),[e.authorName]),I=_u(()=>nt(e.content),[e.content]),u=le.comment(e.id,"author"),R=le.comment(e.id,"content"),T=Qo(R),A=()=>{let v=f.current;v!==null&&i(v),a(null),d(!0),typeof e.id=="number"&&n?.(e.id)},h=v=>{if(!y)return;let E=v.relatedTarget;Re(E)&&v.currentTarget.contains(E)||a(null)};return Ea("li",{[gi]:e.id,"data-deleted":c?"true":void 0,className:x("relative rounded-xl border border-slate-200 border-solid bg-white p-[11px] dark:border-slate-700 dark:bg-slate-900/70",e.isMine&&"border-blue-200 bg-blue-50 dark:border-blue-800/70 dark:bg-blue-950/40",c&&"hidden",y?"z-50":"z-0 hover:z-10"),children:[Ea("div",{className:"mb-1 flex items-center justify-between",children:[vt("div",{className:x("font-semibold text-xs",jd(e.color)),children:T&&!e.isAuthorUnknown?vt(se,{fieldKey:u,raw:e.authorName,display:b}):b.text}),Ea("div",{className:"flex items-center gap-2",children:[e.createdAt&&vt("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:be(e.createdAt)}),e.isMine&&!e.isLegacy&&Ea("div",{[Ia]:e.id,className:Wh,onBlur:h,children:[vt(Le,{render:v=>vt("button",{ref:f,type:"button",tabIndex:v,className:Kh,title:p.commentDelete,"aria-label":p.commentDelete,"aria-expanded":y,"aria-controls":y?m:void 0,[xa]:e.id,onClick:()=>s(e.id,y),children:vt(Hh,{"aria-hidden":"true",className:y?Ce.deletePending:Ce.delete})})}),y&&vt(Le,{render:v=>vt("button",{id:m,type:"button",tabIndex:v,"data-delete-confirmation":!0,className:$h,onClick:A,children:p.commentDeleteConfirm})})]})]})]}),vt("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:T?vt(se,{fieldKey:R,raw:e.content,display:I}):e.content})]})});Ei.displayName="DailyReportPostedComment";import{Fragment as nS,jsx as Qe,jsxs as xi}from"react/jsx-runtime";var Yh="data-daily-report-comment-section",Xh="data-daily-report-comment-heading",Qh=x(Ct,ee),Pu=(e,t)=>e>0||t,Zh=x("h-9 min-w-0 flex-1 rounded-lg border border-solid bg-slate-50 px-[7px] text-sm focus:bg-white dark:bg-slate-800 dark:text-slate-200 dark:focus:bg-slate-900",At,ee),Jh=x("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",ee),Lu=e=>e.querySelector(`[${xa}][aria-expanded="true"]`),eS=(e,t,r)=>{let n=[...e.querySelectorAll(`[${xa}]`)].filter(i=>i===t||i.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 s=[...e.querySelectorAll(`[${gi}]`)].filter(i=>!i.contains(t)&&i.closest("[data-deleted]")===null).length;return Pu(s,r)?{kind:"heading"}:{kind:"report"}},tS=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:s,canComment:i,headingRef:l,onSectionRemoved:c})=>{let d=ku(null),p=jh(),m=Gh(),f=o!==null,y=Ta(()=>{let u=d.current,R=u===null?null:Lu(u),T=R===null?null:R.closest(`[${Ia}]`),A=u===null?null:Te(u);a(null),R!==null&&T!==null&&A!==null&&T.contains(A)&&R.focus({preventScroll:!0})},[a]);wu(()=>{if(f)return p({id:m,onEscape:u=>Mt(u)?(y(),!0):!1})},[f,p,m,y]),wu(()=>{let u=d.current;if(!f||u===null)return;let R=u.ownerDocument,T=A=>{let h=Lu(u)?.closest(`[${Ia}]`);h!=null&&Re(A.target)&&h.contains(A.target)||a(null)};return R.addEventListener("pointerdown",T,!0),()=>R.removeEventListener("pointerdown",T,!0)},[f,a]);let b=Ta((u,R)=>{R?y():a(u)},[y,a]),I=Ta(u=>{let R=d.current;if(R===null)return;let T=eS(R,u,i);if(T.kind==="report"){c();return}let A=T.kind==="trash"?T.button:l.current;if(A===null)throw new Error("[daily-report] the comment section's heading is not attached");A.focus({preventScroll:!0})},[i,l,c]);return e.length===0?null:Qe("ul",{ref:d,className:"space-y-2",children:e.map(u=>Qe(Ei,{comment:u,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:b,onBeforeHide:I,resolvedIdMap:s},u.id))})},Nu=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=K(),a=ku(null);return Pu(r.comments.length,r.canComment)?xi("div",{[Yh]:"",className:x("flex flex-col gap-2",e),children:[Qe(Xe,{ref:a,level:Qt[o],tabIndex:-1,[Xh]:"",className:Qh,children:n.comments}),Qe(tS,{...r,headingRef:a}),t]}):null},Hu=Ou(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:s,onDeleteComment:i,pendingDeleteId:l,onPendingDeleteIdChange:c,resolvedIdMap:d})=>{let p=t?Qe(rS,{onAddComment:s}):null,m={comments:a,canComment:t,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:i,pendingDeleteId:l,onPendingDeleteIdChange:c,resolvedIdMap:d,onSectionRemoved:r,className:o};return n==="in-section"?Qe(Nu,{...m,children:p}):xi(nS,{children:[Qe(Nu,{...m}),p&&Qe("div",{className:"mt-auto",children:p})]})});Hu.displayName="ReportCommentsView";var Hn=Ou(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:s})=>{let{user:i}=Be(),{uiComments:l,handleAddComment:c,handleDeleteComment:d,pendingDeleteId:p,setPendingDeleteId:m,resolvedIdMap:f}=Si(e,i,t),y=Ta(async b=>{await c(b),n?.()},[c,n]);return Qe(Hu,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:s,comments:l,onAddComment:y,onDeleteComment:d,pendingDeleteId:p,onPendingDeleteIdChange:m,resolvedIdMap:f})});Hn.displayName="ReportComments";var Mu="content",rS=({onAddComment:e})=>{let[t,r]=qh(!1),{labels:n}=K();return xi("form",{className:"flex gap-2",onSubmit:async a=>{a.preventDefault();let s=a.currentTarget,i=s.elements.namedItem(Mu);if(!(i instanceof We(s).HTMLInputElement))return;let l=i.value.trim();if(l&&e){r(!0),s.reset();try{await e(l)}catch{i.value=l}finally{r(!1)}}},children:[Qe(Le,{render:a=>Qe("input",{type:"text",name:Mu,tabIndex:a,placeholder:n.commentPlaceholder,className:Zh,autoComplete:"off"})}),Qe(Le,{render:a=>Qe("button",{type:"submit",tabIndex:a,className:Jh,disabled:t,children:n.commentSend})})]})};import{useState as mS}from"react";import{Slot as oS}from"@radix-ui/react-slot";import{cva as aS}from"class-variance-authority";import*as Fu from"react";import{jsx as iS}from"react/jsx-runtime";var sS=aS(`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 ${ee}`,{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=Fu.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>iS(n?oS:"button",{className:x(sS({variant:t,size:r,className:e})),ref:a,...o}));Pt.displayName="Button";import{jsx as dS}from"react/jsx-runtime";var lS=`flex h-9 w-full min-w-0 rounded-md border border-solid bg-white px-[7px] py-[3px] text-base text-slate-900 shadow-xs disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-slate-900 dark:text-slate-100 ${At} ${ee}`;function Bu({className:e,type:t,...r}){return dS("input",{type:t,"data-slot":"input",className:x(lS,e),...r})}import*as Uu from"@radix-ui/react-label";import{jsx as cS}from"react/jsx-runtime";function Fn({className:e,...t}){return cS(Uu.Root,{"data-slot":"label",className:x("flex select-none items-center gap-2 font-medium text-sm leading-none [:where(.group)[data-disabled=true]_&]:pointer-events-none [:where(.group)[data-disabled=true]_&]:opacity-50 [:where(.peer):disabled~&]:cursor-not-allowed [:where(.peer):disabled~&]:opacity-50",e),...t})}import{jsx as pS}from"react/jsx-runtime";var uS=`flex min-h-15 w-full rounded-md border border-solid bg-white p-[7px] text-base text-slate-900 shadow-xs disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-slate-900 dark:text-slate-100 ${At} ${ee}`;function Vu({className:e,...t}){return pS("textarea",{"data-slot":"textarea",className:x(uS,e),...t})}import{jsx as it,jsxs as va}from"react/jsx-runtime";var Gr=e=>({title:e.subject??"",content:e.content??""}),fS=e=>{e.preventDefault()},Da=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=Be(),{labels:s}=K(),i=Yt(),{title:l,content:c}=gc(e.reportHubId),[d,p]=mS(!1),m=async()=>{p(!0);try{await o(e.reportHubId,{title:l,content:c},e.date)}catch{}finally{p(!1)}},f=async()=>{p(!0);try{await o(e.reportHubId,{title:l,content:c},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{p(!1)}},y=`report-title-${e.reportHubId}`,b=`report-content-${e.reportHubId}`;return va("form",{className:"space-y-4 p-1",onSubmit:fS,children:[va("div",{className:"space-y-2",children:[it(Fn,{htmlFor:y,children:s.formTitle}),it(Le,{render:I=>it(Bu,{ref:n,id:y,value:l,onChange:u=>i.setInput(e.reportHubId,{title:u.target.value}),placeholder:s.formTitlePlaceholder,disabled:d,tabIndex:I})})]}),va("div",{className:"space-y-2",children:[it(Fn,{htmlFor:b,children:s.formContent}),it(Le,{render:I=>it(Vu,{id:b,value:c,onChange:u=>i.setInput(e.reportHubId,{content:u.target.value}),placeholder:s.formContentPlaceholder,className:"min-h-50",disabled:d,tabIndex:I})})]}),va("div",{className:"flex justify-end gap-2",children:[t&&it(Le,{render:I=>it(Pt,{type:"button",variant:"outline",onClick:t,disabled:d,tabIndex:I,children:s.formCancel})}),it(Le,{render:I=>it(Pt,{type:"button",variant:"secondary",onClick:m,disabled:d,tabIndex:I,children:s.formSave})}),it(Le,{render:I=>it(Pt,{type:"button",onClick:f,disabled:d,tabIndex:I,children:s.formPublish})})]})]})};import wS from"lucide-react/dist/esm/icons/check.js";import LS from"lucide-react/dist/esm/icons/pencil.js";import NS from"lucide-react/dist/esm/icons/trash-2.js";import{useContext as Ii,useSyncExternalStore as yS}from"react";import{jsx as Aa,jsxs as Wu}from"react/jsx-runtime";var bS="inline-grid whitespace-nowrap text-xs leading-4 tabular-nums text-slate-600 dark:text-slate-300",Ku="[grid-area:1/1]",RS=e=>{let t=0;for(let r=e;r!==0;r&=r-1)t+=1;return t},hS=()=>{},SS=()=>hS,gS=()=>null,Ca=({isEditing:e,descriptionId:t})=>{let r=Ii(Xt),n=Ii(wn),o=Ii(Ln),{labels:a}=K(),s=o===null?null:o.tally,i=s===null?gS:s.getSnapshot,l=yS(s===null?SS:s.subscribe,i,i);if(r===null)return null;let{setCount:c,showsMatchedSets:d}=r.indicator,p=d?`${a.searchMatchedKeywords(c,c)} ${a.searchMatchOutsideView}`:a.searchMatchOutsideView,m=n===null?null:n.entry,f=m===null||m.matchedSets===null?null:RS(m.matchedSets),y=m!==null&&!e&&(f===null||f>=1)&&l!==null&&l.entry===m&&l.isCurrent&&l.count===0,b=d&&f!==null?a.searchMatchedKeywordsDescription(f,c):null,I=[b,y?a.searchMatchOutsideViewDescription:null].filter(u=>u!==null);return Wu("span",{className:bS,"data-daily-report-search-indicator":!0,children:[Aa("span",{"aria-hidden":"true",className:`invisible ${Ku}`,"data-daily-report-search-indicator-placeholder":!0,children:p}),Wu("span",{className:Ku,children:[b!==null&&f!==null?Aa("span",{"aria-hidden":"true",title:b,"data-daily-report-search-matched-keywords":`${f}/${c}`,children:a.searchMatchedKeywords(f,c)}):null,b!==null&&y?" ":null,y?Aa("span",{"aria-hidden":"true",title:a.searchMatchOutsideViewDescription,"data-daily-report-search-outside-view":!0,children:a.searchMatchOutsideView}):null,Aa("span",{id:t===null?void 0:t,className:Dt,"data-daily-report-search-indicator-description":!0,children:I.join(" ")})]})]})};import{jsx as $u}from"react/jsx-runtime";var wa=24,zu=2,ES=20,_a=5,xS=3,IS=()=>{let e=Math.cos(2*Math.PI/_a)/Math.cos(Math.PI/_a),t=Array.from({length:2*_a},(m,f)=>{let y=-Math.PI/2+f*Math.PI/_a,b=f%2===0?1:e;return{x:b*Math.cos(y),y:b*Math.sin(y)}}),r=t.map(m=>m.x),n=t.map(m=>m.y),[o,a,s,i]=[Math.min(...r),Math.max(...r),Math.min(...n),Math.max(...n)],l=(ES-zu)/(a-o),c=wa/2-l*(o+a)/2,d=wa/2-l*(s+i)/2,p=m=>String(Number(m.toFixed(xS)));return t.map(m=>`${p(c+l*m.x)},${p(d+l*m.y)}`).join(" ")},TS=IS(),qr=({filled:e})=>$u("svg",{viewBox:`0 0 ${wa} ${wa}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:zu,strokeLinejoin:"round",className:e?Ce.starOn:Ce.starOff,children:$u("polygon",{points:TS})});import{Fragment as vS,jsx as La,jsxs as DS}from"react/jsx-runtime";var Yr=({config:e,id:t,className:r})=>La("span",{id:t,className:x(ul,e.badgeClassName,r),children:e.name===void 0?e.label:DS(vS,{children:[La("span",{"aria-hidden":"true",children:La("abbr",{title:e.name,children:e.label})}),La("span",{className:Dt,children:e.name})]})});import{jsx as ju}from"react/jsx-runtime";var Na=24,AS=6,Xr=({className:e})=>ju("svg",{viewBox:`0 0 ${Na} ${Na}`,"aria-hidden":"true",className:x(Ce.read,e),children:ju("circle",{cx:Na/2,cy:Na/2,r:AS,fill:"currentColor"})});import{jsx as _S}from"react/jsx-runtime";var CS=/^(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}):\d{2})?$/,gr=({text:e})=>{let t=CS.exec(e);if(t===null)return e;let[,r,n]=t;return _S("time",{dateTime:e,children:n===void 0?r:`${r} ${n}`})};import{jsx as Ne,jsxs as qu}from"react/jsx-runtime";var he=({label:e,classNames:t,valueId:r,children:n})=>qu("div",{className:t.field,children:[Ne("dt",{className:t.label,children:e}),Ne("dd",{id:r,className:x("m-0",t.value),children:n})]}),Zt={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"},Gu=({report:e,visitTimeDisplay:t,labels:r})=>{let n=$t(e.category),o=$t(e.creationCategory);return qu("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:[Ne(he,{label:r.author,classNames:Zt,children:Ne(se,{fieldKey:le.field("author"),raw:e.author,display:_e(e.author)})}),Ne(he,{label:r.createdAt,classNames:Zt,children:Ne(gr,{text:be(e.createdAt)})}),Ne(he,{label:r.updatedBy,classNames:Zt,children:Ne(se,{fieldKey:le.field("updatedBy"),raw:e.updatedBy,display:_e(e.updatedBy)})}),Ne(he,{label:r.updatedAt,classNames:Zt,children:Ne(gr,{text:be(e.updatedAt)})}),Ne(he,{label:r.businessDate,classNames:Zt,children:Ne(gr,{text:be(e.date)})}),t!==null&&Ne(he,{label:r.visitTime,classNames:Zt,children:t}),n.text.length>0&&Ne(he,{label:r.category,classNames:Zt,children:Ne(se,{fieldKey:le.field("category"),raw:e.category,display:n})}),o.text.length>0&&Ne(he,{label:r.creationCategory,classNames:Zt,children:Ne(se,{fieldKey:le.field("creationCategory"),raw:e.creationCategory,display:o})})]})};import{jsx as de,jsxs as Xu}from"react/jsx-runtime";var Ma={field:x(Ke,"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:""},MS={field:x(Ke,"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:""},Yu={field:x(Ke,"gap-1 whitespace-nowrap bg-amber-100 text-amber-900 dark:bg-amber-500/15 dark:text-amber-200"),label:"text-amber-800 text-xs uppercase tracking-wide dark:text-amber-300",value:""},Qu=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:s,editButtonRef:i,onDelete:l,sourceConfig:c,visitTimeDisplay:d,markerIds:p,labels:m})=>{let f=r?m.starRemove:m.starAdd,y=t?m.markUnread:m.markRead,b=$t(e.category),I=$t(e.creationCategory);return Xu("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[de(sn,{id:p.attachments,count:e.attachments.length,label:m.attachments}),c?de(Yr,{id:p.source,config:c}):null,de(Le,{render:u=>de("button",{type:"button",onClick:a,tabIndex:u,className:Pe,title:f,"aria-label":f,"data-detail-star-button":e.reportHubId,children:de(qr,{filled:r})})}),de(Le,{render:u=>de("button",{type:"button",onClick:o,tabIndex:u,className:Pe,title:y,"aria-label":y,"data-detail-read-button":e.reportHubId,children:t?de(wS,{className:Ce.read}):de(Xr,{})})}),s&&de(Le,{render:u=>de("button",{ref:i,type:"button",onClick:s,tabIndex:u,"data-detail-edit-button":e.reportHubId,className:Pe,title:m.edit,"aria-label":m.edit,children:de(LS,{className:Ce.edit})})}),n&&de(Le,{render:u=>de("button",{type:"button",onClick:l,tabIndex:u,"data-detail-delete-button":e.reportHubId,className:Pe,title:m.deleteReport,"aria-label":m.deleteReport,children:de(NS,{className:Ce.delete})})}),Xu("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[de(he,{label:m.id,classNames:MS,children:e.reportHubId}),de(he,{label:m.businessDate,classNames:Ma,children:de(gr,{text:be(e.date)})}),de(he,{label:m.author,classNames:Ma,children:de(se,{fieldKey:le.field("employeeName"),raw:e.employeeName,display:_e(e.employeeName)})}),de(he,{label:m.visitTime,classNames:Ma,children:zt(d)}),de(he,{label:m.updatedAt,classNames:Ma,children:de(gr,{text:be(e.updatedAt)})}),b.text.length>0&&de(he,{label:m.category,classNames:Yu,children:de(se,{fieldKey:le.field("category"),raw:e.category,display:b})}),I.text.length>0&&de(he,{label:m.creationCategory,classNames:Yu,children:de(se,{fieldKey:le.field("creationCategory"),raw:e.creationCategory,display:I})})]}),de(Ca,{isEditing:!1,descriptionId:p.searchMatch})]})};import{useCallback as lg,useContext as Ip,useLayoutEffect as _i,useRef as Tp}from"react";import{startTransition as ZS,useCallback as ce,useLayoutEffect as Er,useMemo as gp,useRef as tr,useState as Wn,useSyncExternalStore as JS}from"react";import{flushSync as Ep}from"react-dom";var Qr=e=>({owner:e,focusIndex:null}),Ti=Object.freeze({owner:null,focusIndex:null}),Zu=(e,t)=>{if(e.length===0)return Ti;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:gt(e,r).reportHubId,index:r},focusIndex:r}},Ju=(e,t)=>{switch(t.kind){case"focusIn":return Qr(t.row);case"focusOut":return t.to==="outside"?Ti:Qr(e);case"pointerPress":return t.at==="outside"?Ti:Qr(e);case"listChanged":{if(e===null)return Qr(e);let r=xe(t.items,e.reportHubId,e.index);return r===-1?Zu(t.items,e.index):Qr(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Qr(e):Zu(t.items,t.selection.index)}};var OS=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),Oa={capture:!0},ka=new WeakMap,kS=e=>{let t=o=>{OS.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,Oa),e.removeEventListener("pointerdown",r,Oa)}};return e.addEventListener("keydown",t,Oa),e.addEventListener("pointerdown",r,Oa),n},ep=e=>{let t=ka.get(e),r=t===void 0?kS(e):t;t===void 0&&ka.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),ka.delete(e)))}},tp=e=>{let t=ka.get(e);return t===void 0?null:t.last};var Pa=e=>e.matches(":focus-visible")&&tp(e.ownerDocument)!=="pointer";var PS="data-daily-report-keyboard-focus",Jt={capture:!0},rp=e=>{let t=ep(e.ownerDocument),r=i=>{e.toggleAttribute(PS,Re(i)&&Pa(i))},n=i=>r(i.target),o=i=>{Re(i.relatedTarget)&&e.contains(i.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,Jt),e.addEventListener("keydown",n,Jt),e.addEventListener("focusout",o,Jt),e.addEventListener("pointerdown",a,Jt);let s=Te(e);return r(s!==null&&e.contains(s)?s:null),()=>{e.removeEventListener("focusin",n,Jt),e.removeEventListener("keydown",n,Jt),e.removeEventListener("focusout",o,Jt),e.removeEventListener("pointerdown",a,Jt),r(null),t()}};var HS='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',FS=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],BS=FS.map(e=>`[role="${e}"]`).join(", "),US=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),VS=new Set(["Enter"," "]),KS=new Map([["Home","exitBefore"],["End","exitAfter"]]),vi=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return KS.get(e.key)??null;let r=US.get(e.key);return r!==void 0?r:VS.has(e.key)&&t.rowActivation?"activate":null},np=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},op=(e,t,r)=>{let n=vi(e,r);if(n===null||e.defaultPrevented||Rr(e)||t===null||!Re(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:np(e.target,HS,t)||np(e.target,BS,t)?null:n};var Ha={kind:"stay"},Fa=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},ap=e=>Math.floor(.875*e),er=(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",WS=({index:e,count:t,viewport:r,focusedRowTop:n,heightOf:o})=>{let a=o(e),s=n+a,i={index:e+1,top:s};for(let l=e+1;l<t;l++){let c=o(l);if(a+=c,a>r)break;i={index:l,top:s},s+=c}return i},$S=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>{let o=n(e),a=r,s={index:e-1,top:r-n(e-1)};for(let i=e-1;i>=0;i--){let l=n(i);if(a-=l,o+=l,o>t)break;s={index:i,top:a}}return s},zS=(e,t,r)=>{let{index:n,count:o,viewport:a,focusedRowTop:s,heightOf:i}=t,l=s+i(n);switch(e){case"previous":{if(n===0)return Ha;if(r==="top")return er(n-1,"top");let c=i(n-1);return er(n-1,Bn(s-c,c,a,-1))}case"next":return n===o-1?Ha:r==="top"?er(n+1,"top"):er(n+1,Bn(l,i(n+1),a,1));case"first":return er(0,"top");case"last":return er(o-1,i(o-1)<=a?"bottom":"top");case"pageForward":{if(l>a)return{kind:"reveal",delta:Math.min(l-a,ap(a))};if(n===o-1)return Ha;let c=WS(t);return er(c.index,Bn(c.top,i(c.index),a,1))}case"pageBackward":{if(s<0)return{kind:"reveal",delta:-Math.min(-s,ap(a))};if(n===0)return Ha;let c=$S(t);return er(c.index,Bn(c.top,i(c.index),a,-1))}}},jS=({index:e,focusedRowTop:t,heightOf:r},n)=>cp(n,{index:e,offsetPx:-t},r),lp=(e,t,r,n)=>{let o=r,a=null,s=0;for(let i=0;i<t;i++){let l=zS(e,o,n);if(l.kind==="stay")break;l.kind==="reveal"?(s+=l.delta,o={...o,focusedRowTop:o.focusedRowTop-l.delta}):l.align==="none"?o={...o,index:l.index,focusedRowTop:jS(o,l.index)}:(a={index:l.index,align:l.align},s=0,o={...o,index:l.index,focusedRowTop:l.align==="top"?0:o.viewport-o.heightOf(l.index)})}return{index:o.index,alignment:a,scrollDelta:s}},dp=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>Bn(r,n(e),t,1),cp=(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},Un=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let s=Fa(n);if(n.kind==="uniform")return{index:t,count:r,viewport:o,focusedRowTop:t*n.rowHeight-a,heightOf:s};let i=e.getScrollAnchor();return i===null?null:{index:t,count:r,viewport:o,focusedRowTop:cp(t,i,s),heightOf:s}},sp=1,up=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=Vn(o,n,t,r);return{start:Math.max(0,o.index-sp),end:Math.min(t-1,a+sp)}},Vn=(e,t,r,n)=>{let o=Fa(n),a=e.index,s=o(a)-e.offsetPx;for(;s<t&&a<r-1;)a+=1,s+=o(a);return a},pp=(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,ip=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),mp=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(ip(t,n,o))return t.reportHubId;if(ip(r,n,o))return r.reportHubId;let a=n.visibleStartIndex>=0?e.at(n.visibleStartIndex):void 0;return a===void 0?null:a.reportHubId};var Ai=1,Kn=2,Di=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?Ai:0)|(n===t||n===r?Kn:0),GS=e=>{if(_t(e))return!0;let t=Te(e);return t!==null&&e.contains(t)},qS=(e,t)=>{let r=e.closest(`[${zo}]`);return r!==null&&r!==e&&yr(r)===t&&Te(e)===r},fp={capture:!0},yp=({getContainer:e,initialSelectedId:t})=>{let r={selectedId:t,tabStopId:t,arrivingId:null},n=null,o=null,a=!1,s=null,i=new Map,l=new Map,c=null,d=new Map,p=u=>Di(r,u),m=u=>{let R=l.get(u);if(R===void 0)return;let T=(p(u)&Kn)!==0?"0":"-1";R.getAttribute("tabindex")!==T&&R.setAttribute("tabindex",T)},f=()=>{if(n===null)return;let u=n;n=null,m(u)},y=(u,R)=>{f();let T={...r};u(r);let A=r,h=new Set([T.selectedId,T.tabStopId,T.arrivingId,A.selectedId,A.tabStopId,A.arrivingId]);for(let v of h){if(v===null)continue;let E=Di(T,v),_=Di(A,v);if(E===_)continue;((E^_)&Kn)!==0&&(v===R?n=v:m(v));let D=i.get(v);if(D!==void 0)for(let O of[...D])O()}},b=u=>{let R=u.ownerDocument,T=n!==null&&!_t(u);T?R.addEventListener("focusout",f,fp):f(),a=!0;try{u.focus({preventScroll:!0})}finally{a=!1,T&&R.removeEventListener("focusout",f,fp),f()}},I=u=>{let R=e();R!==null&&(o=null,GS(R)&&b(u))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:p,setTabStopId:u=>{y(R=>{R.tabStopId=u},null)},settleSelection:(u,R)=>{y(T=>{T.selectedId=u,T.tabStopId=R,T.arrivingId=null},null)},arrive:u=>{y(R=>{R.arrivingId=u},u)},subscribe:(u,R)=>{let T=i.get(u)??new Set;return T.add(R),i.set(u,T),()=>{T.delete(R),T.size===0&&i.get(u)===T&&i.delete(u)}},registerFocusTarget:(u,R)=>{if(l.set(u,R),m(u),o===u){I(R);return}s===null||s.reportHubId!==u||(_t(R)||qS(R,u))&&b(R)},unregisterFocusTarget:(u,R)=>{l.get(u)===R&&l.delete(u)},requestFocus:u=>{o=u;let R=l.get(u);R!==void 0&&I(R)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>s,setFocusOwner:u=>{s=u},restoreFocus:u=>{if(s===null||s.reportHubId!==u)return;let R=l.get(u);R===void 0||!_t(R)||b(R)},holdBodiesOutside:u=>{c=u},isBodyHeldAt:u=>c!==null&&(u<c.start||u>c.end),registerHeldBody:(u,R,T)=>{let A={indexHint:R,release:T};return d.set(u,A),()=>{d.get(u)===A&&d.delete(u)}},releaseHeldBodiesWithin:(u,R)=>{if(u!==null)for(let[T,{indexHint:A,release:h}]of[...d]){let v=R(T,A);v>=u.start&&v<=u.end&&h()}}}};var ut={previous:{axis:"row",amount:-1},next:{axis:"row",amount:1},pageBackward:{axis:"page",amount:-1},pageForward:{axis:"page",amount:1},first:{axis:"first",amount:1},last:{axis:"last",amount:1},activate:{axis:"activate",amount:1}},Ci=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),YS=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),bp=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),XS=new Map(Object.values(ut).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),Rp=e=>{let t=XS.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},QS=(e,t,r)=>e==="row"||e==="page"?t+r:r,hp=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:Rp(e)}),Sp=(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",Rp(r)):(e.pending=QS(e.axis,e.pending,r.amount),Ci)}case"frame":{if(e.fence==="open")return Ci;if(e.fence==="immediate")return e.fence="flush",YS;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?bp:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return bp}};var eg=Object.freeze({kind:"frame"}),tg=Object.freeze({kind:"keyup"}),rg=Object.freeze({kind:"cancel"}),ng=Object.freeze({previous:Object.freeze({kind:"repeat",step:ut.previous}),next:Object.freeze({kind:"repeat",step:ut.next}),pageBackward:Object.freeze({kind:"repeat",step:ut.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:ut.pageForward}),first:Object.freeze({kind:"repeat",step:ut.first}),last:Object.freeze({kind:"repeat",step:ut.last}),activate:Object.freeze({kind:"repeat",step:ut.activate})}),og=(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}},ag=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),sg=e=>{let t=yr(e),r=Hr(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},Ba=(e,t)=>{let r=ce(a=>e.subscribe(t,a),[e,t]),n=ce(()=>e.rowStateOf(t),[e,t]),o=JS(r,n,n);return{isCurrent:(o&Ai)!==0,isTabStop:(o&Kn)!==0}},Ua=(e,t,r)=>{let[n,o]=Wn(()=>!e.isBodyHeldAt(r));return Er(()=>{if(n)return;let a=()=>o(!0),s=e.registerHeldBody(t,r,a);return ZS(a),s},[e,t,r,n]),n},ig=e=>e==="first"||e==="last",xp=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:s,rowSizing:i,arrowAlign:l,rowActivation:c})=>{let[d]=Wn(()=>yp({getContainer:()=>n.current,initialSelectedId:t})),p=tr({items:e,onSelect:r,rowSizing:i,arrowAlign:l,rowActivation:c}),m=tr(null),f=tr(null),[y,b]=Wn(null),I=tr(null),u=tr(null),[R,T]=Wn(null),A=tr(!1),h=tr(null),[v,E]=Wn(0),_=gp(()=>({id:t,indexHint:t===null?null:Od(y,t)}),[t,y]),D=tr(_);Er(()=>{p.current={items:e,onSelect:r,rowSizing:i,arrowAlign:l,rowActivation:c},D.current=_},[e,r,i,l,c,_]);let O=ce((L,k)=>{let B=f.current;if(B!==null&&B.items===L&&B.reportHubId===k)return B.index;let G=xe(L,k,B!==null&&B.reportHubId===k?B.index:null);return G!==-1&&(f.current={items:L,reportHubId:k,index:G}),G},[]),M=ce((L,k)=>{f.current={items:p.current.items,reportHubId:L,index:k},b(B=>B!==null&&B.reportHubId===L&&B.index===k?B:{reportHubId:L,index:k})},[]),V=ce(L=>{let k=d.getFocusOwner();if(k===null)return null;let B=xe(L,k.reportHubId,k.index);return B===-1?null:{reportHubId:k.reportHubId,index:B}},[d]),U=ce(L=>{let k=p.current.items,B=L===null?null:{reportHubId:L,index:O(k,L)};return mp(k,V(k),B,m.current,h.current)},[O,V]),ie=ce(()=>{d.setTabStopId(U(d.getSelectedId()))},[d,U]),re=ce(L=>{let k=d.getFocusOwner();k===L||k!==null&&L!==null&&k.reportHubId===L.reportHubId&&k.index===L.index||(d.setFocusOwner(L),A.current||ie())},[d,ie]),z=ce(L=>{let k=Ju(d.getFocusOwner(),L);re(k.owner),k.focusIndex!==null&&(I.current=k.focusIndex,d.requestFocus(k.owner.reportHubId))},[d,re]);Er(()=>{d.settleSelection(t,U(t))},[d,t,e,v,U]),Er(()=>{let L=o.current;if(L!==null)return rp(L)},[o]),Er(()=>{let L=n.current;if(L===null)return;let k=L.ownerDocument,B=G=>{let ae=n.current,S=G.target;z({kind:"pointerPress",at:ae!==null&&Re(S)&&ae.contains(S)?"inside":"outside"})};return k.addEventListener("pointerdown",B,{capture:!0}),()=>k.removeEventListener("pointerdown",B,{capture:!0})},[n,z]),Er(()=>{let L=d.pendingFocusId();L!==null&&xe(e,L,I.current)===-1&&d.cancelFocusRequest(),z({kind:"listChanged",items:e})},[d,e,z]);let Q=ce(L=>{z({kind:"removed",reportHubId:L,selection:f.current,items:p.current.items})},[z]),Z=ce((L,k,B,G)=>{let{items:ae,onSelect:S,rowSizing:w,arrowAlign:P}=p.current,N=a.current;if(S===null||N===null)return null;let $=xe(ae,B.reportHubId,B.index);if($===-1)return null;let g=Un(N,$,ae.length,w);if(g===null)return null;let C=lp(L,k,g,P),F=gt(ae,C.index),q=C.index!==$,ue=q||G&&ig(L)&&D.current.id!==F.reportHubId;if(q){d.arrive(F.reportHubId),h.current=F.reportHubId,I.current=C.index,A.current=!0;try{d.requestFocus(F.reportHubId)}finally{A.current=!1}}try{Ep(()=>{ue&&(d.pendingFocusId()===null&&d.settleSelection(F.reportHubId,F.reportHubId),S(F.reportHubId,C.index)),C.alignment!==null&&s.toIndex(C.alignment.index,{align:C.alignment.align}),C.scrollDelta!==0&&s.by(C.scrollDelta),ue&&(M(F.reportHubId,C.index),E(bt=>bt+1));let je=up(N,ae.length,w);d.holdBodiesOutside(je),d.releaseHeldBodiesWithin(je,(bt,ro)=>xe(ae,bt,ro))})}finally{d.holdBodiesOutside(null)}return q?{reportHubId:F.reportHubId,index:C.index}:{reportHubId:B.reportHubId,index:$}},[d,a,s,M]),J=ce(L=>{let{items:k,onSelect:B}=p.current;if(B===null)return;let G=xe(k,L.reportHubId,L.index);G!==-1&&(B(L.reportHubId,G),M(L.reportHubId,G))},[M]),Se=ce(L=>{let k=n.current,B=k===null?null:Te(k),G=k!==null&&B!==null&&k.contains(B)?hn(qt(B,k),p.current.items):null;return G===null?L.origin:G},[n]),te=ce((L,k)=>{let B=Se(L);if(k.axis==="activate"){J(B);return}let G=og(k.axis,k.amount),ae=Z(G.command,G.count,B,!1);ae!==null&&(L.origin=ae)},[Se,J,Z]),Je=ce(L=>{u.current=null,L.frame!==0&&L.view.cancelAnimationFrame(L.frame),T(null)},[]),Ve=ce((L,k,B)=>{let{apply:G}=k;G!==null&&(k.flush?Ep(()=>te(L,G)):te(L,G)),u.current===L&&(k.ended?Je(L):k.requestFrame&&(L.frame=L.view.requestAnimationFrame(B)))},[te,Je]),De=ce((L,k,B)=>{Ve(L,Sp(L.state,k),B)},[Ve]),Ae=ce(()=>{let L=u.current;L!==null&&(L.frame=0,De(L,eg,Ae))},[De]),me=ce(()=>{let L=u.current;L!==null&&De(L,tg,Ae)},[De,Ae]),pe=ce(()=>{let L=u.current;L!==null&&De(L,rg,Ae)},[De,Ae]),lt=ce((L,k,B)=>{T(D.current);let{state:G,effects:ae}=hp(ut[L]),S={state:G,origin:k,view:B,frame:0};u.current=S,Ve(S,ae,Ae)},[Ve,Ae]);Er(()=>()=>{let L=u.current;u.current=null,L!==null&&L.frame!==0&&L.view.cancelAnimationFrame(L.frame)},[]);let ge=ce(L=>{let k=u.current,B=k!==null&&L.repeat?vi(L,p.current):null;if(k!==null&&B!==null&&B!=="exitBefore"&&B!=="exitAfter"&&ut[B].axis===k.state.axis){L.preventDefault(),De(k,ng[B],Ae);return}let{items:G,onSelect:ae,rowSizing:S,rowActivation:w}=p.current,P=n.current,N=ae===null?null:op(Kr(L),P,{rowActivation:w});if(d.cancelFocusRequest(),me(),N===null||P===null)return;if(N==="exitBefore"||N==="exitAfter"){let C=tu(P,N==="exitBefore"?"before":"after");if(C===null)return;L.preventDefault(),C.focus();return}let $=Te(P),g=hn(qt($!==null&&P.contains($)?$:L.target,P),G);if(g!==null){if(N!=="activate"){let C=a.current;if(C===null||Un(C,g.index,G.length,S)===null)return}if(L.preventDefault(),L.repeat){lt(N,g,We(P));return}N==="activate"?J(g):Z(N,1,g,!0)}},[d,n,a,Ae,De,me,lt,J,Z]),we=ce(()=>{me()},[me]),ke=ce(L=>{let k=n.current,B=L.target,G=qt(B,k);if(z({kind:"focusIn",row:G===null?null:sg(G)}),d.isMovingFocus())return;let ae=a.current;if(k===null||ae===null||!Re(B)||!Pa(B))return;let S=G===null?null:G.closest('[role="list"]');if(G===null||S===null)return;let w=S.getBoundingClientRect(),P=G.getBoundingClientRect(),N=P.height<=w.height?P:ag(B.getBoundingClientRect(),Vt),$=pp(N,w),g=ae.getViewportSize();$===0||!(g>0&&w.height>0)||s.by($*g/w.height)},[d,n,a,s,z]),et=ce(L=>{let k=n.current,B=L.relatedTarget,G=Re(B)?k?.contains(B)?"view":"outside":"nowhere";G!=="view"&&pe(),z({kind:"focusOut",to:G})},[n,pe,z]),tt=ce(()=>{d.cancelFocusRequest(),pe()},[d,pe]),yt=ce(L=>{m.current={visibleStartIndex:L.visibleStartIndex,visibleEndIndex:L.visibleEndIndex},h.current=null,ie()},[ie]),or=gp(()=>({onKeyDown:ge,onKeyUp:we,onPointerDownCapture:tt,onWheelCapture:tt,onTouchStartCapture:tt,onFocus:ke,onBlur:et}),[ge,we,tt,ke,et]);return{cursor:d,containerProps:or,handleRangeChange:yt,selection:_,settledSelection:R===null?_:R,resolveSelectedIndex:O,rememberSelection:M,focusAfterRemoval:Q}};import{jsx as wi}from"react/jsx-runtime";var dg=x(Wt,ao,so,oo,"h-full"),cg="h-full w-full",vp=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:s})=>{let{isCurrent:i,isTabStop:l}=Ba(a,e),c=Ip(Nt),d=Ip(Lt),p=Ua(a,e,c),m=Tp(null),f=Tp(null),y=lg(b=>(m.current=b,a.registerFocusTarget(e,b),()=>{m.current=null,a.unregisterFocusTarget(e,b)}),[a,e]);return _i(()=>{let b=m.current,I=b===null||!p?null:b.firstElementChild,u=I instanceof HTMLElement?I:null,R=f.current;R!==null&&R.body===u||(R!==null&&R.stop(),f.current=u===null?null:{body:u,stop:o(u)})}),_i(()=>()=>{f.current?.stop(),f.current=null},[]),_i(()=>{a.restoreFocus(e)},[a,e,n]),wi(On.Provider,{value:l,children:wi("div",{ref:y,className:dg,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":c+1,"aria-setsize":d,"aria-labelledby":p&&t.kind==="card"?t.ids.heading:void 0,"aria-describedby":p&&t.kind==="card"?t.describedBy:void 0,"aria-label":t.kind==="label"?t.label:void 0,"aria-busy":r||!p?!0:void 0,"aria-current":i?"true":void 0,children:p?s:wi("div",{...qe,className:cg})})})};import{jsx as j,jsxs as Me}from"react/jsx-runtime";var fg=x("flex w-full flex-col",Rt,co,Kt),yg=x(Rt,Kt),bg=x("rounded-2xl",Kt),Rg=x("rounded-2xl border border-red-200 border-solid bg-red-50 p-[15px] text-red-700 text-sm dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-300",Kt),Ue="bg-slate-200 dark:bg-slate-700",hg=({interviewer:e,index:t,template:r})=>{let n=xr(()=>_e(e.name),[e.name]),o=j(se,{fieldKey:le.interviewer(t,"name"),raw:e.name,display:n},"name"),a=e.affiliation;if(!a?.trim())return o;let s=Vc(r,n.text,a);return s===null?r(n.text,a):s.map(i=>i.kind==="text"?i.text:i.kind==="name"?o:j(se,{fieldKey:le.interviewer(t,"affiliation"),raw:a,display:nt(a)},"affiliation"))},Sg=()=>Me("div",{...qe,className:yg,children:[Me("div",{className:"mb-4 flex flex-wrap gap-2",children:[j("div",{className:x("h-6 w-20 rounded-full",Ue)}),j("div",{className:x("h-6 w-24 rounded-full",Ue)}),j("div",{className:x("h-6 w-24 rounded-full",Ue)}),j("div",{className:x("h-6 w-28 rounded-full",Ue)})]}),Me("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[Me("div",{className:"space-y-4",children:[j("div",{className:x("h-5 w-40 rounded",Ue)}),j("div",{className:x("h-5 w-56 rounded",Ue)}),j("div",{className:x("h-24 rounded-xl",Ue)})]}),Me("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[j("div",{className:x("mb-2 h-4 w-24 rounded",Ue)}),j("div",{className:x("mb-2 h-4 w-28 rounded",Ue)}),j("div",{className:x("h-4 w-32 rounded",Ue)})]})]}),Me("div",{className:"space-y-4",children:[j("div",{className:x("h-4 w-24 rounded",Ue)}),Me("div",{className:"flex flex-wrap gap-2",children:[j("div",{className:x("h-6 w-16 rounded-full",Ue)}),j("div",{className:x("h-6 w-16 rounded-full",Ue)}),j("div",{className:x("h-6 w-16 rounded-full",Ue)})]}),Me("div",{className:"space-y-2",children:[j("div",{className:x("h-16 rounded-xl",Ue)}),j("div",{className:x("h-16 rounded-xl",Ue)})]})]})]}),gg=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:s,isLoading:i,isRefetching:l}=mr(e.reportHubId,e.businessDate),{removeStaleItem:c}=Be(),{draftLabelName:d,sourceTypeConfigs:p}=K(),m=Yt(),f=ia(e.reportHubId),y=f==="editing"||f==="automatic",b=Li(!1),I=Li(!1),u=Li(!1);Dp(()=>{if(l){u.current=!0;return}!(a||i||s)&&u.current&&e.reportHubId>0&&c(e.reportHubId)},[a,i,l,s,e.reportHubId,c]);let R=a?.labels.some(J=>J.name===d),T=n&&a?.userId===n,A=xr(()=>a===null?void 0:()=>{b.current=!0,m.open(e.reportHubId,Gr(a),!1)},[m,e.reportHubId,a]),h=Zr(()=>{I.current=!0,m.dismiss(e.reportHubId)},[m,e.reportHubId]),v=Zr(()=>{I.current=!0,m.discard(e.reportHubId)},[m,e.reportHubId]),E=Zr(J=>{J===null||!b.current||(b.current=!1,J.focus())},[]),_=Zr(J=>{J===null||!I.current||(I.current=!1,J.focus())},[]);mg(()=>{y||(I.current=!1)},[y]),Dp(()=>{a!==null&&(T&&R&&f==="display"?m.open(e.reportHubId,Gr(a),!0):!R&&f==="automatic"&&m.discard(e.reportHubId))},[a,T,R,f,m,e.reportHubId]);let D=Zr(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),O=pg(),M=xr(()=>({heading:`${O}-heading`,state:`${O}-state`,attachments:`${O}-attachments`,source:`${O}-source`,searchMatch:`${O}-search-match`}),[O]),V=a!==null&&a.attachments.length>0,U=ug(Xt)!==null,ie=a===null?void 0:ur(a.sourceType,p),re=[M.state,...V?[M.attachments]:[],...ie!==void 0?[M.source]:[],...U?[M.searchMatch]:[]].join(" "),z=!s&&a!==null&&!y?{kind:"card",ids:M,describedBy:re}:{kind:"label",label:be(e.businessDate)},Q=!s&&a===null&&i,Z=s?"error":a===null?i?"loading":"missing":y?"editing":"resolved";return j(vp,{itemId:e.reportHubId,name:z,isBusy:Q,bodyKind:Z,observeRowHeight:t,cursor:o,children:s?j(Eg,{itemId:e.reportHubId}):a?y?j("div",{...qe,className:bg,children:j(Da,{report:a,onCancel:h,onPublishSuccess:v,titleInputRef:E})}):j(_p,{item:e,report:a,sourceConfig:ie,textIds:M,onCommentAdded:r,userId:n,onEdit:T?A:void 0,editButtonRef:_,onCommentSectionRemoved:D}):j(Sg,{})})},Cp=Ap(gg),_p=Ap(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:s,editButtonRef:i,onCommentSectionRemoved:l})=>{let{toggleStar:c,toggleRead:d,pendingStarUpdates:p,pendingReadUpdates:m,deleteReport:f}=Be(),{labels:y,headingLevel:b}=K(),I=Qt[b],u=vo(t.sourceType,r),R=Zr(()=>o?.(e.reportHubId),[o,e.reportHubId]),T=p.current.get(t.reportHubId),A=T===void 0?t.isStarred:T,h=m.current.get(t.reportHubId),v=h===void 0?t.isRead:h,E=!!(a&&t.userId===a),_=async()=>{try{await d(t.reportHubId,!v,t.date)}catch{}},D=async()=>{try{await c(t.reportHubId,!A,t.date)}catch{}},O=async()=>{if(confirm(y.confirmDelete))try{await f(t.reportHubId,t.date)}catch{}},M=xr(()=>Bl(t.content??null),[t.content]),V=xr(()=>_e(t.customerName),[t.customerName]),U=xr(()=>_e(t.subject),[t.subject]),ie=xr(()=>{let re=t.visitTimeFrom?.trim(),z=t.visitTimeTo?.trim();return re&&z?`${re} - ${z}`:re||z||null},[t.visitTimeFrom,t.visitTimeTo]);return j("div",{...qe,onDoubleClick:s,className:fg,children:Me($r,{reportHubId:e.reportHubId,children:[j(Xe,{level:b,id:n.heading,className:Dt,children:`${be(t.date)} ${zt(t.employeeName)} ${zt(t.subject)}`}),j("span",{id:n.state,className:Dt,children:y.rowState({isRead:v,isStarred:A})}),Me("div",{className:"flex flex-col gap-4",children:[j(Qu,{report:t,sourceConfig:r,isRead:v,isStarred:A,isMine:E,onToggleRead:_,onToggleStar:D,onEdit:s,editButtonRef:i,onDelete:O,visitTimeDisplay:ie,markerIds:n,labels:y}),Me("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[Me("div",{className:"flex flex-col gap-4",children:[Me("div",{className:"grid gap-4 sm:grid-cols-2",children:[Me("div",{className:"flex flex-col gap-1",children:[j(Xe,{level:I,className:Ct,children:y.customer}),j("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:j(se,{fieldKey:le.field("customerName"),raw:t.customerName,display:V})})]}),Me("div",{className:"flex flex-col gap-1",children:[j(Xe,{level:I,className:Ct,children:y.subject}),j("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:j(se,{fieldKey:le.field("subject"),raw:t.subject,display:U})})]})]}),M.text.length>0&&Me("div",{className:"flex flex-col gap-2",children:[j(Xe,{level:I,className:Ct,children:y.content}),j("div",{className:x("whitespace-pre-wrap",lo),children:j(se,{fieldKey:le.field("content"),raw:t.content,display:M})})]}),t.interviewers.length>0&&Me("div",{className:"flex flex-col gap-2",children:[j(Xe,{level:I,className:Ct,children:y.interviewers}),j("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map((re,z)=>j("li",{className:x(Ke,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:j(hg,{interviewer:re,index:z,template:y.interviewerWithAffiliation})},JSON.stringify([re.name,re.affiliation])))})]}),j(ga,{attachments:t.attachments}),j(Hn,{report:t,userId:a,canComment:u,onCommentAdded:R,onSectionRemoved:l,formPlacement:"after-section"})]}),j(Gu,{report:t,visitTimeDisplay:ie,labels:y})]})]})]})})});_p.displayName="DailyReportResolvedItem";var Eg=({itemId:e})=>{let{labels:t}=K();return j("div",{...qe,className:Rg,children:j("p",{children:t.reportLoadFailed(e)})})};import{useCallback as Hp,useId as Ng,useMemo as Fp,useRef as Mg}from"react";import{createContext as xg,useContext as Ig,useLayoutEffect as Tg}from"react";var wp=()=>{let e=!1;return{request:()=>{e=!0},isPending:()=>e,take:()=>{let t=e;return e=!1,t}}},Ni=xg(null),Lp=(e,t)=>{let r=Ig(Ni);Tg(()=>{let n=e.current;if(r===null||!r.isPending()||n===null)return;let o=jo(n);o===null&&!t||(r.take(),_t(n)&&Et([o===null?js(n.ownerDocument):o]))})};import{useCallback as Np,useLayoutEffect as Mp,useMemo as Op,useRef as Mi}from"react";var vg=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e.at(o)?.reportHubId!==t.at(o)?.reportHubId)return!0;return!1},Dg=(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}},Ag=(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}},Cg=(e,t,r,n,o)=>{if(t===e.recordedAt)return e;if(!(t>0))return null;let a=e.offsetPx+(t-e.recordedAt),{index:s,offsetPx:i}=n.kind==="uniform"?Dg(e.index,a,n.rowHeight,r.length):Ag(e.index,a,Fa(n),r.length);return{reportHubId:gt(r,s).reportHubId,index:s,offsetPx:i,lastVisibleIndex:Vn({index:s,offsetPx:i},o,r.length,n),recordedAt:t}},_g=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=xe(t,gt(e,n).reportHubId,n-1);if(o!==-1)return o}return-1},kp=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=Mi(null),a=Mi(e),s=Mi(r),i=Np(()=>{let d=t.current,p=d===null?-1:d.getScrollPosition(),m=d===null||!(p>0)?null:d.getScrollAnchor(),f=a.current,y=m===null||m.index<0?void 0:f.at(m.index),b=d===null?0:d.getViewportSize();o.current=m===null||y===void 0||!(b>0)?null:{reportHubId:y.reportHubId,index:m.index,offsetPx:m.offsetPx,lastVisibleIndex:Vn(m,b,f.length,s.current),recordedAt:p}},[t]),l=Op(()=>({toIndex:(d,p)=>{let m=t.current;m!==null&&(m.scrollToIndex(d,p),i())},by:d=>{let p=t.current;p!==null&&(p.scrollBy(d),i())},resizeRow:(d,p)=>{let m=t.current;m!==null&&(m.updateItemSize(d,p),i())}}),[t,i]);Mp(()=>{let d=a.current;a.current=e;let p=o.current,m=t.current;if(d===e||p===null||m===null||n())return;let f=Cg(p,m.getScrollPosition(),d,s.current,m.getViewportSize());if(f===null){o.current=null;return}let y=xe(e,f.reportHubId,f.index),b=y===-1?_g(d,e,f):y;if(b===-1){o.current=null;return}if(b===f.index&&!vg(d,e,f.index,f.lastVisibleIndex)){o.current=f;return}m.scrollToIndex(b,{align:"top",offset:-f.offsetPx}),o.current={reportHubId:gt(e,b).reportHubId,index:b,offsetPx:f.offsetPx,lastVisibleIndex:Vn({index:b,offsetPx:f.offsetPx},m.getViewportSize(),e.length,r),recordedAt:m.getScrollPosition()}},[e,t,r,n]),Mp(()=>{s.current=r},[r]);let c=Np(d=>{if(d.cause!=="clamp"){i();return}let p=o.current;p!==null&&(o.current={...p,recordedAt:p.recordedAt+d.delta})},[i]);return Op(()=>({handleRangeChange:i,handleScrollAdjust:c,scroller:l}),[i,c,l])};import{useCallback as wg}from"react";var Lg=20,Pp=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>wg(a=>{t.current=a;let s=a.querySelector(`[data-testid="${e}"]`);return s!==null&&Object.defineProperty(s,"__virtualScroll",{configurable:!0,get:()=>{let i=r.current;if(i!==null)return{getViewportSize:()=>i.getViewportSize(),getScrollPosition:()=>i.getScrollPosition(),getScrollAnchor:()=>i.getScrollAnchor(),getRange:()=>i.getRange(),getFenwickSize:()=>i.getFenwickSize(),findReportIndex:l=>st(o.current,l),getReportItem:l=>l>=0?o.current.at(l):void 0,getReportIds:(l=Lg)=>kd(o.current,l),revealIndex:(l,c)=>n.toIndex(l,c)}}}),()=>{s!==null&&delete s.__virtualScroll,t.current=null}},[e,t,r,n,o]);import{jsx as Og}from"react/jsx-runtime";var Va=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let s=Mg(null),i=Hp(A=>(s.current=A,()=>{s.current=null}),[]),{handleRangeChange:l,handleScrollAdjust:c,scroller:d}=kp({items:a.items,handleRef:s,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:p,...m}=xp({...a,containerRef:e,handleRef:s,scroller:d}),f=Pp({hostTestId:t,scrollContainerRef:e,handleRef:s,scroller:d,itemsRef:r});Lp(e,a.items.length===0);let{labels:y}=K(),b=Ng(),I=a.onSelect!==null,u=Hp(A=>{p(A),l(),o(A)},[p,l,o]),R=Fp(()=>({role:"list","aria-label":y.title,"aria-describedby":I?b:void 0}),[y.title,I,b]),T=Fp(()=>I?Og("span",{id:b,className:"sr-only",children:y.listKeyboardHelp}):null,[I,b,y.listKeyboardHelp]);return{...m,handleRangeChange:u,handleScrollAdjust:c,attachVirtualScroll:i,handleRef:s,scroller:d,attachScrollContainer:f,contentProps:R,keyboardHelp:T}};import{Fragment as Wg,jsx as Ht,jsxs as Kg}from"react/jsx-runtime";var Up={pointerDragInputs:Mo,wheelSpeedMultiplier:Ao,inertiaOptions:Fr(!1),enableKeyboardNavigation:!1},Hg={...Up,inertiaOptions:Fr(!0)},Bp="daily-report-detail-list",Fg=x("relative w-full",bo,yo),Bg=x(rt,"relative"),Ug=300,ki=e=>{let t=$e(null),[r,n]=Ka(null),o=Vo(t),a=Br(r),s=Oe(i=>(t.current=i,n(i),()=>{t.current=null,n(null)}),[]);return Ht("div",{ref:s,className:mo,children:Ht("div",{className:fo,children:o===null?null:Ht(Vg,{...e,viewportHeight:o,reducedMotion:a})})})},Vg=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:s,reducedMotion:i})=>{let[{initialScrollAnchor:l,restored:c}]=Ka(()=>{let g=a?.current;if(!g||g.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!g.topItem)return{initialScrollAnchor:void 0,restored:!0};let C=st(e,g.topItem.reportHubId);return C!==-1?{initialScrollAnchor:{index:C,offsetPx:g.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:g.topItem.index,offsetPx:0},restored:!0}}),d=$e(c),p=$e(n??null),m=$e(a?.current.measuredHeights??new Map),f=$e(null),y=Fo(),b=Cs(),[I]=Ka(Go),u=$e(null),R=$e(null),T=$e(e),A=$e(o);Pg(()=>{T.current=e,A.current=o},[e,o]);let h=$e(null),[v,E]=Ka(0),_=$e(null),D=e.length,O=t===void 0?D:t,M=Oe(g=>{let C=g>=0&&g<D?e.at(g):void 0;return C===void 0?_o:C},[e,D]),V=Oe(g=>{let C=m.current.get(M(g).reportHubId);return C===void 0?cd:C},[M]),U=Oe(g=>M(g).reportHubId,[M]),ie=Oi(()=>({kind:"measured",heightOf:V}),[V]),re=Oe((g,C)=>{h.current={reportHubId:g,index:C},E(F=>F+1),A.current?.(g)},[]),z=Oe((g,C)=>{if(D===0)return;let F=Math.max(0,g),q=Math.min(D-1,C);if(F>q)return;let ue=new Set;for(let je=F;je<=q;je++){let bt=M(je);if(bt.businessDate&&ue.add(bt.businessDate),ue.size>=id)break}ue.forEach(je=>{b(je)})},[M,D,b]),Q=$e(null),Z=Oe(()=>Q.current,[]),J=Oe(g=>{if(D===0)return;let{renderingStartIndex:C,renderingEndIndex:F,visibleStartIndex:q}=g,ue=M(q);ue.reportHubId>0&&(Q.current=ue.reportHubId),ue.businessDate&&I.setLabel(be(ue.businessDate)),z(C,F),z(F+1,F+Co),z(C-Co,C-1)},[M,D,z,I]),Se=Oe(()=>_.current!==null,[]),{cursor:te,containerProps:Je,handleRangeChange:Ve,handleScrollAdjust:De,attachVirtualScroll:Ae,handleRef:me,scroller:pe,attachScrollContainer:lt,contentProps:ge,keyboardHelp:we,resolveSelectedIndex:ke,rememberSelection:et}=Va({items:e,selectedId:n??null,onSelect:o===void 0?null:re,containerRef:f,rootRef:f,testId:Bp,itemsRef:T,rowSizing:ie,arrowAlign:"top",rowActivation:!0,isViewRevealPending:Se,onRangeChange:J});Yo({items:e,scroller:pe,readTopReportId:Z});let tt=Oe((g,C)=>{if(me.current===null)return!1;let F=T.current,q=C!==null&&C.reportHubId===g?xe(F,g,C.index):ke(F,g);return q===-1?!1:(d.current&&(d.current=!1,g===p.current)||C!==null&&C.reportHubId===g&&C.index===q||pe.toIndex(q,{align:"top"}),!0)},[me,ke,pe]);rr(()=>{let g=h.current;h.current=null,_.current=null,n!=null&&(tt(n,g)||(_.current=n))},[n,tt]),rr(()=>{let g=_.current;g!==null&&tt(g,null)&&(_.current=null)},[e,tt]),rr(()=>{let g=a?.current;g&&(g.anchorReportHubId=n??null)},[n,a]),rr(()=>{h.current=null},[v]);let yt=$e(null),or=Oe(()=>{me.current&&(yt.current=me.current);let g=a?.current,C=yt.current;if(g&&C){let q=C.getScrollAnchor(),ue=q?T.current.at(q.index):void 0;q&&ue&&(g.topItem={reportHubId:ue.reportHubId,index:q.index,offsetPx:q.offsetPx})}let F=f.current;F&&(F.toggleAttribute(_r,!0),R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{F.toggleAttribute(_r,!1),R.current=null},150))},[me,a]),L=Oe(g=>Ht(qo,{...g,store:I}),[I]);rr(()=>{let g=f.current;if(!g)return;let C=()=>{I.setWheelScrollActive(!0),u.current&&clearTimeout(u.current),u.current=window.setTimeout(()=>{I.setWheelScrollActive(!1),u.current=null},wo)};return g.addEventListener("wheel",C,{passive:!0}),()=>{g.removeEventListener("wheel",C),u.current&&clearTimeout(u.current)}},[I]);let k=$e(null),B=Oe(g=>{for(let C of g){let F=C.target.parentElement,q=F===null?null:yr(F),ue=F===null?null:Hr(F),je=C.borderBoxSize[0];if(q===null||ue===null||je===void 0)continue;let bt=je.blockSize+2*Vt;if(m.current.get(q)===bt)continue;let ro=xe(T.current,q,ue-1);ro!==-1&&(m.current.set(q,bt),pe.resizeRow(ro,bt))}},[pe]),G=Oe(g=>{k.current===null&&(k.current=new ResizeObserver(B));let C=k.current;return C.observe(g),()=>C.unobserve(g)},[B]);rr(()=>()=>{k.current?.disconnect(),k.current=null},[]),rr(()=>{D!==0&&z(0,Math.min(D-1,Co))},[D,z]);let ae=$e(null),S=Oe(g=>{let C=xe(T.current,g,null);C!==-1&&(ae.current!==null&&clearTimeout(ae.current),ae.current=setTimeout(()=>{ae.current=null;let F=xe(T.current,g,C);F!==-1&&pe.toIndex(F,{align:"bottom"})},Ug))},[pe]);rr(()=>()=>{ae.current!==null&&clearTimeout(ae.current)},[]);let w=Oe(g=>{if(!A.current)return;let C=qt(g.target,f.current);if(C===null||Fd(g.target,C))return;let F=hn(C,T.current);F!==null&&(et(F.reportHubId,F.index),re(F.reportHubId,F.index))},[re,et]),P=Oe((g,C)=>Ht(Nt.Provider,{value:C,children:Ht(Cp,{item:g,observeRowHeight:G,onCommentAdded:S,userId:r,cursor:te})},g.reportHubId),[G,S,r,te]),N=Oi(()=>({...No,renderThumbOverlay:L}),[L]),$=Oi(()=>Ht(Lt.Provider,{value:O,children:Ht(kg,{ref:Ae,itemCount:D,getItem:M,getItemKey:U,getItemHeight:V,viewportSize:s,initialScrollAnchor:l,overscanCount:Lo,scrollBarOptions:N,behaviorOptions:i?Hg:Up,onRangeChange:Ve,onScrollAdjust:De,onScroll:or,testId:Bp,className:Fg,locale:y.locale,labels:y.labels,contentProps:ge,children:P})}),[Ae,O,D,M,U,V,s,i,l,N,Ve,De,or,y.locale,y.labels,ge,P]);return Ht(Wg,{children:Kg("div",{ref:lt,className:Bg,...Je,onClick:w,children:[we,$]})})};import Kp from"lucide-react/dist/esm/icons/refresh-cw.js";import{createContext as zg,useContext as jg,useLayoutEffect as Gg,useRef as qg}from"react";import{jsx as Vp,jsxs as $g}from"react/jsx-runtime";var $n=e=>10**String(e).length-1,Wa=({text:e,widestText:t,ref:r})=>$g("span",{ref:r,className:Il,children:[Vp("span",{"aria-hidden":"true",className:Tl,children:t}),Vp("span",{className:vl,children:e})]});import{jsx as Ir,jsxs as $a}from"react/jsx-runtime";var Pi=zg(!0),Yg=`inline-flex rounded-full empty:not-focus:hidden ${ee}`,Xg=(e,t,r)=>{if(r===null||r===0)return{text:e.streamProgressCount(t),widestText:e.streamProgressCount($n(t))};let n=$n(Math.max(t,r));return{text:e.streamProgressRatio(t,r,Math.min(100,Math.round(t/r*100))),widestText:e.streamProgressRatio(n,n,100)}},Qg=({labels:e,loadedCount:t,totalCount:r})=>{let{text:n,widestText:o}=Xg(e,t,r);return $a("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:x(Ke,"gap-1 bg-blue-100 font-medium text-blue-800 text-xs tabular-nums dark:bg-blue-900/40 dark:text-blue-300"),children:[Ir("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 motion-safe:animate-pulse dark:bg-blue-400"}),Ir(Wa,{text:n,widestText:o})]})},Zg=(e,t,r,n)=>e.phase==="streaming"?Ir(Qg,{labels:t,loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?$a("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:x(Ke,"gap-1 bg-amber-100 font-medium text-amber-800 text-xs tabular-nums dark:bg-amber-900/40 dark:text-amber-300"),children:[Ir(Kp,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?$a("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:x(Ke,"gap-1 bg-rose-100 font-medium text-rose-800 text-xs dark:bg-rose-900/40 dark:text-rose-300"),children:[t.streamFailed,Ir("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:n,className:x("inline-flex h-5 items-center rounded-full bg-rose-200 px-2 font-semibold text-rose-900 hover:bg-rose-300 dark:bg-rose-800 dark:text-rose-100 dark:hover:bg-rose-700",ee),children:t.streamRetry})]}):e.isRevalidating?$a("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:[Ir(Kp,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null,zn=()=>{let e=lc(),{labels:t}=K(),r=jg(Pi),n=qg(null),a=Zg(e,t,r,()=>{Et([n.current]),ra()}),s=a===null;return Gg(()=>{let i=n.current;!s||i===null||!i.contains(Te(i))||Et(la(i.ownerDocument))},[s]),Ir("span",{ref:n,tabIndex:-1,"data-daily-report-stream-status":"",className:Yg,children:a})};import{Panel as um,PanelGroup as hx,PanelResizeHandle as Sx}from"@aiquants/resize-panels";import{VirtualScroll as gx}from"@aiquants/virtualscroll";import{useCallback as mt,useEffect as Qa,useLayoutEffect as Gi,useMemo as Za,useRef as vr,useState as es}from"react";import{useSyncExternalStore as Jg}from"react";var Wp="(max-width: 639px)",eE=()=>{},tE=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return eE;let t=window.matchMedia(Wp);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},rE=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(Wp).matches:!1,nE=()=>!1,$p=()=>Jg(tE,rE,nE);import{SwipeCloseGuardContext as AE,useOverlayEscapeStack as CE,useSwipeGuardState as _E,useSwipeToDismissOverlay as wE,useTapClick as LE,useTransitionDisplay as NE}from"@aiquants/swipe-overlay";import{useCallback as qa,useEffect as tn,useId as Wi,useLayoutEffect as $i,useRef as pt,useState as Ya}from"react";import{createContext as oE,useMemo as aE}from"react";var zp=Object.freeze({id:null,indexHint:null}),za=oE(Object.freeze({selected:zp,settled:zp})),jn=(e,t)=>{let{id:r,indexHint:n}=t;return aE(()=>{if(r===null)return null;let o=xe(e,r,n);return o===-1?null:gt(e,o)},[e,r,n])};import sE from"lucide-react/dist/esm/icons/check.js";import iE from"lucide-react/dist/esm/icons/pencil.js";import lE from"lucide-react/dist/esm/icons/trash-2.js";import{memo as dE,useCallback as Tr,useContext as cE,useDeferredValue as uE,useEffect as Bi,useId as qp,useLayoutEffect as Ui,useMemo as Qn,useRef as Xn,useState as Yp}from"react";import*as Ft from"@radix-ui/react-tabs";import*as Ze from"react";import{jsx as Jr}from"react/jsx-runtime";var jp=Ze.createContext(null),Gp=e=>{let t=Ze.useContext(jp);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},Hi=(e,t)=>`${e}-trigger-${t}`,Fi=(e,t)=>`${e}-panel-${t}`,Gn=Ze.forwardRef(({value:e,children:t,...r},n)=>{let o=Ze.useId(),a=Ze.useMemo(()=>({baseId:o,value:e}),[o,e]);return Jr(Ft.Root,{ref:n,value:e,...r,children:Jr(jp,{value:a,children:t})})});Gn.displayName=Ft.Root.displayName;var qn=Ze.forwardRef(({className:e,...t},r)=>Jr(Ft.List,{ref:r,className:x("inline-flex",e),...t}));qn.displayName=Ft.List.displayName;var Yn=Ze.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=Gp("TabsTrigger");return Jr(Ft.Trigger,{ref:n,value:t,...r,id:Hi(o,t),"aria-controls":Fi(o,t),className:x(`${hl} ${ee}`,e)})});Yn.displayName=Ft.Trigger.displayName;var en=Ze.forwardRef(({className:e,value:t,tabStop:r,children:n,...o},a)=>{let{baseId:s,value:i}=Gp("TabsContent"),l=t===i,c="mt-2 data-[state=inactive]:hidden";return r?Jr("div",{ref:a,role:"tabpanel",id:Fi(s,t),"aria-labelledby":Hi(s,t),"data-state":l?"active":"inactive",hidden:!l,tabIndex:0,...o,className:x(`${c} ${ee}`,e),children:l?n:null}):Jr("div",{ref:a,role:"tabpanel",id:Fi(s,t),"aria-labelledby":Hi(s,t),"data-state":l?"active":"inactive",hidden:!l,...o,className:x(c,e),children:l?n:null})});en.displayName="TabsContent";import{jsx as W,jsxs as Bt}from"react/jsx-runtime";var Zp=x(ar,"w-24 shrink-0"),Xp={field:"flex items-baseline",label:Zp,value:"flex-1"},pE={field:"flex min-w-0 flex-1 items-baseline",label:Zp,value:"wrap-break-word min-w-0 flex-1"},mE={field:"flex flex-col gap-1",label:ar,value:""},fE={field:"flex min-w-0 items-center gap-1",label:x(ar,"shrink-0 whitespace-nowrap"),value:""},yE="flex min-h-4 flex-wrap items-center gap-1 text-slate-500 text-xs dark:text-slate-300",Qp=x("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",ns,rl,tl),bE=x("flex flex-col gap-1",os),RE=x("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",ee),Vi=e=>{let t=e,r=new Set;return{isDwelling:()=>t,set:n=>{if(n!==t){t=n;for(let o of[...r])o()}},subscribe:n=>(r.add(n),()=>{r.delete(n)})}},hE=(e,t,r,n,o,a)=>{let s=Xn(null),i=e?.reportHubId;Ui(()=>{s.current=null},[i]),Bi(()=>{n||(s.current=null)},[n]);let l=Tr(async(c,d)=>{d||(s.current=c.reportHubId);try{await a(c.reportHubId,!c.isRead,c.date)}catch{}},[a]);return Bi(()=>{if(!(r&&e&&!e.isRead&&!t)||s.current===e.reportHubId)return;let c=null,d=()=>{c!==null&&clearTimeout(c),c=o.isDwelling()?setTimeout(()=>l(e,!0),500):null};d();let p=o.subscribe(d);return()=>{p(),c!==null&&clearTimeout(c)}},[e,t,r,l,o]),{handleToggleRead:l}},Ki="article",SE=["article","relations"],gE=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},EE=x("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",Rt),xE=9,IE=.875,TE=16,Jp=4*Math.ceil((2*Vt+2*io+2*al+xE*IE*TE)/4),em=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=K(),a=qp(),s=qp(),[i,l]=Yp(Ki),{selected:c,settled:d}=cE(za),p=jn(e,c),m=jn(e,uE(d)),f=p===null?null:p.reportHubId,b=(m===null?null:m.reportHubId)===f,[I]=Yp(()=>Vi(b));return Ui(()=>{I.set(b)},[I,b]),W("aside",{"data-testid":"daily-report-side-pane","data-report-id":p?.reportHubId,"data-displayed-report-id":m?.reportHubId,"aria-busy":b?void 0:!0,className:EE,children:m===null?W("div",{className:x("flex h-full flex-1 items-center justify-center text-center",wr),children:W("p",{className:Lr,children:o.selectPrompt})}):W(Ga,{item:m,headingId:a,authorId:s,activeTab:i,onActiveTabChange:l,autoMarkRead:t,isActive:!0,dwell:I,userId:r,onReportDeleted:n},m.reportHubId)})},Ga=dE(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:s,dwell:i,userId:l,onReportDeleted:c})=>{let{draftLabelName:d,labels:p,sourceTypeConfigs:m,headingLevel:f}=K(),{report:y,error:b,isLoading:I}=mr(e.reportHubId,e.businessDate),u=Yt(),R=ia(e.reportHubId),T=R==="editing"||R==="automatic",A=Xn(null),h=Xn(null),v=Xn(!1),E=Xn(!1),_=!!(l&&y?.userId===l),D=y?.labels.some(te=>te.name===d);Bi(()=>{y!==null&&(_&&D&&R==="display"?u.open(e.reportHubId,Gr(y),!0):!D&&R==="automatic"&&u.discard(e.reportHubId))},[y,_,D,R,u,e.reportHubId]);let O=Qn(()=>y===null?void 0:()=>{v.current=!0,u.open(e.reportHubId,Gr(y),!1)},[u,e.reportHubId,y]),M=Tr(()=>{E.current=!0,u.dismiss(e.reportHubId)},[u,e.reportHubId]),V=Tr(()=>{E.current=!0,u.discard(e.reportHubId)},[u,e.reportHubId]),U=Tr(te=>{te===null||!v.current||(v.current=!1,te.focus())},[]),ie=Tr(te=>{te===null||!E.current||(E.current=!1,te.focus())},[]),re=Tr(()=>{h.current?.focus({preventScroll:!0})},[]);Ui(()=>{T||!E.current||(E.current=!1,h.current?.focus())},[T]);let z=Tr(()=>{setTimeout(()=>{let te=A.current;te!==null&&te.scrollTo({top:te.scrollHeight,behavior:Wd(te)})},100)},[]),Q=be(e.businessDate),Z=Qn(()=>y===null?null:_e(y.employeeName),[y]),J=I||!y,Se=y===null?void 0:ur(y.sourceType,m);return Bt($r,{reportHubId:e.reportHubId,children:[Bt("div",{className:bE,children:[W("dl",{className:"m-0",children:W(he,{label:p.businessDate,classNames:mE,children:W(Xe,{ref:h,level:f,id:t,tabIndex:-1,className:RE,children:Q})})}),Bt("div",{className:yE,children:[W("dl",{className:"m-0 min-w-0",children:W(he,{label:p.author,classNames:fE,valueId:r,children:J||Z===null?W("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):W(se,{fieldKey:le.field("employeeName"),raw:y?.employeeName,display:Z})})}),Se?W(Yr,{config:Se,className:"ml-2"}):null,y===null?null:W(Ca,{isEditing:T,descriptionId:null})]})]}),Bt(Gn,{value:n,onValueChange:te=>o(gE(te)),className:"flex min-h-0 flex-1 flex-col",children:[W("div",{className:os,children:W(qn,{"aria-label":p.reportTabList,className:x(bl,"grid grid-cols-2 gap-1"),children:SE.map(te=>W(Yn,{value:te,children:te==="article"?p.tabArticle:p.tabRelations},te))})}),W(en,{ref:A,value:"article",tabStop:!0,className:Qp,children:T?y?W(Da,{report:y,onCancel:M,onPublishSuccess:V,titleInputRef:U}):W("p",{className:wr,children:p.loading}):W(DE,{report:y,sourceConfig:Se,isLoading:I,error:b,item:e,autoMarkRead:a,isActive:s,dwell:i,onCommentAdded:z,userId:l,onEdit:_?O:void 0,editButtonRef:ie,onReportDeleted:c,onCommentSectionRemoved:re})}),W(en,{value:"relations",tabStop:!0,className:Qp,children:W("p",{className:wr,children:p.relationsEmpty})})]})]})});Ga.displayName="DailyReportSidePaneContent";var ja=({className:e="w-32"})=>W("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),vE=["w-full","w-11/12","w-4/5"],DE=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:s=!0,dwell:i,onCommentAdded:l,userId:c,onEdit:d,editButtonRef:p,onReportDeleted:m,onCommentSectionRemoved:f})=>{let{toggleStar:y,toggleRead:b,deleteReport:I}=Be(),{labels:u,headingLevel:R}=K(),T=Qt[R],{handleToggleRead:A}=hE(e,r,a,s,i,b),h=e!==null&&vo(e.sourceType,t),v=Qn(()=>e?.content?Fl(e.content):null,[e]),E=Qn(()=>_e(e?.subject),[e]),_=Qn(()=>_e(e?.customerName),[e]),D=async U=>{try{await y(U.reportHubId,!U.isStarred,U.date)}catch{}},O=async U=>{if(confirm(u.confirmDelete)){try{await I(U.reportHubId,U.date)}catch{return}m(U.reportHubId)}};if(n)return W("p",{className:an,children:u.reportLoadFailed(o.reportHubId)});let M=!e,V=!!(c&&e?.userId===c);return Bt("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:d,children:[Bt("div",{className:"flex items-start gap-2",children:[W("dl",{className:"m-0 flex min-w-0 flex-1",children:W(he,{label:u.subject,classNames:pE,children:M?W(ja,{className:"w-3/4"}):W("span",{className:"text-sm",children:W(se,{fieldKey:le.field("subject"),raw:e?.subject,display:E})})})}),!M&&e&&Bt("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[W("button",{type:"button",onClick:()=>D(e),className:Pe,title:e.isStarred?u.starRemove:u.starAdd,"aria-label":e.isStarred?u.starRemove:u.starAdd,"data-detail-star-button":e.reportHubId,children:W(qr,{filled:e.isStarred})}),W("button",{type:"button",onClick:()=>A(e,!1),className:Pe,title:e.isRead?u.markUnread:u.markRead,"aria-label":e.isRead?u.markUnread:u.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?W(sE,{className:Ce.read}):W(Xr,{})}),d&&W("button",{ref:p,type:"button",onClick:d,"data-detail-edit-button":e.reportHubId,className:Pe,title:u.edit,"aria-label":u.edit,children:W(iE,{className:Ce.edit})}),V&&W("button",{type:"button",onClick:()=>O(e),"data-detail-delete-button":e.reportHubId,className:Pe,title:u.deleteReport,"aria-label":u.deleteReport,children:W(lE,{className:Ce.delete})})]})]}),W("dl",{className:"m-0",children:W(he,{label:u.customer,classNames:Xp,children:M?W(ja,{className:"w-1/2"}):W("span",{className:"text-sm",children:W(se,{fieldKey:le.field("customerName"),raw:e?.customerName,display:_})})})}),Bt("div",{className:"flex flex-col gap-2",children:[W(Xe,{level:T,className:Ct,children:u.content}),W("div",{className:x(sl,lo),children:M?vE.map(U=>W("div",{className:il,children:W(ja,{className:U})},U)):v!==null&&v.text.length>0?W("div",{className:"whitespace-pre-wrap",children:W(se,{fieldKey:le.field("content"),raw:e?.content,display:v})}):W("p",{className:"text-slate-500 dark:text-slate-400",children:u.contentEmpty})})]}),W("dl",{className:"m-0",children:W(he,{label:u.visitTime,classNames:Xp,children:M?W(ja,{className:"w-1/3"}):Bt("span",{className:"text-sm",children:[zt(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",zt(e?.visitTimeTo)]})})}),e&&W(ga,{attachments:e.attachments}),e&&W(Hn,{report:e,userId:c,canComment:h,onCommentAdded:l,onSectionRemoved:f,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};import{jsx as nr,jsxs as tm}from"react/jsx-runtime";var ME="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]",OE={right:"var(--aqdr-overlay-right, 0px)"},kE="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",PE=x("relative ml-auto flex h-full w-full max-w-full touch-none shadow-xl motion-safe:transition-[transform] motion-safe:duration-200 motion-safe:ease-out",xl),HE=x("inline-flex h-9 touch-manipulation items-center rounded-full border border-slate-300 border-solid px-[15px] font-medium text-slate-600 text-sm shadow-sm hover:bg-slate-100 dark:border-slate-600 dark:text-slate-200 dark:hover:bg-slate-800",ee),FE="flex shrink-0 justify-center empty:hidden",BE=50,rm=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[s,i]=Ya(!1),[l,c]=Ya(!1),d=pt(null),p=pt(null),m=pt(null),f=pt(e),y=pt(!0),b=jn(r,t),I=qa(()=>{let A=o.current;if(A===null)return;let h=A.ownerDocument.body;m.current={body:h,overflow:h.style.overflow},h.style.overflow="hidden"},[o]),u=qa(()=>{let A=m.current;A!==null&&(A.body.style.overflow=A.overflow,m.current=null)},[]);tn(()=>{if(y.current){y.current=!1,f.current=e;return}let A=!f.current;f.current=e,A&&e&&a!==null?i(!0):!e&&s&&(p.current=a,i(!1),u())},[e,a,s,u]);let R=e&&s&&b!==null;tn(()=>{if(R)c(!0);else{let A=setTimeout(()=>c(!1),300);return()=>clearTimeout(A)}},[R]),tn(()=>{if(e&&s&&a!==null&&!d.current){let A=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:A},"",window.location.href),d.current=A}else!(e&&s)&&d.current&&(d.current=null);return e&&s?I():u(),u},[e,s,a,I,u]),tn(()=>{let A=()=>{d.current&&(p.current=a,d.current=null,i(!1),n(null))};return window.addEventListener("popstate",A),()=>window.removeEventListener("popstate",A)},[a,n]);let T=qa(()=>{e&&(p.current=a,i(!1),n(null),d.current&&(d.current=null,window.history.back()))},[e,a,n]);return{isMobileDetailOpen:s,setIsMobileDetailOpen:i,isOverlayMounted:l,shouldShowOverlay:R,handleOverlayClose:T,lastClosedItemIdRef:p,selectedItem:b}},nm=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:s}=K(),{registerNoticeHost:i}=ca(),l=pt(null),c=pt(null),d=Wi(),p=Wi(),[m,f]=Ya(Ki),y=CE(),b=Wi(),I=pt(!1),u=pt(e),R=pt(null),[T]=Ya(()=>Vi(e)),{isBlocked:A,requestBlock:h,reset:v}=_E(),E=NE(e,t),{overlayRef:_,overlayStyle:D,attemptClose:O,isSwiping:M}=wE({isOpen:e,onClose:r,isCloseBlocked:qa(()=>A,[A]),skipWhenTextSelected:!0}),V=pt(O);$i(()=>{V.current=O,u.current=e,T.set(e)},[O,e,T]),tn(()=>{if(e)return y({id:b,onEscape:Q=>Mt(Q)&&V.current()})},[e,y,b]),$i(()=>{let Q=l.current;if(Q===null)return;if(e){if(I.current)return;Q.showModal(),I.current=!0,Q.ownerDocument.getElementById(d)?.focus();return}if(!I.current)return;I.current=!1;let Z=Te(Q);Z!==null&&Q.contains(Z)&&Rn(Z)&&Z.blur(),Q.close()},[e,d]),$i(()=>{let Q=c.current;if(!(!e||Q===null))return i(Q)},[e,i]),tn(()=>{e||v()},[e,v]);let U=LE(()=>O()),ie=Q=>{let Z=Kr(Q);if(Mt(Z)){O()&&Q.preventDefault();return}if(Z.key==="Escape"){R.current=Q.timeStamp;return}let J=vc(Z,Q.currentTarget);J!==null&&(Q.preventDefault(),J.kind==="wrap"&&J.element.focus())},re=Q=>{Q.preventDefault();let Z=R.current;R.current=null,!(Z!==null&&Q.timeStamp-Z<=BE)&&V.current()},z=Q=>{let Z=Q.currentTarget;Z.open||!u.current||(I.current=!1,!V.current()&&(Z.showModal(),I.current=!0))};return E?tm("dialog",{ref:l,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${d} ${p}`,tabIndex:-1,className:x(ME,e&&!M?"pointer-events-auto":"pointer-events-none"),style:OE,inert:!e,onKeyDown:ie,onCancel:re,onClose:z,children:[nr("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:x(kE,e?"opacity-100":"opacity-0"),...U}),nr("div",{ref:_,"data-daily-report-overlay-panel":"",className:x(PE,e?"pointer-events-auto":"pointer-events-none"),style:D,children:tm("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[nr(AE.Provider,{value:{isBlocked:A,requestBlock:h},children:nr("div",{"data-testid":"daily-report-side-pane","data-report-id":E.reportHubId,"data-displayed-report-id":E.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:nr(Ga,{item:E,headingId:d,authorId:p,activeTab:m,onActiveTabChange:f,autoMarkRead:n,isActive:e,dwell:T,userId:o,onReportDeleted:a},E.reportHubId)})}),nr("div",{ref:c,"data-daily-report-notice-slot":"","data-overlay-interactive":"true",className:FE}),nr("div",{className:"flex justify-start",children:nr("button",{type:"button","data-overlay-interactive":"true",className:HE,onClick:()=>O(),children:s.close})})]})})]}):null};import JE from"lucide-react/dist/esm/icons/check.js";import{createContext as ex,memo as lm,useCallback as tx,useContext as nn,useEffect as rx,useId as Zn,useMemo as zi,useRef as nx}from"react";import{createContext as UE,createElement as VE,useLayoutEffect as KE,useMemo as WE,useRef as $E,useState as zE}from"react";var jE=6.75,GE=4,qE=1e-6,YE=e=>4*Math.ceil((2*Vt+2*io+GE+jE*e-qE)/4),Xa=UE(null),XE="data-daily-report-root-font-size-probe",QE={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},ZE=e=>{let t=We(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])},om=()=>{let e=$E(null),[t,r]=zE(null);KE(()=>{let o=e.current;if(o===null)throw new Error("[daily-report] useListRowSlotHeight needs the List to render remProbe");let a=null,s=()=>{let l=YE(ZE(o));l!==a&&(a=l,r(l))};s();let i=new ResizeObserver(s);return i.observe(o),()=>i.disconnect()},[]);let n=WE(()=>VE("div",{ref:e,"aria-hidden":!0,[XE]:"",style:QE}),[]);return{rowSlotHeight:t,remProbe:n}};import{jsx as X,jsxs as on}from"react/jsx-runtime";var ox=x(Wt,ao,so,oo),ax=x("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",Rt,co,ol),sx="min-w-24",ix="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",lx={touchAction:"manipulation"},dx=x("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",sx),cx=x("relative z-10",Pe),ux=x("flex h-full",Rt),px="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",rn="h-4 rounded bg-slate-200 dark:bg-slate-700",mx=()=>X("div",{"data-skeleton":!0,...qe,className:ux,children:on("div",{className:px,children:[on("div",{className:"flex flex-wrap items-center gap-2",children:[X("div",{className:x(rn,"w-24")}),X("div",{className:x(rn,"w-24")}),X("div",{className:x(rn,"w-24")})]}),on("div",{className:"space-y-2",children:[X("div",{className:x(rn,"w-full")}),X("div",{className:x(rn,"w-11/12")}),X("div",{className:x(rn,"w-5/6")})]})]})}),fx=e=>{e.target===e.currentTarget&&e.preventDefault()},yx="h-full w-full",dm=ex(!1),am=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=nn(Nt),a=nn(Lt),s=nn(Xa);if(s===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let i=zi(()=>({height:s}),[s]),{isCurrent:l,isTabStop:c}=Ba(t,e),d=Ua(t,e,o);return X(On.Provider,{value:c,children:X(dm.Provider,{value:l,children:X("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:ox,style:i,onMouseDown:fx,children:d?n:X("div",{...qe,className:yx})})})})},bx=({id:e})=>{let{labels:t}=K(),r=nn(Nt),n=nn(Lt);return X("span",{id:e,hidden:!0,children:n===Sn?t.listRowPositionInUnknownTotal(r+1):t.listRowPosition(r+1,n)})},Rx=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=nn(dm);return X("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:dx,children:o})},sm=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=jr();return X("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:cx,children:n})},cm=lm(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=K(),{toggleStar:s,toggleRead:i}=Be(),l=Zn(),c=Zn(),d=Zn(),p=Zn(),m=Zn(),f=zi(()=>Hl(t.content??null,dd),[t.content]),y=zi(()=>_e(t.employeeName),[t.employeeName]),b=be(e.businessDate),I=E=>{E.currentTarget.focus({preventScroll:!0});let _=Hd(E.currentTarget);_!==null&&r(e.reportHubId,_)},u=async()=>{let E=!t.isStarred;try{await s(t.reportHubId,E,t.date)}catch{}},R=async()=>{let E=!t.isRead;try{await i(t.reportHubId,E,t.date)}catch{}},T=t.isStarred?o.starRemove:o.starAdd,A=t.isRead?o.markUnread:o.markRead,h=ur(t.sourceType,a),v=[l,d,...t.attachments.length>0?[p]:[],...h===void 0?[]:[m],c].join(" ");return X("div",{"data-daily-report-card":!0,...qe,style:lx,className:ax,children:on($r,{reportHubId:e.reportHubId,children:[X(bx,{id:l}),X("span",{id:d,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),on(Rx,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:v,onClick:I,children:[X("span",{className:x(Ke,"shrink-0 bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:X("span",{className:"whitespace-nowrap font-medium text-slate-900 dark:text-slate-100",children:b})})," ",X("span",{className:x(Ke,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:X("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:X(se,{fieldKey:le.field("employeeName"),raw:t.employeeName,display:y})})})]}),on("div",{className:x(dl,"ml-auto"),children:[X(sn,{id:p,count:t.attachments.length,label:o.attachments}),h?X(Yr,{id:m,config:h}):null,X(sm,{label:T,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:u,children:X(qr,{filled:t.isStarred})}),X(sm,{label:A,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:R,children:t.isRead?X(JE,{className:Ce.read}):X(Xr,{})})]}),X("div",{id:c,className:ix,children:f.length>0?f.map((E,_)=>X("p",{className:"wrap-break-word line-clamp-1",children:X(se,{fieldKey:le.field("content"),raw:t.content,display:E})},_)):X("p",{children:o.contentEmptyPreview})})]})})});cm.displayName="ListReportCard";var im=(e,t)=>tx(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),ji=lm(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=K(),{removeStaleItem:o}=Be(),{report:a,error:s,isLoading:i,isRefetching:l}=mr(e.reportHubId,e.businessDate),c=nx(!1);rx(()=>{if(l){c.current=!0;return}!(a||i||s)&&c.current&&e.reportHubId>0&&o(e.reportHubId)},[a,i,l,s,e.reportHubId,o]);let d=im(r,e.reportHubId),p=im(r,e.reportHubId),m=(f,y)=>X(am,{reportHubId:e.reportHubId,cursor:r,cardless:{label:be(e.businessDate),isBusy:y,focusTargetRef:d},children:f});return s?m(X("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:X("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):i?m(X(mx,{}),!0):a?X(am,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:X(cm,{item:e,report:a,onSelect:t,focusTargetRef:p})}):m(X("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:X("p",{children:n.reportNotFound})}),!1)});ji.displayName="ListReportItem";import{Fragment as kx,jsx as ze,jsxs as Ja}from"react/jsx-runtime";var mm={pointerDragInputs:Mo,inertiaOptions:Fr(!1),wheelSpeedMultiplier:Ao,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},Ex={...mm,inertiaOptions:Fr(!0)},xx=Object.freeze({value:360,unit:"pixels"}),Ix=Object.freeze({value:160,unit:"pixels"}),Tx=Object.freeze({value:Jp,unit:"pixels"}),vx=Object.freeze({value:520,unit:"pixels"}),Dx=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),Ax=x("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",ee),Cx=x("relative w-full",bo,yo),_x=x(rt,"relative isolate overflow-hidden"),pm="daily-report-list",wx=()=>!1,Lx=e=>{let[t,r]=es(!1);return Gi(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] the List root is not attached");let o=s=>{for(let i of s)r(i.contentRect.width>0&&i.contentRect.width<ld)},a=new(We(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},qi=e=>{let t=vr(null),[r,n]=es(null),o=Vo(t),a=Lx(t),{rowSlotHeight:s,remProbe:i}=om(),l=Br(r),c=mt(d=>(t.current=d,n(d),()=>{t.current=null,n(null)}),[]);return Ja("div",{ref:c,className:mo,"data-testid":"daily-report-root",children:[i,o===null||s===null?null:ze(Nx,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:s,isContainerNarrow:a,reducedMotion:l})]})},Nx=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:s,rootRef:i,viewportHeight:l,rowSlotHeight:c,isContainerNarrow:d,reducedMotion:p})=>{let[m]=es(()=>s?.current??0),f=vr(null),{labels:y}=K(),b=Fo(),[I]=es(Go),R=$p()||d,T=vr(null),A=e.length,h=t===void 0?A:t,v=vr(null),E=mt(g=>o(g),[o]),_=mt(g=>{let C=g>=0&&g<A?e.at(g):void 0;return C===void 0?_o:C},[e,A]),D=vr(null),O=mt(g=>{let C=_(g.visibleStartIndex);C.reportHubId>0&&(I.setLabel(be(C.businessDate)),D.current=C.reportHubId)},[_,I]),M=mt(()=>D.current,[]),V=Za(()=>({kind:"uniform",rowHeight:c}),[c]),U=vr(e);Gi(()=>{U.current=e},[e]);let{cursor:ie,containerProps:re,handleRangeChange:z,handleScrollAdjust:Q,attachVirtualScroll:Z,handleRef:J,scroller:Se,attachScrollContainer:te,contentProps:Je,keyboardHelp:Ve,selection:De,settledSelection:Ae,resolveSelectedIndex:me,rememberSelection:pe,focusAfterRemoval:lt}=Va({items:e,selectedId:n,onSelect:E,containerRef:f,rootRef:i,testId:pm,itemsRef:U,rowSizing:V,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:wx,onRangeChange:O});Yo({items:e,scroller:Se,readTopReportId:M});let{isMobileDetailOpen:ge,setIsMobileDetailOpen:we,isOverlayMounted:ke,shouldShowOverlay:et,handleOverlayClose:tt,lastClosedItemIdRef:yt,selectedItem:or}=rm({isMobileLayout:R,selection:De,dailyReportItems:e,onSelectItem:o,rootRef:i}),L=Za(()=>({selected:De,settled:Ae}),[De,Ae]);Qa(()=>{let g=f.current,C=()=>{I.setWheelScrollActive(!0),T.current&&clearTimeout(T.current),T.current=window.setTimeout(()=>{I.setWheelScrollActive(!1),T.current=null},wo)};return g?.addEventListener("wheel",C,{passive:!0}),()=>{g?.removeEventListener("wheel",C),T.current&&clearTimeout(T.current)}},[I]),Qa(()=>{!A&&n!==null&&o(null)},[A,n,o]),Qa(()=>{if(ge||yt.current===null)return;let g=yt.current;yt.current=null;let C=me(e,g);if(C===-1)return;let F=J.current;if(F!==null){let q=Un(F,C,e.length,V),ue=q===null?"none":dp(q);ue!=="none"&&Se.toIndex(C,{align:ue})}ie.requestFocus(g)},[ge,e,yt,ie,me,J,V,Se]),Qa(()=>{let g=e.at(0);g!==void 0&&I.setLabel(be(g.businessDate))},[e,I]);let k=mt((g,C)=>{g<=0||(pe(g,C),o(g),R&&we(!0))},[R,o,we,pe]),B=mt(()=>c,[c]),G=vr(c);Gi(()=>{let g=G.current;G.current=c;let C=J.current;if(g===c||C===null)return;let F=C.getScrollPosition();F>0&&Se.by(F*c/g-F)},[J,c,Se]);let ae=mt(g=>_(g).reportHubId,[_]),S=mt((g,C)=>ze(Nt.Provider,{value:C,children:ze(ji,{item:g,onSelect:k,cursor:ie})},g.reportHubId),[k,ie]),w=mt(g=>{s&&(s.current=g);let C=f.current;C&&(C.toggleAttribute(_r,!0),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{C.toggleAttribute(_r,!1),v.current=null},150))},[s]),P=mt(g=>ze(qo,{...g,store:I}),[I]),N=Za(()=>Ja("div",{ref:te,className:_x,...re,children:[Ve,ze(Lt.Provider,{value:h,children:ze(Xa.Provider,{value:c,children:ze(gx,{ref:Z,itemCount:A,getItem:_,getItemKey:ae,getItemHeight:B,viewportSize:l,initialScrollOffset:m,overscanCount:Lo,scrollBarOptions:{...No,renderThumbOverlay:P},behaviorOptions:p?Ex:mm,onRangeChange:z,onScrollAdjust:Q,onScroll:w,testId:pm,className:Cx,locale:b.locale,labels:b.labels,contentProps:Je,children:S})})})]}),[te,Z,re,h,A,_,ae,B,l,c,p,m,P,z,Q,w,Ve,Je,b.locale,b.labels,S]),$=Za(()=>Ja(hx,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[ze(um,{id:"daily-report-list-panel",defaultSize:xx,minSize:Ix,maxSize:vx,contentOverflow:"hidden",className:Mx,children:N}),ze(Sx,{id:"daily-report-list-handle",thickness:10,indicator:Dx,className:Ax,"aria-label":y.resizeHandle}),ze(um,{id:"daily-report-detail-panel",minSize:Tx,contentOverflow:"hidden",className:Ox,children:ze(em,{dailyReportItems:e,autoMarkRead:r,userId:a,onReportDeleted:lt})})]}),[N,y.resizeHandle,e,r,a,lt]);return Ja(kx,{children:[ze("div",{className:fo,children:R?ze("div",{className:rt,children:N}):ze(za.Provider,{value:L,children:$})}),ke&&ze(nm,{isOpen:et,selectedItem:or,onClose:tt,autoMarkRead:R&&r,userId:a,onReportDeleted:lt})]})},Mx=x("flex min-h-0",el),Ox=x("flex min-h-0 flex-1",Wt);import{useCallback as TI,useEffect as zm,useLayoutEffect as Gm,useRef as qm,useState as Ji}from"react";import sI from"lucide-react/dist/esm/icons/plus.js";import iI from"lucide-react/dist/esm/icons/refresh-cw.js";import lI from"lucide-react/dist/esm/icons/rotate-cw.js";import{useEffect as Qi,useId as Km,useLayoutEffect as Wm,useMemo as rs,useRef as Ar,useState as Cr}from"react";import{useSearchParams as dI}from"react-router";import{useEffect as Px,useRef as fm,useState as Hx}from"react";var ym=(e,t,r=250)=>{let n=Br(t),[o,a]=Hx(e),s=fm(e),i=fm(!0);return Px(()=>{if(i.current){i.current=!1,s.current=e,a(e);return}let l=s.current;if(l===e)return;if(n||t===null){s.current=e,a(e);return}let c=We(t),d=0,p=null,m=f=>{p===null&&(p=f);let y=Math.min(1,Math.max(0,(f-p)/r)),b=1-(1-y)**3,I=Math.round(l+(e-l)*b);s.current=I,a(I),y<1&&(d=c.requestAnimationFrame(m))};return d=c.requestAnimationFrame(m),()=>c.cancelAnimationFrame(d)},[e,r,n,t]),n?e:o};import Fx from"lucide-react/dist/esm/icons/x.js";import{useEffect as bm,useId as Rm,useLayoutEffect as Bx,useRef as Jn,useState as Ux}from"react";import{jsx as Dr,jsxs as Sm}from"react/jsx-runtime";var Vx=x("h-6 w-full min-w-0 rounded-md border border-solid bg-white pr-[24px] pl-[7px] text-slate-900 text-sm dark:bg-slate-900 dark:text-slate-100",At,ee),Kx=Object.freeze({union:x("mr-2 inline-flex h-6 shrink-0 items-center rounded-full border border-solid bg-white px-[11px] font-semibold text-slate-800 text-xs dark:bg-slate-900 dark:text-slate-100",At,ee),intersection:x("mr-2 inline-flex h-6 shrink-0 items-center rounded-full border border-blue-700 border-solid bg-blue-700 px-[11px] font-semibold text-white text-xs dark:border-blue-600 dark:bg-blue-600",ee)}),hm=e=>e.trim().length===0,Wx=(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 gm({labels:e,debounceMs:t,search:r,onCommit:n,onCombineChange:o,onRelease:a,clearSignal:s}){let[i,l]=Ux(""),c=Jn(null),d=Jn(null),p=Jn(!1),m=Jn(s),f=Rm(),y=Rm(),b=Jn({search:r,onCommit:n,onRelease:a});Bx(()=>{b.current={search:r,onCommit:n,onRelease:a}});let I=()=>{d.current!==null&&clearTimeout(d.current),d.current=null},u=D=>{I();let O=b.current;hm(D)?O.search.committed!==null&&O.onRelease():O.onCommit(D,O.search.combine)},R=D=>{t===null||p.current||(I(),d.current=setTimeout(()=>u(D),t))},T=()=>{I(),l(""),a(),c.current?.focus()},A=D=>{l(D.target.value),R(D.target.value)},h=D=>{let O=Kr(D);if(D.key==="Enter"&&!Rr(O)){D.preventDefault(),u(i);return}Mt(O)&&(i.length>0||r.committed!==null)&&(D.preventDefault(),T())},v=()=>{I();let D=r.combine==="union"?"intersection":"union";hm(i)?o(D):n(i,D)};bm(()=>{m.current!==s&&(m.current=s,d.current!==null&&clearTimeout(d.current),d.current=null,l(""))},[s]),bm(()=>()=>{d.current!==null&&clearTimeout(d.current)},[]);let E=r.combine==="intersection",_=Wx(e,r);return Sm("search",{"data-testid":"daily-report-search",className:gl,children:[Dr("button",{type:"button","data-testid":"daily-report-search-combine","aria-describedby":f,title:E?e.searchCombineAndTitle:e.searchCombineOrTitle,onClick:v,className:Kx[r.combine],children:E?e.searchCombineAnd:e.searchCombineOr}),Sm("div",{className:"relative min-w-0 flex-1",children:[Dr("input",{ref:c,type:"text","data-testid":"daily-report-search-input","aria-label":e.searchInputLabel,"aria-describedby":y,title:e.searchSyntaxHelp,placeholder:e.searchPlaceholder,value:i,onChange:A,onKeyDown:h,onCompositionStart:()=>{p.current=!0,I()},onCompositionEnd:D=>{p.current=!1,R(D.currentTarget.value)},className:Vx}),i.length>0||r.committed!==null?Dr("button",{type:"button","data-testid":"daily-report-search-clear","aria-label":e.searchClear,title:e.searchClear,onClick:T,className:x("absolute top-0 right-0",Pe),children:Dr(Fx,{"aria-hidden":"true",className:"size-4"})}):null]}),Dr("span",{id:f,hidden:!0,children:E?e.searchCombineAndTitle:e.searchCombineOrTitle}),Dr("span",{id:y,hidden:!0,children:e.searchSyntaxHelp}),Dr("span",{"data-testid":"daily-report-search-status","aria-live":"polite",className:x("ml-2 flex min-h-6 max-w-1/2 items-center self-end text-slate-600 text-xs leading-4 empty:ml-0 dark:text-slate-300",Lr),children:_})]})}var Em=new WeakMap,xm=e=>{let t=new Set;for(let r of e)t.add(r.reportHubId);return{items:e,ids:t,answeredByChunk:new WeakMap}},$x=(e,t)=>e.businessDate===t.businessDate&&e.sourceType===t.sourceType,zx=(e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},Im=(e,t,r)=>{if(e===null)return{items:t,hasAnswerOnlyItems:!1};let n=new Map;for(let l of Md(t,e.answeredByChunk,c=>e.ids.has(c.reportHubId)))n.set(l.reportHubId,l);let o=[],a=!1;for(let l of e.items){let c=n.get(l.reportHubId);c!==void 0?o.push($x(c,l)?l:c):r(l.reportHubId)||(o.push(l),a=!0)}let s=Em.get(e);if(s!==void 0&&s.list.hasAnswerOnlyItems===a&&zx(s.items,o))return s.list;let i={items:o,hasAnswerOnlyItems:a};return Em.set(e,{items:o,list:i}),i};var Tm=(e,t,r)=>{let n=t.at(0);if(n===void 0)return null;let o=st(e,r);if(o!==-1){let a=new Set;for(let s of t)a.add(s.reportHubId);for(let s=1;o+s<e.length||o-s>=0;s++){let i=e.at(o+s);if(i!==void 0&&a.has(i.reportHubId))return i.reportHubId;let l=o-s>=0?e.at(o-s):void 0;if(l!==void 0&&a.has(l.reportHubId))return l.reportHubId}}return n.reportHubId},Yi=(e,t,r,n)=>{if(r===null){let o=t.at(0);return n&&o!==void 0?o.reportHubId:null}return st(t,r)!==-1?r:Tm(e,t,r)},vm=(e,t,r)=>e.selected===null?r!==null&&st(t,r)!==-1?r:null:st(t,e.selected)!==-1?e.selected:Tm(e.items,t,e.selected);import{useEffect as Am,useLayoutEffect as Qx,useMemo as Cm,useRef as _m,useSyncExternalStore as Zx}from"react";var jx=1e3,Gx=5e3,qx={combine:"union",committed:null,generation:0,status:"idle",failure:null,items:null,answered:null},Yx=e=>e===400?"invalid":e===404?"unavailable":e===429?"busy":"failed",Xx=(e,t)=>e.length===t.length&&e.every((r,n)=>r.length===t[n].length&&r.every((o,a)=>o.length===t[n][a].length&&o.every((s,i)=>s.text===t[n][a][i].text&&s.tier===t[n][a][i].tier))),Dm=e=>{let t=qx,r=new Set,n=null,o=null,a=null,s=null,i=null,l=null,c=h=>{t=h;for(let v of r)v()},d=()=>{s!==null&&clearTimeout(s),i!==null&&clearTimeout(i),s=null,i=null},p=(h,v)=>{let E=t.answered;return E!==null&&E.query.text===h.text&&E.query.combine===h.combine&&Xx(E.words,v)?E:{query:h,words:v}},m=h=>{let v=new URLSearchParams({[He.searchQuery]:h.text,[He.searchCombine]:h.combine});return`${e.apiBasePath}/${Ge.search}?${v.toString()}`},f=(h,v,E,_)=>{if(!E){c({...t,status:"failed",failure:h});return}l!==_&&(l=_,i=setTimeout(()=>{i=null,b(v,!0)},Gx))},y=async(h,v,E)=>{let _=new AbortController;n={controller:_};let D={Accept:"application/json"};E&&a!==null&&a.generation===v&&(D["If-None-Match"]=a.value);try{let O=await e.fetch(m(h),{headers:D,cache:"no-store",signal:_.signal});if(_.signal.aborted||v!==t.generation)return;if(O.status===304){t.status!=="done"&&c({...t,status:"done",failure:null});return}if(O.status===401||O.status===403){e.onSessionExpired(),f("failed",h,!1,v);return}if(!O.ok){f(Yx(O.status),h,E,v);return}let M=$l(await O.json());if(_.signal.aborted||v!==t.generation)return;if(M===null){f("failed",h,E,v);return}let V=O.headers.get("ETag");a=V===null?null:{generation:v,value:V},l=null,c({...t,status:"done",failure:null,items:M.items,answered:p(h,M.words)})}catch{if(_.signal.aborted||v!==t.generation)return;f("failed",h,E,v)}finally{if(n!==null&&n.controller===_&&(n=null),n===null&&o!==null){let O=o;o=null,b(O.query,O.background)}}},b=(h,v)=>{if(n!==null){o={query:h,background:(o===null||o.background)&&v};return}y(h,t.generation,v)};return{getSnapshot:()=>t,subscribe:h=>(r.add(h),()=>{r.delete(h)}),commit:(h,v)=>{d();let E=t.committed,_=E!==null&&E.text===h&&E.combine===v,D={text:h,combine:v};c({...t,combine:v,committed:D,generation:_?t.generation:t.generation+1,status:"searching",failure:null}),b(D,!1)},setCombine:h=>{h!==t.combine&&c({...t,combine:h})},release:()=>{d(),n?.controller.abort(),n=null,o=null,t.committed!==null&&c({combine:t.combine,committed:null,generation:t.generation+1,status:"idle",failure:null,items:null,answered:null})},invalidate:()=>{let h=t.committed;h!==null&&(s!==null&&clearTimeout(s),s=setTimeout(()=>{s=null,b(h,!0)},jx))},dispose:()=>{d(),n?.controller.abort(),n=null,o=null}}};var wm=({apiBasePath:e,invalidation:t,onSessionExpired:r})=>{let n=_m(r);Qx(()=>{n.current=r});let o=Cm(()=>Dm({apiBasePath:e,onSessionExpired:()=>n.current(),fetch:(i,l)=>fetch(i,l)}),[e]);Am(()=>()=>o.dispose(),[o]);let a=_m(t);Am(()=>{a.current!==t&&(a.current=t,o.invalidate())},[t,o]);let s=Zx(o.subscribe,o.getSnapshot,o.getSnapshot);return Cm(()=>({...s,commit:o.commit,setCombine:o.setCombine,release:o.release}),[s,o])};import{useEffect as Pm,useLayoutEffect as nI,useMemo as oI,useRef as Hm}from"react";var Jx=4294967295,Lm=e=>typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=Jx,eI=e=>{if(!Array.isArray(e)||e.length%3!==0)return null;let t=[];for(let r=0;r<e.length;r+=3){let n=e[r],o=e[r+1],a=e[r+2];if(!(typeof n=="number"&&Number.isSafeInteger(n)&&n>=0&&typeof o=="number"&&Number.isSafeInteger(o)&&n<o)||!un(a))return null;if(r>0){let s=t[r-2];if(s>n||s===n&&t[r-1]===a)return null}t.push(n,o,a)}return t},tI=e=>{if(!dr(e))return null;let t={};for(let[r,n]of Object.entries(e)){if(!(Qo(r)&&dr(n)&&Lm(n.fingerprint)))return null;let o=eI(n.ranges);if(o===null)return null;t[r]={fingerprint:n.fingerprint,ranges:o}}return t},Nm=(e,t)=>{if(!(dr(e)&&Lm(e.wordsDigest)&&Array.isArray(e.reports)))return null;let r=new Set(t.requestedIds),n=new Set,o=2**t.setCount-1,a=[];for(let s of e.reports){if(!dr(s))return null;let{reportHubId:i,matchedSets:l}=s;if(!(typeof i=="number"&&Nr(i)&&r.has(i))||n.has(i)||(n.add(i),t.expectsMatchedSets?!(typeof l=="number"&&Number.isInteger(l)&&l>=0&&l<=o):l!==null))return null;let c=tI(s.fields);if(c===null)return null;a.push({reportHubId:i,matchedSets:l,fields:c})}return{wordsDigest:e.wordsDigest,reports:a}};var Mm=({hasListener:e,batchSize:t,inFlightBound:r,send:n})=>{dt("createIdBatchScheduler: batchSize",t,1),dt("createIdBatchScheduler: inFlightBound",r,1);let o=new Set,a=new Map,s=!1,i=()=>{let d=[],p=[...o];for(let m=p.length-1;m>=0&&d.length<t;m--){let f=p[m];o.delete(f),e(f)&&d.push(f)}return d.reverse()},l=d=>{let p=new AbortController;a.set(p,d);let m=()=>{a.delete(p),c()};n(d,p.signal).then(m,m)},c=()=>{for(s=!1;a.size<r;){let d=i();if(d.length===0)return;l(d)}};return{enqueue:d=>{o.delete(d),o.add(d),!s&&(s=!0,queueMicrotask(c))},isWanted:d=>o.has(d),release:d=>{let p=[];o.delete(d)&&p.push(d);for(let[m,f]of a)m.signal.aborted||!f.includes(d)||f.some(e)||(m.abort(),p.push(...f));return p},dispose:()=>{let d=[...o];o.clear();for(let[p,m]of a)p.signal.aborted||(p.abort(),d.push(...m));return d}}};var Om=2*cn*ht.maxDetailIds,rI=e=>{let t=Ur(e.headers.get("Retry-After"));return t===null?null:t*1e3},km=({apiBasePath:e,fetch:t,answered:r,onSessionExpired:n})=>{let o=r.words.length,a=r.query.combine==="union"&&o>=2,s=qd(r.words),i=new Map,l=new Map,c=0,d=new Map,p=new Set,m=0,f=0,y=E=>{let _=i.get(E);if(_!==void 0)return _;let D={entry:void 0,appliedSequence:0,settledEpoch:null,retriedEpoch:null,revalidated:new Set};return i.set(E,D),l.has(E)||(c+=1),D},b=E=>{for(let _ of E){let D=i.get(_);D!==void 0&&(D.settledEpoch=null)}},I=()=>{if(!(c<=Om))for(let E of[...i.keys()]){if(c<=Om)return;l.has(E)||(i.delete(E),d.delete(E),c-=1)}},u=E=>{let _=l.get(E);if(_!==void 0)for(let D of[..._])D()},R=E=>{let _=new URLSearchParams({[He.searchQuery]:r.query.text,[He.searchCombine]:r.query.combine,[He.reportIds]:E.join(",")});return`${e}/${Ge.searchMarks}?${_.toString()}`},T=(E,_)=>{for(let D of E){let O=y(D.reportHubId);O.appliedSequence>_||(O.appliedSequence=_,O.entry=D,i.delete(D.reportHubId),i.set(D.reportHubId,O),u(D.reportHubId))}I()},A=(E,_)=>{let D=[];for(let M of E){let V=i.get(M);V!==void 0&&V.retriedEpoch!==m&&D.push({id:M,record:V})}if(D.length===0)return;let O=setTimeout(()=>{p.delete(O);for(let{id:M,record:V}of D){let U=d.get(M);U===void 0||U.timer!==O||(d.delete(M),l.has(M)?(V.retriedEpoch=m,v.enqueue(M)):V.settledEpoch=null)}},_);p.add(O);for(let{id:M,record:V}of D)d.set(M,{timer:O,record:V})},h=async(E,_)=>{f+=1;let D=f,O=m;for(let M of E)y(M).settledEpoch=m,d.delete(M);I();try{let M=await t(R(E),{headers:{Accept:"application/json"},cache:"no-store",signal:_});if(M.status===401||M.status===403){n();return}if(M.status===429){let U=rI(M);U!==null&&O===m&&A(E,U);return}if(!M.ok)return;let V=Nm(await M.json(),{requestedIds:E,setCount:o,expectsMatchedSets:a});if(_.aborted||V===null||V.wordsDigest!==s)return;T(V.reports,D)}catch{}},v=Mm({hasListener:E=>l.has(E),batchSize:ht.maxDetailIds,inFlightBound:cn,send:h});return{indicator:Object.freeze({setCount:o,showsMatchedSets:a}),subscribe:(E,_)=>{let D=l.get(E);D===void 0&&(D=new Set,l.set(E,D),i.has(E)&&(c-=1)),D.add(_);let O=i.get(E),M=O!==void 0&&O.settledEpoch===m;return D.size===1&&!M&&!v.isWanted(E)&&v.enqueue(E),()=>{let V=l.get(E);V===void 0||!V.delete(_)||V.size>0||(l.delete(E),i.has(E)&&(c+=1),b(v.release(E)),I())}},read:E=>{let _=i.get(E);return _===void 0?void 0:_.entry},revalidate:(E,_,D)=>{let O=y(E),M=`${_}\0${D}`;O.revalidated.has(M)||(O.revalidated.add(M),v.enqueue(E))},advanceEpoch:()=>{m+=1;for(let E of p)clearTimeout(E);p.clear(),d.clear();for(let E of l.keys())v.enqueue(E)},dispose:()=>{for(let _ of p)clearTimeout(_);p.clear();let E=[...d.keys()];d.clear(),b([...v.dispose(),...E])}}};var Fm=({apiBasePath:e,answered:t,shownRevision:r,onSessionExpired:n})=>{let o=Hm(n);nI(()=>{o.current=n});let a=oI(()=>t===null?null:km({apiBasePath:e,answered:t,onSessionExpired:()=>o.current(),fetch:(i,l)=>fetch(i,l)}),[e,t]);Pm(()=>{if(a!==null)return()=>a.dispose()},[a]);let s=Hm({store:a,shownRevision:r});return Pm(()=>{let i=s.current;s.current={store:a,shownRevision:r},a!==null&&i.store===a&&i.shownRevision!==r&&a.advanceEpoch()},[a,r]),a};import*as eo from"@radix-ui/react-switch";import*as Um from"react";import{jsx as Bm}from"react/jsx-runtime";var ts=Um.forwardRef(({className:e,...t},r)=>Bm(eo.Root,{className:x(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${pl} ${fl} ${ee}`,e),...t,ref:r,children:Bm(eo.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${ml} ${yl}`})}));ts.displayName=eo.Root.displayName;import{useSyncExternalStore as aI}from"react";var Vm=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)})}},Xi=e=>aI(e.subscribe,e.get,e.get);import{Fragment as II,jsx as ne,jsxs as ft}from"react/jsx-runtime";var cI="list",uI=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},pI=x(Rl,Dl,"flex flex-wrap items-center gap-2"),$m="relative h-4 w-4 p-0 after:absolute after:-inset-1",mI="flex items-center gap-2",fI=({count:e})=>{let{labels:t}=K(),[r,n]=Cr(null),o=ym(e,r);return ne(Wa,{ref:n,text:t.totalCount(o),widestText:t.totalCount($n(Math.max(e,o)))})},yI=({setSize:e,isSearchAnswer:t})=>{let{labels:r}=K();return t?ne("span",{children:r.searchHitCount(e)}):e===Sn?ne("span",{children:r.totalCountLoading}):ne(fI,{count:e})},bI=({checked:e,onCheckedChange:t})=>{let{labels:r}=K(),n=Km(),o=Km();return ft("div",{className:"flex items-center gap-1 pl-1",children:[ne(ts,{id:n,checked:e,onCheckedChange:t,title:r.autoReadTitle,"aria-describedby":o}),ne(Fn,{htmlFor:n,className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:r.autoRead}),ne("span",{id:o,hidden:!0,children:r.autoReadTitle})]})},RI=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let s=Xi(e);return ne(qi,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:s,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},hI=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=Xi(e);return ne(ki,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},SI=({tabItems:e,actions:t,searchRow:r})=>{let[n,o]=Cr(cI),{labels:a}=K();return ft(Gn,{value:n,onValueChange:s=>o(uI(s)),className:x("@container/views",rt),children:[ft("div",{className:x(Sl,Al,Cl[n]),children:[ft("div",{className:pI,children:[ne(qn,{"aria-label":a.viewTabList,className:"flex flex-wrap gap-1",...xc,children:e.map(({value:s,label:i})=>ne(Yn,{value:s,children:i},s))}),t]}),r]}),e.map(({value:s,content:i})=>ne(en,{value:s,tabStop:!1,className:x("mt-0",rt),children:i},s))]})},gI=Object.freeze({items:null,generation:0,revision:0,change:"none",scrollRequest:null,restoreOnRelease:!0}),EI=(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}},xI=({answer:e,hasAnswerOnlyItems:t})=>{let{phase:r,isRevalidating:n}=Vr(),o=r==="complete"&&!n,a=Ar(null);return Qi(()=>{!(o&&t)||a.current===e||(a.current=e,Dn())},[o,t,e]),null},Zi=({userId:e})=>{let[t,r]=Cr(!1),{labels:n,renderHeader:o,showDevControls:a,apiBasePath:s,onSessionExpired:i,search:l}=K(),{toggleSse:c,createReport:d,refetchData:p,clearCacheAndRefetch:m}=Be(),{isSseEnabled:f,items:y,searchInvalidation:b,isReportRemoved:I,removedVersion:u}=ya(),[R]=dI(),T=wm({apiBasePath:s,invalidation:b,onSessionExpired:i}),A=l===null||T.committed===null?null:T.items,[h,v]=Cr(gI);h.items!==A&&v(EI(h,A,T.generation));let E=rs(()=>A===null?null:xm(A),[A]),_=rs(()=>Im(E,y,I),[E,y,I,u]),D=_.items,O=Ud(y.length,pc()),M=A===null?O:D.length,[V,U]=Cr(0),[ie]=Cr(()=>({preSearchTopReportId:null})),re=rs(()=>({request:h.scrollRequest,slot:ie}),[h.scrollRequest,ie]),z=Fm({apiBasePath:s,answered:A===null?null:T.answered,shownRevision:h.revision,onSessionExpired:i}),Q=Ar(0),Z=Ar({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[J]=Cr(()=>Vm(Ns(D))),Se=Ar(null),te=Ar(D),Je=Ar(h.revision);Wm(()=>{if(Je.current===h.revision)return;Je.current=h.revision;let ge=te.current,we=J.get(),ke=we;h.change==="enter"?(Se.current={selected:we,items:ge},ke=Yi(ge,D,we,!0)):h.change==="start"||h.change==="update"?ke=Yi(ge,D,we,h.change==="start"):h.change==="restore"&&Se.current!==null&&(ke=vm(Se.current,D,we)),(h.change==="restore"||h.change==="release")&&(Se.current=null),ke!==we&&J.set(ke)},[h,D,J]),Wm(()=>{te.current=D},[D]);let Ve=Ar(!1);Qi(()=>{let ge=Ns(D);!Ve.current&&ge!==null&&(Ve.current=!0,J.get()===null&&J.set(ge))},[D,J]);let De=async()=>{await p()},Ae=async()=>{await m()},me=async()=>{let we=R.get("businessDate")||ds();T.committed!==null&&(v(et=>({...et,restoreOnRelease:!1})),U(et=>et+1),T.release());let ke=await d(we);J.set(ke)};Qi(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let pe=ge=>{r(ge),localStorage.setItem("daily-report-auto-read",String(ge))},lt=rs(()=>[{value:"list",label:n.tabList,content:ne(RI,{selectionStore:J,dailyReportItems:D,rowSetSize:M,autoMarkRead:t,userId:e,scrollOffsetRef:Q})},{value:"tree",label:n.tabTree,content:ne("div",{className:x("flex flex-1 items-center justify-center",wr),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:ne(hI,{selectionStore:J,dailyReportItems:D,rowSetSize:M,userId:e,scrollRestoreRef:Z})}],[D,M,t,e,n,J]);return ft(II,{children:[o({title:n.title,annotation:ft("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[ne(zn,{}),ne(yI,{setSize:M,isSearchAnswer:A!==null}),ne("span",{children:n.debounce(Or)})]})}),ne("div",{className:uo,children:ft("div",{className:po,children:[A!==null&&ne(xI,{answer:A,hasAnswerOnlyItems:_.hasAnswerOnlyItems}),ne(Ho.Provider,{value:A===null?"date":"ids",children:ne(Xt.Provider,{value:z,children:ne(Os.Provider,{value:re,children:ne(SI,{tabItems:lt,searchRow:l===null?null:ne(gm,{labels:n,debounceMs:l.debounceMs,search:T,onCommit:T.commit,onCombineChange:T.setCombine,onRelease:T.release,clearSignal:V}),actions:ft("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[ft(Pt,{size:"sm",onClick:me,className:"flex h-6 items-center gap-1 rounded-lg bg-amber-700 px-2 font-medium text-white text-xs shadow-xs hover:bg-amber-800 dark:bg-amber-700 dark:hover:bg-amber-800",title:n.createReportTitle,children:[ne(sI,{className:"h-3 w-3"}),ne("span",{children:n.createReport})]}),a&&ft("div",{className:"hidden h-6 items-center gap-1 rounded-lg border border-amber-300/70 border-solid bg-amber-50/60 px-[3px] text-slate-600 sm:flex dark:border-amber-700/50 dark:bg-amber-950/40 dark:text-slate-300",title:n.devControls,"data-testid":"dev-controls-toolbox",children:[ne("span",{className:"select-none font-bold font-mono text-amber-800 text-xs uppercase dark:text-amber-200",children:"dev"}),ne(ts,{"aria-label":n.devSseToggle,title:n.devSseToggle,checked:f,onCheckedChange:c}),ft("div",{className:mI,"data-testid":"dev-icon-buttons",children:[ne(Pt,{variant:"ghost",size:"icon",onClick:De,className:x($m,"text-slate-600 hover:bg-amber-200/60 hover:text-slate-900 dark:text-slate-300 dark:hover:bg-amber-800/60 dark:hover:text-slate-100"),title:n.devReload,"data-testid":"dev-reload-btn",children:ne(lI,{className:"size-3"})}),ne(Pt,{variant:"ghost",size:"icon",onClick:Ae,className:x($m,"text-amber-800 hover:bg-amber-200/60 hover:text-amber-950 dark:text-amber-300 dark:hover:bg-amber-800/60 dark:hover:text-amber-100"),title:n.devClearCache,"data-testid":"dev-clear-cache-btn",children:ne(iI,{className:"size-3"})})]})]}),ne(bI,{checked:t,onCheckedChange:pe})]})})})})})]})})]})};import{Fragment as jm,jsx as Ie,jsxs as to}from"react/jsx-runtime";var vI=x(rt,Wt),DI=x("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",Rt,ee),AI=({isFailed:e,handOver:t})=>{let{labels:r,renderHeader:n}=K(),o=qm(null),a=TI(i=>(o.current=i,t.take()&&_t(i)&&Et([i]),()=>{o.current=null,i.contains(Te(i))&&t.request()}),[t]),s=()=>{Et([o.current]),ra()};return to(jm,{children:[n({title:r.title,annotation:e?Ie("span",{className:x("font-bold",an),children:r.loadErrorBadge}):to("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[Ie(zn,{}),Ie("span",{children:r.totalCountLoading}),Ie("span",{children:r.debounce(Or)})]})}),Ie("div",{className:uo,children:Ie("div",{className:po,children:Ie("div",{className:vI,children:Ie("div",{ref:a,tabIndex:-1,...Tc,"data-testid":"daily-report-status-panel","data-phase":e?"failed":"loading",className:x(DI,e&&"border-red-200 dark:border-red-900"),children:e?to(jm,{children:[Ie("p",{className:x("font-medium",an),children:r.loadError}),Ie("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:s,className:x("rounded bg-slate-100 px-4 py-2 text-slate-700 text-sm hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-300 dark:hover:bg-slate-700",ee),children:r.reload})]}):Ie("p",{children:r.loadingIds})})})})})]})},CI=(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:""},_I=Object.freeze({status:"",alert:""}),wI=()=>{let{labels:e}=K(),t=CI(cc(),e),[r]=Ji(t),[n,o]=Ji(!1),a=n||t.status!==r.status||t.alert!==r.alert;Gm(()=>{a&&!n&&o(!0)},[a,n]);let{status:s,alert:i}=a?t:_I;return to("div",{"data-testid":"daily-report-stream-announcer",className:"sr-only",children:[Ie("p",{role:"status",children:s}),Ie("p",{role:"alert",children:i})]})},LI=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=K(),o=Vr(),[a]=Ji(wp),s=qm(n);Gm(()=>{s.current=n}),zm(()=>{In({apiBasePath:r,userKey:t??null})},[r,t]),zm(()=>{o.phase==="auth-required"&&s.current()},[o.phase]);let i=o.hasItems||o.phase==="complete";return to(qs,{children:[Ie(wI,{}),Ie(Pi.Provider,{value:!1,children:Ie(Ni.Provider,{value:a,children:Ie(si,{user:e,userId:t,children:i?Ie(Zi,{userId:t}):Ie(AI,{isFailed:o.phase==="failed",handOver:a})},t??"anonymous")})})]})},NI=({config:e,...t})=>Ie(Rs,{config:e,children:Ie(LI,{...t})});var MI=new Set(Yd.filter(e=>e!=="clearCache")),OI=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:s,formMethod:i,json:l,nextUrl:c,text:d})=>{if(!n)return!1;if(!(r.pathname===c.pathname&&r.search===c.search&&r.hash===c.hash))return n;if(a){let f=a.get(Ye.intent);if(typeof f=="string"&&MI.has(f))return!1}return e!==void 0||t!==void 0||o!==void 0||a!==void 0||s!==void 0||i!==void 0||l!==void 0||d!==void 0?n:!1},kI=e=>{let t=async r=>{Vs();let n=await r.serverLoader(),o=n.userId;return Us({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};export{ed as DAILY_REPORT_LABEL_CATALOGS,ps as DAILY_REPORT_LABEL_KEYS,no as DAILY_REPORT_LATTICE_BLOCK_QUANTUM_CLASS_NAME,Qf as DAILY_REPORT_LAYOUT_LATTICE_PX,si as DailyReportActionProvider,sn as DailyReportAttachmentIndicator,Rs as DailyReportConfigProvider,ki as DailyReportDetailList,qs as DailyReportErrorProvider,En as DailyReportIdsStreamClient,zn as DailyReportIdsStreamStatus,qi as DailyReportList,NI as DailyReportPage,Zi as DailyReportResolvedContent,Us as bootstrapDailyReportIdsStreamSession,kI as createDailyReportClientLoader,OI as dailyReportShouldRevalidate,mn as defaultDailyReportClientConfig,In as ensureDailyReportIdsStreamSession,Vs as primeDailyReportIdsStreamSession,ys as resolveDailyReportLabels,ur as resolveSourceTypeConfig,na as resyncDailyReportIdsStream,uR as useDailyReportActionContext,Si as useDailyReportComments,K as useDailyReportConfig,mr as useDailyReportDetail,xb as useDailyReportIdsStream,Cs as useDailyReportPrefetch,$s as useDailyReportSseConnection};
|
|
1
|
+
import Cf from"lucide-react/dist/esm/icons/paperclip.js";var If="data-daily-report-row-surface",qe={[If]:""},Nr="data-daily-report-scrolling",Gt=8;var io="[--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]",Yt=`${io} h-[calc-size(auto,round(up,size,var(--aqdr-lattice-block)))]`,qt="p-[8px]",yl="pr-[8px]",so="contain-size contain-layout contain-style",hl="contain-strict",Ct="pointer-events-none absolute size-px whitespace-nowrap opacity-0 select-none",te="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 dark:focus-visible:outline-blue-400",Rt="border-slate-500 placeholder:text-slate-500 dark:border-slate-500 dark:placeholder:text-slate-400",bl="-mx-[4px] px-[4px] pb-[4px] scroll-p-[4px]",di="scrollbar-thin [scrollbar-gutter:stable]",ci=`-m-[4px] overflow-hidden p-[4px] ${di}`,Rl="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",lo="rounded-[calc(var(--radius-2xl)+8px)]",co="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]",Sl="[: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",St="rounded-2xl border border-solid border-slate-200 bg-white p-[15px] shadow-sm dark:border-slate-700 dark:bg-slate-900/70",uo=16,Or="rounded-xl border border-dashed border-slate-300 bg-slate-50 p-[11px] text-slate-600 text-sm dark:border-slate-600 dark:bg-slate-900/40 dark:text-slate-300",gl=12,po="rounded-xl bg-slate-50 p-3 text-slate-700 text-sm leading-6 dark:bg-slate-800/60 dark:text-slate-200";var El="min-h-24",xl="flex h-6 items-center",mo="[--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",Ve=`flex size-6 shrink-0 items-center justify-center rounded-full hover:bg-slate-200 dark:hover:bg-slate-700 ${te}`,Dl="-mx-1",Tl="flex items-center gap-1",$e="inline-flex h-6 items-center rounded-full px-3",Il="inline-flex h-6 items-center rounded-full border border-solid px-[11px]",vl="inline-flex h-6 shrink-0 items-center rounded px-2 font-semibold text-xs tracking-wide",jt="size-4",Oe={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`},Al="h-6 w-10 border-4 border-solid",Cl="size-4 data-[state=checked]:translate-x-4",_l="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]",wl="bg-white dark:bg-slate-950 forced-colors:bg-[ButtonText]";var Ll="rounded-xl bg-slate-100 p-1 dark:bg-slate-800",Nl="rounded-xl border border-solid p-[3px]",Ol="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",vf="supports-[margin-left:round(down,1px,1px)]:ml-[max(0px,round(down,calc((100%-72rem)/2),var(--aqdr-lattice-block)))]",Af="bg-slate-50 dark:bg-slate-950",et="flex min-h-0 flex-1 flex-col",fo=`${et} ${Af}`,yo=`${et} mx-auto w-full max-w-6xl ${io} px-[var(--aqdr-lattice-block)] pt-[var(--aqdr-lattice-block)] ${vf}`,Ml=`relative z-[1] shrink-0 ${Yt}`,kl="flex min-h-8 min-w-0 items-end",Pl="grid min-w-0 grid-cols-1 gap-2 sm:grid-cols-[minmax(0,2fr)_minmax(0,1fr)_minmax(0,3fr)]",Fl="m-0 min-w-0 border-0 p-0",Hl="mb-1 p-0 text-slate-700 text-xs leading-4 dark:text-slate-200",Bl="m-0 border-0 p-0 [font:inherit] bg-yellow-200 text-slate-900 underline decoration-1 underline-offset-2 data-[daily-report-search-mark=reading]:decoration-dotted dark:bg-yellow-800 dark:text-yellow-50 forced-colors:forced-color-adjust-none forced-colors:bg-[Mark] forced-colors:text-[MarkText]",dn="text-red-700 dark:text-red-400",Vl="bg-white dark:bg-slate-900",ho=`min-h-0 flex-1 overflow-clip contain-size ${io}`,bo="flex h-full flex-col contain-size contain-layout contain-style",Ul="relative inline-block whitespace-nowrap tabular-nums",Kl="invisible",Wl="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",$l="border-slate-200/80 bg-slate-100/60 dark:border-slate-800 dark:bg-slate-900/60 dark:text-slate-200",zl="ml-[8px]",jl={list:"mr-[8px] [@media(max-width:639px)]:mr-[16px] @max-[460px]/views:mr-[16px]",tree:"mr-[8px]",detailList:"mr-[16px]"},ur="font-semibold text-slate-500 text-xs uppercase tracking-wide dark:text-slate-400",_t=`m-0 ${ur}`,wt="text-balance wrap-anywhere [word-break:auto-phrase]",So="[&_.aqvs-scrollbar]:bg-slate-100 [&_.aqvs-scrollbar-track]:bg-slate-100 [&_.aqvs-scrollbar-thumb]:bg-slate-500 [&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-600 [&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-700 [&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 [&_.aqvs-scrollbar-arrow-button]:bg-slate-100 [&_.aqvs-scrollbar-arrow-button]:text-slate-600 [&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-200 dark:[&_.aqvs-scrollbar]:bg-slate-900 dark:[&_.aqvs-scrollbar-track]:bg-slate-900 dark:[&_.aqvs-scrollbar-thumb]:bg-slate-500 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-slate-400 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-slate-300 dark:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-slate-500 dark:[&_.aqvs-scrollbar-arrow-button]:bg-slate-900 dark:[&_.aqvs-scrollbar-arrow-button]:text-slate-400 dark:[&_.aqvs-scrollbar-arrow-button:enabled:hover]:bg-slate-800 forced-colors:[&_.aqvs-scrollbar-thumb]:bg-[CanvasText] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=hover]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=dragging]]:bg-[Highlight] forced-colors:[&_.aqvs-scrollbar-thumb[data-thumb-state=disabled]]:bg-[GrayText] forced-colors:[&_.aqvs-scrollbar-track]:outline-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-solid forced-colors:[&_.aqvs-scrollbar-track]:-outline-offset-1 forced-colors:[&_.aqvs-scrollbar-track]:outline-[CanvasText]";import{jsx as Gl,jsxs as wf}from"react/jsx-runtime";var _f=2,cn=({id:e,count:t,label:r})=>t<=0?null:wf("span",{id:e,className:"inline-flex h-6 shrink-0 items-center gap-1 text-slate-500 dark:text-slate-400",title:`${r}: ${t}`,role:"img","aria-label":`${r}: ${t}`,"data-testid":"daily-report-attachment-indicator","data-attachment-count":t,children:[Gl(Cf,{className:jt,"aria-hidden":"true"}),t>=_f&&Gl("span",{className:"font-semibold text-xs leading-4",children:t})]});import{VirtualScroll as mE}from"@aiquants/virtualscroll";import{useCallback as Be,useEffect as lr,useLayoutEffect as fE,useMemo as Vs,useRef as je,useState as za}from"react";var pr=Object.freeze({text:"",runs:Object.freeze([])}),tt=e=>e.length===0?pr:{text:e,runs:[{displayStart:0,displayEnd:e.length,sourceStart:0,sourceEnd:e.length}]},Yl=(e,t,r)=>t>=r?pr:{text:e.slice(t,r),runs:[{displayStart:0,displayEnd:r-t,sourceStart:t,sourceEnd:r}]},ui=(e,t,r,n)=>{let o=t-e;return o!==n-r||o===1?[{displayStart:e,displayEnd:t,sourceStart:r,sourceEnd:n}]:Array.from({length:o},(a,i)=>({displayStart:e+i,displayEnd:e+i+1,sourceStart:r,sourceEnd:n}))},pi=e=>e.displayEnd-e.displayStart===e.sourceEnd-e.sourceStart,un=(e,t,r)=>{if(t>=r)return pr;if(t===0&&r===e.text.length)return e;let n=[];for(let o of e.runs){let a=Math.max(o.displayStart,t),i=Math.min(o.displayEnd,r);if(!(a>=i))if(pi(o)){let s=o.sourceStart+(a-o.displayStart);n.push({displayStart:a-t,displayEnd:i-t,sourceStart:s,sourceEnd:s+(i-a)})}else n.push(...ui(a-t,i-t,o.sourceStart,o.sourceEnd))}return{text:e.text.slice(t,r),runs:n}},pn=e=>{if(e.length===1)return e[0];let t="",r=[];for(let n of e){let o=t.length;for(let a of n.runs)r.push({...a,displayStart:a.displayStart+o,displayEnd:a.displayEnd+o});t+=n.text}return t.length===0?pr:{text:t,runs:r}},mi=e=>{let t=e.text.trimEnd().length,r=Math.min(t,e.text.length-e.text.trimStart().length);return un(e,r,t)},Xt=e=>typeof e=="string"?mi(tt(e)):pr,go=(e,t,r)=>{if(r.includes("$"))throw new Error(`[daily-report] replaceDisplayText: the replacement must be literal text without "$"; got ${JSON.stringify(r)}`);let n=t.global?[...e.text.matchAll(t)]:[t.exec(e.text)].filter(c=>c!==null);if(n.length===0)return e;let o="",a=[],i=0,s=(c,d)=>{if(c>=d)return;let p=o.length-c;for(;i<e.runs.length&&e.runs[i].displayEnd<=c;)i+=1;for(let m=i;m<e.runs.length&&e.runs[m].displayStart<d;m++){let f=e.runs[m],y=Math.max(f.displayStart,c),h=Math.min(f.displayEnd,d);if(!(y>=h))if(pi(f)){let x=f.sourceStart+(y-f.displayStart);a.push({displayStart:y+p,displayEnd:h+p,sourceStart:x,sourceEnd:x+(h-y)})}else a.push(...ui(y+p,h+p,f.sourceStart,f.sourceEnd))}o+=e.text.slice(c,d)},l=0;for(let c of n)s(l,c.index),o+=r,l=c.index+c[0].length;return s(l,e.text.length),o.length===0?pr:{text:o,runs:a}},Lf=e=>{let t=[],r=0,n="",o=0;for(let a of e){let i=o+a.length;if(o===r)n=a.normalize("NFC");else{let s=e.slice(r,i).normalize("NFC"),l=s.slice(n.length);s.startsWith(n)&&(l===a||l===a.normalize("NFC"))?(t.push({start:r,end:o,shown:n}),r=o,n=l):n=s}o=i}return t.push({start:r,end:o,shown:n}),t},Nf=e=>{let t=[],r=0;for(let a of e)t.push(r),r+=a.length;t.push(e.length);let n=[],o=0;for(;o<t.length-1;){let a=t[o],i=e.slice(a).normalize("NFC"),s=o+1;for(;s<t.length-1;){let c=e.slice(a,t[s]).normalize("NFC");if(i.startsWith(c)&&c+e.slice(t[s]).normalize("NFC")===i)break;s+=1}let l=t[s];n.push({start:a,end:l,shown:e.slice(a,l).normalize("NFC")}),o=s}return n},ql=e=>{let t=e.normalize("NFC");if(t===e)return tt(e);let r=Lf(e),n=r.map(i=>i.shown).join("")===t?r:Nf(e),o=[],a=0;for(let{start:i,end:s,shown:l}of n){let c=a+l.length;l===e.slice(i,s)?o.push({displayStart:a,displayEnd:c,sourceStart:i,sourceEnd:s}):o.push(...ui(a,c,i,s)),a=c}return{text:t,runs:o}},Xl=(e,t)=>{let r=[],n=(a,i,s)=>{let l=r.length-3;l>=0&&r[l+1]===a&&r[l+2]===s?r[l+1]=i:r.push(a,i,s)},o=t.length/3;for(let a of e.runs){let i=0,s=o;for(;i<s;){let c=i+s>>>1;t[c*3+1]<=a.sourceStart?i=c+1:s=c}if(pi(a)){for(let c=i;c<o&&t[c*3]<a.sourceEnd;c++){let d=Math.max(t[c*3],a.sourceStart),p=Math.min(t[c*3+1],a.sourceEnd);n(a.displayStart+(d-a.sourceStart),a.displayStart+(p-a.sourceStart),t[c*3+2])}continue}let l=Number.POSITIVE_INFINITY;for(let c=i;c<o&&t[c*3]<a.sourceEnd;c++)l=Math.min(l,t[c*3+2]);l!==Number.POSITIVE_INFINITY&&n(a.displayStart,a.displayEnd,l)}return r},Ql=String.raw`<br\s*\/?\s*>`,Zl=String.raw`<\/p>`,Jl="<[^>]+>",Of=new RegExp(String.raw`(${Ql}|${Zl}|\r?\n)|${Jl}`,"gi"),ed=new RegExp(Ql,"gi"),Mf=new RegExp(Zl,"gi"),kf=new RegExp(Jl,"g"),td=(e,t)=>{if(!e)return[];let r=[],n=[],o=0,a=()=>{let i=pn(n);n=[];let s=mi({text:i.text.replace(/ /g," "),runs:i.runs});s.text.length>0&&r.push(s)};for(let i of e.matchAll(Of))if(n.push(Yl(e,o,i.index)),o=i.index+i[0].length,i[1]!==void 0&&(a(),r.length===t))return r;return n.push(Yl(e,o,e.length)),a(),r},rd=e=>go(go(go(tt(e),ed,`
|
|
2
|
+
`),Mf,`
|
|
3
|
+
`),kf,""),nd=e=>e?mi(go(tt(e),ed,`
|
|
4
|
+
`)):pr;var Pf=Object.freeze({text:"-",runs:Object.freeze([])}),Me=e=>{let t=Xt(e);return t.text===""?Pf:t},Qt=e=>Me(e).text,Re=e=>{if(!e)return"-";if(typeof e!="string")return e instanceof Date?Re(e.toISOString()):String(e);let t=e.trim();if(t==="")return"-";let r=t.match(/^(\d{4})[-/](\d{2})[-/](\d{2})$/);if(r)return`${r[1]}-${r[2]}-${r[3]}`;let n=new Date(t);if(Number.isNaN(n.getTime()))return t;let o=n.getFullYear(),a=String(n.getMonth()+1).padStart(2,"0"),i=String(n.getDate()).padStart(2,"0");if(t.includes(":")||t.includes("T")){let l=String(n.getHours()).padStart(2,"0"),c=String(n.getMinutes()).padStart(2,"0"),d=String(n.getSeconds()).padStart(2,"0");return`${o}-${a}-${i}T${l}:${c}:${d}`}return`${o}-${a}-${i}`};import{createContext as Oy,useCallback as My,useContext as Ld,useEffect as _d,useRef as ky,useState as Py}from"react";import{z as Rn}from"zod";var Eo="ids-stream",od=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 mr=(e,t)=>e.businessDate!==t.businessDate?e.businessDate===null?1:t.businessDate===null||e.businessDate>t.businessDate?-1:1:t.reportHubId-e.reportHubId,fi=e=>{for(let t=1;t<e.length;t++)if(mr(e[t-1],e[t])>0)return!1;return!0};var Ue=Object.freeze({businessDate:"business-date",idsStream:Eo,report:"report",search:"search",reports:"reports",searchMarks:"search-marks",searchFacets:"search-facets",action:"action"}),Ce=Object.freeze({businessDate:"businessDate",reportHubId:"reportHubId",searchQuery:"q",searchCombine:"combine",searchAuthor:"author",searchSourceType:"sourceType",searchCustomer:"customer",reportIds:"ids",forceRefresh:"forceRefresh",cursorReportHubId:"cursor_report_hub_id",cursorBusinessDate:"cursor_business_date",cursorSnapshot:"cursor_snapshot"});var Ff=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var xo=e=>e<10?`0${e}`:`${e}`,Hf=e=>{if(Number.isNaN(e.getTime()))return null;let t=e.getFullYear(),r=xo(e.getMonth()+1),n=xo(e.getDate());return`${t}-${r}-${n}`},ad=e=>{let t=Ff.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}`},Do=e=>ad(e)===e,yi=(e=new Date)=>Number.isNaN(e.getTime())?yi(new Date):`${e.getFullYear()}-${xo(e.getMonth()+1)}-${xo(e.getDate())}`,fr=e=>e==null?null:e instanceof Date?Hf(e):ad(e);var id=(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)}}},JT=Object.freeze(["API","Action","Attachment","ExternalSource","Isolation","Reads","Refresh","Search","SSE","SseReader","Server","Service","Streams","Visibility","ActionProvider","DetailLoader","IdsStream","SseConnection"]),sd=e=>`[DailyReport${e}]`,Zt=(e,t,r)=>e===void 0?id(t,sd(r)):id(0,sd(r),e);import{z as Bf}from"zod";var Mr=e=>Number.isSafeInteger(e)&&e>0,xe=Bf.number().int().positive().max(Number.MAX_SAFE_INTEGER);var gt=Object.freeze({maxQueryLength:500,maxSets:16,maxWordsPerSet:16,maxWords:32,maxWordLength:100,maxDetailIds:100}),Vf=2,mn=2,kr=Object.freeze({word:0,reading:1}),fn=e=>e===kr.word||e===kr.reading;var Lt=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},Uf=2*(1+Vf),Kf=e=>{if(!Array.isArray(e)||e.length===0||e.length>Uf)return null;let t=[],r=new Set;for(let n of e){if(!Lt(n))return null;let{text:o,tier:a}=n;if(typeof o!="string"||o.length===0||o.length>gt.maxWordLength||r.has(o)||!fn(a)||(t.length===0?a!==kr.word:a<t[t.length-1].tier))return null;r.add(o),t.push({text:o,tier:a})}return t},Wf=(e,t)=>{if(!Array.isArray(e))return null;if(!t)return e.length===0?[]:null;if(e.length===0||e.length>gt.maxSets)return null;let r=[],n=0;for(let o of e){if(!Array.isArray(o)||o.length===0||o.length>gt.maxWordsPerSet||(n+=o.length,n>gt.maxWords))return null;let a=[];for(let i of o){let s=Kf(i);if(s===null)return null;a.push(s)}r.push(a)}return r},ld=(e,t)=>{if(!Lt(e))return null;let{ids:r,businessDates:n,sourceTypes:o}=e;if(!(Array.isArray(r)&&Array.isArray(n)&&Array.isArray(o))||n.length!==r.length||o.length!==r.length)return null;let a=Wf(e.words,t);if(a===null)return null;let i=[];for(let s=0;s<r.length;s++){let l=r[s],c=n[s],d=o[s];if(typeof l!="number"||!Mr(l)||c!==null&&(typeof c!="string"||!Do(c))||typeof d!="string"||d.length===0)return null;i.push({reportHubId:l,businessDate:c,sourceType:d})}return{items:i,words:a}};import{z as H}from"zod";var To=/^(?:[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 dd=["auth-required","forbidden","resync-required"],hi=15e3,cd="lastEventId",$f=/^\d{1,15}-\d{1,15}$/,Io=e=>$f.test(e),zf=H.object({name:H.string().nullish(),affiliation:H.string().nullish()}),jf=H.object({name:H.string().nullish(),text:H.string().nullish(),color:H.string().nullish()}),Gf=H.object({id:xe,name:H.string().nullish(),color:H.string().nullish()}),vo=H.object({id:xe,userId:H.string().nullish(),userName:H.string().nullish(),content:H.string().nullish(),createdAt:H.string().nullish(),isMine:H.boolean()}),Yf=H.object({id:H.string(),fileName:H.string(),fileType:H.string().nullable(),fileSize:H.number().nullable(),createdAt:H.string().nullable(),state:H.enum(["present","absent","unknown"]),hasThumbnail:H.boolean().default(!1)}),Et=H.object({reportHubId:xe,date:H.string().nullish(),createdAt:H.string().nullish(),author:H.string().nullish(),userId:H.string().nullish(),sourceType:H.string().nullish(),employeeName:H.string().nullish(),updatedBy:H.string().nullish(),updatedAt:H.string().nullish(),category:H.string().nullish(),creationCategory:H.string().nullish(),visitTimeFrom:H.string().nullish(),visitTimeTo:H.string().nullish(),customerName:H.string().nullish(),interviewers:H.array(zf),subject:H.string().nullish(),content:H.string().nullish(),externalComments:H.array(jf),isRead:H.boolean(),isStarred:H.boolean(),labels:H.array(Gf),postedComments:H.array(vo),attachments:H.array(Yf).default([])}),yr=H.string().regex(To),qf=H.object({type:H.literal("connected")}),Xf=H.object({type:H.literal("status-update"),reportHubId:xe,statusType:H.enum(["star","read"]),value:H.boolean(),clientTempId:yr,recipientRawUserId:xe.optional()}),bi=H.string().optional(),Qf=H.object({type:H.literal("comment-add"),reportHubId:xe,comment:vo,clientTempId:yr,recipientRawUserId:xe.optional(),sourceType:bi}),Zf=H.object({type:H.literal("comment-delete"),reportHubId:xe,commentId:xe,clientTempId:yr,recipientRawUserId:xe.optional(),sourceType:bi}),Jf=H.object({type:H.literal("report-create"),reportHubId:xe,report:Et,clientTempId:yr,recipientRawUserId:xe.optional()}),ey=H.object({type:H.literal("report-update"),reportHubId:xe,report:Et,clientTempId:yr,recipientRawUserId:xe.optional()}),ty=H.object({type:H.literal("report-publish"),reportHubId:xe,report:Et,clientTempId:yr,recipientRawUserId:xe.optional()}),ry=H.object({type:H.literal("report-delete"),reportHubId:xe,clientTempId:yr,sourceType:bi}),ud=H.discriminatedUnion("type",[qf,Xf,Qf,Zf,Jf,ey,ty,ry]);var Ao=e=>e.issues.map(t=>`${t.path.length===0?"(root)":t.path.join(".")}: ${t.code}`).join("; ");import{resolveVirtualScrollLocale as yy}from"@aiquants/virtualscroll";import{createContext as hy,useMemo as by}from"react";var ny=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,Le=(e,t,r)=>new RangeError(`[daily-report] ${e} must be ${t}; got ${ny(r)}`),pd=(e,t)=>new TypeError(`[daily-report] ${e} must be ${t}`),yn=(e,t,r)=>Le(e,`one of ${r.map(n=>JSON.stringify(n)).join(", ")}`,t),dt=(e,t,r,n)=>{if(typeof t=="number"&&Number.isSafeInteger(t)&&t>=r&&(n===void 0||t<=n))return t;throw Le(e,n===void 0?`an integer >= ${r}`:`an integer from ${r} to ${n}`,t)};import{useContext as oy}from"react";var ct=(e,t,r)=>{let n=oy(e);if(n===null)throw new Error(`[daily-report] ${t} must be used within a ${r}`);return n};import{resolveVirtualScrollLabels as ay,resolveVirtualScrollLocale as iy,VIRTUAL_SCROLL_LABEL_CATALOGS as md,VIRTUAL_SCROLL_LABEL_KEYS as gi}from"@aiquants/virtualscroll";var hd=["id","businessDate","author","visitTime","createdAt","updatedAt","updatedBy","category","creationCategory","customer","subject","content","interviewers","comments","attachments","attachmentMissing","attachmentDownload","attachmentThumbnailUnavailable","tabArticle","tabRelations","reportTabList","relationsEmpty","title","listKeyboardHelp","tabList","tabTree","tabDetailList","viewTabList","treeComingSoon","totalCountLoading","createReport","createReportTitle","devControls","devSseToggle","devReload","devClearCache","autoRead","autoReadTitle","loadErrorBadge","loadError","reload","loadingIds","streamFailed","streamRetry","streamRevalidating","selectPrompt","loading","reportNotFound","contentEmpty","contentEmptyPreview","confirmDelete","starAdd","starRemove","markRead","markUnread","deleteReport","edit","resizeHandle","close","formTitle","formTitlePlaceholder","formContent","formContentPlaceholder","formCancel","formSave","formPublish","commentPlaceholder","commentSend","commentDelete","commentDeleteConfirm","unknownUser","sourceInternal","searchInputLabel","searchPlaceholder","searchCombineAnd","searchCombineOr","searchCombineAndTitle","searchCombineOrTitle","searchClear","searching","searchNoHits","searchSyntaxHelp","searchMatchOutsideView","searchMatchOutsideViewDescription","searchReadingMarkDescription","searchFilterSourceType","searchFiltersLoading","searchFiltersTooMany","searchFilterUnavailable"],bd=["totalCount","debounce","streamProgressCount","streamProgressRatio","streamRetrying","reportLoadFailed","reportSummaryLoadFailed","interviewerWithAffiliation","operationFailed","noticeRepeated","rowState","listRowPosition","listRowPositionInUnknownTotal","searchHitCount","searchFailed","searchMatchedKeywords","searchMatchedKeywordsDescription","searchFiltersToggle","searchFiltersFailed"],Ri=[...gi,...hd,...bd];var fd=Object.freeze({en:"en-US",ja:"ja-JP"}),sy=Object.freeze({en:new Intl.NumberFormat(fd.en),ja:new Intl.NumberFormat(fd.ja)}),me=(e,t)=>sy[e].format(t),ly=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"}),dy=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"}),cy=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"}),uy=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"}),py=Object.freeze({busy:"\u6DF7\u307F\u5408\u3063\u3066\u3044\u308B\u305F\u3081\u7D5E\u308A\u8FBC\u307F\u306E\u5019\u88DC\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u5C11\u3057\u5F85\u3063\u3066\u304B\u3089\u7D5E\u308A\u8FBC\u307F\u3092\u958B\u304D\u76F4\u3057\u3066\u304F\u3060\u3055\u3044",unavailable:"\u7D5E\u308A\u8FBC\u307F\u306E\u5019\u88DC\u3092\u4F7F\u3048\u307E\u305B\u3093",failed:"\u7D5E\u308A\u8FBC\u307F\u306E\u5019\u88DC\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u7D5E\u308A\u8FBC\u307F\u3092\u9589\u3058\u3066\u958B\u304D\u76F4\u3059\u3068\u8AAD\u307F\u76F4\u3057\u307E\u3059"}),my=Object.freeze({busy:"The server is busy, so the filter options could not be loaded. Please reopen the filters in a moment",unavailable:"Filter options are not available",failed:"The filter options could not be loaded. Close and reopen the filters to load them again"}),Si=Object.freeze({en:Object.freeze({id:"ID",businessDate:"Business date",author:"Author",visitTime:"Visit time",createdAt:"Created at",updatedAt:"Updated at",updatedBy:"Updated by",category:"Category",creationCategory:"Creation category",customer:"Customer",subject:"Subject",content:"Content",interviewers:"Attendees",comments:"Comments",attachments:"Attachments",attachmentMissing:"File is missing",attachmentDownload:"Download",attachmentThumbnailUnavailable:"Preview unavailable",tabArticle:"Overview",tabRelations:"Related",reportTabList:"Report sections",relationsEmpty:"No related view configured yet.",title:"Daily Reports",listKeyboardHelp:"Up and Down arrows: previous or next report. Home and End: first or last report. Page Up and Page Down: move by a page. Enter or Space on a report row: make it current. Control+Home and Control+End: move to the nearest control before or after the list, when there is one.",tabList:"\u{1F4C4} List",tabTree:"\u{1F333} Tree",tabDetailList:"\u{1F4CB} DetailList",viewTabList:"Views",treeComingSoon:"The tree view is coming soon",totalCountLoading:"Total: loading...",createReport:"New report",createReportTitle:"Create a daily report",devControls:"Development-only controls",devSseToggle:"Toggle SSE real-time sync",devReload:"Reload data",devClearCache:"Clear the cache and reload",autoRead:"Auto-read",autoReadTitle:"Mark reports as read automatically while viewing them",loadErrorBadge:"Error",loadError:"Failed to load the daily reports.",reload:"Reload",loadingIds:"Loading report IDs...",streamFailed:"Failed to load",streamRetry:"Retry",streamRevalidating:"Refreshing",selectPrompt:"Select a report from the list on the left.",loading:"Loading...",reportNotFound:"Report not found",contentEmpty:"No content has been entered.",contentEmptyPreview:"No content has been entered",confirmDelete:"Are you sure you want to delete this report?",starAdd:"Add star",starRemove:"Remove star",markRead:"Mark as read",markUnread:"Mark as unread",deleteReport:"Delete",edit:"Edit",resizeHandle:"Resize the border between the report list and the detail pane",close:"Close",formTitle:"Title",formTitlePlaceholder:"Enter the report title",formContent:"Content",formContentPlaceholder:"Enter the report content",formCancel:"Cancel",formSave:"Save",formPublish:"Publish",commentPlaceholder:"Add a comment...",commentSend:"Send",commentDelete:"Delete comment",commentDeleteConfirm:"Delete",unknownUser:"Unknown",sourceInternal:"Original",searchInputLabel:"Search reports",searchPlaceholder:"Search reports",searchCombineAnd:"AND",searchCombineOr:"OR",searchCombineAndTitle:"Show the reports that contain every keyword",searchCombineOrTitle:"Show the reports that contain any keyword",searchClear:"Clear the search",searching:"Searching...",searchNoHits:"No report matches",searchSyntaxHelp:"Separate keywords with spaces. Words in double quotes form one keyword that needs every word. A word in Latin letters also finds its kana reading (denpun finds \u3067\u3093\u3077\u3093); text found through a reading is underlined with dots. Enter searches, Esc clears.",searchMatchOutsideView:"Hidden match",searchMatchOutsideViewDescription:"Matched in fields this view does not show, such as labels or details",searchReadingMarkDescription:"Matched by its romaji reading",searchFilterSourceType:"Source",searchFiltersLoading:"Loading filters...",searchFiltersTooMany:"No more filter values can be selected",searchFilterUnavailable:"This filter cannot be shown",totalCount:e=>`Total: ${me("en",e)}`,debounce:e=>`Debounce: ${e} ms`,streamProgressCount:e=>`Loading ${me("en",e)}`,streamProgressRatio:(e,t,r)=>`Loading ${me("en",e)} / ${me("en",t)} (${r}%)`,streamRetrying:e=>`Reconnecting... (${me("en",e)} received)`,reportLoadFailed:e=>`Failed to load report ${me("en",e)}.`,reportSummaryLoadFailed:e=>`Failed to load the summary of report ${me("en",e)}.`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`Failed to ${dy[e]}. Please try again later.`,noticeRepeated:e=>`(${me("en",e)} times)`,rowState:({isRead:e,isStarred:t})=>`${e?"Read":"Unread"}${t?", starred":""}`,listRowPosition:(e,t)=>`${me("en",e)} of ${me("en",t)}`,listRowPositionInUnknownTotal:e=>`Item ${me("en",e)}`,searchHitCount:e=>`${me("en",e)} ${e===1?"hit":"hits"}`,searchFailed:e=>uy[e],searchMatchedKeywords:(e,t)=>`Match ${e}/${t}`,searchMatchedKeywordsDescription:(e,t)=>`Matches ${e} of ${t} keywords`,searchFiltersToggle:e=>e===0?"Filters":`Filters (${me("en",e)})`,searchFiltersFailed:e=>my[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",starAdd:"\u30B9\u30BF\u30FC\u3092\u4ED8\u3051\u308B",starRemove:"\u30B9\u30BF\u30FC\u3092\u5916\u3059",markRead:"\u65E2\u8AAD\u306B\u3059\u308B",markUnread:"\u672A\u8AAD\u306B\u3059\u308B",deleteReport:"\u524A\u9664\u3059\u308B",edit:"\u7DE8\u96C6",resizeHandle:"\u65E5\u5831\u4E00\u89A7\u3068\u8A73\u7D30\u30DA\u30A4\u30F3\u306E\u5883\u754C\u306E\u30B5\u30A4\u30BA\u5909\u66F4\u30CF\u30F3\u30C9\u30EB",close:"\u9589\u3058\u308B",formTitle:"\u30BF\u30A4\u30C8\u30EB",formTitlePlaceholder:"\u65E5\u5831\u306E\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B",formContent:"\u5185\u5BB9",formContentPlaceholder:"\u65E5\u5831\u306E\u5185\u5BB9\u3092\u5165\u529B",formCancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",formSave:"\u4FDD\u5B58",formPublish:"\u516C\u958B",commentPlaceholder:"\u30B3\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0...",commentSend:"\u9001\u4FE1",commentDelete:"\u524A\u9664",commentDeleteConfirm:"\u524A\u9664\u3059\u308B",unknownUser:"\u4E0D\u660E\u306A\u30E6\u30FC\u30B6\u30FC",sourceInternal:"\u30AA\u30EA\u30B8\u30CA\u30EB",searchInputLabel:"\u65E5\u5831\u3092\u691C\u7D22",searchPlaceholder:"\u65E5\u5831\u3092\u691C\u7D22",searchCombineAnd:"AND",searchCombineOr:"OR",searchCombineAndTitle:"\u3059\u3079\u3066\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u542B\u3080\u65E5\u5831\u3092\u51FA\u3059",searchCombineOrTitle:"\u3069\u308C\u304B\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u542B\u3080\u65E5\u5831\u3092\u51FA\u3059",searchClear:"\u691C\u7D22\u3092\u6D88\u3059",searching:"\u691C\u7D22\u4E2D...",searchNoHits:"\u5F53\u305F\u308B\u65E5\u5831\u306F\u3042\u308A\u307E\u305B\u3093",searchSyntaxHelp:"\u30AD\u30FC\u30EF\u30FC\u30C9\u306F\u7A7A\u767D\u3067\u533A\u5207\u308A\u307E\u3059\u3002\u4E8C\u91CD\u5F15\u7528\u7B26\u3067\u56F2\u3093\u3060\u8A9E\u306F\u3001\u3059\u3079\u3066\u306E\u8A9E\u3092\u542B\u3080 1 \u3064\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u306B\u306A\u308A\u307E\u3059\u3002\u82F1\u5B57\u306E\u8A9E\u306F\u30ED\u30FC\u30DE\u5B57\u306E\u8AAD\u307F\u3067\u3082\u4EEE\u540D\u3092\u63A2\u3057\u307E\u3059 (denpun \u2192 \u3067\u3093\u3077\u3093)\u3002\u8AAD\u307F\u3067\u5F53\u305F\u3063\u305F\u6240\u306F\u70B9\u7DDA\u306E\u4E0B\u7DDA\u3067\u793A\u3057\u307E\u3059\u3002Enter \u3067\u691C\u7D22\u3001Esc \u3067\u6D88\u53BB\u3057\u307E\u3059\u3002",searchMatchOutsideView:"\u8868\u793A\u5916\u3067\u4E00\u81F4",searchMatchOutsideViewDescription:"\u3053\u306E\u753B\u9762\u306B\u51FA\u3057\u3066\u3044\u306A\u3044\u9805\u76EE (\u30E9\u30D9\u30EB\u30FB\u660E\u7D30\u306A\u3069) \u3067\u4E00\u81F4\u3057\u307E\u3057\u305F",searchReadingMarkDescription:"\u30ED\u30FC\u30DE\u5B57\u306E\u8AAD\u307F\u3067\u4E00\u81F4",searchFilterSourceType:"\u30BD\u30FC\u30B9\u533A\u5206",searchFiltersLoading:"\u7D5E\u308A\u8FBC\u307F\u306E\u5019\u88DC\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",searchFiltersTooMany:"\u3053\u308C\u4EE5\u4E0A\u306F\u7D5E\u308A\u8FBC\u307F\u306E\u5024\u3092\u9078\u3079\u307E\u305B\u3093",searchFilterUnavailable:"\u3053\u306E\u7D5E\u308A\u8FBC\u307F\u3092\u8868\u793A\u3067\u304D\u307E\u305B\u3093",totalCount:e=>`\u7DCF\u4EF6\u6570: ${me("ja",e)} \u4EF6`,debounce:e=>`\u30C7\u30D0\u30A6\u30F3\u30B9: ${e} ms`,streamProgressCount:e=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${me("ja",e)} \u4EF6`,streamProgressRatio:(e,t,r)=>`\u8AAD\u307F\u8FBC\u307F\u4E2D ${me("ja",e)} / ${me("ja",t)} (${r}%)`,streamRetrying:e=>`\u518D\u63A5\u7D9A\u4E2D... (${me("ja",e)} \u4EF6\u53D7\u4FE1\u6E08)`,reportLoadFailed:e=>`\u65E5\u5831 ${me("ja",e)} \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,reportSummaryLoadFailed:e=>`\u65E5\u5831 ${me("ja",e)} \u306E\u6982\u8981\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,interviewerWithAffiliation:(e,t)=>`${e} (${t})`,operationFailed:e=>`${ly[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=>`(${me("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 ${me("ja",t)} \u4EF6\u4E2D ${me("ja",e)} \u4EF6\u76EE`,listRowPositionInUnknownTotal:e=>`${me("ja",e)} \u4EF6\u76EE`,searchHitCount:e=>`${me("ja",e)} \u4EF6\u30D2\u30C3\u30C8`,searchFailed:e=>cy[e],searchMatchedKeywords:(e,t)=>`\u4E00\u81F4 ${e}/${t}`,searchMatchedKeywordsDescription:(e,t)=>`\u30AD\u30FC\u30EF\u30FC\u30C9 ${t} \u500B\u306E\u3046\u3061 ${e} \u500B\u306B\u4E00\u81F4`,searchFiltersToggle:e=>e===0?"\u7D5E\u308A\u8FBC\u307F":`\u7D5E\u308A\u8FBC\u307F (${me("ja",e)})`,searchFiltersFailed:e=>py[e]})}),Rd=Object.freeze({en:Object.freeze({...md.en,...Si.en}),ja:Object.freeze({...md.ja,...Si.ja})}),fy=e=>{let t={},r=!1;for(let n of gi){let o=Object.hasOwn(e,n)?e[n]:void 0;o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0},yd=(e,t,r)=>{e[t]=r},Ei=(e,t)=>{let r=iy(e);if(t===void 0)return Rd[r];if(t===null||typeof t!="object")throw Le("labels","an object",t);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw Le("labels","a plain object (prototype Object.prototype or null)",t);for(let i of Object.keys(t))if(!Ri.includes(i))throw yn("labels key",i,Ri);let a={...ay(r,fy(t)),...Si[r]};for(let i of hd){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="string"||s.trim()==="")throw Le(`labels.${i}`,"a non-blank string",s);yd(a,i,s)}}for(let i of bd){let s=Object.hasOwn(t,i)?t[i]:void 0;if(s!==void 0){if(typeof s!="function")throw Le(`labels.${i}`,"a function",s);yd(a,i,s)}}return Object.freeze(a)},Sd=e=>{let t={};for(let r of gi)t[r]=e[r];return Object.freeze(t)};import{jsx as xi,jsxs as Cy}from"react/jsx-runtime";var Ry=e=>({Internal:{label:e.sourceInternal,badgeClassName:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400"}}),Sy=({title:e,annotation:t})=>Cy("header",{className:"flex flex-wrap items-baseline justify-between gap-2 px-2 py-1",children:[xi("span",{className:"text-nowrap text-slate-700 text-sm dark:text-slate-200",children:e}),t?xi("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:t}):null]}),hn=Object.freeze({apiBasePath:"/daily_report/api",ssePath:"/sse/daily_report/updates",draftLabelName:"draft",renderHeader:Sy,showDevControls:!1,headingLevel:3}),gd=["apiBasePath","ssePath","draftLabelName","locale","labels","sourceTypeConfigs","renderHeader","showDevControls","headingLevel","onError","onSessionExpired","search"];var gy=e=>{for(let t of Object.keys(e))if(!gd.includes(t))throw yn("config key",t,gd)},Ed=[2,3,4,5],Ey=e=>{if(e===void 0)return hn.headingLevel;let t=Ed.find(r=>r===e);if(t===void 0)throw Le("config.headingLevel",`one of ${Ed.join(", ")} (the level of each report's heading)`,e);return t},xd=["debounceMs","renderFilterSelect"],xy=Object.freeze({min:300,max:5e3}),Dy=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},Ty=e=>{if(e===void 0)return null;if(typeof e!="function")throw Le("config.search.renderFilterSelect","a function (it renders the control of each filter cell)",e);return e},Iy=e=>{if(e===void 0)return null;if(!Dy(e))throw Le("config.search","a plain object ({} for Enter only, or { debounceMs })",e);for(let o of Object.keys(e))if(!xd.includes(o))throw yn("config.search key",o,xd);let t=e.debounceMs,{min:r,max:n}=xy;return{debounceMs:t===void 0?null:dt("config.search.debounceMs",t,r,n),renderFilterSelect:Ty(e.renderFilterSelect)}},vy=e=>{for(let[t,r]of Object.entries(e)){let n=r.name;if(n!==void 0&&(typeof n!="string"||n.trim()===""))throw Le(`config.sourceTypeConfigs.${t}.name`,"a non-blank string (the expansion of the badge label)",n)}return e},Ay=e=>{gy(e);let t=e.onSessionExpired;if(t===void 0)throw pd("config.onSessionExpired","a function (the host decides the navigation on session expiry)");if(typeof t!="function")throw Le("config.onSessionExpired","a function (the host decides the navigation on session expiry)",t);let r=yy(e.locale),n=Ei(r,e.labels),o=hn;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?Ry(n):vy(e.sourceTypeConfigs),renderHeader:e.renderHeader===void 0?o.renderHeader:e.renderHeader,showDevControls:e.showDevControls===void 0?o.showDevControls:e.showDevControls,headingLevel:Ey(e.headingLevel),onError:e.onError,onSessionExpired:e.onSessionExpired,search:Iy(e.search)}},Dd=hy(null),Di=({config:e,children:t})=>{let r=by(()=>Ay(e),[e]);return xi(Dd.Provider,{value:r,children:t})},K=()=>ct(Dd,"useDailyReportConfig","DailyReportConfigProvider"),Nt=(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},Co=(e,t)=>t?.allowComment!==void 0?t.allowComment:!e||e.toLowerCase()==="internal";import{tapScrollCircleSampleVisual as wy}from"@aiquants/virtualscroll";var _y=4;var Pr=120,Td=1e3,wo=.8,Ti={maxVelocity:18,deceleration:.0018,startVelocityThreshold:.03},Lo=20,Id=6,No={reportHubId:-1,businessDate:null},Oo=240,Mo=15,Ly=8,vd=460,Ad=3,Cd=352,Ny={enabled:!0,renderVisual:wy,maxSpeedCurve:{exponentialSteepness:3,exponentialScale:8},maxSpeedMultiplier:8,className:"[[data-daily-report-keyboard-focus]_&]:invisible"},ko={width:Ly,tapScrollCircleOptions:Ny,enableArrowButtonTabStops:!1},Po=["pen","touch"];var Nd=Zt(void 0,1,"DetailLoader"),Od=(e,t)=>{if(typeof window>"u")return t;let r=window[e];return typeof r=="number"&&!Number.isNaN(r)?r:t},_i=Od("__DAILY_REPORT_CACHE_TTL__",3e5),Fy=Od("__DAILY_REPORT_CACHE_REVIVE_MS__",6e4),X={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=>{X.listeners.forEach(t=>{t(e)})},getReport(e,t=!1){let r=this.reports.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},getList(e,t=!1){let r=e&&this.lists.get(e);return r&&(t||this.isValid(r.expiresAt))?r.data:null},set(e,t,r=!0){if(this.reports.set(e.reportHubId,{data:e,expiresAt:t}),r){let n=fr(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()){Nd.warn(`Stale update skipped id=${e}`);return}this.set({...n.data,...t},Math.max(n.expiresAt,Date.now()+Fy))}},delete(e,t){this.reports.delete(e);let r=fr(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+_i;for(let[i,s]of this.recentDeletes)n-s>1e4&&this.recentDeletes.delete(i);let a=e.map(i=>{if(this.isLocked(i.reportHubId))return i;let s=this.lastMutations.get(i.reportHubId);if(s&&r>0&&s>r)return this.reports.get(i.reportHubId)?.data??i;let l=this.reports.get(i.reportHubId)?.data,c=this.merge(i,l);return this.set(c,o,!1),c});return t&&this.lists.set(t,{data:a,expiresAt:o}),a}},Md=(e,t,r=!0)=>X.set(e,t,r),rt=(e,t)=>X.getReport(e,t?.ignoreExpiry),nt=(e,t)=>X.update(e,t),wi=(e,t)=>X.delete(e,t),Sn=()=>{X.clear(),Fo.clear(),bn.clear()},Ho=(e,t)=>{let r=X.lastMutations.get(e);(r===void 0||r<t)&&X.lastMutations.set(e,t)},Li=e=>{Ho(e,Date.now())},kd=e=>{let t=Symbol("mutation-lock"),r=X.lockHolders.get(e);return r===void 0?X.lockHolders.set(e,new Set([t])):r.add(t),Ho(e,Date.now()),()=>{let n=X.lockHolders.get(e);n===void 0||!n.delete(t)||(n.size===0&&X.lockHolders.delete(e),Ho(e,Date.now()))}},Pd=(e,t)=>{let r=performance.now()+t,n=X.lockHolds.get(e);(n===void 0||n<r)&&X.lockHolds.set(e,r),Ho(e,Date.now()+t)},Fd=e=>X.recentDeletes.set(e,Date.now()),Hd=(e,t)=>{let r=n=>{n===e&&t()};return X.listeners.add(r),()=>{X.listeners.delete(r)}},hr=(e,t)=>{X.prune(),X.set(t,Date.now()+_i)},Bd=e=>{X.prune();let t=X.getReport(e.reportHubId,!0),r=new Map;for(let o of t?.postedComments??[])r.set(o.id,o.isMine??!1);let n=(e.postedComments??[]).map(o=>({...o,isMine:r.get(o.id)??!1}));X.set({...e,isRead:t?.isRead??!1,isStarred:t?.isStarred??!1,postedComments:n},Date.now()+_i)},Hy=Rn.object({report:Et}),By=Rn.object({reports:Rn.array(Et)}),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 (${Ao(n.error)})`);return n.data},Vy=async(e,t)=>{let r=X.getReport(t);if(r)return r;let n=X.pendingReports.get(t);if(n)return n;let o=Date.now(),a=new URLSearchParams({[Ce.reportHubId]:String(t)}),i=fetch(`${e}/${Ue.report}?${a}`,{cache:"no-cache"}).then(s=>Ni(s,Hy,Ue.report)).then(({report:s})=>X.cacheMany([s],null,o)[0]).finally(()=>X.pendingReports.delete(t));return X.pendingReports.set(t,i),i},Fo=new Map,Uy=1e4,Ky=(e,t)=>{let r=Fo.get(t),n=Date.now();if(r&&n-r.at<Uy)return r.inFlight;let o=Oi(e,t,{forceRefresh:!0}),a={at:n,inFlight:o};return Fo.set(t,a),o.finally(()=>{Fo.get(t)===a&&(a.inFlight=null)}).catch(()=>{}),o},Oi=async(e,t,r={})=>{let n=r.forceRefresh?null:X.getList(t);if(n)return n;let o=X.pendingLists.get(t);if(o)return o;let a=Date.now(),i=new URLSearchParams({[Ce.businessDate]:t}),s=fetch(`${e}/${Ue.businessDate}?${i}`,{cache:"no-cache"}).then(l=>Ni(l,By,Ue.businessDate)).then(({reports:l})=>X.cacheMany(l,t,a)).finally(()=>X.pendingLists.delete(t));return X.pendingLists.set(t,s),s},Wy=Rn.object({reports:Rn.array(Et)}),Bo=new Map,bn=new Map,Vd=[],Ii=0,vi=!1,Ud=()=>{for(;Ii<mn;){let e=Vd.shift();if(e===void 0)return;Ii+=1,e().finally(()=>{Ii-=1,Ud()})}},$y=()=>{vi=!1;for(let[e,t]of Bo){Bo.delete(e);let r=[...t];for(let n=0;n<r.length;n+=gt.maxDetailIds){let o=r.slice(n,n+gt.maxDetailIds);Vd.push(async()=>{let a=Date.now(),i=new URLSearchParams({[Ce.reportIds]:o.map(([s])=>s).join(",")});try{let s=await fetch(`${e}/${Ue.reports}?${i}`,{cache:"no-cache"}),{reports:l}=await Ni(s,Wy,Ue.reports),c=new Map(X.cacheMany(l,null,a).map(d=>[d.reportHubId,d]));for(let[d,p]of o)p.resolve(c.get(d)??null)}catch(s){for(let[,l]of o)l.reject(s)}})}}Ud()},zy=(e,t)=>{let r=bn.get(t);if(r!==void 0)return r;let n=new Promise((o,a)=>{let i=Bo.get(e);i===void 0&&(i=new Map,Bo.set(e,i)),i.set(t,{resolve:o,reject:a})}).finally(()=>{bn.get(t)===n&&bn.delete(t)});return bn.set(t,n),vi||(vi=!0,queueMicrotask($y)),n},Vo=Oy("date"),Ai=(e,t)=>{let r=X.reports.get(e);if(r!==void 0)return{report:r.data,isStale:!X.isValid(r.expiresAt)};if(t===null)return{report:null,isStale:!1};let n=X.lists.get(t),o=n?.data.find(a=>a.reportHubId===e);return n===void 0||o===void 0?{report:null,isStale:!1}:{report:o,isStale:!X.isValid(n.expiresAt)}},wd=(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}=Ai(e,fr(t));return{id:e,report:r,error:null,isLoading:r===null,isRefetching:!1}},Fr=(e,t)=>r=>r.id!==e?r:Object.keys(t).some(o=>r[o]!==t[o])?{...r,...t}:r,br=(e,t)=>{let{apiBasePath:r}=K(),n=Ld(Vo),[o,a]=Py(()=>wd(e,t)),i=ky(0),s=o;return o.id!==e&&(s=wd(e,t),a(s)),_d(()=>{let l=fr(t),c=d=>{d===e&&a(Fr(e,{report:Ai(e,l).report}))};return X.listeners.add(c),()=>{X.listeners.delete(c)}},[e,t]),_d(()=>{let l=fr(t);i.current+=1;let c=i.current,d=()=>{i.current+=1};if(e<=0)return d;let{report:p,isStale:m}=Ai(e,l);if(p&&!m)return a(Fr(e,{report:p,error:null,isLoading:!1,isRefetching:!1})),d;a(Fr(e,{report:p,isLoading:!p,isRefetching:!0}));let f=async()=>{try{let h=null;if(n==="ids")h=await zy(r,e);else if(l){let x=X.getList(l)!==null;if(h=(await Oi(r,l)).find(b=>b.reportHubId===e)??null,!h&&x){let b=await Ky(r,l);b&&(h=b.find(I=>I.reportHubId===e)??null)}}else h=await Vy(r,e);i.current===c&&a(Fr(e,{report:h,error:null}))}catch(h){i.current===c&&a(Fr(e,{error:h instanceof Error?h:new Error("Load failed")}))}finally{i.current===c&&a(Fr(e,{isLoading:!1,isRefetching:!1}))}};if(p===null)return f(),d;let y=setTimeout(f,Pr);return()=>{clearTimeout(y),d()}},[e,t,r,n]),{report:s.report,error:s.error,isLoading:s.isLoading,isRefetching:s.isRefetching}},Mi=()=>{let{apiBasePath:e}=K(),t=Ld(Vo);return My(r=>{if(t==="ids")return;let n=fr(r);n&&!X.getList(n)&&Oi(e,n).catch(o=>Nd.warn("Prefetch error",n,o))},[e,t])};import{VIRTUAL_SCROLL_LABEL_KEYS as jy}from"@aiquants/virtualscroll";import{useRef as Gy}from"react";var Uo=()=>{let{locale:e,labels:t}=K(),r=Sd(t),n=Gy(null),o=n.current;return o!==null&&jy.every(a=>o[a]===r[a])?{locale:e,labels:o}:(n.current=r,{locale:e,labels:r})};import{useLayoutEffect as nh,useState as oh}from"react";import{flushSync as ah}from"react-dom";var $d=Object.freeze({visibilityProperty:!0}),Kd=new Set(["auto","scroll"]),Wd=new Set(["","true","plaintext-only"]),zd=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=qd(n)?n.host:null}return!1},Yy=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($d))return!0;return!1},jd=e=>e.localName==="area"?Yy(e):e.checkVisibility($d),qy=e=>{let t=e.getAttribute("contenteditable");if(t===null||!Wd.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(Wd.has(o))return!1;if(o==="false")return!0}return!0},Xy=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&&jd(n)&&(r=n)}return r===e},Qy=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&&Kd.has(a.overflowX)||n&&Kd.has(a.overflowY)},Zy=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 qy(e)}},Jy=/^[\t\n\f\r ]*[+-]?\d/,eh=e=>{let t=e.getAttribute("tabindex");return t!==null&&Jy.test(t)?e.tabIndex:null},Gd=(e,t)=>{for(let r of Pi(e))if(t(r)||Gd(r,t))return!0;return!1},Ko=(e,t)=>{let r=t.get(e);if(r!==void 0)return r;let n=th(e,t);return t.set(e,n),n},th=(e,t)=>{if(!gn(e))return"none";let r=eh(e),n=r===null&&Zy(e),o=r===null&&!n&&Qy(e);return!(r!==null||n||o)||e.matches(":disabled")||zd(e)||!jd(e)?"none":r!==null?r>=0?"sequential":"programmatic":n?e.localName==="input"&&e.type==="radio"?Xy(e)?"sequential":"programmatic":"sequential":Gd(e,a=>Ko(a,t)==="sequential")?"none":"sequential"},ki=(e,t)=>{for(let r of Pi(e))t(r),ki(r,t)},Pi=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 Wo=(e,t)=>{let r=[],n=[],o=[],a=new Map;if(e===t)return ki(e,l=>{Ko(l,a)==="sequential"&&n.push(l)}),{before:r,within:n,after:o};let i=!1,s=(l,c)=>{for(let d of Pi(l)){let p=d===t;!p&&Ko(d,a)==="sequential"&&(c?n.push(d):i?o.push(d):r.push(d)),s(d,c||p),p&&(i=!0)}};return s(e,!1),{before:r,within:n,after:o}},Yd=e=>{let t=[],r=new Map;return ki(e,n=>{Ko(n,r)==="sequential"&&t.push(n)}),t},Se=e=>e!==null&&"nodeType"in e&&e.nodeType===e.ELEMENT_NODE,gn=e=>"focus"in e&&"blur"in e,rh=e=>e.nodeType===e.DOCUMENT_NODE,qd=e=>e.nodeType===e.DOCUMENT_FRAGMENT_NODE&&"host"in e,_e=e=>{let t=e.getRootNode();if(qd(t)){let r=t.activeElement;return r===null?_e(t.host):r}return rh(t)?t.activeElement:null},Ot=e=>{let t=_e(e);return t===null||t===t.ownerDocument.body||zd(t)},ze=e=>{let t=e.ownerDocument.defaultView;if(t===null)throw new Error("[daily-report] the element belongs to a document without a window");return t};var $o=e=>{let[t,r]=oh(null);return nh(()=>{let n=e.current;if(n===null)throw new Error("[daily-report] useViewBoxHeight needs viewRef attached to the view's root");let o=null,a=l=>{if(l===o)return;let c=o===null;o=l,c?ah(()=>r(l)):r(l)},i=l=>{for(let c of l)a(c.borderBoxSize[0].blockSize)},s=new(ze(n)).ResizeObserver(i);return s.observe(n,{box:"border-box"}),()=>s.disconnect()},[e]),t};var Mt=class{constructor(t,r){this.chunks=t,this.length=r}at(t){let r=Number.isNaN(t)?0:Math.trunc(t),n=r<0?r+this.length:r;if(!(n<0||n>=this.length))return this.chunks[n>>>10][n&1023]}[Symbol.iterator](){let{chunks:t}=this,r=0,n=0;return{next:()=>{for(;r<t.length;){let o=t[r];if(n<o.length){let a=o[n];return n+=1,{done:!1,value:a}}r+=1,n=0}return{done:!0,value:void 0}}}}},zo=new Mt([],0),Jt=(e,t)=>e.chunks[t>>>10][t&1023],Xd=e=>{if(e.length===0)return zo;let t=[];for(let r=0;r<e.length;r+=1024)t.push(e.slice(r,r+1024));return new Mt(t,e.length)},Rr={removals:[],replacements:[],additions:[],insertions:[]},ih=e=>{let t=[];for(let r=0;r<e.length;r++)t.push(e[r]);return t},sh=(e,t)=>{let r=e.chunks.slice(),n=new Map;for(let{index:o,item:a}of t){let i=o>>>10,s=n.get(i);s===void 0&&(s=ih(e.chunks[i]),n.set(i,s),r[i]=s),s[o&1023]=a}return new Mt(r,e.length)},Hr=(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((R,T)=>R-T),a=[...t.replacements].sort((R,T)=>R.index-T.index);if(o.length===0&&r.length===0)return sh(e,a);let i=e.length,s=i-o.length+r.length;if(s===0)return zo;let c=Math.min(o.length===0?i:o[0],a.length===0?i:a[0].index,r.length===0?i:n[0])>>>10,d=e.chunks.slice(0,c),p=c<<10,m=new Array(Math.min(1024,s-p)),f=0,y=()=>{if(f===m.length){if(p===s)throw new Error(`[daily-report] Edits of a list of ${i} rows write more than the ${s} rows they leave`);d.push(m),m=new Array(Math.min(1024,s-p)),f=0}return m.length-f},h=R=>{y(),m[f]=R,f+=1,p+=1},x=(R,T)=>{for(let S=R;S<T;){let v=e.chunks[S>>>10],O=S&1023,M=Math.min(T-S,1024-O,y());for(let L=0;L<M;L++)m[f+L]=v[O+L];f+=M,p+=M,S+=M}},u=c<<10,b=0,I=0,C=0;for(;;){let R=Math.min(b<o.length?o[b]:i,I<a.length?a[I].index:i,C<r.length?n[C]:i);for(x(u,R),u=R;C<r.length&&n[C]===R;C++)h(r[C]);if(R===i)break;b<o.length&&o[b]===R?(b+=1,u=R+1):I<a.length&&a[I].index===R&&(h(a[I].item),I+=1,u=R+1)}return m.length>0&&d.push(m),new Mt(d,p)},Fi=(e,t)=>{let{chunks:r}=e;for(let n=0;n<r.length;n++){let o=r[n];for(let a=0;a<o.length;a++)if(o[a].reportHubId===t)return(n<<10)+a}return-1},jo=(e,t)=>{let r=Fi(e,t);return r===-1?void 0:Jt(e,r)},Qd=(e,t,r)=>{let n=[];if(!(e instanceof Mt)){for(let o of e)r(o)&&n.push(o);return n}for(let o of e.chunks){let a=t.get(o);if(a===void 0){let i=[];for(let s=0;s<o.length;s++)r(o[s])&&i.push(o[s]);a=i,t.set(o,a)}for(let i=0;i<a.length;i++)n.push(a[i])}return n};var lh=16,Zd=(e,t)=>e!==null&&e.reportHubId===t?e.index:null,De=(e,t,r)=>{if(r!==null&&Number.isInteger(r)&&r>=0&&r<e.length){if(e.at(r)?.reportHubId===t)return r;for(let n=1;n<=lh;n++){let o=r+n;if(o<e.length&&e.at(o)?.reportHubId===t)return o;let a=r-n;if(a>=0&&e.at(a)?.reportHubId===t)return a}}return ot(e,t)},ot=(e,t)=>{if(e instanceof Mt)return Fi(e,t);let r=0;for(let n of e){if(n.reportHubId===t)return r;r+=1}return-1},Hi=e=>{let t=e.at(0);return t===void 0?null:t.reportHubId},Jd=(e,t)=>{let r=[];for(let n of e){if(r.length>=t)break;r.push(n.reportHubId)}return r},xt=(e,t)=>{let r=t>=0?e.at(t):void 0;if(r===void 0)throw new Error(`[daily-report] No report at index ${t} of a list of ${e.length}`);return r};var Yo="data-daily-report-row",Go=`[role="listitem"][${Yo}]`,dh='button, a[href], input, textarea, select, label, [role="button"], [contenteditable]:not([contenteditable="false"])',ch=/^[1-9]\d*$/,ec=e=>{if(e===null||!ch.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null},uh=`${Go}[tabindex="0"], ${Go} [tabindex="0"]`,qo=e=>e.querySelector(uh),er=(e,t)=>{if(t===null||!Se(e))return null;let r=e.closest(Go);return r===null||r===t||!t.contains(r)?null:r},Sr=e=>ec(e.getAttribute(Yo)),Br=e=>ec(e.getAttribute("aria-posinset")),tc=e=>{let t=e.closest(Go),r=t===null?null:Br(t);return r===null?null:r-1},En=(e,t)=>{if(e===null)return null;let r=Sr(e);if(r===null)return null;let n=Br(e),o=De(t,r,n===null?null:n-1);return o===-1?null:{reportHubId:r,index:o}},rc=(e,t)=>{if(!Se(e))return!1;let r=e.closest(dh);return r!==null&&r!==t&&t.contains(r)};import{createContext as nc}from"react";var kt=nc(0),xn=-1,oc=(e,t)=>t.phase==="complete"?e:t.totalCount===null?xn:Math.max(e,t.totalCount),Pt=nc(-1);import{clsx as ph}from"clsx";import{twMerge as mh}from"tailwind-merge";function D(...e){return mh(ph(e))}import{useCallback as ac,useMemo as fh,useSyncExternalStore as yh}from"react";var ic="(prefers-reduced-motion: reduce)",sc=e=>ze(e).matchMedia(ic).matches?"instant":"smooth",hh=Object.freeze({...Ti,startVelocityThreshold:Number.POSITIVE_INFINITY}),Vr=e=>e?hh:Ti,bh=()=>!1,Rh=()=>{},Ur=e=>{let t=fh(()=>e===null?null:ze(e).matchMedia(ic),[e]),r=ac(o=>t===null?Rh:(t.addEventListener("change",o),()=>t.removeEventListener("change",o)),[t]),n=ac(()=>t===null?!1:t.matches,[t]);return yh(r,n,bh)};import{useSyncExternalStore as Sh}from"react";import{jsx as Bi}from"react/jsx-runtime";var Xo=()=>{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)})}},lc=16,gh=(e,t)=>e==="vertical"?{top:0,left:-lc,transform:`translate(-100%, calc(${t}px - 50%))`}:{top:-lc,left:0,transform:`translate(calc(${t}px - 50%), -100%)`},Qo=({orientation:e,thumbCenter:t,isDragging:r,isTapScrollActive:n,store:o})=>{let{label:a,isWheelScrollActive:i}=Sh(o.subscribe,o.getState,o.getState);return a.trim()&&(r||n||i)?Bi("div",{className:"pointer-events-none absolute flex items-center",style:gh(e,t),children:Bi("div",{className:D(Il,"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:Bi("span",{className:"whitespace-nowrap font-semibold text-slate-800 dark:text-slate-100",children:a.trim()})})}):null};import{createContext as Eh,useContext as xh,useLayoutEffect as Dh,useRef as Th}from"react";var Vi=Eh(null),Zo=({items:e,scroller:t,readTopReportId:r})=>{let n=xh(Vi),o=n===null?null:n.request,a=Th(o===null?0:o.seq);Dh(()=>{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:ot(e,i);s!==-1&&t.toIndex(s,{align:"top"});return}o.kind==="enter"&&(n.slot.preSearchTopReportId=r()),e.length>0&&t.toIndex(0,{align:"top"})}},[n,o,e,t,r])};import{memo as zp,useCallback as en,useContext as Wg,useEffect as $p,useId as $g,useLayoutEffect as zg,useMemo as vr,useRef as Fs}from"react";var Jo="legacy-",Ih=e=>`${Jo}${e}`,dc=(e,t,r,n)=>{if(typeof n!="string"||n.trim()==="")throw Le("mergeComments: unknownAuthorName","a non-blank string",n);let o=e.map((i,s)=>({id:Ih(s),authorName:i.name||n,content:i.text||"",isMine:!1,color:i.color||void 0,isLegacy:!0,isAuthorUnknown:!i.name})),a=t.map(i=>({id:i.id,authorName:i.userName||n,content:i.content??"",createdAt:i.createdAt??"",isMine:r?i.userId===r:i.isMine,isLegacy:!1,isAuthorUnknown:!i.userName}));return[...o,...a]},cc=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 vh=/^[1-9][0-9]*$/,Ah=/^(?:0|[1-9][0-9]*)$/,uc=e=>{if(e===null||!vh.test(e))return null;let t=Number(e);return Mr(t)?t:null},Kr=e=>{if(e===null||!Ah.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null};var Ch=Object.freeze(["subject","content","author","employeeName","updatedBy","category","creationCategory","customerName"]),le=Object.freeze({field:e=>e,interviewer:(e,t)=>`interviewer:${e}:${t}`,attachment:e=>`attachment:${e}`,comment:(e,t)=>`comment:${e}:${t}`}),_h=e=>e.startsWith(Jo)?Kr(e.slice(Jo.length))!==null:uc(e)!==null,ea=e=>{if(Ch.includes(e))return!0;let t=e.split(":");switch(t[0]){case"interviewer":return t.length===3&&Kr(t[1])!==null&&(t[2]==="name"||t[2]==="affiliation");case"attachment":return t.length===2&&Kr(t[1])!==null;case"comment":return t.length===3&&_h(t[1])&&(t[2]==="author"||t[2]==="content");default:return!1}},wh=2166136261,Lh=16777619,Ui=e=>{let t=wh;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,Lh);return t>>>0},Nh=String.fromCodePoint(3),Oh=String.fromCodePoint(2),Mh=String.fromCodePoint(1),pc=e=>Ui(e.map(t=>t.map(r=>r.map(n=>`${n.tier}${n.text}`).join(Nh)).join(Oh)).join(Mh));import{createContext as ru,memo as kb,useCallback as is,useEffect as tu,useLayoutEffect as ds,useMemo as cs,useRef as Nn,useState as It}from"react";import{z as be}from"zod";var mc=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var Xe=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),Wi=e=>{let t=new FormData;if(t.append(Xe.intent,e.intent),e.intent==="clearCache"||(t.append(Xe.clientTempId,e.clientTempId),e.businessDate!==null&&t.append(Xe.businessDate,e.businessDate),e.operationTimestamp!==null&&t.append(Xe.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return t;switch(t.append(Xe.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&t.append(Xe.title,e.changes.title),e.changes.content!==void 0&&t.append(Xe.content,e.changes.content),t;case"publish":case"delete":return t;case"toggleStar":return t.append(Xe.isStarred,String(e.value)),t;case"toggleRead":return t.append(Xe.isRead,String(e.value)),t;case"addComment":return t.append(Xe.content,e.content),t;case"deleteComment":return t.append(Xe.commentId,String(e.commentId)),t}},kh=()=>{let e=xe,t=be.string().regex(To),r=be.literal("OK"),n=be.object({isStarred:be.boolean(),isRead:be.boolean()}),o=be.number().int().nonnegative().nullable();return{create:be.object({status:r,intent:be.literal("create"),reportHubId:e,clientTempId:t,report:Et}),update:be.object({status:r,intent:be.literal("update"),reportHubId:e,clientTempId:t}),publish:be.object({status:r,intent:be.literal("publish"),reportHubId:e,clientTempId:t,report:Et.nullable()}),delete:be.object({status:r,intent:be.literal("delete"),reportHubId:e,clientTempId:t}),toggleStar:be.object({status:r,intent:be.literal("toggleStar"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),toggleRead:be.object({status:r,intent:be.literal("toggleRead"),reportHubId:e,clientTempId:t,updatedStatus:n,operationTimestamp:o}),addComment:be.object({status:r,intent:be.literal("addComment"),reportHubId:e,clientTempId:t,newComment:vo}),deleteComment:be.object({status:r,intent:be.literal("deleteComment"),reportHubId:e,clientTempId:t,deletedCommentId:xe}),clearCache:be.object({status:r,intent:be.literal("clearCache")})}},Ki=null,Ph=()=>(Ki===null&&(Ki=kh()),Ki),fc=(e,t)=>{let r=Ph()[e].safeParse(t);return r.success?{result:r.data}:{mismatch:Ao(r.error)}};import{systemSseRuntime as la}from"@aiquants/sse";import{createBrowserEventSource as ab}from"@aiquants/sse/client";import{useReopeningEventSource as ib}from"@aiquants/sse/react";import{useEffect as qi,useRef as da,useState as sb}from"react";import{startTransition as Gh,useLayoutEffect as Yh,useState as qh,useSyncExternalStore as An}from"react";var yc=e=>{let t=new URLSearchParams;return e.cursor!==null&&(t.set(Ce.cursorReportHubId,String(e.cursor.reportHubId)),e.cursor.businessDate!==null&&t.set(Ce.cursorBusinessDate,e.cursor.businessDate)),e.snapshot!==null&&t.set(Ce.cursorSnapshot,e.snapshot),e.forceRefresh&&t.set(Ce.forceRefresh,"true"),t};var Dn=()=>{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()]})}},hc=(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 bc=()=>{let e=new TextDecoder,t=[],r=n=>{let o=[],a=0;for(let i=n.indexOf(`
|
|
5
|
+
`);i!==-1;i=n.indexOf(`
|
|
6
|
+
`,a)){let s=n.slice(a,i);o.push(t.length===0?s:[...t,s].join("")),t=[],a=i+1}return a<n.length&&t.push(n.slice(a)),o};return{push:n=>r(e.decode(n,{stream:!0})),end:()=>{let n=r(e.decode()),o=t.join("");return t=[],o===""?n:[...n,o]}}};var Fh=Zt(void 0,1,"IdsStream"),Hh=50,Bh=32,Rc=0,Vh=()=>(Rc+=1,Rc),Uh=1e3,Kh=3e4,Wh=6,$h=3e4,Sc=Symbol("read-stall"),zh=Object.freeze({reading:()=>{},stalled:()=>!1,stop:()=>{}}),jh="/daily_report/api",Tn=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=Dn();this.apiBasePath=t.apiBasePath??jh,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??Fh.warn,this.readStallTimeoutMs=t.readStallTimeoutMs??$h,this.publishCoalesceMs=t.publishCoalesceMs??Hh,this.now=t.now??(()=>performance.now()),typeof window<"u"&&window.addEventListener("online",this.handleOnline)}getState(){return this.state}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}start(){this.started||this.disposed||(this.started=!0,this.runStreamLoop({revalidate:!1,forceRefresh:!1}))}retry(){this.disposed||this.state.phase!=="failed"||(this.consecutiveFailures=0,this.runStreamLoop({revalidate:this.state.hasCompletedOnce,forceRefresh:!1}))}refresh(t={}){if(!this.disposed){if(this.state.phase==="failed"){this.consecutiveFailures=0,this.runStreamLoop({revalidate:this.state.hasCompletedOnce,forceRefresh:t.forceRefresh??!1});return}if(this.state.phase==="complete"){if(this.state.isRevalidating){t.forceRefresh&&(this.pendingForceRefresh=!0);return}this.lastCursor=null,this.consecutiveFailures=0,this.runStreamLoop({revalidate:!0,forceRefresh:t.forceRefresh??!1})}}}resync(){if(!this.disposed){if(this.state.phase==="streaming"||this.state.phase==="retrying"){this.pendingForceRefresh=!0;return}this.refresh({forceRefresh:!0})}}applyExternalUpsert(t){if(this.disposed||!t||typeof t.reportHubId!="number")return;this.externalRemovalTombstones.delete(t.reportHubId),this.activeSeenIds?.add(t.reportHubId);let r=this.itemMap.get(t.reportHubId),n={reportHubId:t.reportHubId,businessDate:t.businessDate,sourceType:t.sourceType??r?.sourceType};this.putItem(r,n)&&this.schedulePublishItems()}applyExternalRemoval(t){this.disposed||(this.activeSeenIds?.delete(t),this.externalRemovalTombstones.add(t),this.deleteItem(t)&&this.schedulePublishItems())}has(t){return this.itemMap.has(t)}readItems(){let t=Array.from(this.itemMap.values());if(this.pendingItemsChange.isEmpty())return t;let{appended:r,replaced:n,removed:o}=this.pendingItemsChange.build(this.state.itemsRevision,this.state.itemsRevision),a=new Set(r.map(l=>l.reportHubId)),i=new Map(n.map(({previous:l})=>[l.reportHubId,l])),s=[];for(let l of t){if(a.has(l.reportHubId))continue;let c=i.get(l.reportHubId);s.push(c===void 0?l:c)}for(let l of o)s.push(l);return s}dispose(){this.disposed=!0,this.loopGeneration+=1,this.activeAbortController?.abort(),this.cancelScheduledPublishItems(),this.wakeRetryWait?.(),typeof window<"u"&&window.removeEventListener("online",this.handleOnline),this.listeners.clear()}async runStreamLoop(t){let r=++this.loopGeneration;for(this.activeAbortController?.abort(),this.wakeRetryWait?.(),this.lastCursor===null&&(this.activeSeenIds=new Set,this.externalRemovalTombstones.clear(),this.lastSnapshot=null),t.forceRefresh&&(this.pendingForceRefresh=!1),this.publish({phase:t.revalidate?this.state.phase:"streaming",isRevalidating:t.revalidate,error:null});!this.disposed&&r===this.loopGeneration;){let n=await this.streamOnce(t.forceRefresh);if(this.disposed||r!==this.loopGeneration)return;if(n.kind==="complete"){this.pruneUnseenItems(),this.consecutiveFailures=0,this.cancelScheduledPublishItems();let o=this.takePendingItems();this.publish({phase:"complete",isRevalidating:!1,hasCompletedOnce:!0,completedAt:Date.now(),error:null,...o}),this.pendingForceRefresh&&!this.disposed&&(this.pendingForceRefresh=!1,this.lastCursor=null,this.runStreamLoop({revalidate:!0,forceRefresh:!0}));return}if(n.kind==="aborted")return;if(n.kind==="auth-required"){this.publish({phase:"auth-required",isRevalidating:!1});return}if(this.consecutiveFailures+=1,this.consecutiveFailures>=Wh){t.revalidate&&this.state.hasCompletedOnce?(this.warn("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(Uh*2**(this.consecutiveFailures-1),Kh))}}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(p=>{o=this.setTimeoutFn(()=>p(Sc),this.readStallTimeoutMs*3)})]).finally(()=>{o!==null&&this.clearTimeoutFn(o)});if(a===Sc)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=bc(),l=this.watchReadSilence(i),c=!1,d=!1;try{for(;;){l.reading();let p=await i.read();if(l.stalled())return r.abort(),{kind:"retryable",error:new Error("Stream stalled: no data within timeout")};let m=p.done?s.end():s.push(p.value),f=!1;for(let y of m){if(y.trim()==="")continue;let h;try{h=JSON.parse(y)}catch{this.warn("skipped malformed line");continue}let x=od(h);if(x==="unknown"){this.warn("skipped line of unknown kind");continue}if(x==="error"){c=!0;continue}let u=h;f=this.absorbChunkLine(u)||f,typeof u.total=="number"&&Number.isFinite(u.total)&&u.total!==this.state.totalCount&&this.publish({totalCount:u.total}),u.nextCursor&&(u.nextCursor.businessDate===null||Do(u.nextCursor.businessDate))&&(this.lastCursor=u.nextCursor),u.isLast&&(d=!0)}if(f&&(this.consecutiveFailures=0,this.schedulePublishItems()),p.done)break}}finally{l.stop()}return c?{kind:"retryable",error:new Error("Stream interrupted by server error")}:d?{kind:"complete"}:{kind:"retryable",error:new Error("Stream ended before completion")}}catch(n){return n instanceof Error&&n.name==="AbortError"?{kind:"aborted"}:{kind:"retryable",error:n instanceof Error?n:new Error(String(n))}}finally{this.activeAbortController===r&&(this.activeAbortController=null)}}watchReadSilence(t){if(this.readStallTimeoutMs<=0)return zh;let r=this.readStallTimeoutMs,n=this.now(),o=!1,a=!1,i=null,s=()=>{if(i=null,a)return;let l=this.now()-n;if(l<r){i=this.setTimeoutFn(s,r-l);return}o=!0,t.cancel().catch(()=>{})};return i=this.setTimeoutFn(s,r),{reading:()=>{n=this.now()},stalled:()=>o,stop:()=>{a=!0,i!==null&&this.clearTimeoutFn(i),i=null}}}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"&&Io(t))){this.warn(`skipped 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=Vh(),r=this.pendingItemsChange.build(this.state.itemsRevision,t);return this.pendingItemsChange=Dn(),{loadedCount:this.itemMap.size,itemsRevision:t,itemsChanges:[...this.state.itemsChanges.slice(1-Bh),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=yc({cursor:this.lastCursor,snapshot:this.lastCursor===null?null:this.lastSnapshot,forceRefresh:t}).toString();return`${this.apiBasePath}/${Eo}${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 Xh=6e4,ae=null,gc=!1,In=new Set,ta={loadedCount:0,itemsRevision:0,itemsChanges:[],totalCount:null,phase:"idle",isRevalidating:!1,hasCompletedOnce:!1,completedAt:null,error:null,streamAnchor:null},$i=()=>{for(let e of In)e()},zi=()=>{ae&&(ae.unsubscribe(),ae.client.dispose(),ae=null,$i())},vn=e=>{if(typeof window>"u")return;let t=e.apiBasePath??hn.apiBasePath;if(ae&&(ae.userKey!==e.userKey||ae.apiBasePath!==t)&&(ae.userKey!==e.userKey&&Sn(),zi()),!ae){let r=new Tn({apiBasePath:t});ae={client:r,userKey:e.userKey,apiBasePath:t,unsubscribe:r.subscribe($i)},Qh(),r.start(),$i();return}na(ae)},na=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>Xh&&e.client.refresh()},Qh=()=>{if(gc||typeof document>"u"||typeof window>"u")return;gc=!0;let e=()=>{ae&&na(ae)};document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()}),window.addEventListener("focus",e)},ji=e=>{if(!(typeof window>"u")){if(!ae){vn(e);return}if(ae.userKey!==e.userKey){Sn(),zi(),vn(e);return}na(ae)}},Gi=()=>{typeof window>"u"||!ae||na(ae)},Cn=e=>{ae?.client.applyExternalUpsert(e)},oa=e=>{ae?.client.applyExternalRemoval(e)},xc=e=>ae===null?!1:ae.client.has(e),Zh=()=>ae===null?[]:ae.client.readItems(),Yi=()=>ae===null?0:ae.client.getState().itemsRevision,aa=()=>{ae?.client.retry()},ia=()=>{ae?.client.resync()},_n=(e={})=>{ae?.client.refresh(e)},Dc=()=>ae?.userKey,wn=e=>(In.add(e),()=>In.delete(e)),ra=()=>ae?.client.getState()??ta,Jh=()=>ta,eb=()=>An(wn,ra,Jh),sa=(e,t)=>{let r=ta,n=e(ta);return()=>{let o=ra();if(o===r)return n;let a=e(o);return r=o,t(n,a)||(n=a),n}},Tc=sa(({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),tb=Tc(),Wr=()=>An(wn,Tc,()=>tb),Ic=sa(({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),rb=Ic(),vc=()=>An(wn,Ic,()=>rb),Ac=sa(({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),nb=Ac(),Cc=()=>An(wn,Ac,()=>nb),_c=sa(({phase:e,totalCount:t})=>({phase:e,totalCount:t}),(e,t)=>e.phase===t.phase&&e.totalCount===t.totalCount),ob=_c(),wc=()=>An(wn,_c,()=>ob),Lc=e=>e.phase==="complete"&&!e.isRevalidating,Ec=e=>`${e.itemsRevision}:${Lc(e)}`,Nc=()=>{let[,e]=qh(0),t=ra(),r=Ec(t);return Yh(()=>{let n=r,o=()=>{let a=Ec(ra());a!==n&&(n=a,Gh(()=>e(i=>i+1)))};return In.add(o),o(),()=>{In.delete(o)}},[]),{itemsRevision:t.itemsRevision,itemsChanges:t.itemsChanges,readItems:Zh,settled:Lc(t)}};import.meta.hot?.dispose(zi);var gr=Zt(void 0,1,"SseConnection"),lb=Object.freeze({kind:"resyncing"}),Oc={initialDelayMs:2e3,maxDelayMs:3e4,multiplier:2},db=1,Mc=hi*3,cb=Mc+hi,Xi=({isSseEnabled:e,onMessage:t})=>{let{ssePath:r,onSessionExpired:n}=K(),{streamAnchor:o,phase:a,isRevalidating:i,error:s}=Wr(),[l,c]=sb({generation:0,minAnchorRevision:1,anchored:!1}),d=l.generation>0&&!l.anchored,p=d&&a==="complete"&&!i?s:null,m=da(0),f=da(null),y=da(n);y.current=n;let h=da(0);h.current=o===null?0:o.revision,qi(()=>{l.anchored||o===null||o.revision<l.minAnchorRevision||(f.current=o.lastEventId,m.current=0,c({...l,anchored:!0}))},[l,o]),qi(()=>{if(!e||p===null)return;let{initialDelayMs:u,maxDelayMs:b,multiplier:I}=Oc,C=la.random()*Math.min(b,u*I**m.current);gr.warn(`SSE resync: the ids rescan gave up (${p.message}); rescanning in ${Math.round(C)} ms`);let R=la.setTimer(()=>{m.current+=1,ia()},C);return()=>la.clearTimer(R)},[e,p]);let{status:x}=ib(e&&l.anchored?`${r}#${l.generation}`:null,{resolveUrl:({lastEventId:u})=>u===null?r:`${r}?${cd}=${encodeURIComponent(u)}`,initialLastEventId:f.current,withCredentials:!1,createEventSource:ab,runtime:la,backoff:Oc,healthyOpenMs:cb,nativeRetryLimit:db,giveUpAfterFailures:"never",terminalEvents:dd,heartbeat:{staleAfterMs:Mc,onHeartbeat:null},events:{message:u=>{u.lastEventId!==""&&(Io(u.lastEventId)?f.current=u.lastEventId:gr.warn("SSE event carried a malformed id; keeping the previous cursor:",u.lastEventId));try{let b=JSON.parse(u.data),I=ud.safeParse(b);if(!I.success){gr.error("SSE Validation Error:",I.error.flatten(),"raw message:",b);return}if(I.data.type==="connected"){gr.info("SSE Subscribe Ready");return}t(I.data)}catch(b){gr.error("SSE Parse Error",b)}}}});return qi(()=>{if(x.kind==="faulted"){gr.error("SSE connection faulted:",x.error);return}if(x.kind==="terminated")switch(x.terminalEvent){case"auth-required":y.current();return;case"forbidden":gr.warn("SSE stopped: the viewer is not registered (forbidden)");return;case"resync-required":{let u=h.current+1;c(b=>({generation:b.generation+1,minAnchorRevision:u,anchored:!1})),ia();return}}},[x]),e&&d?lb:x};import{createContext as ub,useCallback as pb,useSyncExternalStore as kc}from"react";var Pc=()=>{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)}}},Qi=ub(null),tr=()=>ct(Qi,"useDailyReportDraftStore","DailyReportActionProvider"),Fc=(e,t)=>pb(r=>e.subscribe(t,r),[e,t]),ca=e=>{let t=tr(),r=()=>t.modeOf(e);return kc(Fc(t,e),r,r)},Hc=e=>{let t=tr(),r=()=>t.inputOf(e),n=kc(Fc(t,e),r,r);if(n===null)throw new Error(`[daily-report] the edit form is rendered for report ${e}, whose editor is not open`);return n};import{useOverlayEscapeStack as Sb}from"@aiquants/swipe-overlay";import{createContext as gb,Fragment as Eb,useCallback as pa,useId as Ji,useLayoutEffect as Gc,useMemo as xb,useRef as xr,useState as $c}from"react";import{createPortal as zc}from"react-dom";var mb=Object.freeze({visibilityProperty:!0,opacityProperty:!0}),Bc="data-daily-report-view-tabs",Vc={[Bc]:""},Uc="data-daily-report-status-panel",Kc={[Uc]:""},fb=e=>{for(let t of e.getClientRects())if(t.width>0&&t.height>0)return!0;return!1},yb=e=>e.isConnected&&gn(e)&&fb(e)&&e.checkVisibility(mb),Dt=e=>{for(let t of e)if(!(t===null||!yb(t))&&(t.focus({preventScroll:!0}),_e(t)===t))return t;return null},Zi=e=>e.querySelector(`[${Bc}] [role="tab"][aria-selected="true"]`),ua=e=>[qo(e),Zi(e),e.querySelector(`[${Uc}]`)];var Er=e=>e.isComposing||e.keyCode===229,$r=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 hb={kind:"hold"},bb=new Set(["grid","listbox","menu","menubar","radiogroup","tablist","toolbar","tree","treegrid"]),Rb=(e,t)=>{let r=e.getAttribute("role");return r!==null&&bb.has(r)&&e!==t&&e.contains(t)},Ft=e=>e.key==="Escape"&&!e.defaultPrevented&&!Er(e),Wc=(e,t)=>{if(e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented||Er(e))return null;let r=e.target;if(!(Se(r)&&t.contains(r)))return null;let n=Yd(t);if(n.length===0)return hb;let{before:o,within:a,after:i}=Wo(t,r);return e.shiftKey?o.some(s=>!Rb(s,r))?null:{kind:"wrap",element:n[n.length-1]}:a.length>0||i.length>0?null:{kind:"wrap",element:n[0]}};import{jsx as Tt,jsxs as qc}from"react/jsx-runtime";var Db=D("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",Yt),Tb="flex shrink-0 justify-center p-[8px]",Ib=D("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",Rl),vb="data-daily-report-notice-alert",Ab={[vb]:""},Yc=gb(null),ma=()=>ct(Yc,"useDailyReportErrorSurface","DailyReportErrorProvider"),jc=({notice:e})=>Tt("div",{role:"alert",...Ab,className:"sr-only",children:e===null?null:Tt("span",{children:e.info.message},e.occurrence)}),Cb=({notice:e,closeLabel:t,repeatedLabel:r,onDismiss:n})=>{let o=xr(null),a=xr(null),i=xr(null),s=Sb(),l=Ji(),c=Ji(),d=Ji(),p=e.repeat>1?`${c} ${d}`:c,m=pa(()=>{let h=o.current;if(h?.contains(h.ownerDocument.activeElement)){let[x,...u]=ua(h.ownerDocument);Dt([a.current,x,h.closest("dialog"),...u])}n()},[n]),f=h=>{if(i.current!==null)return;let x=h.relatedTarget;a.current=Se(x)&&!h.currentTarget.contains(x)?x:null,i.current=s({id:l,onEscape:u=>Ft(u)?(m(),!0):!1})},y=h=>{Se(h.relatedTarget)&&h.currentTarget.contains(h.relatedTarget)||(i.current?.(),i.current=null,a.current=null)};return Gc(()=>()=>{i.current?.(),i.current=null},[]),qc("div",{ref:o,role:"group","aria-labelledby":p,"data-testid":"daily-report-error-banner",className:Db,onFocus:f,onBlur:y,children:[Tt("span",{id:c,className:"min-w-0 font-medium",children:Tt(Eb,{children:e.info.message},e.occurrence)}),e.repeat>1&&Tt("span",{id:d,className:"shrink-0 font-normal tabular-nums",children:r(e.repeat)}),Tt("button",{type:"button","aria-label":t,"aria-describedby":p,onClick:m,className:Ib,children:"\u2715"})]})},es=({children:e})=>{let{onError:t,labels:r}=K(),[n,o]=$c(null),[a,i]=$c([]),s=xr([]),l=xr(0),c=xr(0),d=xr(t);Gc(()=>{d.current=t});let p=pa(b=>{let I=d.current;if(I){I(b);return}c.current+=1;let C=c.current,R=s.current,T=R.length===0?null:R[R.length-1].registration;o(S=>({info:b,occurrence:C,repeat:S!==null&&S.info.message===b.message?S.repeat+1:1,announcedIn:T}))},[]),m=pa(b=>{l.current+=1;let I={element:b,registration:l.current};return s.current=[...s.current,I],i(s.current),()=>{s.current=s.current.filter(C=>C!==I),i(s.current)}},[]),f=pa(()=>o(null),[]),y=xb(()=>({notifyError:p,registerNoticeHost:m}),[p,m]),h=a.at(-1),x=n===null?null:Tt(Cb,{notice:n,closeLabel:r.close,repeatedLabel:r.noticeRepeated,onDismiss:f}),u=b=>n!==null&&n.announcedIn===b?n:null;return qc(Yc.Provider,{value:y,children:[e,Tt(jc,{notice:u(null)}),a.map(b=>zc(Tt(jc,{notice:u(b.registration)}),b.element,String(b.registration))),x!==null&&h!==void 0&&zc(x,h.element),x!==null&&h===void 0&&Tt("div",{"data-daily-report-notice-slot":"",className:Tb,children:x})]})};import{useState as _b}from"react";var wb={items:zo,held:new Map,hidden:new Map,revision:null,settled:!1},zr=(e,t)=>{let r=0,n=e.length;for(;r<n;){let o=r+n>>1;mr(Jt(e,o),t)<0?r=o+1:n=o}return r<e.length&&Jt(e,r).reportHubId===t.reportHubId?r:-1},ts=(e,t,r)=>{let n=r,o=e.length;for(;n<o;){let a=n+o>>1;mr(Jt(e,a),t)<=0?n=a+1:o=a}return n},Lb=(e,t)=>e.businessDate===t.businessDate,Nb=(e,t)=>{if(t.length===0)return[];if(e.length===0||mr(Jt(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=ts(e,o,n),r.push(n);return r},Qc=(e,t,r,n)=>{let o=new Set,a=[],i=new Map;for(let l of t.readItems())o.add(l.reportHubId),n.has(l.reportHubId)?i.set(l.reportHubId,l):a.push(l);let s=new Map;for(let l of e.items){if(o.has(l.reportHubId)||n.has(l.reportHubId))continue;let c=e.held.get(l.reportHubId),d=c===void 0?Number.NEGATIVE_INFINITY:c.since;r&&l.reportHubId>0&&t.itemsRevision>d||(s.set(l.reportHubId,{item:l,since:d}),a.push(l))}return fi(a)||a.sort(mr),{items:Xd(a),held:s,hidden:i,revision:t.itemsRevision,settled:r}},Ob=(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?[]:hc(t.itemsChanges,o);if(o===null||a===null)return Qc(e,t,r,n);let i=Dn();for(let R of a)i.fold(R);let{appended:s,replaced:l,removed:c}=i.build(o,t.itemsRevision),d=e.items,p=null,m=()=>(p===null&&(p=new Map(e.held)),p),f=null,y=()=>(f===null&&(f=new Map(e.hidden)),f),h=[],x=[],u=[];for(let R of c){if(e.hidden.has(R.reportHubId)&&y().delete(R.reportHubId),e.held.has(R.reportHubId))continue;let T=zr(d,R);T!==-1&&(r||n.has(R.reportHubId)?h.push(T):m().set(R.reportHubId,{item:R,since:Number.NEGATIVE_INFINITY}))}let b=(R,T)=>{let S=R.reportHubId,v=e.held.get(S);v!==void 0&&m().delete(S);let O=v===void 0?T:v.item,M=O===void 0?-1:zr(d,O);if(n.has(S)){M!==-1&&h.push(M),y().set(S,R);return}if((f===null?e.hidden:f).has(S)&&y().delete(S),M!==-1&&Lb(Jt(d,M),R)){Jt(d,M).sourceType!==R.sourceType&&x.push({index:M,item:R});return}M!==-1&&h.push(M),u.push(R)};for(let{previous:R,next:T}of l)b(T,R);for(let R of s)b(R,void 0);let I=t.itemsRevision;if(r)for(let[R,T]of p===null?e.held:p){if(R<=0||I<=T.since)continue;let S=zr(d,T.item);S!==-1&&h.push(S),m().delete(R)}return fi(u)||u.sort(mr),{items:Hr(d,{removals:h,replacements:x,additions:u,insertions:Nb(d,u)}),held:p===null?e.held:p,hidden:f===null?e.hidden:f,revision:I,settled:r}},Xc=new WeakMap,Mb=(e,t,r,n)=>{let o=Xc.get(e);if(o!==void 0&&o.revision===t.itemsRevision&&o.changes===t.itemsChanges&&o.settled===r&&o.tombstones===n)return o.rows;let a=Ob(e,t,r,n);return Xc.set(e,{revision:t.itemsRevision,changes:t.itemsChanges,settled:r,tombstones:n,rows:a}),a},Zc=(e,t,r)=>{let[n,o]=_b(()=>Qc(wb,e,t,r));return(n.revision!==e.itemsRevision||n.settled!==t)&&o(a=>Mb(a,e,t,r)),[n,o]},fa=(e,t,r)=>{if(e.hidden.has(t.reportHubId))return rs(e,t.reportHubId);if(e.held.has(t.reportHubId)||zr(e.items,t)!==-1||jo(e.items,t.reportHubId)!==void 0)return e;let n=Hr(e.items,{...Rr,additions:[t],insertions:[ts(e.items,t,0)]}),o=new Map(e.held);return o.set(t.reportHubId,{item:t,since:r}),{...e,items:n,held:o}},rs=(e,t)=>{let r=e.hidden.get(t);if(r===void 0)return e;let n=new Map(e.hidden);return n.delete(t),{...e,items:Hr(e.items,{...Rr,additions:[r],insertions:[ts(e.items,r,0)]}),hidden:n}},Ln=(e,t)=>{let r=e.held.get(t);if(r===void 0)return e;let n=zr(e.items,r.item),o=new Map(e.held);return o.delete(t),{...e,items:Hr(e.items,n===-1?Rr:{...Rr,removals:[n]}),held:o}},Jc=(e,t)=>{let r=e.held.get(t.reportHubId),n=zr(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:Hr(e.items,n===-1?Rr:{...Rr,removals:[n]}),held:o}},eu=e=>({...e,revision:null});var ns=(e,t,r)=>{if(!Number.isFinite(e)||e<=0)throw Le("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 os=0,as=e=>{let t=dt("drawTemporaryId: nowMs",e,1);return os=Math.min(-t,os-1),os};import{jsx as ls,jsxs as Yb}from"react/jsx-runtime";var Ht=Zt(void 0,1,"ActionProvider"),Pb=3e4,Fb=3e4,Hb=1e3,us=class extends Error{constructor(t,r){super(`[daily-report] ${t} answered HTTP ${r}`),this.name="DailyReportActionHttpError",this.status=r}},Bb=e=>{let t=ns(Pb,e,()=>{});return{add:r=>t.add(r,!0),has:r=>t.get(r)===!0}},Vb=e=>ns(Fb,e,(t,r)=>{r.unsubscribe(),Ht.warn(`[SSE Queue] Expired: reportHubId=${t}, dropped=${r.messages.length} messages`)}),XA=Object.freeze(["delete","deleteComment"]),Ub=e=>e.intent==="create"?null:e.reportHubId,Kb=(e,t)=>{let r=e;if(r.intent==="clearCache"||r.clientTempId!==t.clientTempId)return!1;let n=Ub(t);return n===null||r.reportHubId===n},ha=globalThis.__DailyReportActionsContext??ru(null);globalThis.__DailyReportActionsContext=ha;var ba=globalThis.__DailyReportActionStateContext??ru(null);globalThis.__DailyReportActionStateContext=ba;var ya="DailyReportActionProvider",Ke=()=>ct(ha,"useDailyReportActions",ya),Ra=()=>ct(ba,"useDailyReportActionState",ya),Wb=()=>{let e=ct(ha,"useDailyReportActionContext",ya),t=ct(ba,"useDailyReportActionContext",ya);return cs(()=>({...e,...t}),[e,t])},Dr=(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},ss=(e,t)=>e.has(t)?e:new Set(e).add(t),$b=(e,t)=>{if(!e.has(t))return e;let r=new Set(e);return r.delete(t),r},zb=e=>{let t={pendingAddCommentIds:new Map,pendingDeleteCommentIds:new Map,pendingStarUpdates:new Map,pendingReadUpdates:new Map,resolvedIdMap:new Map};return{ledgers:Object.freeze({pendingAddCommentIds:Object.freeze({current:t.pendingAddCommentIds}),pendingDeleteCommentIds:Object.freeze({current:t.pendingDeleteCommentIds}),pendingStarUpdates:Object.freeze({current:t.pendingStarUpdates}),pendingReadUpdates:Object.freeze({current:t.pendingReadUpdates}),resolvedIdMap:Object.freeze({current:t.resolvedIdMap})}),write:r=>{try{r(t)}finally{e()}}}},jb=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)}),Gb=Object.freeze({kind:"idle"}),nu=kb(({isSseEnabled:e,onMessage:t,onStatus:r})=>{let n=Xi({isSseEnabled:e,onMessage:t});return ds(()=>{r(n)},[n,r]),null});nu.displayName="DailyReportSseConnectionHost";var ps=({children:e,user:t,userId:r})=>{let{apiBasePath:n,draftLabelName:o,labels:a}=K(),{notifyError:i}=ma(),[s,l]=It(0),[{ledgers:c,write:d}]=It(()=>zb(()=>l(g=>g+1))),[p,m]=It(0),[f,y]=It(0),[h]=It(Pc),[x,u]=It(!1),[b,I]=It(Gb),C=Nn(!1),R=Nn(new Map),T=Nn(new Set),S=Nn(new Set),[v]=It(()=>Bb(()=>performance.now())),[O]=It(()=>Vb(()=>performance.now())),M=Nc(),[L,P]=Zc(M,M.settled,T.current),U=L.items,oe=`${p}:${L.settled?L.revision:"-"}`,re=()=>{m(g=>g+1)},W=()=>{l(g=>g+1)},Q=is(g=>S.current.has(g),[]),Z=is(()=>Dc()===(r??null),[r]),z=async()=>{Ht.info("Refetching data without page reload..."),_n(),W(),X.listeners.forEach(g=>{g(-1)})},ce=async()=>{Ht.info("Clearing client & server/DB cache and refetching data without page reload..."),Sn(),T.current=new Set,S.current.clear(),y(g=>g+1),P(eu);try{sessionStorage.clear()}catch{}try{let g=await fetch(`${n}/${Ue.action}`,{method:"POST",body:Wi({intent:"clearCache"})});if(!g.ok){let _=await g.json().catch(()=>null);Ht.warn("Failed to clear server-side cache:",g.status,_)}}catch(g){Ht.warn("Failed to clear server-side cache:",g)}Z()&&(_n({forceRefresh:!0}),W(),X.listeners.forEach(g=>{g(-1)}))},ee=(g,_)=>{let F=O.get(g);if(F!==void 0){F.messages.push(_);return}let N;N={messages:[_],unsubscribe:Hd(g,()=>{if(O.get(g)===N&&rt(g,{ignoreExpiry:!0})){O.remove(g),N.unsubscribe(),Ht.info(`[SSE Queue] Replaying ${N.messages.length} messages for reportHubId=${g}`);for(let E of N.messages)k.current.handleSseMessage(E)}})},O.add(g,N)};ds(()=>()=>{for(let g of O.drain())g.unsubscribe()},[O]);let fe=is((g,_)=>{_!==void 0&&Cn({reportHubId:g,businessDate:_})},[]),ke=()=>{r&&(C.current=!0,u(g=>!g))};tu(()=>{if(!r)return;let g=setTimeout(()=>{C.current||u(!0)},Td);return()=>clearTimeout(g)},[r]);let Ie=g=>{Z()&&(T.current=ss(T.current,g),S.current.add(g),y(_=>_+1),oa(g),P(_=>Ln(_,g)),h.discard(g))};tu(()=>{if(!L.settled)return;let g=new Set;for(let _ of T.current)xc(_)&&g.add(_);g.size!==T.current.size&&(T.current=g)},[L.settled,L.revision]);let ve=g=>{if(Z()&&!v.has(g.clientTempId))switch(g.type!=="status-update"&&re(),g.type){case"comment-add":{let{comment:_,reportHubId:F}=g,N=rt(F,{ignoreExpiry:!0});if(N){if(N.postedComments.some(B=>B.id===_.id))return;let j=typeof r=="string"&&_.userId===r,E={..._,userName:_.userName||(j?Dr(t,a.unknownUser):a.unknownUser),createdAt:_.createdAt||new Date().toISOString(),isMine:j},A={...N,postedComments:[...N.postedComments,E].sort((B,q)=>new Date(B.createdAt||0).getTime()-new Date(q.createdAt||0).getTime())};hr(F,A),Li(F),W()}else ee(F,g);break}case"comment-delete":{let{commentId:_,reportHubId:F}=g,N=rt(F,{ignoreExpiry:!0});if(N){let j={...N,postedComments:N.postedComments.filter(E=>E.id!==_)};hr(F,j),Li(F),W()}else ee(F,g);break}case"status-update":{let{statusType:_,value:F,reportHubId:N}=g,j=rt(N,{ignoreExpiry:!0});if(_==="star")if(c.pendingStarUpdates.current.get(N)===F&&d(({pendingStarUpdates:E})=>E.delete(N)),j){let E={...j,isStarred:F};hr(N,E),W()}else ee(N,g);else if(_==="read")if(c.pendingReadUpdates.current.get(N)===F&&d(({pendingReadUpdates:E})=>E.delete(N)),j){let E={...j,isRead:F};hr(N,E),W()}else ee(N,g);break}case"report-delete":{let{reportHubId:_}=g;T.current=ss(T.current,_),S.current.add(_),y(N=>N+1),oa(_),P(N=>Ln(N,_)),h.discard(_),O.remove(_)?.unsubscribe();let F=rt(_,{ignoreExpiry:!0});F?.date&&(wi(_,F.date),W());break}case"report-create":case"report-update":case"report-publish":{let{report:_}=g;Bd(_),(g.type==="report-create"||g.type==="report-publish")&&fe(_.reportHubId,_.date),W();break}}},ye=async(g,_,F={})=>{let{intent:N}=g,{onGone:j}=_,{lockedReportHubId:E}=F,A=E===void 0?null:kd(E);_.onOptimistic?.(),v.add(g.clientTempId);let B=()=>{if(!Z())throw Ht.warn(`[executeAction] ${N} resolved after a user switch; discarding continuation`),new Error(`Stale continuation for ${N}`)};try{let q=await fetch(`${n}/${Ue.action}`,{method:"POST",body:Wi(g),headers:{Accept:"application/json"}});if(q.status===404&&j!==void 0)return B(),j();if(!q.ok)throw new us(N,q.status);let pe=fc(N,await q.json());if("mismatch"in pe)throw new Error(`[daily-report] ${N} answered a body that is not its result (${pe.mismatch})`);let{result:Ye}=pe;if(!Kb(Ye,g))throw new Error(`[daily-report] ${N} answered another request`);return B(),_.onSuccess(Ye)}catch(q){throw Ht.error(`${N} failed:`,q),Z()&&(_.onFailure?.(),k.current.notifyError({operation:N,message:a.operationFailed(N),cause:q})),q}finally{A?.()}},he=(g,_,F)=>({reportHubId:g,clientTempId:F,businessDate:typeof _=="string"?_:null,operationTimestamp:Date.now()}),w={toggleSse:ke,addComment:async(g,_,F)=>{let N=as(Date.now()),j=ye({...he(g,F,String(N)),intent:"addComment",content:_},{onOptimistic:()=>{d(({pendingAddCommentIds:E})=>{let A=E.get(g);A===void 0?E.set(g,new Map([[N,_]])):A.set(N,_)})},onSuccess:({newComment:E})=>{let A=E.id;d(({resolvedIdMap:q,pendingAddCommentIds:pe})=>{q.set(N,A),pe.get(g)?.delete(N)}),re();let B=rt(g,{ignoreExpiry:!0});return B&&!B.postedComments.some(q=>q.id===A)&&nt(g,{postedComments:[...B.postedComments,{...E,isMine:!0,userName:Dr(t,a.unknownUser)}]}),A},onFailure:()=>{d(({pendingAddCommentIds:E})=>E.get(g)?.delete(N))}}).finally(()=>R.current.delete(N));R.current.set(N,j),await j},deleteComment:async(g,_,F)=>{d(({pendingDeleteCommentIds:E})=>{let A=E.get(g);A===void 0?E.set(g,new Set([_])):A.add(_)});let N=_;if(_<0){let E=c.resolvedIdMap.current.get(_);if(E!==void 0)N=E;else{let A=R.current.get(_);if(!A)return;try{N=await A}catch{return}}}let j=()=>{let E=rt(g,{ignoreExpiry:!0});E&&(nt(g,{postedComments:E.postedComments.filter(A=>A.id!==N)}),Fd(N)),d(({pendingDeleteCommentIds:A})=>A.get(g)?.delete(_)),re()};await ye({...he(g,F,crypto.randomUUID()),intent:"deleteComment",commentId:N},{onSuccess:j,onGone:j,onFailure:()=>{d(({pendingDeleteCommentIds:E})=>E.get(g)?.delete(_))}})},toggleStar:async(g,_,F)=>{await ye({...he(g,F,crypto.randomUUID()),intent:"toggleStar",value:_},{onOptimistic:()=>{nt(g,{isStarred:_}),d(({pendingStarUpdates:N})=>N.set(g,_))},onSuccess:({updatedStatus:N})=>{rt(g,{ignoreExpiry:!0})&&(nt(g,{isStarred:N.isStarred}),W()),d(({pendingStarUpdates:j})=>j.delete(g))},onFailure:()=>{nt(g,{isStarred:!_}),d(({pendingStarUpdates:N})=>N.delete(g))}})},toggleRead:async(g,_,F)=>{await ye({...he(g,F,crypto.randomUUID()),intent:"toggleRead",value:_},{onOptimistic:()=>{nt(g,{isRead:_}),d(({pendingReadUpdates:N})=>N.set(g,_))},onSuccess:({updatedStatus:N})=>{rt(g,{ignoreExpiry:!0})&&(nt(g,{isRead:N.isRead}),W()),d(({pendingReadUpdates:j})=>j.delete(g))},onFailure:()=>{nt(g,{isRead:!_}),d(({pendingReadUpdates:N})=>N.delete(g))}})},createReport:async g=>{let _=as(Date.now()),F=new Date().toISOString(),N={reportHubId:_,date:g,createdAt:F,author:Dr(t,a.unknownUser),userId:t===void 0?null:t.id,sourceType:"Internal",employeeName:Dr(t,a.unknownUser),updatedBy:Dr(t,a.unknownUser),updatedAt:F,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:[]};Md(N,Date.now()+3e5,!1),P(j=>fa(j,{reportHubId:_,businessDate:g},Number.NEGATIVE_INFINITY));try{let j=await ye({intent:"create",clientTempId:String(_),businessDate:g,operationTimestamp:Date.now()},{onSuccess:B=>B.report}),E=j.reportHubId,A=Yi();return Cn({reportHubId:E,businessDate:g}),Pd(E,Hb),hr(E,j),W(),re(),P(B=>fa(Ln(B,_),{reportHubId:E,businessDate:g},A)),E}catch(j){throw Ht.error("[createReport] Failed",j),P(E=>Ln(E,_)),j}},updateReport:async(g,_,F)=>{await ye({...he(g,F,crypto.randomUUID()),intent:"update",changes:{title:_.title,content:_.content}},{onSuccess:()=>{rt(g,{ignoreExpiry:!0})&&(nt(g,{subject:_.title,content:_.content}),W()),re()}},{lockedReportHubId:g})},publishReport:async(g,_)=>{let F=rt(g,{ignoreExpiry:!0});await ye({...he(g,_,crypto.randomUUID()),intent:"publish"},{onOptimistic:()=>{F&&(nt(g,{labels:F.labels.filter(N=>N.name!==o)}),W())},onSuccess:({report:N})=>{N!==null&&(hr(g,N),W()),_!==void 0&&Cn({reportHubId:g,businessDate:_}),re()},onFailure:()=>{F&&(nt(g,{labels:F.labels}),W())}})},deleteReport:async(g,_)=>{let F=jo(U,g);T.current=ss(T.current,g),S.current.add(g),y(j=>j+1),oa(g),F!==void 0&&P(j=>Jc(j,F));let N=()=>{wi(g,_),h.discard(g),re()};try{await ye({...he(g,_,crypto.randomUUID()),intent:"delete"},{onSuccess:N,onGone:N},{lockedReportHubId:g})}catch(j){if(!Z())return;T.current=$b(T.current,g),S.current.delete(g),y(B=>B+1);let E=F===void 0?_:F.businessDate,A=Yi();throw E!==void 0&&Cn({reportHubId:g,businessDate:E}),P(B=>{let q=rs(B,g);return F===void 0?q:fa(q,F,A)}),j}},removeStaleItem:Ie,refetchData:z,clearCacheAndRefetch:ce,handleSseMessage:ve,notifyError:i},k=Nn(w);ds(()=>{k.current=w});let[V]=It(()=>jb(k)),Y=cs(()=>({...c,...V.functions,user:t}),[c,V,t]),ie=cs(()=>({version:s,items:U,isSseEnabled:x,sseStatus:b,searchInvalidation:oe,isReportRemoved:Q,removedVersion:f}),[s,U,x,b,oe,Q,f]);return ls(Qi.Provider,{value:h,children:ls(ha.Provider,{value:Y,children:Yb(ba.Provider,{value:ie,children:[ls(nu,{isSseEnabled:x,onMessage:V.onSseMessage,onStatus:I}),e]})})})};var ou=(e,t)=>e.split(t).length-1,au=(e,t,r)=>{let n=e("\uE000","\uE001");if(ou(n,"\uE000")!==1||ou(n,"\uE001")!==1)return null;let o=n.indexOf("\uE000"),a=n.indexOf("\uE001"),i=[{at:o,part:{kind:"name"}},{at:a,part:{kind:"affiliation"}}];i.sort((d,p)=>d.at-p.at);let s=[],l=0;for(let{at:d,part:p}of i)d>l&&s.push({kind:"text",text:n.slice(l,d)}),s.push(p),l=d+1;return l<n.length&&s.push({kind:"text",text:n.slice(l)}),s.map(d=>d.kind==="text"?d.text:d.kind==="name"?t:r).join("")===e(t,r)?s:null};import{useContext as cu,useEffect as tR,useId as rR,useLayoutEffect as uu,useMemo as pu}from"react";import{createContext as ms,createElement as su,useCallback as lu,useContext as du,useDeferredValue as qb,useLayoutEffect as Xb,useMemo as Sa,useSyncExternalStore as Qb}from"react";var iu=()=>{let e=new Map,t=new Set,r=null,n=0,o=0,a=Object.freeze({entry:r,isCurrent:!0,count:n}),i=c=>!c.isCurrent||c.entry!==r,s=()=>{let c=o===0;if(!(a.entry===r&&a.isCurrent===c&&a.count===n)){a=Object.freeze({entry:r,isCurrent:c,count:n});for(let d of[...t])d()}},l=c=>{n-=c.count,i(c)&&(o-=1)};return{register:(c,d,p,m)=>{let f=e.get(c);f!==void 0&&l(f);let y={entry:d,isCurrent:p,count:m};e.set(c,y),n+=m,i(y)&&(o+=1),s()},unregister:c=>{let d=e.get(c);d!==void 0&&(l(d),e.delete(c),s())},settle:c=>{if(c!==r){r=c,o=0;for(let d of e.values())i(d)&&(o+=1);s()}},subscribe:c=>(t.add(c),()=>{t.delete(c)}),getSnapshot:()=>a}};var rr=ms(null),On=ms(null),Mn=ms(null),Zb=()=>{},Jb=()=>Zb,eR=e=>{let t=du(rr),r=lu(l=>t===null?Jb():t.subscribe(e,l),[t,e]),n=lu(()=>{let l=t===null?void 0:t.read(e);return l===void 0?null:l},[t,e]),o=Qb(r,n,n),a=Sa(()=>t===null||o===null?null:{store:t,entry:o},[t,o]),i=qb(a,a===null?void 0:null),s=i!==null&&i.store===t?i.entry:null;return Sa(()=>t===null?null:{entry:s,revalidate:(l,c)=>t.revalidate(e,l,c)},[t,e,s])},jr=({reportHubId:e,children:t})=>{let r=du(rr),{labels:n}=K(),o=eR(e),a=Sa(()=>r===null?null:iu(),[r]),i=Sa(()=>a===null?null:{tally:a,labels:n},[a,n]),s=o===null?null:o.entry;return Xb(()=>{a!==null&&a.settle(s)},[a,s]),su(On.Provider,{value:o},su(Mn.Provider,{value:i},t))};import{jsx as sR}from"react/jsx-runtime";var nR="data-daily-report-search-mark",oR=Object.freeze({[kr.word]:Object.freeze({attribute:"word",description:null}),[kr.reading]:Object.freeze({attribute:"reading",description:"searchReadingMarkDescription"})}),aR=e=>{if(!fn(e))throw new Error(`[daily-report] A search mark carries an unknown tier: ${e}`);return oR[e]},iR=(e,t,r)=>{let n=[],o=0;for(let a=0;a<t.length;a+=3){let i=t[a],s=t[a+1],l=aR(t[a+2]);i>o&&n.push(e.slice(o,i)),n.push(sR("mark",{[nR]:l.attribute,"aria-description":r===null||l.description===null?void 0:r[l.description],className:Bl,children:e.slice(i,s)},`m${i}`)),o=s}return o<e.length&&n.push(e.slice(o)),n},se=({fieldKey:e,raw:t,display:r})=>{let n=cu(On),o=cu(Mn),a=rR(),i=n===null?null:n.entry,s=typeof t=="string"?t:"",l=pu(()=>i===null||s.length===0?null:Ui(s),[i,s]),c=i===null?void 0:i.fields[e],d=c!==void 0&&l!==null&&c.fingerprint===l,p=pu(()=>d&&c!==void 0?Xl(r,c.ranges):null,[d,c,r]),m=n!==null&&l!==null&&!d,f=p===null?0:p.length/3,y=o===null?null:o.tally,h=s.length===0;return tR(()=>{m&&n!==null&&l!==null&&n.revalidate(e,l)},[m,n,e,l]),uu(()=>{if(y!==null)return()=>y.unregister(a)},[y,a]),uu(()=>{y!==null&&(h?y.unregister(a):y.register(a,i,!m,f))},[y,a,h,i,m,f]),p===null||p.length===0?r.text:iR(r.text,p,o===null?null:o.labels)};import{jsx as dR}from"react/jsx-runtime";var lR={2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},nr=Object.freeze({2:3,3:4,4:5,5:6}),Qe=({level:e,...t})=>{let r=lR[e];return dR(r,{...t})};import{memo as Ku,useId as rS,useMemo as nS,useRef as oS}from"react";var mu=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})});var ys="tile",Pn=mu[ys],cR=2,kn=16,fu=5,yu=Pn.maxWidth/cR,uR=fu*(yu+kn)-kn,hu=e=>{let t=Math.min(fu,1+Math.floor((e+kn)/(yu+kn)));return Math.floor((Math.min(e,uR)-(t-1)*kn)/t)},fs=`round(nearest, 100cqi * ${Pn.maxHeight} / ${Pn.maxWidth}, 1px)`,bu=Object.freeze({aspectRatio:`${Pn.maxWidth} / ${Pn.maxHeight}`,height:fs,contain:"strict"}),pR="--aqdr-lattice-block",Ru=Object.freeze({marginBlockEnd:`calc(round(up, ${fs}, var(${pR})) - ${fs})`});var mR="download",fR="thumbnail",yR="1",Gr=(e,t,r)=>{let n=`${e}/attachment/${encodeURIComponent(t)}`;switch(r.kind){case"inline":return n;case"download":return`${n}?${new URLSearchParams({[mR]:yR})}`;case"thumbnail":return`${n}?${new URLSearchParams({[fR]:r.variant})}`}};import{createContext as hR,useContext as bR}from"react";var Fn=hR(null),Yr=()=>bR(Fn)===!1?-1:void 0,Su=(e,t)=>{let{before:r,after:n}=Wo(e.ownerDocument,e);return(t==="before"?r.at(-1):n[0])??null};import{createContext as xR,useContext as DR,useLayoutEffect as TR,useMemo as xu,useState as IR}from"react";import{flushSync as vR}from"react-dom";import{flushSync as RR}from"react-dom";var hs=new WeakMap,gu=e=>e.observedTrackWidth!==null&&e.observedTrackWidth!==e.handedTrackWidth,SR=e=>{e.frame=null;let t=[...e.observations.values()].filter(gu);t.length!==0&&RR(()=>{for(let r of t){let n=r.observedTrackWidth;r.handedTrackWidth=n,r.onTrackWidth(n)}})},gR=(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=hu(o))}e.frame!==null||![...e.observations.values()].some(gu)||(e.frame=e.view.requestAnimationFrame(()=>SR(e)))},ER=e=>{let t=hs.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=>gR(n,o)),observations:new Map,frame:null};return hs.set(e,n),n},Eu=(e,t)=>{let r=e.ownerDocument,n=ER(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(),hs.delete(r)))}};import{jsx as Bt,jsxs as vu}from"react/jsx-runtime";var ga="\u2026",AR=ga.codePointAt(0),Du=Object.freeze({text:ga,runs:Object.freeze([])}),Ea="data-attachment-file-name",CR=D(Ct,"contain-layout"),Rs=({fileName:e})=>Bt("span",{className:CR,children:e}),_R=/"([^"]*)"|'([^']*)'|([^\s,"'][^,"']*)/g,wR=/^U\+([\dA-F?]{1,6})(?:-([\dA-F]{1,6}))?$/i,Au=xR(null),Cu=e=>{let t=e.text.lastIndexOf(".");return t<=0||t===e.text.length-1?{stem:e,extension:tt("")}:{stem:un(e,0,t),extension:un(e,t,e.text.length)}},Tu=(e,t,r,n)=>{let o=Array.from(e.text),a=0,i=o.length-1;for(;a<i;){let s=Math.ceil((a+i)/2);n(o.slice(0,s).join("")+t)<=r?a=s:i=s-1}return un(e,0,o.slice(0,a).join("").length)},LR=(e,t,r)=>{if(r(e)<=t)return tt(e);let{stem:n,extension:o}=Cu(ql(e)),a=t/2,i=r(o.text)<=a?o:pn([Tu(o,ga,a,r),Du]);return r(n.text+i.text)<=t?pn([n,i]):pn([Tu(n,ga+i.text,t,r),Du,i])},Iu=new WeakMap,_u=e=>{let t=Iu.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 Iu.set(e,n),n},NR=(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},wu=e=>{let t=new Set;for(let r of e.matchAll(_R)){let n=r.slice(1).find(o=>o!==void 0);t.add(n.trim().replace(/\s+/g," ").toLowerCase())}return t},OR=e=>{let t=getComputedStyle(e),r=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`;return{font:r,families:wu(t.fontFamily),measure:NR(_u(e.ownerDocument),r)}},MR=(e,t)=>e!==null&&e.width===t.width&&e.measure===t.measure,kR=e=>{let t=new Set([AR]);for(let r of e.querySelectorAll(`[${Ea}]`)){let n=r.getAttribute(Ea);for(let o of n+n.normalize("NFC"))t.add(o.codePointAt(0))}return t},PR=(e,t)=>{for(let r of e.split(",")){let n=wR.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},bs=new WeakMap,Lu=e=>{let t=bs.get(e);if(t!==void 0)return t;let r={document:e,registrations:new Set,stopWatchingFonts:null};return bs.set(e,r),r},Nu=(e,t)=>{let r=OR(e.container.querySelector(`[${Ea}]`));e.fitted={trackWidth:t,nameFont:r};let n=Lu(e.container.ownerDocument);n.stopWatchingFonts===null&&(n.stopWatchingFonts=HR(n)),e.applyFit({width:t,measure:r.measure})},FR=(e,t)=>{let r=t.map(o=>({families:wu(o.family),unicodeRange:o.unicodeRange})),n=[];for(let o of e.registrations){let{fitted:a}=o;if(a===null)continue;let i=r.filter(l=>Array.from(l.families).some(c=>a.nameFont.families.has(c)));if(i.length===0)continue;let s=kR(o.container);i.some(l=>PR(l.unicodeRange,s))&&(_u(e.document).measures.delete(a.nameFont.font),n.push([o,a.trackWidth]))}n.length!==0&&vR(()=>{for(let[o,a]of n)Nu(o,a)})},HR=e=>{let t=e.document.fonts,r=n=>{FR(e,n.fontfaces)};return t.addEventListener("loadingdone",r),()=>{t.removeEventListener("loadingdone",r)}},BR=(e,t)=>{let r={container:e,applyFit:t,fitted:null},n=Eu(e,a=>Nu(r,a)),o=Lu(e.ownerDocument);return o.registrations.add(r),()=>{n(),o.registrations.delete(r),!(o.registrations.size>0)&&(o.stopWatchingFonts?.(),bs.delete(o.document))}},Ou=({containerRef:e,children:t})=>{let[r,n]=IR(null);return TR(()=>{let o=e.current;return BR(o,i=>{n(s=>MR(s,i)?s:i)})},[e]),Bt(Au,{value:r,children:t})},Hn=({fileName:e,attachmentIndex:t,className:r,testId:n})=>{let o=DR(Au),a=xu(()=>o===null?null:LR(e,o.width,o.measure),[e,o]),{stem:i,extension:s}=xu(()=>Cu(tt(e)),[e]),l=le.attachment(t);return vu("span",{className:D("block min-w-0",r),title:e,"data-testid":n,[Ea]:e,children:[a===null?vu("span",{"aria-hidden":"true",className:"flex min-w-0",children:[Bt("span",{className:"truncate",children:Bt(se,{fieldKey:l,raw:e,display:i})}),s.text!==""&&Bt("span",{className:"max-w-1/2 shrink-0 truncate",children:Bt(se,{fieldKey:l,raw:e,display:s})})]}):Bt("span",{"aria-hidden":"true",className:"block overflow-hidden whitespace-nowrap",children:Bt(se,{fieldKey:l,raw:e,display:a})}),Bt(Rs,{fileName:e})]})};import $R from"lucide-react/dist/esm/icons/image-off.js";import{memo as zR,useCallback as Es,useEffect as jR,useLayoutEffect as GR,useRef as xs,useState as YR}from"react";var xa=Object.freeze({queueWaitMs:3e4,readMs:3e4,renderMs:1e4,transferMarginMs:5e3}),Mu=xa.queueWaitMs+xa.readMs+xa.renderMs+xa.transferMarginMs;var VR=Object.freeze({kind:"loaded"}),ku=(e,t,r,n,o)=>{let{limiter:a,tuning:i}=n,s="watching",l=null,c=null,d=null,p=null,m=null,f=U=>(U!==null&&n.clearTimeout(U),null),y=()=>{p?.(),p=null},h=()=>{m?.(),m=null},x=U=>U===null||U.kind==="loaded"?0:U.kind==="failing"?U.failedAttempts:i.maxAttempts,u=U=>{s="cooling",d=n.setTimeout(O,U)},b=()=>{o.abortInFlight(),h();let U=x(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(),u(i.retryDelayMs)},I=U=>{if(s==="loading"){if(c=f(c),!U){b();return}s="done",r.set(t,VR),h()}},C=()=>{c=null,I(!1)},R=()=>{s="loading",o.showActivity(!0),y(),c=n.setTimeout(C,i.loadTimeoutMs),o.grant()},T=()=>{l=null,s="queued",m=a.request(R)},S=()=>{l===null&&(l=n.setTimeout(T,i.settleMs))},v=U=>{if(o.showActivity(U),U){s==="watching"&&S();return}if(s==="queued"){h(),s="watching";return}l=f(l)},O=()=>{d=null,s="watching",o.showActivity(!1),p=n.observe(e,v)},M=()=>{let U=s==="loading";s="done",y(),l=f(l),c=f(c),d=f(d),o.showActivity(!1),U&&(o.abortInFlight(),m!==null&&o.reset()),h()},L=r.get(t);if(L?.kind==="loaded")return s=o.shows()?"done":"loading",o.grant(),{settle:I,dispose:M};if(L?.kind==="exhausted"){if(n.now()-L.failedAt<i.failureMemoryMs)return s="done",o.exhausted(),{settle:I,dispose:M};r.delete(t)}o.reset();let P=L?.kind==="failing"?L.retryAt-n.now():0;return P>0?u(P):O(),{settle:I,dispose:M}};var UR=e=>{dt("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())}}}},Pu=UR(2);var KR=e=>{dt("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)}}},Ss=KR(1024);var gs=new WeakMap,WR=e=>{let t=gs.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 gs.set(e,a),a},Fu=(e,t)=>{let r=e.ownerDocument,n=WR(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(),gs.delete(r)))}};import{jsx as Bn,jsxs as tS}from"react/jsx-runtime";var qR={idle:"pending",granted:"pending",loaded:"loaded",failed:"unavailable"},XR="data-thumbnail-active",QR="data-daily-report-attachment-preview",Bu={[QR]:""},ZR=Object.freeze({settleMs:250,loadTimeoutMs:Mu,retryDelayMs:5e3,maxAttempts:2,failureMemoryMs:6e4}),Hu=e=>{let t=Ss.peek(e);return t?.kind==="loaded"?{url:e,status:"loaded"}:t?.kind==="exhausted"?{url:e,status:"failed"}:{url:e,status:"idle"}},JR=()=>({limiter:Pu,now:()=>performance.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),observe:Fu,tuning:ZR}),eS=(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(XR,o)}}),Vu=zR(({thumbnailUrl:e,unavailableLabel:t})=>{let r=xs(null),n=xs(null),o=xs(null),[a,i]=YR(()=>Hu(e));a.url!==e&&i(Hu(e)),GR(()=>{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]),jR(()=>{let d=r.current,p=ku(d,e,Ss,JR(),eS(e,d,i,n));return o.current=p,()=>{o.current=null,p.dispose()}},[e]);let s=Es(d=>{d!==null&&(n.current=d)},[]),l=Es(()=>{i(d=>d.status==="granted"?{url:d.url,status:"loaded"}:d),o.current?.settle(!0)},[]),c=Es(()=>{o.current?.settle(!1)},[]);return Bn("span",{className:"block",children:Bn("span",{ref:r,"aria-hidden":"true","data-testid":"daily-report-attachment-thumbnail-frame","data-thumbnail-state":qR[a.status],style:bu,className:"relative block w-full",children:Bn("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"?tS("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 ${wt}`,"data-testid":"daily-report-attachment-thumbnail-unavailable",children:[Bn($R,{"aria-hidden":"true",className:"size-5 shrink-0 text-slate-500 dark:text-slate-400"}),t]}):Bn("img",{ref:s,alt:"",decoding:"async",fetchPriority:"low",draggable:!1,onLoad:l,onError:c,className:"max-h-full max-w-full opacity-0 motion-safe:transition-opacity motion-safe:duration-200 motion-safe:ease-out [[data-thumbnail-state=loaded]_&]:opacity-100","data-testid":"daily-report-attachment-thumbnail"})})})})});import{jsx as we,jsxs as vt}from"react/jsx-runtime";var Uu=1024,Ds=["B","KB","MB","GB"],Wu="text-slate-500 text-sm line-through dark:text-slate-400",aS=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;let t=e,r=0;for(;t>=Uu&&r<Ds.length-1;)t/=Uu,r+=1;return r===0?`${t} ${Ds[r]}`:`${t.toFixed(1)} ${Ds[r]}`},iS=e=>{let t=[],r=[];for(let[n,o]of e.entries())o.hasThumbnail?t.push({attachment:o,index:n}):r.push({attachment:o,index:n});return{tiles:t,rows:r}},$u=({attachment:e,labels:t,className:r})=>vt("span",{className:r,children:[aS(e.fileSize)??"\u2014",e.state==="absent"&&` \xB7 ${t.attachmentMissing}`]}),Ts=({href:e,children:t,...r})=>{let n=Yr();return we("a",{href:e,...r,tabIndex:n,children:t})},zu=({downloadUrl:e,label:t,fileName:r})=>vt(Ts,{href:e,className:D("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," ",we(Rs,{fileName:r})]}),sS=Ku(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=we(Vu,{thumbnailUrl:Gr(r,e.id,{kind:"thumbnail",variant:ys}),unavailableLabel:n.attachmentThumbnailUnavailable}),a=e.state==="absent";return vt("li",{className:"@container flex min-w-0 flex-col gap-1","data-testid":"daily-report-attachment-item","data-attachment-state":e.state,children:[a?vt("div",{className:"flex min-w-0 flex-col gap-2",children:[o,we(Hn,{fileName:e.fileName,attachmentIndex:t,className:Wu,testId:"daily-report-attachment-name"})]}):vt(Ts,{href:Gr(r,e.id,{kind:"inline"}),className:D("flex min-w-0 flex-col gap-2 rounded-lg",te),"data-testid":"daily-report-attachment-link",...Bu,children:[o,we(Hn,{fileName:e.fileName,attachmentIndex:t,className:"text-blue-600 text-sm dark:text-blue-400 [@media(hover:hover)]:[[data-daily-report-attachment-preview]:hover_&]:underline"})]}),vt("div",{className:"flex h-4 min-w-0 items-center gap-2 text-slate-500 text-xs tabular-nums dark:text-slate-400",style:Ru,children:[we($u,{attachment:e,labels:n,className:"truncate"}),!a&&we(zu,{downloadUrl:Gr(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})]})}),lS=Ku(({attachment:e,attachmentIndex:t,apiBasePath:r,labels:n})=>{let o=e.state==="absent";return vt("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:[vt("div",{className:"flex min-w-0 flex-col",children:[o?we(Hn,{fileName:e.fileName,attachmentIndex:t,className:Wu,testId:"daily-report-attachment-name"}):we(Ts,{href:Gr(r,e.id,{kind:"inline"}),className:D("flex min-w-0 rounded-sm",te),"data-testid":"daily-report-attachment-link",children:we(Hn,{fileName:e.fileName,attachmentIndex:t,className:"text-blue-600 text-sm hover:underline dark:text-blue-400"})}),we($u,{attachment:e,labels:n,className:"truncate text-slate-500 text-xs tabular-nums dark:text-slate-400"})]}),!o&&we(zu,{downloadUrl:Gr(r,e.id,{kind:"download"}),label:n.attachmentDownload,fileName:e.fileName})]})}),dS=({entries:e,headingId:t,apiBasePath:r,labels:n})=>{let o=oS(null);return we(Ou,{containerRef:o,children:we("div",{ref:o,className:"@container","data-testid":"daily-report-attachment-grid-container",children:we("ul",{"aria-labelledby":t,className:"grid @min-[1008px]:w-[calc(round(down,100%-64px,5px)+64px)] @min-[240px]:w-[calc(round(down,100%-16px,2px)+16px)] @min-[496px]:w-[calc(round(down,100%-32px,3px)+32px)] @min-[752px]:w-[calc(round(down,100%-48px,4px)+48px)] w-[round(down,100%,1px)] max-w-[1264px] @min-[1008px]:grid-cols-5 @min-[240px]:grid-cols-2 @min-[496px]:grid-cols-3 @min-[752px]:grid-cols-4 grid-cols-1 gap-[16px]","data-testid":"daily-report-attachment-grid",children:e.map(({attachment:a,index:i})=>we(sS,{attachment:a,attachmentIndex:i,apiBasePath:r,labels:n},a.id))})})})},Da=({attachments:e})=>{let{apiBasePath:t,labels:r,headingLevel:n}=K(),o=rS(),{tiles:a,rows:i}=nS(()=>iS(e),[e]);return e.length===0?null:vt("div",{className:"flex flex-col gap-2","data-testid":"daily-report-attachment-section",children:[we(Qe,{level:nr[n],id:o,className:D("m-0",ur),children:r.attachments}),vt("div",{className:"flex flex-col gap-4",children:[a.length>0&&we(dS,{entries:a,headingId:o,apiBasePath:t,labels:r}),i.length>0&&we("ul",{"aria-labelledby":o,className:"flex flex-col gap-2","data-testid":"daily-report-attachment-rows",children:i.map(({attachment:s,index:l})=>we(lS,{attachment:s,attachmentIndex:l,apiBasePath:t,labels:r},s.id))})]})]})};import{useOverlayEscapeStack as TS}from"@aiquants/swipe-overlay";import{memo as Zu,useCallback as Aa,useEffect as Yu,useId as IS,useRef as Ju,useState as vS}from"react";import{useCallback as ju,useMemo as cS,useRef as uS,useState as pS}from"react";var Is=(e,t,r)=>{let{pendingAddCommentIds:n,pendingDeleteCommentIds:o,resolvedIdMap:a,addComment:i,deleteComment:s}=Ke(),{version:l}=Ra(),{labels:c}=K(),d=c.unknownUser,[p,m]=pS(null),f=ju(u=>e&&s(e.reportHubId,u,e.date),[e,s]),y=ju(u=>e&&t?i(e.reportHubId,u,e.date):Promise.resolve(),[e,t,i]),h=uS([]);return{uiComments:cS(()=>{if(!e)return[];let u=dc(e.externalComments,e.postedComments,r,d),b=o.current.get(e.reportHubId);b?.size&&(u=u.filter(C=>!b.has(C.id)));let I=n.current.get(e.reportHubId);if(I?.size&&t){let C=new Set(u.map(v=>v.id)),R=Dr(t,""),T=R==="",S=T?d:R;for(let[v,O]of I){if(b?.has(v)||C.has(v))continue;let M=a.current.get(v);M&&C.has(M)||u.some(L=>L.isMine&&L.content===O&&typeof L.id=="number"&&L.id>0)||u.push({id:v,authorName:S,content:O,createdAt:new Date().toISOString(),isMine:!0,isLegacy:!1,isAuthorUnknown:T})}}return JSON.stringify(u)===JSON.stringify(h.current)?h.current:(h.current=u,u)},[e,t,r,d,o,n,a,l]),handleAddComment:y,handleDeleteComment:f,pendingDeleteId:p,setPendingDeleteId:m,resolvedIdMap:a.current}};import{Fragment as mS,jsx as fS}from"react/jsx-runtime";var Pe=({render:e})=>{let t=Yr();return fS(mS,{children:e(t)})};import yS from"@heroicons/react/24/outline/TrashIcon.js";import{memo as hS,useId as bS,useMemo as Gu,useRef as RS,useState as SS}from"react";import{jsx as At,jsxs as Ta}from"react/jsx-runtime";var vs="data-comment-id",Ia="data-comment-delete-button",va="data-comment-delete-slot",gS=D(Ve,Dl),ES="relative flex h-5 items-center",xS=D($e,"motion-safe:fade-in motion-safe:zoom-in-95 absolute top-full right-0 z-20 mt-1 whitespace-nowrap bg-red-600 font-bold text-white text-xs shadow-lg hover:bg-red-700 active:bg-red-800 motion-safe:animate-in motion-safe:duration-200",te),DS=(e,t,r)=>t===e||typeof e=="number"&&e<0&&r?.get(e)===t||typeof t=="number"&&t<0&&r?.get(t)===e,As=hS(({comment:e,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:i,onBeforeHide:s,resolvedIdMap:l})=>{let[c,d]=SS(!1),{labels:p}=K(),m=bS(),f=RS(null),y=DS(e.id,o,l),h=Gu(()=>Me(e.authorName),[e.authorName]),x=Gu(()=>tt(e.content),[e.content]),u=le.comment(e.id,"author"),b=le.comment(e.id,"content"),I=ea(b),C=()=>{let T=f.current;T!==null&&s(T),a(null),d(!0),typeof e.id=="number"&&n?.(e.id)},R=T=>{if(!y)return;let S=T.relatedTarget;Se(S)&&T.currentTarget.contains(S)||a(null)};return Ta("li",{[vs]:e.id,"data-deleted":c?"true":void 0,className:D("relative rounded-xl border border-slate-200 border-solid bg-white p-[11px] dark:border-slate-700 dark:bg-slate-900/70",e.isMine&&"border-blue-200 bg-blue-50 dark:border-blue-800/70 dark:bg-blue-950/40",c&&"hidden",y?"z-50":"z-0 hover:z-10"),children:[Ta("div",{className:"mb-1 flex items-center justify-between",children:[At("div",{className:D("font-semibold text-xs",cc(e.color)),children:I&&!e.isAuthorUnknown?At(se,{fieldKey:u,raw:e.authorName,display:h}):h.text}),Ta("div",{className:"flex items-center gap-2",children:[e.createdAt&&At("div",{className:"text-slate-500 text-xs dark:text-slate-400",children:Re(e.createdAt)}),e.isMine&&!e.isLegacy&&Ta("div",{[va]:e.id,className:ES,onBlur:R,children:[At(Pe,{render:T=>At("button",{ref:f,type:"button",tabIndex:T,className:gS,title:p.commentDelete,"aria-label":p.commentDelete,"aria-expanded":y,"aria-controls":y?m:void 0,[Ia]:e.id,onClick:()=>i(e.id,y),children:At(yS,{"aria-hidden":"true",className:y?Oe.deletePending:Oe.delete})})}),y&&At(Pe,{render:T=>At("button",{id:m,type:"button",tabIndex:T,"data-delete-confirmation":!0,className:xS,onClick:C,children:p.commentDeleteConfirm})})]})]})]}),At("div",{className:"whitespace-pre-wrap text-slate-700 text-sm leading-6 dark:text-slate-200",children:I?At(se,{fieldKey:b,raw:e.content,display:x}):e.content})]})});As.displayName="DailyReportPostedComment";import{Fragment as kS,jsx as Ze,jsxs as Cs}from"react/jsx-runtime";var AS="data-daily-report-comment-section",CS="data-daily-report-comment-heading",_S=D(_t,te),ep=(e,t)=>e>0||t,wS=D("h-9 min-w-0 flex-1 rounded-lg border border-solid bg-slate-50 px-[7px] text-sm focus:bg-white dark:bg-slate-800 dark:text-slate-200 dark:focus:bg-slate-900",Rt,te),LS=D("h-9 rounded-lg bg-blue-600 px-4 font-medium text-sm text-white hover:bg-blue-700 disabled:opacity-50",te),qu=e=>e.querySelector(`[${Ia}][aria-expanded="true"]`),NS=(e,t,r)=>{let n=[...e.querySelectorAll(`[${Ia}]`)].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(`[${vs}]`)].filter(s=>!s.contains(t)&&s.closest("[data-deleted]")===null).length;return ep(i,r)?{kind:"heading"}:{kind:"report"}},OS=({comments:e,reportHubId:t,businessDate:r,onDeleteComment:n,pendingDeleteId:o,onPendingDeleteIdChange:a,resolvedIdMap:i,canComment:s,headingRef:l,onSectionRemoved:c})=>{let d=Ju(null),p=TS(),m=IS(),f=o!==null,y=Aa(()=>{let u=d.current,b=u===null?null:qu(u),I=b===null?null:b.closest(`[${va}]`),C=u===null?null:_e(u);a(null),b!==null&&I!==null&&C!==null&&I.contains(C)&&b.focus({preventScroll:!0})},[a]);Yu(()=>{if(f)return p({id:m,onEscape:u=>Ft(u)?(y(),!0):!1})},[f,p,m,y]),Yu(()=>{let u=d.current;if(!f||u===null)return;let b=u.ownerDocument,I=C=>{let R=qu(u)?.closest(`[${va}]`);R!=null&&Se(C.target)&&R.contains(C.target)||a(null)};return b.addEventListener("pointerdown",I,!0),()=>b.removeEventListener("pointerdown",I,!0)},[f,a]);let h=Aa((u,b)=>{b?y():a(u)},[y,a]),x=Aa(u=>{let b=d.current;if(b===null)return;let I=NS(b,u,s);if(I.kind==="report"){c();return}let C=I.kind==="trash"?I.button:l.current;if(C===null)throw new Error("[daily-report] the comment section's heading is not attached");C.focus({preventScroll:!0})},[s,l,c]);return e.length===0?null:Ze("ul",{ref:d,className:"space-y-2",children:e.map(u=>Ze(As,{comment:u,reportHubId:t,businessDate:r,onOptimisticDelete:n,pendingDeleteId:o,onPendingDeleteIdChange:a,onToggleConfirmation:h,onBeforeHide:x,resolvedIdMap:i},u.id))})},Xu=({className:e,children:t,...r})=>{let{labels:n,headingLevel:o}=K(),a=Ju(null);return ep(r.comments.length,r.canComment)?Cs("div",{[AS]:"",className:D("flex flex-col gap-2",e),children:[Ze(Qe,{ref:a,level:nr[o],tabIndex:-1,[CS]:"",className:_S,children:n.comments}),Ze(OS,{...r,headingRef:a}),t]}):null},tp=Zu(({report:e,canComment:t,onSectionRemoved:r,formPlacement:n,sectionClassName:o,comments:a,onAddComment:i,onDeleteComment:s,pendingDeleteId:l,onPendingDeleteIdChange:c,resolvedIdMap:d})=>{let p=t?Ze(MS,{onAddComment:i}):null,m={comments:a,canComment:t,reportHubId:e.reportHubId,businessDate:e.date,onDeleteComment:s,pendingDeleteId:l,onPendingDeleteIdChange:c,resolvedIdMap:d,onSectionRemoved:r,className:o};return n==="in-section"?Ze(Xu,{...m,children:p}):Cs(kS,{children:[Ze(Xu,{...m}),p&&Ze("div",{className:"mt-auto",children:p})]})});tp.displayName="ReportCommentsView";var Vn=Zu(({report:e,userId:t,canComment:r,onCommentAdded:n,onSectionRemoved:o,formPlacement:a,sectionClassName:i})=>{let{user:s}=Ke(),{uiComments:l,handleAddComment:c,handleDeleteComment:d,pendingDeleteId:p,setPendingDeleteId:m,resolvedIdMap:f}=Is(e,s,t),y=Aa(async h=>{await c(h),n?.()},[c,n]);return Ze(tp,{report:e,canComment:r,onSectionRemoved:o,formPlacement:a,sectionClassName:i,comments:l,onAddComment:y,onDeleteComment:d,pendingDeleteId:p,onPendingDeleteIdChange:m,resolvedIdMap:f})});Vn.displayName="ReportComments";var Qu="content",MS=({onAddComment:e})=>{let[t,r]=vS(!1),{labels:n}=K();return Cs("form",{className:"flex gap-2",onSubmit:async a=>{a.preventDefault();let i=a.currentTarget,s=i.elements.namedItem(Qu);if(!(s instanceof ze(i).HTMLInputElement))return;let l=s.value.trim();if(l&&e){r(!0),i.reset();try{await e(l)}catch{s.value=l}finally{r(!1)}}},children:[Ze(Pe,{render:a=>Ze("input",{type:"text",name:Qu,tabIndex:a,placeholder:n.commentPlaceholder,className:wS,autoComplete:"off"})}),Ze(Pe,{render:a=>Ze("button",{type:"submit",tabIndex:a,className:LS,disabled:t,children:n.commentSend})})]})};import{useState as zS}from"react";import{Slot as PS}from"@radix-ui/react-slot";import{cva as FS}from"class-variance-authority";import*as rp from"react";import{jsx as BS}from"react/jsx-runtime";var HS=FS(`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"}}),Vt=rp.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},a)=>BS(n?PS:"button",{className:D(HS({variant:t,size:r,className:e})),ref:a,...o}));Vt.displayName="Button";import{jsx as US}from"react/jsx-runtime";var VS=`flex h-9 w-full min-w-0 rounded-md border border-solid bg-white px-[7px] py-[3px] text-base text-slate-900 shadow-xs disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-slate-900 dark:text-slate-100 ${Rt} ${te}`;function np({className:e,type:t,...r}){return US("input",{type:t,"data-slot":"input",className:D(VS,e),...r})}import*as op from"@radix-ui/react-label";import{jsx as KS}from"react/jsx-runtime";function Un({className:e,...t}){return KS(op.Root,{"data-slot":"label",className:D("flex select-none items-center gap-2 font-medium text-sm leading-none [:where(.group)[data-disabled=true]_&]:pointer-events-none [:where(.group)[data-disabled=true]_&]:opacity-50 [:where(.peer):disabled~&]:cursor-not-allowed [:where(.peer):disabled~&]:opacity-50",e),...t})}import{jsx as $S}from"react/jsx-runtime";var WS=`flex min-h-15 w-full rounded-md border border-solid bg-white p-[7px] text-base text-slate-900 shadow-xs disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-slate-900 dark:text-slate-100 ${Rt} ${te}`;function ap({className:e,...t}){return $S("textarea",{"data-slot":"textarea",className:D(WS,e),...t})}import{jsx as at,jsxs as Ca}from"react/jsx-runtime";var qr=e=>({title:e.subject??"",content:e.content??""}),jS=e=>{e.preventDefault()},_a=({report:e,onCancel:t,onPublishSuccess:r,titleInputRef:n})=>{let{updateReport:o,publishReport:a}=Ke(),{labels:i}=K(),s=tr(),{title:l,content:c}=Hc(e.reportHubId),[d,p]=zS(!1),m=async()=>{p(!0);try{await o(e.reportHubId,{title:l,content:c},e.date)}catch{}finally{p(!1)}},f=async()=>{p(!0);try{await o(e.reportHubId,{title:l,content:c},e.date),await a(e.reportHubId,e.date),r?.()}catch{}finally{p(!1)}},y=`report-title-${e.reportHubId}`,h=`report-content-${e.reportHubId}`;return Ca("form",{className:"space-y-4 p-1",onSubmit:jS,children:[Ca("div",{className:"space-y-2",children:[at(Un,{htmlFor:y,children:i.formTitle}),at(Pe,{render:x=>at(np,{ref:n,id:y,value:l,onChange:u=>s.setInput(e.reportHubId,{title:u.target.value}),placeholder:i.formTitlePlaceholder,disabled:d,tabIndex:x})})]}),Ca("div",{className:"space-y-2",children:[at(Un,{htmlFor:h,children:i.formContent}),at(Pe,{render:x=>at(ap,{id:h,value:c,onChange:u=>s.setInput(e.reportHubId,{content:u.target.value}),placeholder:i.formContentPlaceholder,className:"min-h-50",disabled:d,tabIndex:x})})]}),Ca("div",{className:"flex justify-end gap-2",children:[t&&at(Pe,{render:x=>at(Vt,{type:"button",variant:"outline",onClick:t,disabled:d,tabIndex:x,children:i.formCancel})}),at(Pe,{render:x=>at(Vt,{type:"button",variant:"secondary",onClick:m,disabled:d,tabIndex:x,children:i.formSave})}),at(Pe,{render:x=>at(Vt,{type:"button",onClick:f,disabled:d,tabIndex:x,children:i.formPublish})})]})]})};import lg from"lucide-react/dist/esm/icons/check.js";import dg from"lucide-react/dist/esm/icons/pencil.js";import cg from"lucide-react/dist/esm/icons/trash-2.js";import{useContext as _s,useSyncExternalStore as GS}from"react";import{jsx as wa,jsxs as sp}from"react/jsx-runtime";var YS="inline-grid whitespace-nowrap text-xs leading-4 tabular-nums text-slate-600 dark:text-slate-300",ip="[grid-area:1/1]",qS=e=>{let t=0;for(let r=e;r!==0;r&=r-1)t+=1;return t},XS=()=>{},QS=()=>XS,ZS=()=>null,La=({isEditing:e,descriptionId:t})=>{let r=_s(rr),n=_s(On),o=_s(Mn),{labels:a}=K(),i=o===null?null:o.tally,s=i===null?ZS:i.getSnapshot,l=GS(i===null?QS:i.subscribe,s,s);if(r===null)return null;let{setCount:c,showsMatchedSets:d}=r.indicator,p=d?`${a.searchMatchedKeywords(c,c)} ${a.searchMatchOutsideView}`:a.searchMatchOutsideView,m=n===null?null:n.entry,f=m===null||m.matchedSets===null?null:qS(m.matchedSets),y=m!==null&&!e&&(f===null||f>=1)&&l!==null&&l.entry===m&&l.isCurrent&&l.count===0,h=d&&f!==null?a.searchMatchedKeywordsDescription(f,c):null,x=[h,y?a.searchMatchOutsideViewDescription:null].filter(u=>u!==null);return sp("span",{className:YS,"data-daily-report-search-indicator":!0,children:[wa("span",{"aria-hidden":"true",className:`invisible ${ip}`,"data-daily-report-search-indicator-placeholder":!0,children:p}),sp("span",{className:ip,children:[h!==null&&f!==null?wa("span",{"aria-hidden":"true",title:h,"data-daily-report-search-matched-keywords":`${f}/${c}`,children:a.searchMatchedKeywords(f,c)}):null,h!==null&&y?" ":null,y?wa("span",{"aria-hidden":"true",title:a.searchMatchOutsideViewDescription,"data-daily-report-search-outside-view":!0,children:a.searchMatchOutsideView}):null,wa("span",{id:t===null?void 0:t,className:Ct,"data-daily-report-search-indicator-description":!0,children:x.join(" ")})]})]})};import{jsx as lp}from"react/jsx-runtime";var Oa=24,dp=2,JS=20,Na=5,eg=3,tg=()=>{let e=Math.cos(2*Math.PI/Na)/Math.cos(Math.PI/Na),t=Array.from({length:2*Na},(m,f)=>{let y=-Math.PI/2+f*Math.PI/Na,h=f%2===0?1:e;return{x:h*Math.cos(y),y:h*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=(JS-dp)/(a-o),c=Oa/2-l*(o+a)/2,d=Oa/2-l*(i+s)/2,p=m=>String(Number(m.toFixed(eg)));return t.map(m=>`${p(c+l*m.x)},${p(d+l*m.y)}`).join(" ")},rg=tg(),Xr=({filled:e})=>lp("svg",{viewBox:`0 0 ${Oa} ${Oa}`,"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:dp,strokeLinejoin:"round",className:e?Oe.starOn:Oe.starOff,children:lp("polygon",{points:rg})});import{Fragment as ng,jsx as Ma,jsxs as og}from"react/jsx-runtime";var Qr=({config:e,id:t,className:r})=>Ma("span",{id:t,className:D(vl,e.badgeClassName,r),children:e.name===void 0?e.label:og(ng,{children:[Ma("span",{"aria-hidden":"true",children:Ma("abbr",{title:e.name,children:e.label})}),Ma("span",{className:Ct,children:e.name})]})});import{jsx as cp}from"react/jsx-runtime";var ka=24,ag=6,Zr=({className:e})=>cp("svg",{viewBox:`0 0 ${ka} ${ka}`,"aria-hidden":"true",className:D(Oe.read,e),children:cp("circle",{cx:ka/2,cy:ka/2,r:ag,fill:"currentColor"})});import{jsx as sg}from"react/jsx-runtime";var ig=/^(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}):\d{2})?$/,Tr=({text:e})=>{let t=ig.exec(e);if(t===null)return e;let[,r,n]=t;return sg("time",{dateTime:e,children:n===void 0?r:`${r} ${n}`})};import{jsx as Fe,jsxs as pp}from"react/jsx-runtime";var ge=({label:e,classNames:t,valueId:r,children:n})=>pp("div",{className:t.field,children:[Fe("dt",{className:t.label,children:e}),Fe("dd",{id:r,className:D("m-0",t.value),children:n})]}),or={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"},up=({report:e,visitTimeDisplay:t,labels:r})=>{let n=Xt(e.category),o=Xt(e.creationCategory);return pp("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:[Fe(ge,{label:r.author,classNames:or,children:Fe(se,{fieldKey:le.field("author"),raw:e.author,display:Me(e.author)})}),Fe(ge,{label:r.createdAt,classNames:or,children:Fe(Tr,{text:Re(e.createdAt)})}),Fe(ge,{label:r.updatedBy,classNames:or,children:Fe(se,{fieldKey:le.field("updatedBy"),raw:e.updatedBy,display:Me(e.updatedBy)})}),Fe(ge,{label:r.updatedAt,classNames:or,children:Fe(Tr,{text:Re(e.updatedAt)})}),Fe(ge,{label:r.businessDate,classNames:or,children:Fe(Tr,{text:Re(e.date)})}),t!==null&&Fe(ge,{label:r.visitTime,classNames:or,children:t}),n.text.length>0&&Fe(ge,{label:r.category,classNames:or,children:Fe(se,{fieldKey:le.field("category"),raw:e.category,display:n})}),o.text.length>0&&Fe(ge,{label:r.creationCategory,classNames:or,children:Fe(se,{fieldKey:le.field("creationCategory"),raw:e.creationCategory,display:o})})]})};import{jsx as de,jsxs as fp}from"react/jsx-runtime";var Pa={field:D($e,"gap-1 whitespace-nowrap bg-slate-100 text-slate-800 dark:bg-slate-800 dark:text-slate-100"),label:"text-slate-600 text-xs uppercase tracking-wide dark:text-slate-400",value:""},ug={field:D($e,"gap-1 whitespace-nowrap bg-blue-50 font-semibold text-blue-800 text-xs dark:bg-blue-500/15 dark:text-blue-200"),label:"text-blue-700 text-xs uppercase tracking-wide dark:text-blue-300",value:""},mp={field:D($e,"gap-1 whitespace-nowrap bg-amber-100 text-amber-900 dark:bg-amber-500/15 dark:text-amber-200"),label:"text-amber-800 text-xs uppercase tracking-wide dark:text-amber-300",value:""},yp=({report:e,isRead:t,isStarred:r,isMine:n,onToggleRead:o,onToggleStar:a,onEdit:i,editButtonRef:s,onDelete:l,sourceConfig:c,visitTimeDisplay:d,markerIds:p,labels:m})=>{let f=r?m.starRemove:m.starAdd,y=t?m.markUnread:m.markRead,h=Xt(e.category),x=Xt(e.creationCategory);return fp("div",{className:"flex flex-wrap items-center gap-2 font-medium text-slate-600 text-xs dark:text-slate-300",children:[de(cn,{id:p.attachments,count:e.attachments.length,label:m.attachments}),c?de(Qr,{id:p.source,config:c}):null,de(Pe,{render:u=>de("button",{type:"button",onClick:a,tabIndex:u,className:Ve,title:f,"aria-label":f,"data-detail-star-button":e.reportHubId,children:de(Xr,{filled:r})})}),de(Pe,{render:u=>de("button",{type:"button",onClick:o,tabIndex:u,className:Ve,title:y,"aria-label":y,"data-detail-read-button":e.reportHubId,children:t?de(lg,{className:Oe.read}):de(Zr,{})})}),i&&de(Pe,{render:u=>de("button",{ref:s,type:"button",onClick:i,tabIndex:u,"data-detail-edit-button":e.reportHubId,className:Ve,title:m.edit,"aria-label":m.edit,children:de(dg,{className:Oe.edit})})}),n&&de(Pe,{render:u=>de("button",{type:"button",onClick:l,tabIndex:u,"data-detail-delete-button":e.reportHubId,className:Ve,title:m.deleteReport,"aria-label":m.deleteReport,children:de(cg,{className:Oe.delete})})}),fp("dl",{className:"m-0 flex flex-wrap items-center gap-2",children:[de(ge,{label:m.id,classNames:ug,children:e.reportHubId}),de(ge,{label:m.businessDate,classNames:Pa,children:de(Tr,{text:Re(e.date)})}),de(ge,{label:m.author,classNames:Pa,children:de(se,{fieldKey:le.field("employeeName"),raw:e.employeeName,display:Me(e.employeeName)})}),de(ge,{label:m.visitTime,classNames:Pa,children:Qt(d)}),de(ge,{label:m.updatedAt,classNames:Pa,children:de(Tr,{text:Re(e.updatedAt)})}),h.text.length>0&&de(ge,{label:m.category,classNames:mp,children:de(se,{fieldKey:le.field("category"),raw:e.category,display:h})}),x.text.length>0&&de(ge,{label:m.creationCategory,classNames:mp,children:de(se,{fieldKey:le.field("creationCategory"),raw:e.creationCategory,display:x})})]}),de(La,{isEditing:!1,descriptionId:p.searchMatch})]})};import{useCallback as Vg,useContext as Up,useLayoutEffect as ks,useRef as Kp}from"react";import{startTransition as wg,useCallback as ue,useLayoutEffect as Ir,useMemo as Hp,useRef as sr,useState as jn,useSyncExternalStore as Lg}from"react";import{flushSync as Bp}from"react-dom";var Jr=e=>({owner:e,focusIndex:null}),ws=Object.freeze({owner:null,focusIndex:null}),hp=(e,t)=>{if(e.length===0)return ws;let r=Math.min(Math.max(t,0),e.length-1);return{owner:{reportHubId:xt(e,r).reportHubId,index:r},focusIndex:r}},bp=(e,t)=>{switch(t.kind){case"focusIn":return Jr(t.row);case"focusOut":return t.to==="outside"?ws:Jr(e);case"pointerPress":return t.at==="outside"?ws:Jr(e);case"listChanged":{if(e===null)return Jr(e);let r=De(t.items,e.reportHubId,e.index);return r===-1?hp(t.items,e.index):Jr(r===e.index?e:{reportHubId:e.reportHubId,index:r})}case"removed":return t.selection===null||t.selection.reportHubId!==t.reportHubId?Jr(e):hp(t.items,t.selection.index)}};var pg=new Set(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),Fa={capture:!0},Ha=new WeakMap,mg=e=>{let t=o=>{pg.has(o.key)||(n.last="keyboard")},r=()=>{n.last="pointer"},n={observers:0,last:null,detach:()=>{e.removeEventListener("keydown",t,Fa),e.removeEventListener("pointerdown",r,Fa)}};return e.addEventListener("keydown",t,Fa),e.addEventListener("pointerdown",r,Fa),n},Rp=e=>{let t=Ha.get(e),r=t===void 0?mg(e):t;t===void 0&&Ha.set(e,r),r.observers+=1;let n=!1;return()=>{n||(n=!0,r.observers-=1,!(r.observers>0)&&(r.detach(),Ha.delete(e)))}},Sp=e=>{let t=Ha.get(e);return t===void 0?null:t.last};var Ba=e=>e.matches(":focus-visible")&&Sp(e.ownerDocument)!=="pointer";var fg="data-daily-report-keyboard-focus",ar={capture:!0},gp=e=>{let t=Rp(e.ownerDocument),r=s=>{e.toggleAttribute(fg,Se(s)&&Ba(s))},n=s=>r(s.target),o=s=>{Se(s.relatedTarget)&&e.contains(s.relatedTarget)||r(null)},a=()=>r(null);e.addEventListener("focusin",n,ar),e.addEventListener("keydown",n,ar),e.addEventListener("focusout",o,ar),e.addEventListener("pointerdown",a,ar);let i=_e(e);return r(i!==null&&e.contains(i)?i:null),()=>{e.removeEventListener("focusin",n,ar),e.removeEventListener("keydown",n,ar),e.removeEventListener("focusout",o,ar),e.removeEventListener("pointerdown",a,ar),r(null),t()}};var yg='form, input, textarea, select, [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls]',hg=["combobox","listbox","menu","menubar","radiogroup","slider","spinbutton","textbox","tree","grid","scrollbar","tablist","toolbar","treegrid","separator"],bg=hg.map(e=>`[role="${e}"]`).join(", "),Rg=new Map([["ArrowUp","previous"],["ArrowDown","next"],["Home","first"],["End","last"],["PageUp","pageBackward"],["PageDown","pageForward"]]),Sg=new Set(["Enter"," "]),gg=new Map([["Home","exitBefore"],["End","exitAfter"]]),Ls=(e,t)=>{if(e.altKey||e.metaKey||e.shiftKey)return null;if(e.ctrlKey)return gg.get(e.key)??null;let r=Rg.get(e.key);return r!==void 0?r:Sg.has(e.key)&&t.rowActivation?"activate":null},Ep=(e,t,r)=>{let n=e.closest(t);return n!==null&&n!==r&&r.contains(n)},xp=(e,t,r)=>{let n=Ls(e,r);if(n===null||e.defaultPrevented||Er(e)||t===null||!Se(e.target)||!t.contains(e.target))return null;let o=er(e.target,t);return o===null?null:n==="activate"?e.target===o?"activate":null:Ep(e.target,yg,t)||Ep(e.target,bg,t)?null:n};var Va={kind:"stay"},Ua=e=>{if(e.kind==="measured")return e.heightOf;let{rowHeight:t}=e;return()=>t},Dp=e=>Math.floor(.875*e),ir=(e,t)=>({kind:"move",index:e,align:t}),Kn=(e,t,r,n)=>e>=0&&e+t<=r?"none":t>r?n>0?"top":"bottom":e<0?"top":"bottom",Eg=({index:e,count:t,viewport:r,focusedRowTop:n,heightOf:o})=>{let a=o(e),i=n+a,s={index:e+1,top:i};for(let l=e+1;l<t;l++){let c=o(l);if(a+=c,a>r)break;s={index:l,top:i},i+=c}return s},xg=({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},Dg=(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 Va;if(r==="top")return ir(n-1,"top");let c=s(n-1);return ir(n-1,Kn(i-c,c,a,-1))}case"next":return n===o-1?Va:r==="top"?ir(n+1,"top"):ir(n+1,Kn(l,s(n+1),a,1));case"first":return ir(0,"top");case"last":return ir(o-1,s(o-1)<=a?"bottom":"top");case"pageForward":{if(l>a)return{kind:"reveal",delta:Math.min(l-a,Dp(a))};if(n===o-1)return Va;let c=Eg(t);return ir(c.index,Kn(c.top,s(c.index),a,1))}case"pageBackward":{if(i<0)return{kind:"reveal",delta:-Math.min(-i,Dp(a))};if(n===0)return Va;let c=xg(t);return ir(c.index,Kn(c.top,s(c.index),a,-1))}}},Tg=({index:e,focusedRowTop:t,heightOf:r},n)=>Cp(n,{index:e,offsetPx:-t},r),vp=(e,t,r,n)=>{let o=r,a=null,i=0;for(let s=0;s<t;s++){let l=Dg(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:Tg(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}},Ap=({index:e,viewport:t,focusedRowTop:r,heightOf:n})=>Kn(r,n(e),t,1),Cp=(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},Wn=(e,t,r,n)=>{let o=e.getViewportSize(),a=e.getScrollPosition();if(!(o>0&&a>=0))return null;let i=Ua(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:Cp(t,s,i),heightOf:i}},Tp=1,_p=(e,t,r)=>{let n=e.getViewportSize(),o=e.getScrollAnchor();if(!(n>0)||o===null||t===0)return null;let a=$n(o,n,t,r);return{start:Math.max(0,o.index-Tp),end:Math.min(t-1,a+Tp)}},$n=(e,t,r,n)=>{let o=Ua(n),a=e.index,i=o(a)-e.offsetPx;for(;i<t&&a<r-1;)a+=1,i+=o(a);return a},wp=(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,Ip=(e,t,r)=>e!==null&&e.index!==-1&&(e.reportHubId===r||e.index>=t.visibleStartIndex&&e.index<=t.visibleEndIndex),Lp=(e,t,r,n,o)=>{if(n===null)return t!==null?t.reportHubId:r===null?null:r.reportHubId;if(Ip(t,n,o))return t.reportHubId;if(Ip(r,n,o))return r.reportHubId;let a=n.visibleStartIndex>=0?e.at(n.visibleStartIndex):void 0;return a===void 0?null:a.reportHubId};var Os=1,zn=2,Ns=({selectedId:e,tabStopId:t,arrivingId:r},n)=>(n===e||n===r?Os:0)|(n===t||n===r?zn:0),Ig=e=>{if(Ot(e))return!0;let t=_e(e);return t!==null&&e.contains(t)},vg=(e,t)=>{let r=e.closest(`[${Yo}]`);return r!==null&&r!==e&&Sr(r)===t&&_e(e)===r},Np={capture:!0},Op=({getContainer:e,initialSelectedId:t})=>{let r={selectedId:t,tabStopId:t,arrivingId:null},n=null,o=null,a=!1,i=null,s=new Map,l=new Map,c=null,d=new Map,p=u=>Ns(r,u),m=u=>{let b=l.get(u);if(b===void 0)return;let I=(p(u)&zn)!==0?"0":"-1";b.getAttribute("tabindex")!==I&&b.setAttribute("tabindex",I)},f=()=>{if(n===null)return;let u=n;n=null,m(u)},y=(u,b)=>{f();let I={...r};u(r);let C=r,R=new Set([I.selectedId,I.tabStopId,I.arrivingId,C.selectedId,C.tabStopId,C.arrivingId]);for(let T of R){if(T===null)continue;let S=Ns(I,T),v=Ns(C,T);if(S===v)continue;((S^v)&zn)!==0&&(T===b?n=T:m(T));let O=s.get(T);if(O!==void 0)for(let M of[...O])M()}},h=u=>{let b=u.ownerDocument,I=n!==null&&!Ot(u);I?b.addEventListener("focusout",f,Np):f(),a=!0;try{u.focus({preventScroll:!0})}finally{a=!1,I&&b.removeEventListener("focusout",f,Np),f()}},x=u=>{let b=e();b!==null&&(o=null,Ig(b)&&h(u))};return{getSelectedId:()=>r.selectedId,getTabStopId:()=>r.tabStopId,rowStateOf:p,setTabStopId:u=>{y(b=>{b.tabStopId=u},null)},settleSelection:(u,b)=>{y(I=>{I.selectedId=u,I.tabStopId=b,I.arrivingId=null},null)},arrive:u=>{y(b=>{b.arrivingId=u},u)},subscribe:(u,b)=>{let I=s.get(u)??new Set;return I.add(b),s.set(u,I),()=>{I.delete(b),I.size===0&&s.get(u)===I&&s.delete(u)}},registerFocusTarget:(u,b)=>{if(l.set(u,b),m(u),o===u){x(b);return}i===null||i.reportHubId!==u||(Ot(b)||vg(b,u))&&h(b)},unregisterFocusTarget:(u,b)=>{l.get(u)===b&&l.delete(u)},requestFocus:u=>{o=u;let b=l.get(u);b!==void 0&&x(b)},cancelFocusRequest:()=>{o=null},pendingFocusId:()=>o,isMovingFocus:()=>a,getFocusOwner:()=>i,setFocusOwner:u=>{i=u},restoreFocus:u=>{if(i===null||i.reportHubId!==u)return;let b=l.get(u);b===void 0||!Ot(b)||h(b)},holdBodiesOutside:u=>{c=u},isBodyHeldAt:u=>c!==null&&(u<c.start||u>c.end),registerHeldBody:(u,b,I)=>{let C={indexHint:b,release:I};return d.set(u,C),()=>{d.get(u)===C&&d.delete(u)}},releaseHeldBodiesWithin:(u,b)=>{if(u!==null)for(let[I,{indexHint:C,release:R}]of[...d]){let T=b(I,C);T>=u.start&&T<=u.end&&R()}}}};var ut={previous:{axis:"row",amount:-1},next:{axis:"row",amount:1},pageBackward:{axis:"page",amount:-1},pageForward:{axis:"page",amount:1},first:{axis:"first",amount:1},last:{axis:"last",amount:1},activate:{axis:"activate",amount:1}},Ms=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!1}),Ag=Object.freeze({apply:null,flush:!1,requestFrame:!0,ended:!1}),Mp=Object.freeze({apply:null,flush:!1,requestFrame:!1,ended:!0}),Cg=new Map(Object.values(ut).map(e=>[e,Object.freeze({apply:e,flush:!1,requestFrame:!0,ended:!1})])),kp=e=>{let t=Cg.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},_g=(e,t,r)=>e==="row"||e==="page"?t+r:r,Pp=e=>({state:{axis:e.axis,pending:0,fence:"immediate"},effects:kp(e)}),Fp=(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",kp(r)):(e.pending=_g(e.axis,e.pending,r.amount),Ms)}case"frame":{if(e.fence==="open")return Ms;if(e.fence==="immediate")return e.fence="flush",Ag;if(e.pending===0)return e.fence="open",Ms;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?Mp:{apply:{axis:e.axis,amount:e.pending},flush:!0,requestFrame:!1,ended:!0};case"cancel":return Mp}};var Ng=Object.freeze({kind:"frame"}),Og=Object.freeze({kind:"keyup"}),Mg=Object.freeze({kind:"cancel"}),kg=Object.freeze({previous:Object.freeze({kind:"repeat",step:ut.previous}),next:Object.freeze({kind:"repeat",step:ut.next}),pageBackward:Object.freeze({kind:"repeat",step:ut.pageBackward}),pageForward:Object.freeze({kind:"repeat",step:ut.pageForward}),first:Object.freeze({kind:"repeat",step:ut.first}),last:Object.freeze({kind:"repeat",step:ut.last}),activate:Object.freeze({kind:"repeat",step:ut.activate})}),Pg=(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}},Fg=(e,t)=>({top:e.top-t,bottom:e.bottom+t}),Hg=e=>{let t=Sr(e),r=Br(e);return t===null||r===null?null:{reportHubId:t,index:r-1}},Ka=(e,t)=>{let r=ue(a=>e.subscribe(t,a),[e,t]),n=ue(()=>e.rowStateOf(t),[e,t]),o=Lg(r,n,n);return{isCurrent:(o&Os)!==0,isTabStop:(o&zn)!==0}},Wa=(e,t,r)=>{let[n,o]=jn(()=>!e.isBodyHeldAt(r));return Ir(()=>{if(n)return;let a=()=>o(!0),i=e.registerHeldBody(t,r,a);return wg(a),i},[e,t,r,n]),n},Bg=e=>e==="first"||e==="last",Vp=({items:e,selectedId:t,onSelect:r,containerRef:n,rootRef:o,handleRef:a,scroller:i,rowSizing:s,arrowAlign:l,rowActivation:c})=>{let[d]=jn(()=>Op({getContainer:()=>n.current,initialSelectedId:t})),p=sr({items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:c}),m=sr(null),f=sr(null),[y,h]=jn(null),x=sr(null),u=sr(null),[b,I]=jn(null),C=sr(!1),R=sr(null),[T,S]=jn(0),v=Hp(()=>({id:t,indexHint:t===null?null:Zd(y,t)}),[t,y]),O=sr(v);Ir(()=>{p.current={items:e,onSelect:r,rowSizing:s,arrowAlign:l,rowActivation:c},O.current=v},[e,r,s,l,c,v]);let M=ue((w,k)=>{let V=f.current;if(V!==null&&V.items===w&&V.reportHubId===k)return V.index;let Y=De(w,k,V!==null&&V.reportHubId===k?V.index:null);return Y!==-1&&(f.current={items:w,reportHubId:k,index:Y}),Y},[]),L=ue((w,k)=>{f.current={items:p.current.items,reportHubId:w,index:k},h(V=>V!==null&&V.reportHubId===w&&V.index===k?V:{reportHubId:w,index:k})},[]),P=ue(w=>{let k=d.getFocusOwner();if(k===null)return null;let V=De(w,k.reportHubId,k.index);return V===-1?null:{reportHubId:k.reportHubId,index:V}},[d]),U=ue(w=>{let k=p.current.items,V=w===null?null:{reportHubId:w,index:M(k,w)};return Lp(k,P(k),V,m.current,R.current)},[M,P]),oe=ue(()=>{d.setTabStopId(U(d.getSelectedId()))},[d,U]),re=ue(w=>{let k=d.getFocusOwner();k===w||k!==null&&w!==null&&k.reportHubId===w.reportHubId&&k.index===w.index||(d.setFocusOwner(w),C.current||oe())},[d,oe]),W=ue(w=>{let k=bp(d.getFocusOwner(),w);re(k.owner),k.focusIndex!==null&&(x.current=k.focusIndex,d.requestFocus(k.owner.reportHubId))},[d,re]);Ir(()=>{d.settleSelection(t,U(t))},[d,t,e,T,U]),Ir(()=>{let w=o.current;if(w!==null)return gp(w)},[o]),Ir(()=>{let w=n.current;if(w===null)return;let k=w.ownerDocument,V=Y=>{let ie=n.current,g=Y.target;W({kind:"pointerPress",at:ie!==null&&Se(g)&&ie.contains(g)?"inside":"outside"})};return k.addEventListener("pointerdown",V,{capture:!0}),()=>k.removeEventListener("pointerdown",V,{capture:!0})},[n,W]),Ir(()=>{let w=d.pendingFocusId();w!==null&&De(e,w,x.current)===-1&&d.cancelFocusRequest(),W({kind:"listChanged",items:e})},[d,e,W]);let Q=ue(w=>{W({kind:"removed",reportHubId:w,selection:f.current,items:p.current.items})},[W]),Z=ue((w,k,V,Y)=>{let{items:ie,onSelect:g,rowSizing:_,arrowAlign:F}=p.current,N=a.current;if(g===null||N===null)return null;let j=De(ie,V.reportHubId,V.index);if(j===-1)return null;let E=Wn(N,j,ie.length,_);if(E===null)return null;let A=vp(w,k,E,F),B=xt(ie,A.index),q=A.index!==j,pe=q||Y&&Bg(w)&&O.current.id!==B.reportHubId;if(q){d.arrive(B.reportHubId),R.current=B.reportHubId,x.current=A.index,C.current=!0;try{d.requestFocus(B.reportHubId)}finally{C.current=!1}}try{Bp(()=>{pe&&(d.pendingFocusId()===null&&d.settleSelection(B.reportHubId,B.reportHubId),g(B.reportHubId,A.index)),A.alignment!==null&&i.toIndex(A.alignment.index,{align:A.alignment.align}),A.scrollDelta!==0&&i.by(A.scrollDelta),pe&&(L(B.reportHubId,A.index),S(bt=>bt+1));let Ye=_p(N,ie.length,_);d.holdBodiesOutside(Ye),d.releaseHeldBodiesWithin(Ye,(bt,ao)=>De(ie,bt,ao))})}finally{d.holdBodiesOutside(null)}return q?{reportHubId:B.reportHubId,index:A.index}:{reportHubId:V.reportHubId,index:j}},[d,a,i,L]),z=ue(w=>{let{items:k,onSelect:V}=p.current;if(V===null)return;let Y=De(k,w.reportHubId,w.index);Y!==-1&&(V(w.reportHubId,Y),L(w.reportHubId,Y))},[L]),ce=ue(w=>{let k=n.current,V=k===null?null:_e(k),Y=k!==null&&V!==null&&k.contains(V)?En(er(V,k),p.current.items):null;return Y===null?w.origin:Y},[n]),ee=ue((w,k)=>{let V=ce(w);if(k.axis==="activate"){z(V);return}let Y=Pg(k.axis,k.amount),ie=Z(Y.command,Y.count,V,!1);ie!==null&&(w.origin=ie)},[ce,z,Z]),fe=ue(w=>{u.current=null,w.frame!==0&&w.view.cancelAnimationFrame(w.frame),I(null)},[]),ke=ue((w,k,V)=>{let{apply:Y}=k;Y!==null&&(k.flush?Bp(()=>ee(w,Y)):ee(w,Y)),u.current===w&&(k.ended?fe(w):k.requestFrame&&(w.frame=w.view.requestAnimationFrame(V)))},[ee,fe]),Ie=ue((w,k,V)=>{ke(w,Fp(w.state,k),V)},[ke]),ve=ue(()=>{let w=u.current;w!==null&&(w.frame=0,Ie(w,Ng,ve))},[Ie]),ye=ue(()=>{let w=u.current;w!==null&&Ie(w,Og,ve)},[Ie,ve]),he=ue(()=>{let w=u.current;w!==null&&Ie(w,Mg,ve)},[Ie,ve]),it=ue((w,k,V)=>{I(O.current);let{state:Y,effects:ie}=Pp(ut[w]),g={state:Y,origin:k,view:V,frame:0};u.current=g,ke(g,ie,ve)},[ke,ve]);Ir(()=>()=>{let w=u.current;u.current=null,w!==null&&w.frame!==0&&w.view.cancelAnimationFrame(w.frame)},[]);let st=ue(w=>{let k=u.current,V=k!==null&&w.repeat?Ls(w,p.current):null;if(k!==null&&V!==null&&V!=="exitBefore"&&V!=="exitAfter"&&ut[V].axis===k.state.axis){w.preventDefault(),Ie(k,kg[V],ve);return}let{items:Y,onSelect:ie,rowSizing:g,rowActivation:_}=p.current,F=n.current,N=ie===null?null:xp($r(w),F,{rowActivation:_});if(d.cancelFocusRequest(),ye(),N===null||F===null)return;if(N==="exitBefore"||N==="exitAfter"){let A=Su(F,N==="exitBefore"?"before":"after");if(A===null)return;w.preventDefault(),A.focus();return}let j=_e(F),E=En(er(j!==null&&F.contains(j)?j:w.target,F),Y);if(E!==null){if(N!=="activate"){let A=a.current;if(A===null||Wn(A,E.index,Y.length,g)===null)return}if(w.preventDefault(),w.repeat){it(N,E,ze(F));return}N==="activate"?z(E):Z(N,1,E,!0)}},[d,n,a,ve,Ie,ye,it,z,Z]),yt=ue(()=>{ye()},[ye]),ht=ue(w=>{let k=n.current,V=w.target,Y=er(V,k);if(W({kind:"focusIn",row:Y===null?null:Hg(Y)}),d.isMovingFocus())return;let ie=a.current;if(k===null||ie===null||!Se(V)||!Ba(V))return;let g=Y===null?null:Y.closest('[role="list"]');if(Y===null||g===null)return;let _=g.getBoundingClientRect(),F=Y.getBoundingClientRect(),N=F.height<=_.height?F:Fg(V.getBoundingClientRect(),Gt),j=wp(N,_),E=ie.getViewportSize();j===0||!(E>0&&_.height>0)||i.by(j*E/_.height)},[d,n,a,i,W]),Ae=ue(w=>{let k=n.current,V=w.relatedTarget,Y=Se(V)?k?.contains(V)?"view":"outside":"nowhere";Y!=="view"&&he(),W({kind:"focusOut",to:Y})},[n,he,W]),Ee=ue(()=>{d.cancelFocusRequest(),he()},[d,he]),Ne=ue(w=>{m.current={visibleStartIndex:w.visibleStartIndex,visibleEndIndex:w.visibleEndIndex},R.current=null,oe()},[oe]),lt=Hp(()=>({onKeyDown:st,onKeyUp:yt,onPointerDownCapture:Ee,onWheelCapture:Ee,onTouchStartCapture:Ee,onFocus:ht,onBlur:Ae}),[st,yt,Ee,ht,Ae]);return{cursor:d,containerProps:lt,handleRangeChange:Ne,selection:v,settledSelection:b===null?v:b,resolveSelectedIndex:M,rememberSelection:L,focusAfterRemoval:Q}};import{jsx as Ps}from"react/jsx-runtime";var Ug=D(qt,lo,co,so,"h-full"),Kg="h-full w-full",Wp=({itemId:e,name:t,isBusy:r,bodyKind:n,observeRowHeight:o,cursor:a,children:i})=>{let{isCurrent:s,isTabStop:l}=Ka(a,e),c=Up(Pt),d=Up(kt),p=Wa(a,e,c),m=Kp(null),f=Kp(null),y=Vg(h=>(m.current=h,a.registerFocusTarget(e,h),()=>{m.current=null,a.unregisterFocusTarget(e,h)}),[a,e]);return ks(()=>{let h=m.current,x=h===null||!p?null:h.firstElementChild,u=x instanceof HTMLElement?x:null,b=f.current;b!==null&&b.body===u||(b!==null&&b.stop(),f.current=u===null?null:{body:u,stop:o(u)})}),ks(()=>()=>{f.current?.stop(),f.current=null},[]),ks(()=>{a.restoreFocus(e)},[a,e,n]),Ps(Fn.Provider,{value:l,children:Ps("div",{ref:y,className:Ug,"data-daily-report-row":e,"data-daily-report-button":e,role:"listitem","aria-posinset":c+1,"aria-setsize":d,"aria-labelledby":p&&t.kind==="card"?t.ids.heading:void 0,"aria-describedby":p&&t.kind==="card"?t.describedBy:void 0,"aria-label":t.kind==="label"?t.label:void 0,"aria-busy":r||!p?!0:void 0,"aria-current":s?"true":void 0,children:p?i:Ps("div",{...qe,className:Kg})})})};import{jsx as G,jsxs as He}from"react/jsx-runtime";var jg=D("flex w-full flex-col",St,mo,Yt),Gg=D(St,Yt),Yg=D("rounded-2xl",Yt),qg=D("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",Yt),We="bg-slate-200 dark:bg-slate-700",Xg=({interviewer:e,index:t,template:r})=>{let n=vr(()=>Me(e.name),[e.name]),o=G(se,{fieldKey:le.interviewer(t,"name"),raw:e.name,display:n},"name"),a=e.affiliation;if(!a?.trim())return o;let i=au(r,n.text,a);return i===null?r(n.text,a):i.map(s=>s.kind==="text"?s.text:s.kind==="name"?o:G(se,{fieldKey:le.interviewer(t,"affiliation"),raw:a,display:tt(a)},"affiliation"))},Qg=()=>He("div",{...qe,className:Gg,children:[He("div",{className:"mb-4 flex flex-wrap gap-2",children:[G("div",{className:D("h-6 w-20 rounded-full",We)}),G("div",{className:D("h-6 w-24 rounded-full",We)}),G("div",{className:D("h-6 w-24 rounded-full",We)}),G("div",{className:D("h-6 w-28 rounded-full",We)})]}),He("div",{className:"mb-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[He("div",{className:"space-y-4",children:[G("div",{className:D("h-5 w-40 rounded",We)}),G("div",{className:D("h-5 w-56 rounded",We)}),G("div",{className:D("h-24 rounded-xl",We)})]}),He("div",{className:"rounded-xl bg-slate-100 p-3 dark:bg-slate-800/60",children:[G("div",{className:D("mb-2 h-4 w-24 rounded",We)}),G("div",{className:D("mb-2 h-4 w-28 rounded",We)}),G("div",{className:D("h-4 w-32 rounded",We)})]})]}),He("div",{className:"space-y-4",children:[G("div",{className:D("h-4 w-24 rounded",We)}),He("div",{className:"flex flex-wrap gap-2",children:[G("div",{className:D("h-6 w-16 rounded-full",We)}),G("div",{className:D("h-6 w-16 rounded-full",We)}),G("div",{className:D("h-6 w-16 rounded-full",We)})]}),He("div",{className:"space-y-2",children:[G("div",{className:D("h-16 rounded-xl",We)}),G("div",{className:D("h-16 rounded-xl",We)})]})]})]}),Zg=({item:e,observeRowHeight:t,onCommentAdded:r,userId:n,cursor:o})=>{let{report:a,error:i,isLoading:s,isRefetching:l}=br(e.reportHubId,e.businessDate),{removeStaleItem:c}=Ke(),{draftLabelName:d,sourceTypeConfigs:p}=K(),m=tr(),f=ca(e.reportHubId),y=f==="editing"||f==="automatic",h=Fs(!1),x=Fs(!1),u=Fs(!1);$p(()=>{if(l){u.current=!0;return}!(a||s||i)&&u.current&&e.reportHubId>0&&c(e.reportHubId)},[a,s,l,i,e.reportHubId,c]);let b=a?.labels.some(z=>z.name===d),I=n&&a?.userId===n,C=vr(()=>a===null?void 0:()=>{h.current=!0,m.open(e.reportHubId,qr(a),!1)},[m,e.reportHubId,a]),R=en(()=>{x.current=!0,m.dismiss(e.reportHubId)},[m,e.reportHubId]),T=en(()=>{x.current=!0,m.discard(e.reportHubId)},[m,e.reportHubId]),S=en(z=>{z===null||!h.current||(h.current=!1,z.focus())},[]),v=en(z=>{z===null||!x.current||(x.current=!1,z.focus())},[]);zg(()=>{y||(x.current=!1)},[y]),$p(()=>{a!==null&&(I&&b&&f==="display"?m.open(e.reportHubId,qr(a),!0):!b&&f==="automatic"&&m.discard(e.reportHubId))},[a,I,b,f,m,e.reportHubId]);let O=en(()=>o.requestFocus(e.reportHubId),[o,e.reportHubId]),M=$g(),L=vr(()=>({heading:`${M}-heading`,state:`${M}-state`,attachments:`${M}-attachments`,source:`${M}-source`,searchMatch:`${M}-search-match`}),[M]),P=a!==null&&a.attachments.length>0,U=Wg(rr)!==null,oe=a===null?void 0:Nt(a.sourceType,p),re=[L.state,...P?[L.attachments]:[],...oe!==void 0?[L.source]:[],...U?[L.searchMatch]:[]].join(" "),W=!i&&a!==null&&!y?{kind:"card",ids:L,describedBy:re}:{kind:"label",label:Re(e.businessDate)},Q=!i&&a===null&&s,Z=i?"error":a===null?s?"loading":"missing":y?"editing":"resolved";return G(Wp,{itemId:e.reportHubId,name:W,isBusy:Q,bodyKind:Z,observeRowHeight:t,cursor:o,children:i?G(Jg,{itemId:e.reportHubId}):a?y?G("div",{...qe,className:Yg,children:G(_a,{report:a,onCancel:R,onPublishSuccess:T,titleInputRef:S})}):G(Gp,{item:e,report:a,sourceConfig:oe,textIds:L,onCommentAdded:r,userId:n,onEdit:I?C:void 0,editButtonRef:v,onCommentSectionRemoved:O}):G(Qg,{})})},jp=zp(Zg),Gp=zp(({item:e,report:t,sourceConfig:r,textIds:n,onCommentAdded:o,userId:a,onEdit:i,editButtonRef:s,onCommentSectionRemoved:l})=>{let{toggleStar:c,toggleRead:d,pendingStarUpdates:p,pendingReadUpdates:m,deleteReport:f}=Ke(),{labels:y,headingLevel:h}=K(),x=nr[h],u=Co(t.sourceType,r),b=en(()=>o?.(e.reportHubId),[o,e.reportHubId]),I=p.current.get(t.reportHubId),C=I===void 0?t.isStarred:I,R=m.current.get(t.reportHubId),T=R===void 0?t.isRead:R,S=!!(a&&t.userId===a),v=async()=>{try{await d(t.reportHubId,!T,t.date)}catch{}},O=async()=>{try{await c(t.reportHubId,!C,t.date)}catch{}},M=async()=>{if(confirm(y.confirmDelete))try{await f(t.reportHubId,t.date)}catch{}},L=vr(()=>nd(t.content??null),[t.content]),P=vr(()=>Me(t.customerName),[t.customerName]),U=vr(()=>Me(t.subject),[t.subject]),oe=vr(()=>{let re=t.visitTimeFrom?.trim(),W=t.visitTimeTo?.trim();return re&&W?`${re} - ${W}`:re||W||null},[t.visitTimeFrom,t.visitTimeTo]);return G("div",{...qe,onDoubleClick:i,className:jg,children:He(jr,{reportHubId:e.reportHubId,children:[G(Qe,{level:h,id:n.heading,className:Ct,children:`${Re(t.date)} ${Qt(t.employeeName)} ${Qt(t.subject)}`}),G("span",{id:n.state,className:Ct,children:y.rowState({isRead:T,isStarred:C})}),He("div",{className:"flex flex-col gap-4",children:[G(yp,{report:t,sourceConfig:r,isRead:T,isStarred:C,isMine:S,onToggleRead:v,onToggleStar:O,onEdit:i,editButtonRef:s,onDelete:M,visitTimeDisplay:oe,markerIds:n,labels:y}),He("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]",children:[He("div",{className:"flex flex-col gap-4",children:[He("div",{className:"grid gap-4 sm:grid-cols-2",children:[He("div",{className:"flex flex-col gap-1",children:[G(Qe,{level:x,className:_t,children:y.customer}),G("span",{className:"font-semibold text-base text-slate-900 dark:text-slate-100",children:G(se,{fieldKey:le.field("customerName"),raw:t.customerName,display:P})})]}),He("div",{className:"flex flex-col gap-1",children:[G(Qe,{level:x,className:_t,children:y.subject}),G("span",{className:"text-slate-700 text-sm dark:text-slate-200",children:G(se,{fieldKey:le.field("subject"),raw:t.subject,display:U})})]})]}),L.text.length>0&&He("div",{className:"flex flex-col gap-2",children:[G(Qe,{level:x,className:_t,children:y.content}),G("div",{className:D("whitespace-pre-wrap",po),children:G(se,{fieldKey:le.field("content"),raw:t.content,display:L})})]}),t.interviewers.length>0&&He("div",{className:"flex flex-col gap-2",children:[G(Qe,{level:x,className:_t,children:y.interviewers}),G("ul",{className:"flex flex-wrap gap-2",children:t.interviewers.map((re,W)=>G("li",{className:D($e,"bg-slate-100 text-slate-600 text-xs dark:bg-slate-800 dark:text-slate-300"),children:G(Xg,{interviewer:re,index:W,template:y.interviewerWithAffiliation})},JSON.stringify([re.name,re.affiliation])))})]}),G(Da,{attachments:t.attachments}),G(Vn,{report:t,userId:a,canComment:u,onCommentAdded:b,onSectionRemoved:l,formPlacement:"after-section"})]}),G(up,{report:t,visitTimeDisplay:oe,labels:y})]})]})]})})});Gp.displayName="DailyReportResolvedItem";var Jg=({itemId:e})=>{let{labels:t}=K();return G("div",{...qe,className:qg,children:G("p",{children:t.reportLoadFailed(e)})})};import{useCallback as tm,useId as cE,useMemo as rm,useRef as uE}from"react";import{createContext as eE,useContext as tE,useLayoutEffect as rE}from"react";var Yp=()=>{let e=!1;return{request:()=>{e=!0},isPending:()=>e,take:()=>{let t=e;return e=!1,t}}},Hs=eE(null),qp=(e,t)=>{let r=tE(Hs);rE(()=>{let n=e.current;if(r===null||!r.isPending()||n===null)return;let o=qo(n);o===null&&!t||(r.take(),Ot(n)&&Dt([o===null?Zi(n.ownerDocument):o]))})};import{useCallback as Xp,useLayoutEffect as Qp,useMemo as Zp,useRef as Bs}from"react";var nE=(e,t,r,n)=>{for(let o=r;o<=n;o++)if(e.at(o)?.reportHubId!==t.at(o)?.reportHubId)return!0;return!1},oE=(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}},aE=(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}},iE=(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"?oE(e.index,a,n.rowHeight,r.length):aE(e.index,a,Ua(n),r.length);return{reportHubId:xt(r,i).reportHubId,index:i,offsetPx:s,lastVisibleIndex:$n({index:i,offsetPx:s},o,r.length,n),recordedAt:t}},sE=(e,t,r)=>{for(let n=r.index+1;n<=r.lastVisibleIndex&&n<e.length;n++){let o=De(t,xt(e,n).reportHubId,n-1);if(o!==-1)return o}return-1},Jp=({items:e,handleRef:t,rowSizing:r,isRevealPending:n})=>{let o=Bs(null),a=Bs(e),i=Bs(r),s=Xp(()=>{let d=t.current,p=d===null?-1:d.getScrollPosition(),m=d===null||!(p>0)?null:d.getScrollAnchor(),f=a.current,y=m===null||m.index<0?void 0:f.at(m.index),h=d===null?0:d.getViewportSize();o.current=m===null||y===void 0||!(h>0)?null:{reportHubId:y.reportHubId,index:m.index,offsetPx:m.offsetPx,lastVisibleIndex:$n(m,h,f.length,i.current),recordedAt:p}},[t]),l=Zp(()=>({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]);Qp(()=>{let d=a.current;a.current=e;let p=o.current,m=t.current;if(d===e||p===null||m===null||n())return;let f=iE(p,m.getScrollPosition(),d,i.current,m.getViewportSize());if(f===null){o.current=null;return}let y=De(e,f.reportHubId,f.index),h=y===-1?sE(d,e,f):y;if(h===-1){o.current=null;return}if(h===f.index&&!nE(d,e,f.index,f.lastVisibleIndex)){o.current=f;return}m.scrollToIndex(h,{align:"top",offset:-f.offsetPx}),o.current={reportHubId:xt(e,h).reportHubId,index:h,offsetPx:f.offsetPx,lastVisibleIndex:$n({index:h,offsetPx:f.offsetPx},m.getViewportSize(),e.length,r),recordedAt:m.getScrollPosition()}},[e,t,r,n]),Qp(()=>{i.current=r},[r]);let c=Xp(d=>{if(d.cause!=="clamp"){s();return}let p=o.current;p!==null&&(o.current={...p,recordedAt:p.recordedAt+d.delta})},[s]);return Zp(()=>({handleRangeChange:s,handleScrollAdjust:c,scroller:l}),[s,c,l])};import{useCallback as lE}from"react";var dE=20,em=({hostTestId:e,scrollContainerRef:t,handleRef:r,scroller:n,itemsRef:o})=>lE(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=>ot(o.current,l),getReportItem:l=>l>=0?o.current.at(l):void 0,getReportIds:(l=dE)=>Jd(o.current,l),revealIndex:(l,c)=>n.toIndex(l,c)}}}),()=>{i!==null&&delete i.__virtualScroll,t.current=null}},[e,t,r,n,o]);import{jsx as pE}from"react/jsx-runtime";var $a=({containerRef:e,testId:t,itemsRef:r,isViewRevealPending:n,onRangeChange:o,...a})=>{let i=uE(null),s=tm(C=>(i.current=C,()=>{i.current=null}),[]),{handleRangeChange:l,handleScrollAdjust:c,scroller:d}=Jp({items:a.items,handleRef:i,rowSizing:a.rowSizing,isRevealPending:n}),{handleRangeChange:p,...m}=Vp({...a,containerRef:e,handleRef:i,scroller:d}),f=em({hostTestId:t,scrollContainerRef:e,handleRef:i,scroller:d,itemsRef:r});qp(e,a.items.length===0);let{labels:y}=K(),h=cE(),x=a.onSelect!==null,u=tm(C=>{p(C),l(),o(C)},[p,l,o]),b=rm(()=>({role:"list","aria-label":y.title,"aria-describedby":x?h:void 0}),[y.title,x,h]),I=rm(()=>x?pE("span",{id:h,className:"sr-only",children:y.listKeyboardHelp}):null,[x,h,y.listKeyboardHelp]);return{...m,handleRangeChange:u,handleScrollAdjust:c,attachVirtualScroll:s,handleRef:i,scroller:d,attachScrollContainer:f,contentProps:b,keyboardHelp:I}};import{Fragment as EE,jsx as Ut,jsxs as gE}from"react/jsx-runtime";var om={pointerDragInputs:Po,wheelSpeedMultiplier:wo,inertiaOptions:Vr(!1),enableKeyboardNavigation:!1},yE={...om,inertiaOptions:Vr(!0)},nm="daily-report-detail-list",hE=D("relative w-full",So,Ro),bE=D(et,"relative"),RE=300,Us=e=>{let t=je(null),[r,n]=za(null),o=$o(t),a=Ur(r),i=Be(s=>(t.current=s,n(s),()=>{t.current=null,n(null)}),[]);return Ut("div",{ref:i,className:ho,children:Ut("div",{className:bo,children:o===null?null:Ut(SE,{...e,viewportHeight:o,reducedMotion:a})})})},SE=({dailyReportItems:e,rowSetSize:t,userId:r,selectedItemId:n,onSelectItem:o,scrollRestoreRef:a,viewportHeight:i,reducedMotion:s})=>{let[{initialScrollAnchor:l,restored:c}]=za(()=>{let E=a?.current;if(!E||E.anchorReportHubId!==(n??null))return{initialScrollAnchor:void 0,restored:!1};if(!E.topItem)return{initialScrollAnchor:void 0,restored:!0};let A=ot(e,E.topItem.reportHubId);return A!==-1?{initialScrollAnchor:{index:A,offsetPx:E.topItem.offsetPx},restored:!0}:{initialScrollAnchor:{index:E.topItem.index,offsetPx:0},restored:!0}}),d=je(c),p=je(n??null),m=je(a?.current.measuredHeights??new Map),f=je(null),y=Uo(),h=Mi(),[x]=za(Xo),u=je(null),b=je(null),I=je(e),C=je(o);fE(()=>{I.current=e,C.current=o},[e,o]);let R=je(null),[T,S]=za(0),v=je(null),O=e.length,M=t===void 0?O:t,L=Be(E=>{let A=E>=0&&E<O?e.at(E):void 0;return A===void 0?No:A},[e,O]),P=Be(E=>{let A=m.current.get(L(E).reportHubId);return A===void 0?Cd:A},[L]),U=Be(E=>L(E).reportHubId,[L]),oe=Vs(()=>({kind:"measured",heightOf:P}),[P]),re=Be((E,A)=>{R.current={reportHubId:E,index:A},S(B=>B+1),C.current?.(E)},[]),W=Be((E,A)=>{if(O===0)return;let B=Math.max(0,E),q=Math.min(O-1,A);if(B>q)return;let pe=new Set;for(let Ye=B;Ye<=q;Ye++){let bt=L(Ye);if(bt.businessDate&&pe.add(bt.businessDate),pe.size>=Id)break}pe.forEach(Ye=>{h(Ye)})},[L,O,h]),Q=je(null),Z=Be(()=>Q.current,[]),z=Be(E=>{if(O===0)return;let{renderingStartIndex:A,renderingEndIndex:B,visibleStartIndex:q}=E,pe=L(q);pe.reportHubId>0&&(Q.current=pe.reportHubId),pe.businessDate&&x.setLabel(Re(pe.businessDate)),W(A,B),W(B+1,B+Lo),W(A-Lo,A-1)},[L,O,W,x]),ce=Be(()=>v.current!==null,[]),{cursor:ee,containerProps:fe,handleRangeChange:ke,handleScrollAdjust:Ie,attachVirtualScroll:ve,handleRef:ye,scroller:he,attachScrollContainer:it,contentProps:st,keyboardHelp:yt,resolveSelectedIndex:ht,rememberSelection:Ae}=$a({items:e,selectedId:n??null,onSelect:o===void 0?null:re,containerRef:f,rootRef:f,testId:nm,itemsRef:I,rowSizing:oe,arrowAlign:"top",rowActivation:!0,isViewRevealPending:ce,onRangeChange:z});Zo({items:e,scroller:he,readTopReportId:Z});let Ee=Be((E,A)=>{if(ye.current===null)return!1;let B=I.current,q=A!==null&&A.reportHubId===E?De(B,E,A.index):ht(B,E);return q===-1?!1:(d.current&&(d.current=!1,E===p.current)||A!==null&&A.reportHubId===E&&A.index===q||he.toIndex(q,{align:"top"}),!0)},[ye,ht,he]);lr(()=>{let E=R.current;R.current=null,v.current=null,n!=null&&(Ee(n,E)||(v.current=n))},[n,Ee]),lr(()=>{let E=v.current;E!==null&&Ee(E,null)&&(v.current=null)},[e,Ee]),lr(()=>{let E=a?.current;E&&(E.anchorReportHubId=n??null)},[n,a]),lr(()=>{R.current=null},[T]);let Ne=je(null),lt=Be(()=>{ye.current&&(Ne.current=ye.current);let E=a?.current,A=Ne.current;if(E&&A){let q=A.getScrollAnchor(),pe=q?I.current.at(q.index):void 0;q&&pe&&(E.topItem={reportHubId:pe.reportHubId,index:q.index,offsetPx:q.offsetPx})}let B=f.current;B&&(B.toggleAttribute(Nr,!0),b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{B.toggleAttribute(Nr,!1),b.current=null},150))},[ye,a]),w=Be(E=>Ut(Qo,{...E,store:x}),[x]);lr(()=>{let E=f.current;if(!E)return;let A=()=>{x.setWheelScrollActive(!0),u.current&&clearTimeout(u.current),u.current=window.setTimeout(()=>{x.setWheelScrollActive(!1),u.current=null},Oo)};return E.addEventListener("wheel",A,{passive:!0}),()=>{E.removeEventListener("wheel",A),u.current&&clearTimeout(u.current)}},[x]);let k=je(null),V=Be(E=>{for(let A of E){let B=A.target.parentElement,q=B===null?null:Sr(B),pe=B===null?null:Br(B),Ye=A.borderBoxSize[0];if(q===null||pe===null||Ye===void 0)continue;let bt=Ye.blockSize+2*Gt;if(m.current.get(q)===bt)continue;let ao=De(I.current,q,pe-1);ao!==-1&&(m.current.set(q,bt),he.resizeRow(ao,bt))}},[he]),Y=Be(E=>{k.current===null&&(k.current=new ResizeObserver(V));let A=k.current;return A.observe(E),()=>A.unobserve(E)},[V]);lr(()=>()=>{k.current?.disconnect(),k.current=null},[]),lr(()=>{O!==0&&W(0,Math.min(O-1,Lo))},[O,W]);let ie=je(null),g=Be(E=>{let A=De(I.current,E,null);A!==-1&&(ie.current!==null&&clearTimeout(ie.current),ie.current=setTimeout(()=>{ie.current=null;let B=De(I.current,E,A);B!==-1&&he.toIndex(B,{align:"bottom"})},RE))},[he]);lr(()=>()=>{ie.current!==null&&clearTimeout(ie.current)},[]);let _=Be(E=>{if(!C.current)return;let A=er(E.target,f.current);if(A===null||rc(E.target,A))return;let B=En(A,I.current);B!==null&&(Ae(B.reportHubId,B.index),re(B.reportHubId,B.index))},[re,Ae]),F=Be((E,A)=>Ut(Pt.Provider,{value:A,children:Ut(jp,{item:E,observeRowHeight:Y,onCommentAdded:g,userId:r,cursor:ee})},E.reportHubId),[Y,g,r,ee]),N=Vs(()=>({...ko,renderThumbOverlay:w}),[w]),j=Vs(()=>Ut(kt.Provider,{value:M,children:Ut(mE,{ref:ve,itemCount:O,getItem:L,getItemKey:U,getItemHeight:P,viewportSize:i,initialScrollAnchor:l,overscanCount:Mo,scrollBarOptions:N,behaviorOptions:s?yE:om,onRangeChange:ke,onScrollAdjust:Ie,onScroll:lt,testId:nm,className:hE,locale:y.locale,labels:y.labels,contentProps:st,children:F})}),[ve,M,O,L,U,P,i,s,l,N,ke,Ie,lt,y.locale,y.labels,st,F]);return Ut(EE,{children:gE("div",{ref:it,className:bE,...fe,onClick:_,children:[yt,j]})})};import im from"lucide-react/dist/esm/icons/refresh-cw.js";import{createContext as DE,useContext as TE,useLayoutEffect as IE,useRef as vE}from"react";import{jsx as am,jsxs as xE}from"react/jsx-runtime";var Gn=e=>10**String(e).length-1,ja=({text:e,widestText:t,ref:r})=>xE("span",{ref:r,className:Ul,children:[am("span",{"aria-hidden":"true",className:Kl,children:t}),am("span",{className:Wl,children:e})]});import{jsx as Ar,jsxs as Ga}from"react/jsx-runtime";var Ks=DE(!0),AE=`inline-flex rounded-full empty:not-focus:hidden ${te}`,CE=(e,t,r)=>{if(r===null||r===0)return{text:e.streamProgressCount(t),widestText:e.streamProgressCount(Gn(t))};let n=Gn(Math.max(t,r));return{text:e.streamProgressRatio(t,r,Math.min(100,Math.round(t/r*100))),widestText:e.streamProgressRatio(n,n,100)}},_E=({labels:e,loadedCount:t,totalCount:r})=>{let{text:n,widestText:o}=CE(e,t,r);return Ga("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"streaming",className:D($e,"gap-1 bg-blue-100 font-medium text-blue-800 text-xs tabular-nums dark:bg-blue-900/40 dark:text-blue-300"),children:[Ar("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-blue-500 motion-safe:animate-pulse dark:bg-blue-400"}),Ar(ja,{text:n,widestText:o})]})},wE=(e,t,r,n)=>e.phase==="streaming"?Ar(_E,{labels:t,loadedCount:e.loadedCount,totalCount:e.totalCount}):e.phase==="retrying"?Ga("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"retrying",className:D($e,"gap-1 bg-amber-100 font-medium text-amber-800 text-xs tabular-nums dark:bg-amber-900/40 dark:text-amber-300"),children:[Ar(im,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRetrying(e.loadedCount)]}):e.phase==="failed"?Ga("span",{role:r?"status":void 0,"data-testid":"daily-report-ids-stream-status","data-phase":"failed",className:D($e,"gap-1 bg-rose-100 font-medium text-rose-800 text-xs dark:bg-rose-900/40 dark:text-rose-300"),children:[t.streamFailed,Ar("button",{type:"button","data-testid":"daily-report-ids-stream-retry",onClick:n,className:D("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?Ga("span",{"data-testid":"daily-report-ids-stream-status","data-phase":"revalidating",className:"inline-flex items-center gap-1 text-slate-500 text-xs dark:text-slate-400",children:[Ar(im,{"aria-hidden":"true",className:"size-3 motion-safe:animate-spin"}),t.streamRevalidating]}):null,Yn=()=>{let e=vc(),{labels:t}=K(),r=TE(Ks),n=vE(null),a=wE(e,t,r,()=>{Dt([n.current]),aa()}),i=a===null;return IE(()=>{let s=n.current;!i||s===null||!s.contains(_e(s))||Dt(ua(s.ownerDocument))},[i]),Ar("span",{ref:n,tabIndex:-1,"data-daily-report-stream-status":"",className:AE,children:a})};import{Panel as _m,PanelGroup as Xx,PanelResizeHandle as Qx}from"@aiquants/resize-panels";import{VirtualScroll as Zx}from"@aiquants/virtualscroll";import{useCallback as mt,useEffect as ei,useLayoutEffect as Js,useMemo as ti,useRef as _r,useState as ni}from"react";import{useSyncExternalStore as LE}from"react";var sm="(max-width: 639px)",NE=()=>{},OE=e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return NE;let t=window.matchMedia(sm);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},ME=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(sm).matches:!1,kE=()=>!1,lm=()=>LE(OE,ME,kE);import{SwipeCloseGuardContext as ax,useOverlayEscapeStack as ix,useSwipeGuardState as sx,useSwipeToDismissOverlay as lx,useTapClick as dx,useTransitionDisplay as cx}from"@aiquants/swipe-overlay";import{useCallback as Qa,useEffect as nn,useId as qs,useLayoutEffect as Xs,useRef as pt,useState as Za}from"react";import{createContext as PE,useMemo as FE}from"react";var dm=Object.freeze({id:null,indexHint:null}),Ya=PE(Object.freeze({selected:dm,settled:dm})),qn=(e,t)=>{let{id:r,indexHint:n}=t;return FE(()=>{if(r===null)return null;let o=De(e,r,n);return o===-1?null:xt(e,o)},[e,r,n])};import HE from"lucide-react/dist/esm/icons/check.js";import BE from"lucide-react/dist/esm/icons/pencil.js";import VE from"lucide-react/dist/esm/icons/trash-2.js";import{memo as UE,useCallback as Cr,useContext as KE,useDeferredValue as WE,useEffect as zs,useId as pm,useLayoutEffect as js,useMemo as eo,useRef as Jn,useState as mm}from"react";import*as Kt from"@radix-ui/react-tabs";import*as Je from"react";import{jsx as tn}from"react/jsx-runtime";var cm=Je.createContext(null),um=e=>{let t=Je.useContext(cm);if(t===null)throw new Error(`[daily-report] ${e} must be rendered inside Tabs`);return t},Ws=(e,t)=>`${e}-trigger-${t}`,$s=(e,t)=>`${e}-panel-${t}`,Xn=Je.forwardRef(({value:e,children:t,...r},n)=>{let o=Je.useId(),a=Je.useMemo(()=>({baseId:o,value:e}),[o,e]);return tn(Kt.Root,{ref:n,value:e,...r,children:tn(cm,{value:a,children:t})})});Xn.displayName=Kt.Root.displayName;var Qn=Je.forwardRef(({className:e,...t},r)=>tn(Kt.List,{ref:r,className:D("inline-flex",e),...t}));Qn.displayName=Kt.List.displayName;var Zn=Je.forwardRef(({className:e,value:t,...r},n)=>{let{baseId:o}=um("TabsTrigger");return tn(Kt.Trigger,{ref:n,value:t,...r,id:Ws(o,t),"aria-controls":$s(o,t),className:D(`${Ol} ${te}`,e)})});Zn.displayName=Kt.Trigger.displayName;var rn=Je.forwardRef(({className:e,value:t,tabStop:r,children:n,...o},a)=>{let{baseId:i,value:s}=um("TabsContent"),l=t===s,c="mt-2 data-[state=inactive]:hidden";return r?tn("div",{ref:a,role:"tabpanel",id:$s(i,t),"aria-labelledby":Ws(i,t),"data-state":l?"active":"inactive",hidden:!l,tabIndex:0,...o,className:D(`${c} ${te}`,e),children:l?n:null}):tn("div",{ref:a,role:"tabpanel",id:$s(i,t),"aria-labelledby":Ws(i,t),"data-state":l?"active":"inactive",hidden:!l,...o,className:D(c,e),children:l?n:null})});rn.displayName="TabsContent";import{jsx as $,jsxs as Wt}from"react/jsx-runtime";var hm=D(ur,"w-24 shrink-0"),fm={field:"flex items-baseline",label:hm,value:"flex-1"},$E={field:"flex min-w-0 flex-1 items-baseline",label:hm,value:"wrap-break-word min-w-0 flex-1"},zE={field:"flex flex-col gap-1",label:ur,value:""},jE={field:"flex min-w-0 items-center gap-1",label:D(ur,"shrink-0 whitespace-nowrap"),value:""},GE="flex min-h-4 flex-wrap items-center gap-1 text-slate-500 text-xs dark:text-slate-300",ym=D("flex-1 touch-pan-y overflow-y-auto overflow-x-hidden pt-2 text-sm",di,bl,hl),YE=D("flex flex-col gap-1",ci),qE=D("m-0 font-normal text-slate-900 text-sm dark:text-slate-100",te),Gs=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)})}},XE=(e,t,r,n,o,a)=>{let i=Jn(null),s=e?.reportHubId;js(()=>{i.current=null},[s]),zs(()=>{n||(i.current=null)},[n]);let l=Cr(async(c,d)=>{d||(i.current=c.reportHubId);try{await a(c.reportHubId,!c.isRead,c.date)}catch{}},[a]);return zs(()=>{if(!(r&&e&&!e.isRead&&!t)||i.current===e.reportHubId)return;let c=null,d=()=>{c!==null&&clearTimeout(c),c=o.isDwelling()?setTimeout(()=>l(e,!0),500):null};d();let p=o.subscribe(d);return()=>{p(),c!==null&&clearTimeout(c)}},[e,t,r,l,o]),{handleToggleRead:l}},Ys="article",QE=["article","relations"],ZE=e=>{if(e==="article"||e==="relations")return e;throw new Error(`[daily-report] unknown side-pane tab: ${e}`)},JE=D("hidden h-full min-h-0 w-full min-w-0 flex-1 flex-col gap-4 sm:flex",St),ex=9,tx=.875,rx=16,bm=4*Math.ceil((2*Gt+2*uo+2*gl+ex*tx*rx)/4),Rm=({dailyReportItems:e,autoMarkRead:t,userId:r,onReportDeleted:n})=>{let{labels:o}=K(),a=pm(),i=pm(),[s,l]=mm(Ys),{selected:c,settled:d}=KE(Ya),p=qn(e,c),m=qn(e,WE(d)),f=p===null?null:p.reportHubId,h=(m===null?null:m.reportHubId)===f,[x]=mm(()=>Gs(h));return js(()=>{x.set(h)},[x,h]),$("aside",{"data-testid":"daily-report-side-pane","data-report-id":p?.reportHubId,"data-displayed-report-id":m?.reportHubId,"aria-busy":h?void 0:!0,className:JE,children:m===null?$("div",{className:D("flex h-full flex-1 items-center justify-center text-center",Or),children:$("p",{className:wt,children:o.selectPrompt})}):$(Xa,{item:m,headingId:a,authorId:i,activeTab:s,onActiveTabChange:l,autoMarkRead:t,isActive:!0,dwell:x,userId:r,onReportDeleted:n},m.reportHubId)})},Xa=UE(({item:e,headingId:t,authorId:r,activeTab:n,onActiveTabChange:o,autoMarkRead:a,isActive:i,dwell:s,userId:l,onReportDeleted:c})=>{let{draftLabelName:d,labels:p,sourceTypeConfigs:m,headingLevel:f}=K(),{report:y,error:h,isLoading:x}=br(e.reportHubId,e.businessDate),u=tr(),b=ca(e.reportHubId),I=b==="editing"||b==="automatic",C=Jn(null),R=Jn(null),T=Jn(!1),S=Jn(!1),v=!!(l&&y?.userId===l),O=y?.labels.some(ee=>ee.name===d);zs(()=>{y!==null&&(v&&O&&b==="display"?u.open(e.reportHubId,qr(y),!0):!O&&b==="automatic"&&u.discard(e.reportHubId))},[y,v,O,b,u,e.reportHubId]);let M=eo(()=>y===null?void 0:()=>{T.current=!0,u.open(e.reportHubId,qr(y),!1)},[u,e.reportHubId,y]),L=Cr(()=>{S.current=!0,u.dismiss(e.reportHubId)},[u,e.reportHubId]),P=Cr(()=>{S.current=!0,u.discard(e.reportHubId)},[u,e.reportHubId]),U=Cr(ee=>{ee===null||!T.current||(T.current=!1,ee.focus())},[]),oe=Cr(ee=>{ee===null||!S.current||(S.current=!1,ee.focus())},[]),re=Cr(()=>{R.current?.focus({preventScroll:!0})},[]);js(()=>{I||!S.current||(S.current=!1,R.current?.focus())},[I]);let W=Cr(()=>{setTimeout(()=>{let ee=C.current;ee!==null&&ee.scrollTo({top:ee.scrollHeight,behavior:sc(ee)})},100)},[]),Q=Re(e.businessDate),Z=eo(()=>y===null?null:Me(y.employeeName),[y]),z=x||!y,ce=y===null?void 0:Nt(y.sourceType,m);return Wt(jr,{reportHubId:e.reportHubId,children:[Wt("div",{className:YE,children:[$("dl",{className:"m-0",children:$(ge,{label:p.businessDate,classNames:zE,children:$(Qe,{ref:R,level:f,id:t,tabIndex:-1,className:qE,children:Q})})}),Wt("div",{className:GE,children:[$("dl",{className:"m-0 min-w-0",children:$(ge,{label:p.author,classNames:jE,valueId:r,children:z||Z===null?$("div",{"data-skeleton":!0,className:"h-3 w-24 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700"}):$(se,{fieldKey:le.field("employeeName"),raw:y?.employeeName,display:Z})})}),ce?$(Qr,{config:ce,className:"ml-2"}):null,y===null?null:$(La,{isEditing:I,descriptionId:null})]})]}),Wt(Xn,{value:n,onValueChange:ee=>o(ZE(ee)),className:"flex min-h-0 flex-1 flex-col",children:[$("div",{className:ci,children:$(Qn,{"aria-label":p.reportTabList,className:D(Ll,"grid grid-cols-2 gap-1"),children:QE.map(ee=>$(Zn,{value:ee,children:ee==="article"?p.tabArticle:p.tabRelations},ee))})}),$(rn,{ref:C,value:"article",tabStop:!0,className:ym,children:I?y?$(_a,{report:y,onCancel:L,onPublishSuccess:P,titleInputRef:U}):$("p",{className:Or,children:p.loading}):$(ox,{report:y,sourceConfig:ce,isLoading:x,error:h,item:e,autoMarkRead:a,isActive:i,dwell:s,onCommentAdded:W,userId:l,onEdit:v?M:void 0,editButtonRef:oe,onReportDeleted:c,onCommentSectionRemoved:re})}),$(rn,{value:"relations",tabStop:!0,className:ym,children:$("p",{className:Or,children:p.relationsEmpty})})]})]})});Xa.displayName="DailyReportSidePaneContent";var qa=({className:e="w-32"})=>$("div",{"data-skeleton":!0,className:`h-4 rounded bg-slate-200 motion-safe:animate-pulse dark:bg-slate-700 ${e}`}),nx=["w-full","w-11/12","w-4/5"],ox=({report:e,sourceConfig:t,isLoading:r,error:n,item:o,autoMarkRead:a=!1,isActive:i=!0,dwell:s,onCommentAdded:l,userId:c,onEdit:d,editButtonRef:p,onReportDeleted:m,onCommentSectionRemoved:f})=>{let{toggleStar:y,toggleRead:h,deleteReport:x}=Ke(),{labels:u,headingLevel:b}=K(),I=nr[b],{handleToggleRead:C}=XE(e,r,a,i,s,h),R=e!==null&&Co(e.sourceType,t),T=eo(()=>e?.content?rd(e.content):null,[e]),S=eo(()=>Me(e?.subject),[e]),v=eo(()=>Me(e?.customerName),[e]),O=async U=>{try{await y(U.reportHubId,!U.isStarred,U.date)}catch{}},M=async U=>{if(confirm(u.confirmDelete)){try{await x(U.reportHubId,U.date)}catch{return}m(U.reportHubId)}};if(n)return $("p",{className:dn,children:u.reportLoadFailed(o.reportHubId)});let L=!e,P=!!(c&&e?.userId===c);return Wt("div",{className:"flex flex-col gap-4 text-slate-700 dark:text-slate-200",onDoubleClick:d,children:[Wt("div",{className:"flex items-start gap-2",children:[$("dl",{className:"m-0 flex min-w-0 flex-1",children:$(ge,{label:u.subject,classNames:$E,children:L?$(qa,{className:"w-3/4"}):$("span",{className:"text-sm",children:$(se,{fieldKey:le.field("subject"),raw:e?.subject,display:S})})})}),!L&&e&&Wt("div",{className:"flex h-5 shrink-0 items-center gap-2 pr-2",children:[$("button",{type:"button",onClick:()=>O(e),className:Ve,title:e.isStarred?u.starRemove:u.starAdd,"aria-label":e.isStarred?u.starRemove:u.starAdd,"data-detail-star-button":e.reportHubId,children:$(Xr,{filled:e.isStarred})}),$("button",{type:"button",onClick:()=>C(e,!1),className:Ve,title:e.isRead?u.markUnread:u.markRead,"aria-label":e.isRead?u.markUnread:u.markRead,"data-detail-read-button":e.reportHubId,children:e.isRead?$(HE,{className:Oe.read}):$(Zr,{})}),d&&$("button",{ref:p,type:"button",onClick:d,"data-detail-edit-button":e.reportHubId,className:Ve,title:u.edit,"aria-label":u.edit,children:$(BE,{className:Oe.edit})}),P&&$("button",{type:"button",onClick:()=>M(e),"data-detail-delete-button":e.reportHubId,className:Ve,title:u.deleteReport,"aria-label":u.deleteReport,children:$(VE,{className:Oe.delete})})]})]}),$("dl",{className:"m-0",children:$(ge,{label:u.customer,classNames:fm,children:L?$(qa,{className:"w-1/2"}):$("span",{className:"text-sm",children:$(se,{fieldKey:le.field("customerName"),raw:e?.customerName,display:v})})})}),Wt("div",{className:"flex flex-col gap-2",children:[$(Qe,{level:I,className:_t,children:u.content}),$("div",{className:D(El,po),children:L?nx.map(U=>$("div",{className:xl,children:$(qa,{className:U})},U)):T!==null&&T.text.length>0?$("div",{className:"whitespace-pre-wrap",children:$(se,{fieldKey:le.field("content"),raw:e?.content,display:T})}):$("p",{className:"text-slate-500 dark:text-slate-400",children:u.contentEmpty})})]}),$("dl",{className:"m-0",children:$(ge,{label:u.visitTime,classNames:fm,children:L?$(qa,{className:"w-1/3"}):Wt("span",{className:"text-sm",children:[Qt(e?.visitTimeFrom)," ",e?.visitTimeFrom&&e?.visitTimeTo?"-":""," ",Qt(e?.visitTimeTo)]})})}),e&&$(Da,{attachments:e.attachments}),e&&$(Vn,{report:e,userId:c,canComment:R,onCommentAdded:l,onSectionRemoved:f,formPlacement:"in-section",sectionClassName:"border-slate-100 border-t border-solid pt-4 dark:border-slate-800"})]})};import{jsx as dr,jsxs as Sm}from"react/jsx-runtime";var ux="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]",px={right:"var(--aqdr-overlay-right, 0px)"},mx="absolute inset-0 touch-manipulation bg-slate-900/50 motion-safe:transition-opacity motion-safe:duration-200",fx=D("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",Vl),yx=D("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),hx="flex shrink-0 justify-center empty:hidden",bx=50,gm=({isMobileLayout:e,selection:t,dailyReportItems:r,onSelectItem:n,rootRef:o})=>{let a=t.id,[i,s]=Za(!1),[l,c]=Za(!1),d=pt(null),p=pt(null),m=pt(null),f=pt(e),y=pt(!0),h=qn(r,t),x=Qa(()=>{let C=o.current;if(C===null)return;let R=C.ownerDocument.body;m.current={body:R,overflow:R.style.overflow},R.style.overflow="hidden"},[o]),u=Qa(()=>{let C=m.current;C!==null&&(C.body.style.overflow=C.overflow,m.current=null)},[]);nn(()=>{if(y.current){y.current=!1,f.current=e;return}let C=!f.current;f.current=e,C&&e&&a!==null?s(!0):!e&&i&&(p.current=a,s(!1),u())},[e,a,i,u]);let b=e&&i&&h!==null;nn(()=>{if(b)c(!0);else{let C=setTimeout(()=>c(!1),300);return()=>clearTimeout(C)}},[b]),nn(()=>{if(e&&i&&a!==null&&!d.current){let C=`overlay-${Date.now()}`;window.history.pushState({...window.history.state,dailyReportOverlay:C},"",window.location.href),d.current=C}else!(e&&i)&&d.current&&(d.current=null);return e&&i?x():u(),u},[e,i,a,x,u]),nn(()=>{let C=()=>{d.current&&(p.current=a,d.current=null,s(!1),n(null))};return window.addEventListener("popstate",C),()=>window.removeEventListener("popstate",C)},[a,n]);let I=Qa(()=>{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:b,handleOverlayClose:I,lastClosedItemIdRef:p,selectedItem:h}},Em=({isOpen:e,selectedItem:t,onClose:r,autoMarkRead:n=!1,userId:o,onReportDeleted:a})=>{let{labels:i}=K(),{registerNoticeHost:s}=ma(),l=pt(null),c=pt(null),d=qs(),p=qs(),[m,f]=Za(Ys),y=ix(),h=qs(),x=pt(!1),u=pt(e),b=pt(null),[I]=Za(()=>Gs(e)),{isBlocked:C,requestBlock:R,reset:T}=sx(),S=cx(e,t),{overlayRef:v,overlayStyle:O,attemptClose:M,isSwiping:L}=lx({isOpen:e,onClose:r,isCloseBlocked:Qa(()=>C,[C]),skipWhenTextSelected:!0}),P=pt(M);Xs(()=>{P.current=M,u.current=e,I.set(e)},[M,e,I]),nn(()=>{if(e)return y({id:h,onEscape:Q=>Ft(Q)&&P.current()})},[e,y,h]),Xs(()=>{let Q=l.current;if(Q===null)return;if(e){if(x.current)return;Q.showModal(),x.current=!0,Q.ownerDocument.getElementById(d)?.focus();return}if(!x.current)return;x.current=!1;let Z=_e(Q);Z!==null&&Q.contains(Z)&&gn(Z)&&Z.blur(),Q.close()},[e,d]),Xs(()=>{let Q=c.current;if(!(!e||Q===null))return s(Q)},[e,s]),nn(()=>{e||T()},[e,T]);let U=dx(()=>M()),oe=Q=>{let Z=$r(Q);if(Ft(Z)){M()&&Q.preventDefault();return}if(Z.key==="Escape"){b.current=Q.timeStamp;return}let z=Wc(Z,Q.currentTarget);z!==null&&(Q.preventDefault(),z.kind==="wrap"&&z.element.focus())},re=Q=>{Q.preventDefault();let Z=b.current;b.current=null,!(Z!==null&&Q.timeStamp-Z<=bx)&&P.current()},W=Q=>{let Z=Q.currentTarget;Z.open||!u.current||(x.current=!1,!P.current()&&(Z.showModal(),x.current=!0))};return S?Sm("dialog",{ref:l,"data-daily-report-mobile-overlay":"true","aria-labelledby":`${d} ${p}`,tabIndex:-1,className:D(ux,e&&!L?"pointer-events-auto":"pointer-events-none"),style:px,inert:!e,onKeyDown:oe,onCancel:re,onClose:W,children:[dr("div",{"aria-hidden":"true","data-daily-report-overlay-backdrop":"",className:D(mx,e?"opacity-100":"opacity-0"),...U}),dr("div",{ref:v,"data-daily-report-overlay-panel":"",className:D(fx,e?"pointer-events-auto":"pointer-events-none"),style:O,children:Sm("div",{className:"flex h-full w-full flex-col gap-4 p-4",children:[dr(ax.Provider,{value:{isBlocked:C,requestBlock:R},children:dr("div",{"data-testid":"daily-report-side-pane","data-report-id":S.reportHubId,"data-displayed-report-id":S.reportHubId,className:"flex min-h-0 flex-1 flex-col gap-4",children:dr(Xa,{item:S,headingId:d,authorId:p,activeTab:m,onActiveTabChange:f,autoMarkRead:n,isActive:e,dwell:I,userId:o,onReportDeleted:a},S.reportHubId)})}),dr("div",{ref:c,"data-daily-report-notice-slot":"","data-overlay-interactive":"true",className:hx}),dr("div",{className:"flex justify-start",children:dr("button",{type:"button","data-overlay-interactive":"true",className:yx,onClick:()=>M(),children:i.close})})]})})]}):null};import Lx from"lucide-react/dist/esm/icons/check.js";import{createContext as Nx,memo as vm,useCallback as Ox,useContext as an,useEffect as Mx,useId as to,useMemo as Qs,useRef as kx}from"react";import{createContext as Rx,createElement as Sx,useLayoutEffect as gx,useMemo as Ex,useRef as xx,useState as Dx}from"react";var Tx=6.75,Ix=4,vx=1e-6,Ax=e=>4*Math.ceil((2*Gt+2*uo+Ix+Tx*e-vx)/4),Ja=Rx(null),Cx="data-daily-report-root-font-size-probe",_x={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},wx=e=>{let t=ze(e).getComputedStyle(e.ownerDocument.documentElement).fontSize,r=/^(\d+(?:\.\d+)?)px$/.exec(t);if(r===null||!(Number(r[1])>0))throw new Error(`[daily-report] the root element has no computed font size in px; got ${JSON.stringify(t)}`);return Number(r[1])},xm=()=>{let e=xx(null),[t,r]=Dx(null);gx(()=>{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=Ax(wx(o));l!==a&&(a=l,r(l))};i();let s=new ResizeObserver(i);return s.observe(o),()=>s.disconnect()},[]);let n=Ex(()=>Sx("div",{ref:e,"aria-hidden":!0,[Cx]:"",style:_x}),[]);return{rowSlotHeight:t,remProbe:n}};import{jsx as J,jsxs as sn}from"react/jsx-runtime";var Px=D(qt,lo,co,so),Fx=D("relative flex h-full w-full select-none flex-wrap content-start items-center gap-2 overflow-hidden",St,mo,Sl),Hx="min-w-24",Bx="basis-full space-y-2 text-slate-700 text-sm leading-5 dark:text-slate-200",Vx={touchAction:"manipulation"},Ux=D("flex grow basis-0 cursor-pointer items-center gap-2 text-left outline-none after:absolute after:inset-0 after:rounded-2xl",Hx),Kx=D("relative z-10",Ve),Wx=D("flex h-full",St),$x="flex h-full w-full flex-col justify-between motion-safe:animate-pulse",on="h-4 rounded bg-slate-200 dark:bg-slate-700",zx=()=>J("div",{"data-skeleton":!0,...qe,className:Wx,children:sn("div",{className:$x,children:[sn("div",{className:"flex flex-wrap items-center gap-2",children:[J("div",{className:D(on,"w-24")}),J("div",{className:D(on,"w-24")}),J("div",{className:D(on,"w-24")})]}),sn("div",{className:"space-y-2",children:[J("div",{className:D(on,"w-full")}),J("div",{className:D(on,"w-11/12")}),J("div",{className:D(on,"w-5/6")})]})]})}),jx=e=>{e.target===e.currentTarget&&e.preventDefault()},Gx="h-full w-full",Am=Nx(!1),Dm=({reportHubId:e,cursor:t,cardless:r,children:n})=>{let o=an(Pt),a=an(kt),i=an(Ja);if(i===null)throw new Error("[daily-report] a List row frame is rendered outside the List view (no measured row slot)");let s=Qs(()=>({height:i}),[i]),{isCurrent:l,isTabStop:c}=Ka(t,e),d=Wa(t,e,o);return J(Fn.Provider,{value:c,children:J(Am.Provider,{value:l,children:J("div",{ref:r?.focusTargetRef,role:"listitem","data-daily-report-row":e,"aria-posinset":o+1,"aria-setsize":a,"aria-label":r?.label,"aria-busy":r?.isBusy||!d?!0:void 0,"aria-current":r!==null&&l?"true":void 0,tabIndex:r===null?-1:void 0,className:Px,style:s,onMouseDown:jx,children:d?n:J("div",{...qe,className:Gx})})})})},Yx=({id:e})=>{let{labels:t}=K(),r=an(Pt),n=an(kt);return J("span",{id:e,hidden:!0,children:n===xn?t.listRowPositionInUnknownTotal(r+1):t.listRowPosition(r+1,n)})},qx=({reportHubId:e,focusTargetRef:t,describedBy:r,onClick:n,children:o})=>{let a=an(Am);return J("button",{ref:t,type:"button","data-daily-report-button":e,"aria-current":a?"true":void 0,"aria-describedby":r,onClick:n,className:Ux,children:o})},Tm=({label:e,dataAttributes:t,onClick:r,children:n})=>{let o=Yr();return J("button",{type:"button",title:e,"aria-label":e,tabIndex:o,...t,onClick:r,className:Kx,children:n})},Cm=vm(({item:e,report:t,onSelect:r,focusTargetRef:n})=>{let{labels:o,sourceTypeConfigs:a}=K(),{toggleStar:i,toggleRead:s}=Ke(),l=to(),c=to(),d=to(),p=to(),m=to(),f=Qs(()=>td(t.content??null,Ad),[t.content]),y=Qs(()=>Me(t.employeeName),[t.employeeName]),h=Re(e.businessDate),x=S=>{S.currentTarget.focus({preventScroll:!0});let v=tc(S.currentTarget);v!==null&&r(e.reportHubId,v)},u=async()=>{let S=!t.isStarred;try{await i(t.reportHubId,S,t.date)}catch{}},b=async()=>{let S=!t.isRead;try{await s(t.reportHubId,S,t.date)}catch{}},I=t.isStarred?o.starRemove:o.starAdd,C=t.isRead?o.markUnread:o.markRead,R=Nt(t.sourceType,a),T=[l,d,...t.attachments.length>0?[p]:[],...R===void 0?[]:[m],c].join(" ");return J("div",{"data-daily-report-card":!0,...qe,style:Vx,className:Fx,children:sn(jr,{reportHubId:e.reportHubId,children:[J(Yx,{id:l}),J("span",{id:d,className:"sr-only",children:o.rowState({isRead:t.isRead,isStarred:t.isStarred})}),sn(qx,{reportHubId:e.reportHubId,focusTargetRef:n,describedBy:T,onClick:x,children:[J("span",{className:D($e,"shrink-0 bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:J("span",{className:"whitespace-nowrap font-medium text-slate-900 dark:text-slate-100",children:h})})," ",J("span",{className:D($e,"min-w-0 max-w-full bg-slate-100 font-semibold text-xs dark:bg-slate-800 dark:text-slate-200"),children:J("span",{className:"truncate font-medium text-slate-900 dark:text-slate-100",children:J(se,{fieldKey:le.field("employeeName"),raw:t.employeeName,display:y})})})]}),sn("div",{className:D(Tl,"ml-auto"),children:[J(cn,{id:p,count:t.attachments.length,label:o.attachments}),R?J(Qr,{id:m,config:R}):null,J(Tm,{label:I,dataAttributes:{"data-list-star-button":e.reportHubId},onClick:u,children:J(Xr,{filled:t.isStarred})}),J(Tm,{label:C,dataAttributes:{"data-list-read-button":e.reportHubId},onClick:b,children:t.isRead?J(Lx,{className:Oe.read}):J(Zr,{})})]}),J("div",{id:c,className:Bx,children:f.length>0?f.map((S,v)=>J("p",{className:"wrap-break-word line-clamp-1",children:J(se,{fieldKey:le.field("content"),raw:t.content,display:S})},v)):J("p",{children:o.contentEmptyPreview})})]})})});Cm.displayName="ListReportCard";var Im=(e,t)=>Ox(r=>(e.registerFocusTarget(t,r),()=>e.unregisterFocusTarget(t,r)),[e,t]),Zs=vm(({item:e,onSelect:t,cursor:r})=>{let{labels:n}=K(),{removeStaleItem:o}=Ke(),{report:a,error:i,isLoading:s,isRefetching:l}=br(e.reportHubId,e.businessDate),c=kx(!1);Mx(()=>{if(l){c.current=!0;return}!(a||s||i)&&c.current&&e.reportHubId>0&&o(e.reportHubId)},[a,s,l,i,e.reportHubId,o]);let d=Im(r,e.reportHubId),p=Im(r,e.reportHubId),m=(f,y)=>J(Dm,{reportHubId:e.reportHubId,cursor:r,cardless:{label:Re(e.businessDate),isBusy:y,focusTargetRef:d},children:f});return i?m(J("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:J("p",{children:n.reportSummaryLoadFailed(e.reportHubId)})}),!1):s?m(J(zx,{}),!0):a?J(Dm,{reportHubId:e.reportHubId,cursor:r,cardless:null,children:J(Cm,{item:e,report:a,onSelect:t,focusTargetRef:p})}):m(J("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:J("p",{children:n.reportNotFound})}),!1)});Zs.displayName="ListReportItem";import{Fragment as mD,jsx as Ge,jsxs as ri}from"react/jsx-runtime";var Lm={pointerDragInputs:Po,inertiaOptions:Vr(!1),wheelSpeedMultiplier:wo,enableKeyboardNavigation:!1,resetOnGetItemHeightChange:!0},Jx={...Lm,inertiaOptions:Vr(!0)},eD=Object.freeze({value:360,unit:"pixels"}),tD=Object.freeze({value:160,unit:"pixels"}),rD=Object.freeze({value:bm,unit:"pixels"}),nD=Object.freeze({value:520,unit:"pixels"}),oD=Object.freeze({visible:!0,thickness:6,length:32,barThickness:2,barLength:16}),aD=D("cursor-col-resize rounded hover:bg-slate-200/60 focus:ring-0 dark:hover:bg-slate-700/60",te),iD=D("relative w-full",So,Ro),sD=D(et,"relative isolate overflow-hidden"),wm="daily-report-list",lD=()=>!1,dD=e=>{let[t,r]=ni(!1);return Js(()=>{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<vd)},a=new(ze(n)).ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},el=e=>{let t=_r(null),[r,n]=ni(null),o=$o(t),a=dD(t),{rowSlotHeight:i,remProbe:s}=xm(),l=Ur(r),c=mt(d=>(t.current=d,n(d),()=>{t.current=null,n(null)}),[]);return ri("div",{ref:c,className:ho,"data-testid":"daily-report-root",children:[s,o===null||i===null?null:Ge(cD,{...e,rootRef:t,viewportHeight:o,rowSlotHeight:i,isContainerNarrow:a,reducedMotion:l})]})},cD=({dailyReportItems:e,rowSetSize:t,autoMarkRead:r=!1,selectedReportHubId:n,onSelectItem:o,userId:a,scrollOffsetRef:i,rootRef:s,viewportHeight:l,rowSlotHeight:c,isContainerNarrow:d,reducedMotion:p})=>{let[m]=ni(()=>i?.current??0),f=_r(null),{labels:y}=K(),h=Uo(),[x]=ni(Xo),b=lm()||d,I=_r(null),C=e.length,R=t===void 0?C:t,T=_r(null),S=mt(E=>o(E),[o]),v=mt(E=>{let A=E>=0&&E<C?e.at(E):void 0;return A===void 0?No:A},[e,C]),O=_r(null),M=mt(E=>{let A=v(E.visibleStartIndex);A.reportHubId>0&&(x.setLabel(Re(A.businessDate)),O.current=A.reportHubId)},[v,x]),L=mt(()=>O.current,[]),P=ti(()=>({kind:"uniform",rowHeight:c}),[c]),U=_r(e);Js(()=>{U.current=e},[e]);let{cursor:oe,containerProps:re,handleRangeChange:W,handleScrollAdjust:Q,attachVirtualScroll:Z,handleRef:z,scroller:ce,attachScrollContainer:ee,contentProps:fe,keyboardHelp:ke,selection:Ie,settledSelection:ve,resolveSelectedIndex:ye,rememberSelection:he,focusAfterRemoval:it}=$a({items:e,selectedId:n,onSelect:S,containerRef:f,rootRef:s,testId:wm,itemsRef:U,rowSizing:P,arrowAlign:"nearest",rowActivation:!1,isViewRevealPending:lD,onRangeChange:M});Zo({items:e,scroller:ce,readTopReportId:L});let{isMobileDetailOpen:st,setIsMobileDetailOpen:yt,isOverlayMounted:ht,shouldShowOverlay:Ae,handleOverlayClose:Ee,lastClosedItemIdRef:Ne,selectedItem:lt}=gm({isMobileLayout:b,selection:Ie,dailyReportItems:e,onSelectItem:o,rootRef:s}),w=ti(()=>({selected:Ie,settled:ve}),[Ie,ve]);ei(()=>{let E=f.current,A=()=>{x.setWheelScrollActive(!0),I.current&&clearTimeout(I.current),I.current=window.setTimeout(()=>{x.setWheelScrollActive(!1),I.current=null},Oo)};return E?.addEventListener("wheel",A,{passive:!0}),()=>{E?.removeEventListener("wheel",A),I.current&&clearTimeout(I.current)}},[x]),ei(()=>{!C&&n!==null&&o(null)},[C,n,o]),ei(()=>{if(st||Ne.current===null)return;let E=Ne.current;Ne.current=null;let A=ye(e,E);if(A===-1)return;let B=z.current;if(B!==null){let q=Wn(B,A,e.length,P),pe=q===null?"none":Ap(q);pe!=="none"&&ce.toIndex(A,{align:pe})}oe.requestFocus(E)},[st,e,Ne,oe,ye,z,P,ce]),ei(()=>{let E=e.at(0);E!==void 0&&x.setLabel(Re(E.businessDate))},[e,x]);let k=mt((E,A)=>{E<=0||(he(E,A),o(E),b&&yt(!0))},[b,o,yt,he]),V=mt(()=>c,[c]),Y=_r(c);Js(()=>{let E=Y.current;Y.current=c;let A=z.current;if(E===c||A===null)return;let B=A.getScrollPosition();B>0&&ce.by(B*c/E-B)},[z,c,ce]);let ie=mt(E=>v(E).reportHubId,[v]),g=mt((E,A)=>Ge(Pt.Provider,{value:A,children:Ge(Zs,{item:E,onSelect:k,cursor:oe})},E.reportHubId),[k,oe]),_=mt(E=>{i&&(i.current=E);let A=f.current;A&&(A.toggleAttribute(Nr,!0),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{A.toggleAttribute(Nr,!1),T.current=null},150))},[i]),F=mt(E=>Ge(Qo,{...E,store:x}),[x]),N=ti(()=>ri("div",{ref:ee,className:sD,...re,children:[ke,Ge(kt.Provider,{value:R,children:Ge(Ja.Provider,{value:c,children:Ge(Zx,{ref:Z,itemCount:C,getItem:v,getItemKey:ie,getItemHeight:V,viewportSize:l,initialScrollOffset:m,overscanCount:Mo,scrollBarOptions:{...ko,renderThumbOverlay:F},behaviorOptions:p?Jx:Lm,onRangeChange:W,onScrollAdjust:Q,onScroll:_,testId:wm,className:iD,locale:h.locale,labels:h.labels,contentProps:fe,children:g})})})]}),[ee,Z,re,R,C,v,ie,V,l,c,p,m,F,W,Q,_,ke,fe,h.locale,h.labels,g]),j=ti(()=>ri(Xx,{direction:"horizontal",className:"min-h-0 flex-1","data-testid":"daily-report-panel-group",children:[Ge(_m,{id:"daily-report-list-panel",defaultSize:eD,minSize:tD,maxSize:nD,contentOverflow:"hidden",className:uD,children:N}),Ge(Qx,{id:"daily-report-list-handle",thickness:10,indicator:oD,className:aD,"aria-label":y.resizeHandle}),Ge(_m,{id:"daily-report-detail-panel",minSize:rD,contentOverflow:"hidden",className:pD,children:Ge(Rm,{dailyReportItems:e,autoMarkRead:r,userId:a,onReportDeleted:it})})]}),[N,y.resizeHandle,e,r,a,it]);return ri(mD,{children:[Ge("div",{className:bo,children:b?Ge("div",{className:et,children:N}):Ge(Ya.Provider,{value:w,children:j})}),ht&&Ge(Em,{isOpen:Ae,selectedItem:lt,onClose:Ee,autoMarkRead:b&&r,userId:a,onReportDeleted:it})]})},uD=D("flex min-h-0",yl),pD=D("flex min-h-0 flex-1",qt);import{useCallback as _T,useEffect as Ef,useLayoutEffect as Df,useRef as Tf,useState as fl}from"react";import uT from"lucide-react/dist/esm/icons/plus.js";import pT from"lucide-react/dist/esm/icons/refresh-cw.js";import mT from"lucide-react/dist/esm/icons/rotate-cw.js";import{useEffect as pl,useId as Rf,useLayoutEffect as Sf,useMemo as li,useRef as wr,useState as Lr}from"react";import{useSearchParams as fT}from"react-router";import{useEffect as fD,useRef as Nm,useState as yD}from"react";var Om=(e,t,r=250)=>{let n=Ur(t),[o,a]=yD(e),i=Nm(e),s=Nm(!0);return fD(()=>{if(s.current){s.current=!1,i.current=e,a(e);return}let l=i.current;if(l===e)return;if(n||t===null){i.current=e,a(e);return}let c=ze(t),d=0,p=null,m=f=>{p===null&&(p=f);let y=Math.min(1,Math.max(0,(f-p)/r)),h=1-(1-y)**3,x=Math.round(l+(e-l)*h);i.current=x,a(x),y<1&&(d=c.requestAnimationFrame(m))};return d=c.requestAnimationFrame(m),()=>c.cancelAnimationFrame(d)},[e,r,n,t]),n?e:o};import LD from"lucide-react/dist/esm/icons/x.js";import{useEffect as Um,useId as ii,useLayoutEffect as ND,useRef as ro,useState as Km}from"react";var nl=Object.freeze({maxValuesPerFacet:16,maxValueLength:200,maxTotalValueLength:300}),hD=["author","sourceType","customer"],ol=Object.freeze({authors:Object.freeze([]),sourceTypes:Object.freeze([]),customers:Object.freeze([])}),bD=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,RD=e=>{let t=e.trim();return t.length===0?null:t.replace(bD,"\uFFFD")},Mm=e=>{let t=RD(e);return t===null?"filter-blank-value":t!==e?"filter-value-not-canonical":e.length>nl.maxValueLength?"filter-value-too-long":null},SD=e=>{if(e.length>nl.maxValuesPerFacet)return"filter-too-many-values";let t=new Set;for(let r of e){let n=Mm(r);if(n!==null)return n;if(t.has(r))return"filter-duplicate-value";t.add(r)}return null},gD=e=>{let t=0;for(let r of e.authors)t+=r.length;for(let r of e.customers)t+=r.length;return t},oi=e=>{for(let t of[e.authors,e.sourceTypes,e.customers]){let r=SD(t);if(r!==null)return r}return gD(e)>nl.maxTotalValueLength?"filters-too-long":null},tl=e=>[...new Set(e)].sort((t,r)=>t<r?-1:1),ai=e=>({authors:tl(e.authors),sourceTypes:tl(e.sourceTypes),customers:tl(e.customers)}),cr=e=>e.trim().length===0,ln=e=>e.authors.length===0&&e.sourceTypes.length===0&&e.customers.length===0,km=(e,t)=>{let r=ai(t);for(let n of r.authors)e.append(Ce.searchAuthor,n);for(let n of r.sourceTypes)e.append(Ce.searchSourceType,n);for(let n of r.customers)e.append(Ce.searchCustomer,n)},rl=e=>{if(!Array.isArray(e))return null;let t=[],r=new Set;for(let n of e){if(typeof n!="string"||Mm(n)!==null||r.has(n))return null;r.add(n),t.push(n)}return t},Pm=e=>{if(!Lt(e))return null;let t=rl(e.sourceTypes),r=rl(e.authors),n=rl(e.customers);return t===null||r===null||n===null?null:{sourceTypes:t,authors:r,customers:n}};import{Component as ED,Suspense as xD,useMemo as Fm,useState as DD}from"react";import{jsx as $t,jsxs as Vm}from"react/jsx-runtime";var Hm="flex min-h-6 items-center text-slate-600 text-xs dark:text-slate-300",TD=[{facet:"author",testId:"daily-report-search-filter-author",key:"authors"},{facet:"sourceType",testId:"daily-report-search-filter-source-type",key:"sourceTypes"},{facet:"customer",testId:"daily-report-search-filter-customer",key:"customers"}],ID=(e,t)=>t==="author"?e.author:t==="sourceType"?e.searchFilterSourceType:e.customer,vD=(e,t,r)=>{let n=new Set(r.map(a=>a.value)),o=new Set;for(let a of t){if(!n.has(a)||o.has(a))throw Le(`config.search.renderFilterSelect (${e}) onChange values`,"distinct values of the options the control received",t);o.add(a)}return t},al=class extends ED{constructor(){super(...arguments);this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?$t("span",{className:Hm,children:this.props.fallback}):this.props.children}},AD=(e,t,r,n)=>{let o=Fm(()=>new Set(t.map(i=>i.value)),[t]),a=JSON.stringify(n.filter(i=>!o.has(i)));return Fm(()=>{let i=JSON.parse(a);return i.length===0?t:[...t,...i.map(s=>r(e,s))]},[e,t,r,a])};function CD({renderFilterSelect:e,selectProps:t}){return e(t)}var _D=(e,t,r)=>t.status==="idle"||t.status==="loading"?e.searchFiltersLoading:t.status==="failed"?e.searchFiltersFailed(t.failure):r?e.searchFiltersTooMany:t.reloadFailure===null?"":e.searchFiltersFailed(t.reloadFailure);function wD({cell:e,labels:t,locale:r,renderFilterSelect:n,candidates:o,optionOf:a,selected:i,onSelect:s}){let l=AD(e.facet,o,a,i),c=ID(t,e.facet);return Vm("fieldset",{"data-testid":e.testId,className:Fl,children:[$t("legend",{"data-testid":`${e.testId}-caption`,className:D(Hl,wt),children:c}),$t(al,{fallback:t.searchFilterUnavailable,children:$t(xD,{fallback:$t("span",{className:Hm,children:t.searchFiltersLoading}),children:$t(CD,{renderFilterSelect:n,selectProps:{facet:e.facet,label:c,options:l,value:i,onChange:d=>s(e,vD(e.facet,d,l)),locale:r}})})})]})}function Bm({id:e,labelledBy:t,labels:r,locale:n,renderFilterSelect:o,facets:a,value:i,onChange:s,clearSignal:l}){let[c,d]=DD(null),p=_D(r,a,c!==null&&c.selection===i&&c.clearSignal===l),m=(y,h)=>{let x={...i,[y.key]:h};if(oi(x)!==null){d({selection:i,clearSignal:l});return}d(null),s(x)},f=a.status==="ready"?a:null;return Vm("fieldset",{id:e,"aria-labelledby":t,"data-testid":"daily-report-search-filters",className:"m-0 min-w-0 border-0 px-0 pt-2 pb-0",children:[f===null?null:$t("div",{className:Pl,children:TD.map(y=>$t(wD,{cell:y,labels:r,locale:n,renderFilterSelect:o,candidates:f.options[y.key],optionOf:f.optionOf,selected:i[y.key],onSelect:m},y.facet))}),$t("span",{"data-testid":"daily-report-search-filters-status","aria-live":"polite",className:D("flex min-h-6 items-center text-slate-600 text-xs leading-4 empty:min-h-0 dark:text-slate-300",f===null?null:"mt-2 empty:mt-0",wt),children:p})]})}import{Fragment as HD,jsx as zt,jsxs as il}from"react/jsx-runtime";var OD=D("h-6 w-full min-w-0 rounded-md border border-solid bg-white pr-[24px] pl-[7px] text-slate-900 text-sm dark:bg-slate-900 dark:text-slate-100",Rt,te),MD=Object.freeze({union:D("mr-2 inline-flex h-6 shrink-0 items-center rounded-full border border-solid bg-white px-[11px] font-semibold text-slate-800 text-xs dark:bg-slate-900 dark:text-slate-100",Rt,te),intersection:D("mr-2 inline-flex h-6 shrink-0 items-center rounded-full border border-blue-700 border-solid bg-blue-700 px-[11px] font-semibold text-white text-xs dark:border-blue-600 dark:bg-blue-600",te)}),kD=D("ml-2 inline-flex h-6 shrink-0 items-center rounded-md border border-solid bg-white px-[7px] text-slate-800 text-xs dark:bg-slate-900 dark:text-slate-100",Rt,te),PD=e=>e.authors.length+e.sourceTypes.length+e.customers.length,FD=(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 Wm({labels:e,debounceMs:t,search:r,onCommit:n,onCombineChange:o,onRelease:a,clearSignal:i,filters:s}){let[l,c]=Km(""),[d,p]=Km(!1),m=l.length>0||r.committed!==null&&!cr(r.committed.text),f=ii(),y=ii(),h=ro(null),x=ro(null),u=ro(!1),b=ro(i),I=ii(),C=ii(),R=ro({search:r,onCommit:n,onRelease:a});ND(()=>{R.current={search:r,onCommit:n,onRelease:a}});let T=()=>{x.current!==null&&clearTimeout(x.current),x.current=null},S=(z,ce,ee)=>{let fe=R.current;cr(z)?ln(ee)?fe.search.committed!==null&&fe.onRelease():fe.onCommit("",ce,ee):fe.onCommit(z,ce,ee)},v=z=>{T();let ce=R.current;S(z,ce.search.combine,ce.search.filters)},O=z=>{t===null||u.current||(T(),x.current=setTimeout(()=>v(z),t))},M=()=>{T(),c(""),ln(r.filters)?a():(r.committed===null||!cr(r.committed.text))&&n("",r.combine,r.filters),h.current?.focus()},L=z=>{c(z.target.value),O(z.target.value)},P=z=>{let ce=$r(z);if(z.key==="Enter"&&!Er(ce)){z.preventDefault(),v(l);return}Ft(ce)&&m&&(z.preventDefault(),M())},U=()=>{T();let z=r.combine==="union"?"intersection":"union";cr(l)&&ln(r.filters)?o(z):S(l,z,r.filters)},oe=z=>{d||z.facets.load(),p(!d)},re=z=>{T(),S(l,r.combine,z)};Um(()=>{b.current!==i&&(b.current=i,x.current!==null&&clearTimeout(x.current),x.current=null,c(""))},[i]),Um(()=>()=>{x.current!==null&&clearTimeout(x.current)},[]);let W=r.combine==="intersection",Q=FD(e,r),Z=s!==null&&d;return il(HD,{children:[il("search",{"data-testid":"daily-report-search",className:kl,children:[zt("button",{type:"button","data-testid":"daily-report-search-combine","aria-describedby":I,title:W?e.searchCombineAndTitle:e.searchCombineOrTitle,onClick:U,className:MD[r.combine],children:W?e.searchCombineAnd:e.searchCombineOr}),il("div",{className:"relative min-w-0 flex-1",children:[zt("input",{ref:h,type:"text","data-testid":"daily-report-search-input","aria-label":e.searchInputLabel,"aria-describedby":C,title:e.searchSyntaxHelp,placeholder:e.searchPlaceholder,value:l,onChange:L,onKeyDown:P,onCompositionStart:()=>{u.current=!0,T()},onCompositionEnd:z=>{u.current=!1,O(z.currentTarget.value)},className:OD}),m?zt("button",{type:"button","data-testid":"daily-report-search-clear","aria-label":e.searchClear,title:e.searchClear,onClick:M,className:D("absolute top-0 right-0",Ve),children:zt(LD,{"aria-hidden":"true",className:"size-4"})}):null]}),s===null?null:zt("button",{type:"button",id:f,"data-testid":"daily-report-search-filters-toggle","aria-expanded":d,"aria-controls":Z?y:void 0,onClick:()=>oe(s),className:kD,children:e.searchFiltersToggle(PD(r.filters))}),zt("span",{id:I,hidden:!0,children:W?e.searchCombineAndTitle:e.searchCombineOrTitle}),zt("span",{id:C,hidden:!0,children:e.searchSyntaxHelp}),zt("span",{"data-testid":"daily-report-search-status","aria-live":"polite",className:D("ml-2 flex min-h-6 max-w-1/2 items-center self-end text-slate-600 text-xs leading-4 empty:ml-0 dark:text-slate-300",wt),children:Q})]}),Z?zt(Bm,{id:y,labelledBy:f,labels:e,locale:s.locale,renderFilterSelect:s.renderFilterSelect,facets:s.facets.state,value:r.filters,onChange:re,clearSignal:i}):null]})}var $m=new WeakMap,zm=e=>{let t=new Set;for(let r of e)t.add(r.reportHubId);return{items:e,ids:t,answeredByChunk:new WeakMap}},BD=(e,t)=>e.businessDate===t.businessDate&&e.sourceType===t.sourceType,VD=(e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},jm=(e,t,r)=>{if(e===null)return{items:t,hasAnswerOnlyItems:!1};let n=new Map;for(let l of Qd(t,e.answeredByChunk,c=>e.ids.has(c.reportHubId)))n.set(l.reportHubId,l);let o=[],a=!1;for(let l of e.items){let c=n.get(l.reportHubId);c!==void 0?o.push(BD(c,l)?l:c):r(l.reportHubId)||(o.push(l),a=!0)}let i=$m.get(e);if(i!==void 0&&i.list.hasAnswerOnlyItems===a&&VD(i.items,o))return i.list;let s={items:o,hasAnswerOnlyItems:a};return $m.set(e,{items:o,list:s}),s};var Gm=(e,t,r)=>{let n=t.at(0);if(n===void 0)return null;let o=ot(e,r);if(o!==-1){let a=new Set;for(let i of t)a.add(i.reportHubId);for(let i=1;o+i<e.length||o-i>=0;i++){let s=e.at(o+i);if(s!==void 0&&a.has(s.reportHubId))return s.reportHubId;let l=o-i>=0?e.at(o-i):void 0;if(l!==void 0&&a.has(l.reportHubId))return l.reportHubId}}return n.reportHubId},sl=(e,t,r,n)=>{if(r===null){let o=t.at(0);return n&&o!==void 0?o.reportHubId:null}return ot(t,r)!==-1?r:Gm(e,t,r)},Ym=(e,t,r)=>e.selected===null?r!==null&&ot(t,r)!==-1?r:null:ot(t,e.selected)!==-1?e.selected:Gm(e.items,t,e.selected);import{useEffect as Xm,useLayoutEffect as GD,useMemo as Qm,useRef as Zm,useSyncExternalStore as YD}from"react";var UD=1e3,KD=5e3,WD={combine:"union",committed:null,filters:ol,generation:0,status:"idle",failure:null,items:null,answered:null},$D=e=>e===400?"invalid":e===404?"unavailable":e===429?"busy":"failed",zD=(e,t)=>e.length===t.length&&e.every((r,n)=>r.length===t[n].length&&r.every((o,a)=>o.length===t[n][a].length&&o.every((i,s)=>i.text===t[n][a][s].text&&i.tier===t[n][a][s].tier))),ll=(e,t)=>e.length===t.length&&e.every((r,n)=>r===t[n]),jD=(e,t)=>{let r=ai(e),n=ai(t);return ll(r.authors,n.authors)&&ll(r.sourceTypes,n.sourceTypes)&&ll(r.customers,n.customers)},qm=e=>{let t=WD,r=new Set,n=null,o=null,a=null,i=null,s=null,l=null,c=R=>{t=R;for(let T of r)T()},d=()=>{i!==null&&clearTimeout(i),s!==null&&clearTimeout(s),i=null,s=null},p=(R,T)=>{let S=t.answered;return S!==null&&S.query.text===R.text&&S.query.combine===R.combine&&zD(S.words,T)?S:{query:{text:R.text,combine:R.combine},words:T}},m=R=>{let T=new URLSearchParams({[Ce.searchQuery]:R.text,[Ce.searchCombine]:R.combine});return km(T,R.filters),`${e.apiBasePath}/${Ue.search}?${T.toString()}`},f=(R,T,S,v)=>{if(!S){c({...t,status:"failed",failure:R});return}l!==v&&(l=v,s=setTimeout(()=>{s=null,h(T,!0)},KD))},y=async(R,T,S)=>{let v=new AbortController;n={controller:v};let O={Accept:"application/json"};S&&a!==null&&a.generation===T&&(O["If-None-Match"]=a.value);try{let M=await e.fetch(m(R),{headers:O,cache:"no-store",signal:v.signal});if(v.signal.aborted||T!==t.generation)return;if(M.status===304){t.status!=="done"&&c({...t,status:"done",failure:null});return}if(M.status===401||M.status===403){e.onSessionExpired(),f("failed",R,!1,T);return}if(!M.ok){f($D(M.status),R,S,T);return}let L=ld(await M.json(),!cr(R.text));if(v.signal.aborted||T!==t.generation)return;if(L===null){f("failed",R,S,T);return}let P=M.headers.get("ETag");a=P===null?null:{generation:T,value:P},l=null,c({...t,status:"done",failure:null,items:L.items,answered:L.words.length===0?null:p(R,L.words)})}catch{if(v.signal.aborted||T!==t.generation)return;f("failed",R,S,T)}finally{if(n!==null&&n.controller===v&&(n=null),n===null&&o!==null){let M=o;o=null,h(M.query,M.background)}}},h=(R,T)=>{if(n!==null){o={query:R,background:(o===null||o.background)&&T};return}y(R,t.generation,T)};return{getSnapshot:()=>t,subscribe:R=>(r.add(R),()=>{r.delete(R)}),commit:(R,T,S)=>{if(cr(R)&&ln(S))throw new Error("[daily-report] search: a blank text can be committed only with a filter");let v=oi(S);if(v!==null)throw new Error(`[daily-report] search: the filter selection cannot be sent (${v})`);d();let O=t.committed,M=O!==null&&O.text===R&&O.combine===T&&jD(O.filters,S),L={text:R,combine:T,filters:S};c({...t,combine:T,committed:L,filters:S,generation:M?t.generation:t.generation+1,status:"searching",failure:null}),h(L,!1)},setCombine:R=>{R!==t.combine&&c({...t,combine:R})},release:()=>{d(),n?.controller.abort(),n=null,o=null,t.committed!==null&&c({combine:t.combine,committed:null,filters:ol,generation:t.generation+1,status:"idle",failure:null,items:null,answered:null})},invalidate:()=>{let R=t.committed;R!==null&&(i!==null&&clearTimeout(i),i=setTimeout(()=>{i=null,h(R,!0)},UD))},dispose:()=>{d(),n?.controller.abort(),n=null,o=null}}};var Jm=({apiBasePath:e,invalidation:t,onSessionExpired:r})=>{let n=Zm(r);GD(()=>{n.current=r});let o=Qm(()=>qm({apiBasePath:e,onSessionExpired:()=>n.current(),fetch:(s,l)=>fetch(s,l)}),[e]);Xm(()=>()=>o.dispose(),[o]);let a=Zm(t);Xm(()=>{a.current!==t&&(a.current=t,o.invalidate())},[t,o]);let i=YD(o.subscribe,o.getSnapshot,o.getSnapshot);return Qm(()=>({...i,commit:o.commit,setCombine:o.setCombine,release:o.release}),[i,o])};import{useCallback as ef,useEffect as qD,useLayoutEffect as XD,useMemo as dl,useRef as tf,useState as QD}from"react";var rf=Object.freeze({status:"idle"}),ZD=Object.freeze({status:"loading"}),JD=Object.freeze({sourceTypes:[],authors:[],customers:[]}),eT=e=>e===404?"unavailable":e===429?"busy":"failed",cl=(e,t)=>e.length===t.length&&e.every((r,n)=>r===t[n]),tT=(e,t)=>cl(e.sourceTypes,t.sourceTypes)&&cl(e.authors,t.authors)&&cl(e.customers,t.customers),rT=(e,t)=>"facets"in t?e.status!=="ready"||!tT(e.facets,t.facets)?{status:"ready",facets:t.facets,reloadFailure:null}:e.reloadFailure===null?e:{status:"ready",facets:e.facets,reloadFailure:null}:e.status==="ready"?{status:"ready",facets:e.facets,reloadFailure:t.failure}:{status:"failed",failure:t.failure},nf=(e,t)=>[...e].sort((r,n)=>{let o=t.compare(r,n);return o!==0?o:r<n?-1:1}).map(r=>({value:r,label:r})),nT=(e,t)=>e.map(r=>of(r,t));function of(e,t){let r=Nt(e,t);return{value:e,label:r===void 0?e:r.label}}var af=({apiBasePath:e,locale:t,sourceTypeConfigs:r,onSessionExpired:n})=>{let[o,a]=QD({apiBasePath:e,load:rf}),i=o.apiBasePath===e?o.load:rf,s=tf(null),l=tf({apiBasePath:e,onSessionExpired:n});XD(()=>{l.current={apiBasePath:e,onSessionExpired:n}}),qD(()=>()=>{s.current?.abort(),s.current=null},[e]);let c=ef(()=>{if(s.current!==null)return;let y=new AbortController;s.current=y;let h=l.current.apiBasePath;a(u=>u.apiBasePath===h&&u.load.status==="ready"?u:{apiBasePath:h,load:ZD}),(async()=>{let u;try{let b=await fetch(`${h}/${Ue.searchFacets}`,{headers:{Accept:"application/json"},cache:"no-store",signal:y.signal});if(y.signal.aborted)return;if(b.status===401||b.status===403)l.current.onSessionExpired(),u={failure:"failed"};else if(!b.ok)u={failure:eT(b.status)};else{let I=Pm(await b.json());if(y.signal.aborted)return;u=I===null?{failure:"failed"}:{facets:I}}}catch{if(y.signal.aborted)return;u={failure:"failed"}}s.current=null,a(b=>({apiBasePath:h,load:rT(b.load,u)}))})()},[]),d=i.status==="ready"?i.facets:JD,p=dl(()=>{let y=new Intl.Collator(t);return{authors:nf(d.authors,y),sourceTypes:nT(d.sourceTypes,r),customers:nf(d.customers,y)}},[d,t,r]),m=ef((y,h)=>y==="sourceType"?of(h,r):{value:h,label:h},[r]),f=dl(()=>i.status==="ready"?{status:"ready",options:p,optionOf:m,reloadFailure:i.reloadFailure}:i,[i,p,m]);return dl(()=>({state:f,load:c}),[f,c])};import{useEffect as pf,useLayoutEffect as lT,useMemo as dT,useRef as mf}from"react";var oT=4294967295,sf=e=>typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=oT,aT=e=>{if(!Array.isArray(e)||e.length%3!==0)return null;let t=[];for(let r=0;r<e.length;r+=3){let n=e[r],o=e[r+1],a=e[r+2];if(!(typeof n=="number"&&Number.isSafeInteger(n)&&n>=0&&typeof o=="number"&&Number.isSafeInteger(o)&&n<o)||!fn(a))return null;if(r>0){let i=t[r-2];if(i>n||i===n&&t[r-1]===a)return null}t.push(n,o,a)}return t},iT=e=>{if(!Lt(e))return null;let t={};for(let[r,n]of Object.entries(e)){if(!(ea(r)&&Lt(n)&&sf(n.fingerprint)))return null;let o=aT(n.ranges);if(o===null)return null;t[r]={fingerprint:n.fingerprint,ranges:o}}return t},lf=(e,t)=>{if(!(Lt(e)&&sf(e.wordsDigest)&&Array.isArray(e.reports)))return null;let r=new Set(t.requestedIds),n=new Set,o=2**t.setCount-1,a=[];for(let i of e.reports){if(!Lt(i))return null;let{reportHubId:s,matchedSets:l}=i;if(!(typeof s=="number"&&Mr(s)&&r.has(s))||n.has(s)||(n.add(s),t.expectsMatchedSets?!(typeof l=="number"&&Number.isInteger(l)&&l>=0&&l<=o):l!==null))return null;let c=iT(i.fields);if(c===null)return null;a.push({reportHubId:s,matchedSets:l,fields:c})}return{wordsDigest:e.wordsDigest,reports:a}};var df=({hasListener:e,batchSize:t,inFlightBound:r,send:n})=>{dt("createIdBatchScheduler: batchSize",t,1),dt("createIdBatchScheduler: inFlightBound",r,1);let o=new Set,a=new Map,i=!1,s=()=>{let d=[],p=[...o];for(let m=p.length-1;m>=0&&d.length<t;m--){let f=p[m];o.delete(f),e(f)&&d.push(f)}return d.reverse()},l=d=>{let p=new AbortController;a.set(p,d);let m=()=>{a.delete(p),c()};n(d,p.signal).then(m,m)},c=()=>{for(i=!1;a.size<r;){let d=s();if(d.length===0)return;l(d)}};return{enqueue:d=>{o.delete(d),o.add(d),!i&&(i=!0,queueMicrotask(c))},isWanted:d=>o.has(d),release:d=>{let p=[];o.delete(d)&&p.push(d);for(let[m,f]of a)m.signal.aborted||!f.includes(d)||f.some(e)||(m.abort(),p.push(...f));return p},dispose:()=>{let d=[...o];o.clear();for(let[p,m]of a)p.signal.aborted||(p.abort(),d.push(...m));return d}}};var cf=2*mn*gt.maxDetailIds,sT=e=>{let t=Kr(e.headers.get("Retry-After"));return t===null?null:t*1e3},uf=({apiBasePath:e,fetch:t,answered:r,onSessionExpired:n})=>{let o=r.words.length,a=r.query.combine==="union"&&o>=2,i=pc(r.words),s=new Map,l=new Map,c=0,d=new Map,p=new Set,m=0,f=0,y=S=>{let v=s.get(S);if(v!==void 0)return v;let O={entry:void 0,appliedSequence:0,settledEpoch:null,retriedEpoch:null,revalidated:new Set};return s.set(S,O),l.has(S)||(c+=1),O},h=S=>{for(let v of S){let O=s.get(v);O!==void 0&&(O.settledEpoch=null)}},x=()=>{if(!(c<=cf))for(let S of[...s.keys()]){if(c<=cf)return;l.has(S)||(s.delete(S),d.delete(S),c-=1)}},u=S=>{let v=l.get(S);if(v!==void 0)for(let O of[...v])O()},b=S=>{let v=new URLSearchParams({[Ce.searchQuery]:r.query.text,[Ce.searchCombine]:r.query.combine,[Ce.reportIds]:S.join(",")});return`${e}/${Ue.searchMarks}?${v.toString()}`},I=(S,v)=>{for(let O of S){let M=y(O.reportHubId);M.appliedSequence>v||(M.appliedSequence=v,M.entry=O,s.delete(O.reportHubId),s.set(O.reportHubId,M),u(O.reportHubId))}x()},C=(S,v)=>{let O=[];for(let L of S){let P=s.get(L);P!==void 0&&P.retriedEpoch!==m&&O.push({id:L,record:P})}if(O.length===0)return;let M=setTimeout(()=>{p.delete(M);for(let{id:L,record:P}of O){let U=d.get(L);U===void 0||U.timer!==M||(d.delete(L),l.has(L)?(P.retriedEpoch=m,T.enqueue(L)):P.settledEpoch=null)}},v);p.add(M);for(let{id:L,record:P}of O)d.set(L,{timer:M,record:P})},R=async(S,v)=>{f+=1;let O=f,M=m;for(let L of S)y(L).settledEpoch=m,d.delete(L);x();try{let L=await t(b(S),{headers:{Accept:"application/json"},cache:"no-store",signal:v});if(L.status===401||L.status===403){n();return}if(L.status===429){let U=sT(L);U!==null&&M===m&&C(S,U);return}if(!L.ok)return;let P=lf(await L.json(),{requestedIds:S,setCount:o,expectsMatchedSets:a});if(v.aborted||P===null||P.wordsDigest!==i)return;I(P.reports,O)}catch{}},T=df({hasListener:S=>l.has(S),batchSize:gt.maxDetailIds,inFlightBound:mn,send:R});return{indicator:Object.freeze({setCount:o,showsMatchedSets:a}),subscribe:(S,v)=>{let O=l.get(S);O===void 0&&(O=new Set,l.set(S,O),s.has(S)&&(c-=1)),O.add(v);let M=s.get(S),L=M!==void 0&&M.settledEpoch===m;return O.size===1&&!L&&!T.isWanted(S)&&T.enqueue(S),()=>{let P=l.get(S);P===void 0||!P.delete(v)||P.size>0||(l.delete(S),s.has(S)&&(c+=1),h(T.release(S)),x())}},read:S=>{let v=s.get(S);return v===void 0?void 0:v.entry},revalidate:(S,v,O)=>{let M=y(S),L=`${v}\0${O}`;M.revalidated.has(L)||(M.revalidated.add(L),T.enqueue(S))},advanceEpoch:()=>{m+=1;for(let S of p)clearTimeout(S);p.clear(),d.clear();for(let S of l.keys())T.enqueue(S)},dispose:()=>{for(let v of p)clearTimeout(v);p.clear();let S=[...d.keys()];d.clear(),h([...T.dispose(),...S])}}};var ff=({apiBasePath:e,answered:t,shownRevision:r,onSessionExpired:n})=>{let o=mf(n);lT(()=>{o.current=n});let a=dT(()=>t===null?null:uf({apiBasePath:e,answered:t,onSessionExpired:()=>o.current(),fetch:(s,l)=>fetch(s,l)}),[e,t]);pf(()=>{if(a!==null)return()=>a.dispose()},[a]);let i=mf({store:a,shownRevision:r});return pf(()=>{let s=i.current;i.current={store:a,shownRevision:r},a!==null&&s.store===a&&s.shownRevision!==r&&a.advanceEpoch()},[a,r]),a};import*as no from"@radix-ui/react-switch";import*as hf from"react";import{jsx as yf}from"react/jsx-runtime";var si=hf.forwardRef(({className:e,...t},r)=>yf(no.Root,{className:D(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-transparent disabled:cursor-not-allowed disabled:opacity-50 ${Al} ${_l} ${te}`,e),...t,ref:r,children:yf(no.Thumb,{className:`pointer-events-none block rounded-full shadow-lg data-[state=unchecked]:translate-x-0 motion-safe:transition-[translate] ${Cl} ${wl}`})}));si.displayName=no.Root.displayName;import{useSyncExternalStore as cT}from"react";var bf=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)})}},ul=e=>cT(e.subscribe,e.get,e.get);import{Fragment as CT,jsx as ne,jsxs as ft}from"react/jsx-runtime";var yT="list",hT=e=>{if(e==="list"||e==="tree"||e==="detailList")return e;throw new Error(`[daily-report] unknown view tab: ${e}`)},bT=D(Nl,$l,"flex flex-wrap items-center gap-2"),gf="relative h-4 w-4 p-0 after:absolute after:-inset-1",RT="flex items-center gap-2",ST=({count:e})=>{let{labels:t}=K(),[r,n]=Lr(null),o=Om(e,r);return ne(ja,{ref:n,text:t.totalCount(o),widestText:t.totalCount(Gn(Math.max(e,o)))})},gT=({setSize:e,isSearchAnswer:t})=>{let{labels:r}=K();return t?ne("span",{children:r.searchHitCount(e)}):e===xn?ne("span",{children:r.totalCountLoading}):ne(ST,{count:e})},ET=({checked:e,onCheckedChange:t})=>{let{labels:r}=K(),n=Rf(),o=Rf();return ft("div",{className:"flex items-center gap-1 pl-1",children:[ne(si,{id:n,checked:e,onCheckedChange:t,title:r.autoReadTitle,"aria-describedby":o}),ne(Un,{htmlFor:n,className:"cursor-pointer select-none text-slate-500 text-xs dark:text-slate-400",children:r.autoRead}),ne("span",{id:o,hidden:!0,children:r.autoReadTitle})]})},xT=({selectionStore:e,dailyReportItems:t,rowSetSize:r,autoMarkRead:n,userId:o,scrollOffsetRef:a})=>{let i=ul(e);return ne(el,{dailyReportItems:t,rowSetSize:r,autoMarkRead:n,selectedReportHubId:i,onSelectItem:e.set,userId:o,scrollOffsetRef:a})},DT=({selectionStore:e,dailyReportItems:t,rowSetSize:r,userId:n,scrollRestoreRef:o})=>{let a=ul(e);return ne(Us,{dailyReportItems:t,rowSetSize:r,userId:n,selectedItemId:a,onSelectItem:e.set,scrollRestoreRef:o})},TT=({tabItems:e,actions:t,searchRow:r})=>{let[n,o]=Lr(yT),{labels:a}=K();return ft(Xn,{value:n,onValueChange:i=>o(hT(i)),className:D("@container/views",et),children:[ft("div",{className:D(Ml,zl,jl[n]),children:[ft("div",{className:bT,children:[ne(Qn,{"aria-label":a.viewTabList,className:"flex flex-wrap gap-1",...Vc,children:e.map(({value:i,label:s})=>ne(Zn,{value:i,children:s},i))}),t]}),r]}),e.map(({value:i,content:s})=>ne(rn,{value:i,tabStop:!1,className:D("mt-0",et),children:s},i))]})},IT=Object.freeze({items:null,generation:0,revision:0,change:"none",scrollRequest:null,restoreOnRelease:!0}),vT=(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}},AT=({answer:e,hasAnswerOnlyItems:t})=>{let{phase:r,isRevalidating:n}=Wr(),o=r==="complete"&&!n,a=wr(null);return pl(()=>{!(o&&t)||a.current===e||(a.current=e,_n())},[o,t,e]),null},ml=({userId:e})=>{let[t,r]=Lr(!1),{labels:n,renderHeader:o,showDevControls:a,apiBasePath:i,onSessionExpired:s,search:l,locale:c,sourceTypeConfigs:d}=K(),{toggleSse:p,createReport:m,refetchData:f,clearCacheAndRefetch:y}=Ke(),{isSseEnabled:h,items:x,searchInvalidation:u,isReportRemoved:b,removedVersion:I}=Ra(),[C]=fT(),R=Jm({apiBasePath:i,invalidation:u,onSessionExpired:s}),T=af({apiBasePath:i,locale:c,sourceTypeConfigs:d,onSessionExpired:s}),S=l===null||R.committed===null?null:R.items,[v,O]=Lr(IT);v.items!==S&&O(vT(v,S,R.generation));let M=li(()=>S===null?null:zm(S),[S]),L=li(()=>jm(M,x,b),[M,x,b,I]),P=L.items,U=oc(x.length,wc()),oe=S===null?U:P.length,[re,W]=Lr(0),[Q]=Lr(()=>({preSearchTopReportId:null})),Z=li(()=>({request:v.scrollRequest,slot:Q}),[v.scrollRequest,Q]),z=ff({apiBasePath:i,answered:S===null?null:R.answered,shownRevision:v.revision,onSessionExpired:s}),ce=wr(0),ee=wr({topItem:null,anchorReportHubId:null,measuredHeights:new Map}),[fe]=Lr(()=>bf(Hi(P))),ke=wr(null),Ie=wr(P),ve=wr(v.revision);Sf(()=>{if(ve.current===v.revision)return;ve.current=v.revision;let Ae=Ie.current,Ee=fe.get(),Ne=Ee;v.change==="enter"?(ke.current={selected:Ee,items:Ae},Ne=sl(Ae,P,Ee,!0)):v.change==="start"||v.change==="update"?Ne=sl(Ae,P,Ee,v.change==="start"):v.change==="restore"&&ke.current!==null&&(Ne=Ym(ke.current,P,Ee)),(v.change==="restore"||v.change==="release")&&(ke.current=null),Ne!==Ee&&fe.set(Ne)},[v,P,fe]),Sf(()=>{Ie.current=P},[P]);let ye=wr(!1);pl(()=>{let Ae=Hi(P);!ye.current&&Ae!==null&&(ye.current=!0,fe.get()===null&&fe.set(Ae))},[P,fe]);let he=async()=>{await f()},it=async()=>{await y()},st=async()=>{let Ee=C.get("businessDate")||yi();R.committed!==null&&(O(lt=>({...lt,restoreOnRelease:!1})),W(lt=>lt+1),R.release());let Ne=await m(Ee);fe.set(Ne)};pl(()=>{localStorage.getItem("daily-report-auto-read")==="true"&&r(!0)},[]);let yt=Ae=>{r(Ae),localStorage.setItem("daily-report-auto-read",String(Ae))},ht=li(()=>[{value:"list",label:n.tabList,content:ne(xT,{selectionStore:fe,dailyReportItems:P,rowSetSize:oe,autoMarkRead:t,userId:e,scrollOffsetRef:ce})},{value:"tree",label:n.tabTree,content:ne("div",{className:D("flex flex-1 items-center justify-center",Or),children:n.treeComingSoon})},{value:"detailList",label:n.tabDetailList,content:ne(DT,{selectionStore:fe,dailyReportItems:P,rowSetSize:oe,userId:e,scrollRestoreRef:ee})}],[P,oe,t,e,n,fe]);return ft(CT,{children:[o({title:n.title,annotation:ft("div",{className:"flex flex-wrap items-center gap-2 leading-1",children:[ne(Yn,{}),ne(gT,{setSize:oe,isSearchAnswer:S!==null}),ne("span",{children:n.debounce(Pr)})]})}),ne("div",{className:fo,children:ft("div",{className:yo,children:[S!==null&&ne(AT,{answer:S,hasAnswerOnlyItems:L.hasAnswerOnlyItems}),ne(Vo.Provider,{value:S===null?"date":"ids",children:ne(rr.Provider,{value:z,children:ne(Vi.Provider,{value:Z,children:ne(TT,{tabItems:ht,searchRow:l===null?null:ne(Wm,{labels:n,debounceMs:l.debounceMs,search:R,onCommit:R.commit,onCombineChange:R.setCombine,onRelease:R.release,clearSignal:re,filters:l.renderFilterSelect===null?null:{renderFilterSelect:l.renderFilterSelect,locale:c,facets:T}}),actions:ft("div",{className:"ml-auto flex flex-wrap items-center gap-2 px-1",children:[ft(Vt,{size:"sm",onClick:st,className:"flex h-6 items-center gap-1 rounded-lg bg-amber-700 px-2 font-medium text-white text-xs shadow-xs hover:bg-amber-800 dark:bg-amber-700 dark:hover:bg-amber-800",title:n.createReportTitle,children:[ne(uT,{className:"h-3 w-3"}),ne("span",{children:n.createReport})]}),a&&ft("div",{className:"hidden h-6 items-center gap-1 rounded-lg border border-amber-300/70 border-solid bg-amber-50/60 px-[3px] text-slate-600 sm:flex dark:border-amber-700/50 dark:bg-amber-950/40 dark:text-slate-300",title:n.devControls,"data-testid":"dev-controls-toolbox",children:[ne("span",{className:"select-none font-bold font-mono text-amber-800 text-xs uppercase dark:text-amber-200",children:"dev"}),ne(si,{"aria-label":n.devSseToggle,title:n.devSseToggle,checked:h,onCheckedChange:p}),ft("div",{className:RT,"data-testid":"dev-icon-buttons",children:[ne(Vt,{variant:"ghost",size:"icon",onClick:he,className:D(gf,"text-slate-600 hover:bg-amber-200/60 hover:text-slate-900 dark:text-slate-300 dark:hover:bg-amber-800/60 dark:hover:text-slate-100"),title:n.devReload,"data-testid":"dev-reload-btn",children:ne(mT,{className:"size-3"})}),ne(Vt,{variant:"ghost",size:"icon",onClick:it,className:D(gf,"text-amber-800 hover:bg-amber-200/60 hover:text-amber-950 dark:text-amber-300 dark:hover:bg-amber-800/60 dark:hover:text-amber-100"),title:n.devClearCache,"data-testid":"dev-clear-cache-btn",children:ne(pT,{className:"size-3"})})]})]}),ne(ET,{checked:t,onCheckedChange:yt})]})})})})})]})})]})};import{Fragment as xf,jsx as Te,jsxs as oo}from"react/jsx-runtime";var wT=D(et,qt),LT=D("flex min-h-0 flex-1 flex-col items-center justify-center gap-4 text-slate-500 dark:text-slate-300",St,te),NT=({isFailed:e,handOver:t})=>{let{labels:r,renderHeader:n}=K(),o=Tf(null),a=_T(s=>(o.current=s,t.take()&&Ot(s)&&Dt([s]),()=>{o.current=null,s.contains(_e(s))&&t.request()}),[t]),i=()=>{Dt([o.current]),aa()};return oo(xf,{children:[n({title:r.title,annotation:e?Te("span",{className:D("font-bold",dn),children:r.loadErrorBadge}):oo("div",{className:"flex flex-wrap items-center gap-2 leading-none",children:[Te(Yn,{}),Te("span",{children:r.totalCountLoading}),Te("span",{children:r.debounce(Pr)})]})}),Te("div",{className:fo,children:Te("div",{className:yo,children:Te("div",{className:wT,children:Te("div",{ref:a,tabIndex:-1,...Kc,"data-testid":"daily-report-status-panel","data-phase":e?"failed":"loading",className:D(LT,e&&"border-red-200 dark:border-red-900"),children:e?oo(xf,{children:[Te("p",{className:D("font-medium",dn),children:r.loadError}),Te("button",{type:"button","data-testid":"daily-report-load-error-retry",onClick:i,className:D("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})]}):Te("p",{children:r.loadingIds})})})})})]})},OT=(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:""},MT=Object.freeze({status:"",alert:""}),kT=()=>{let{labels:e}=K(),t=OT(Cc(),e),[r]=fl(t),[n,o]=fl(!1),a=n||t.status!==r.status||t.alert!==r.alert;Df(()=>{a&&!n&&o(!0)},[a,n]);let{status:i,alert:s}=a?t:MT;return oo("div",{"data-testid":"daily-report-stream-announcer",className:"sr-only",children:[Te("p",{role:"status",children:i}),Te("p",{role:"alert",children:s})]})},PT=({user:e,userId:t})=>{let{apiBasePath:r,onSessionExpired:n}=K(),o=Wr(),[a]=fl(Yp),i=Tf(n);Df(()=>{i.current=n}),Ef(()=>{vn({apiBasePath:r,userKey:t??null})},[r,t]),Ef(()=>{o.phase==="auth-required"&&i.current()},[o.phase]);let s=o.hasItems||o.phase==="complete";return oo(es,{children:[Te(kT,{}),Te(Ks.Provider,{value:!1,children:Te(Hs.Provider,{value:a,children:Te(ps,{user:e,userId:t,children:s?Te(ml,{userId:t}):Te(NT,{isFailed:o.phase==="failed",handOver:a})},t??"anonymous")})})]})},FT=({config:e,...t})=>Te(Di,{config:e,children:Te(PT,{...t})});var HT=new Set(mc.filter(e=>e!=="clearCache")),BT=({actionResult:e,actionStatus:t,currentUrl:r,defaultShouldRevalidate:n,formAction:o,formData:a,formEncType:i,formMethod:s,json:l,nextUrl:c,text:d})=>{if(!n)return!1;if(!(r.pathname===c.pathname&&r.search===c.search&&r.hash===c.hash))return n;if(a){let f=a.get(Xe.intent);if(typeof f=="string"&&HT.has(f))return!1}return e!==void 0||t!==void 0||o!==void 0||a!==void 0||i!==void 0||s!==void 0||l!==void 0||d!==void 0?n:!1},VT=e=>{let t=async r=>{Gi();let n=await r.serverLoader(),o=n.userId;return ji({apiBasePath:e?.apiBasePath,userKey:typeof o=="string"?o:null}),n};return t.hydrate=!0,t};export{Rd as DAILY_REPORT_LABEL_CATALOGS,Ri as DAILY_REPORT_LABEL_KEYS,io as DAILY_REPORT_LATTICE_BLOCK_QUANTUM_CLASS_NAME,_y as DAILY_REPORT_LAYOUT_LATTICE_PX,hD as DAILY_REPORT_SEARCH_FILTER_FACETS,ps as DailyReportActionProvider,cn as DailyReportAttachmentIndicator,Di as DailyReportConfigProvider,Us as DailyReportDetailList,es as DailyReportErrorProvider,Tn as DailyReportIdsStreamClient,Yn as DailyReportIdsStreamStatus,el as DailyReportList,FT as DailyReportPage,ml as DailyReportResolvedContent,ji as bootstrapDailyReportIdsStreamSession,VT as createDailyReportClientLoader,BT as dailyReportShouldRevalidate,hn as defaultDailyReportClientConfig,vn as ensureDailyReportIdsStreamSession,Gi as primeDailyReportIdsStreamSession,Ei as resolveDailyReportLabels,Nt as resolveSourceTypeConfig,ia as resyncDailyReportIdsStream,Wb as useDailyReportActionContext,Is as useDailyReportComments,K as useDailyReportConfig,br as useDailyReportDetail,eb as useDailyReportIdsStream,Mi as useDailyReportPrefetch,Xi as useDailyReportSseConnection};
|